R-CMD-check / R CMD check (pull_request) Successful in 3m54s
The single-file `template: civilytics-typst.typ` discarded Quarto's auto-generated `definitions` partial, so any Typst document containing a code block failed with `unknown variable: Skylighting`. Ship the template as Quarto template-partials instead, so Quarto keeps its definitions (Skylighting + token functions) and syntax-highlighted code blocks render while the Civilytics branding still applies: - split civilytics-typst.typ into typst-template.typ (the styling function) and typst-show.typ (the show/entry point, keyword-safe [ ] wrapping kept); remove the single-file template - use_civilytics_theme() now copies both partials and prints the template-partials usage - example report.qmd uses template-partials Verified: a report with an R code block renders with working syntax highlighting and full branding.
83 lines
2.5 KiB
Plaintext
83 lines
2.5 KiB
Plaintext
---
|
||
title: "Who pays when rent outpaces wages?"
|
||
subtitle: "A 12-county analysis of cost-burdened renter households, 2019–2024."
|
||
author:
|
||
- name: "Civilytics Research"
|
||
affiliation: "Civilytics Consulting"
|
||
date: "2026-04-15"
|
||
abstract: |
|
||
We combine ACS 5-year microdata with HUD Fair Market Rent estimates
|
||
to track changes in rent burden across 12 metropolitan counties.
|
||
Between 2019 and 2024, the share of renter households spending more
|
||
than 30% of income on housing rose by 6.4 percentage points; the
|
||
increase was concentrated in counties where median wages stagnated.
|
||
categories: [Housing, Affordability, ACS]
|
||
format:
|
||
html:
|
||
theme: ../theme/civilytics.scss
|
||
css: ../theme/extras.css
|
||
toc: true
|
||
toc-location: right
|
||
typst:
|
||
template-partials:
|
||
- ../typst/typst-template.typ
|
||
- ../typst/typst-show.typ
|
||
pdf:
|
||
include-in-header: ../latex/civilytics.tex
|
||
include-before-body: ../latex/civilytics-title.tex
|
||
execute:
|
||
echo: false
|
||
warning: false
|
||
---
|
||
|
||
## Findings at a glance
|
||
|
||
::: {.stat-callout}
|
||
::: {}
|
||
[6.4 pp]{.stat-num}
|
||
[Increase in rent-burdened share, 2019→2024]{.stat-label .accent}
|
||
:::
|
||
::: {}
|
||
[1 in 2]{.stat-num}
|
||
[Renters in the studied counties now cost-burdened]{.stat-label}
|
||
:::
|
||
::: {}
|
||
[$412]{.stat-num}
|
||
[Median monthly rent gap, lowest-wage quintile]{.stat-label}
|
||
:::
|
||
:::
|
||
|
||
[Methodology note]{.eyebrow}
|
||
|
||
## Background
|
||
|
||
Rent has outpaced wages in every county we studied. In some, the gap is
|
||
modest and recent; in others, it has been widening for a decade. This
|
||
report disaggregates the trend along three lines: county, income
|
||
quintile, and household composition.
|
||
|
||
```{r}
|
||
#| label: fig-trend
|
||
#| fig-cap: "Cost-burdened renter share, 12 metro counties, 2019–2024."
|
||
#| fig-width: 7
|
||
#| fig-height: 4.2
|
||
library(ggplot2); library(civilytics)
|
||
ggplot(economics, aes(date, unemploy / pop)) +
|
||
geom_line(color = "#C25311", linewidth = 1) +
|
||
labs(title = "Cost-burdened renter share, 2019–2024",
|
||
subtitle = "Share spending more than 30% of household income on rent",
|
||
x = NULL, y = NULL,
|
||
caption = "Source: ACS 5-yr microdata; Civilytics analysis.") +
|
||
scale_y_continuous(labels = scales::percent_format()) +
|
||
theme_civilytics()
|
||
```
|
||
|
||
> Across all 12 counties, the steepest increases came in places where
|
||
> median wages were already in the bottom quartile of the metro region.
|
||
|
||
## Recommendations
|
||
|
||
1. Targeted rental assistance keyed to local wage trajectories.
|
||
2. Quarterly publication of rent-burden indicators by county.
|
||
3. Coordinated reporting between HUD and county human-services offices.
|