Appendix A — Replication and Production Notes
The dissertation’s supporting material is organized into three appendices, each corresponding to a specific part of the manuscript so that it can travel intact if that part is later developed into a standalone journal article. Appendix letters (A, B, C) are assigned automatically by Quarto’s book: appendices: mechanism, in the order the appendix files are listed in _quarto.yml, so they are never hardcoded in this text.
| Appendix covers | Corresponds to |
|---|---|
| Notes on the Introduction; replication package; visualization and software standards (this appendix) | The dissertation as a whole — stays with the manuscript regardless of which parts are later split off |
| Data sources, harmonization decisions, codebook, validation, and extended per-figure notes for the PNAD/PNADC survey data | Part II |
| Press corpus and documentary sources (forthcoming) | Part III |
Part I, an intellectual history grounded in published literature rather than original data collection, requires no data appendix.
A.1 Notes on the Introduction
This section collects expanded notes for specific claims made in the Introduction. A claim that needs elaboration — a citation, a data point, a methodological caveat — is marked in the Introduction’s text with a parenthetical pointer (e.g., “see Section A.1, n. 1”) rather than a footnote, so that the Introduction’s prose stays uncluttered. Notes are added here as they are identified; none have been added yet.
A.2 Replication Package
The public replication package of this dissertation is Open Data Analysis (https://mancano-tales.github.io/open-data-analysis/; source at https://github.com/mancano-tales/open-data-analysis), an open catalogue of the analyses behind the figures. Each figure has a page of its own, which carries the published image, a methodological summary, the complete pipeline from raw download to final plot (the ordered list of scripts to run, with what each one writes), the script that draws the figure (plot.R), and citation instructions. Every path in that repository is relative to its root, so a fresh copy rebuilds its intermediate data by running the scripts in the order each page lists. Pages are classed by the access their reproduction requires. Tier A uses only public data reachable without credentials: PNAD and PNAD Contínua through PNADcIBGE and the IBGE file server, the Demographic Census through censobr, price indices through sidrar and ipeadatar, and the public microdata of the Censo da Educação Superior. Tier A (cross-repo) reads the educabr2 package (Appendix D), which embeds its own data. Tier B depends on restricted INEP records reached through SEDAP+ credentials; for those pages the extraction code is published for audit and, where the figure reads only aggregate tables, the tables themselves are redistributed with the page. The subset of the catalogue cited here will be frozen in a Git tag with a Zenodo DOI at the time of the defense; until then the pages are cited by URL with the date of access.
The development repository from which the catalogue is derived holds the full working code (4-DA-Code/), the Quarto sources of every chapter (3-texts/), and the rendered outputs (docs/). Datasets are not included in either repository because they are publicly available from original sources (IBGE, INEP) and exceed practical size limits for version control. The 5-data/ directory (maintained outside the repository, in its parent directory) stores the processed microdata files; its structure is documented in 4-DA-Code/2026-06_Harmonizing-BR-Data/README.md.
R version and package versions used for the final analysis are recorded below in Section A.4.
The educabr2 R package, which compiles the long-run enrollment series used in several analyses, is documented in a dedicated appendix (Appendix D).
Table A.1 lists every figure in this dissertation with the page that reproduces it, in order of appearance; the entries in Extended Figure Notes (Section B.8) repeat the link at the end of each figure’s note. Page addresses are https://mancano-tales.github.io/open-data-analysis/ followed by the path shown.
A.3 Visualization Standards
All figures in this dissertation follow a unified visual style defined in 4-DA-Code/utils/plot_theme.R. The standards described here are derived from Healy (2019/2026).
Typography. Figures use CMU Serif (the TrueType version of Latin Modern), matching the dissertation body font (\usepackage{lmodern}). A fallback to "serif" is applied automatically if CMU Serif is not installed on the rendering system.
Color palette. All figures use the Okabe-Ito palette (Okabe and Ito 2008, Color Universal Design), an eight-color set designed to be distinguishable for the three most common forms of color vision deficiency (protanopia, deuteranopia, tritanopia). It has been adopted by the journal Nature and by the R packages ggthemes and cowplot. Three palette roles are defined:
| Role | Colors | When Used |
|---|---|---|
| Qualitative | Eight Okabe-Ito hues | Unordered categories (governments, data sources, regions) |
| Sequential | White → Okabe blue gradient | Ordered data (income deciles D1→D10) |
| Diverging | Okabe blue (#0072B2) / red-brick (#D55E00) |
Gains and losses (delta by government) |
Figure dimensions. The A4 text block width is 15.92 cm (= 21 − 2 × 2.54 cm) ≈ 6.27 inches. Standard dimensions:
| Constant | Inches | Use |
|---|---|---|
LARGURA_TEXTO |
6.27 | Full-width figure (default) |
LARGURA_2_3 |
4.20 | Two-thirds width |
LARGURA_MEIA |
3.10 | Half-width / side-float |
ALTURA_PADRAO |
3.80 | Most figures (~1.65:1 ratio) |
ALTURA_ALTA |
5.00 | Many y-axis categories |
ALTURA_DUPLA |
7.50 | Multi-panel or long bar charts |
Caption policy. Following Healy (2019/2026) (ch. 8): a caption should convey what the graph cannot convey on its own. Labels, axes, and legends appear inside the image. Descriptive titles appear in the Quarto image caption. Short fignotes (\begin{fignote}...\end{fignote}, ≤ ~5 printed lines; WRITING-STYLE.md §13.7) follow each figure with the essentials for reading it and a mandatory link to that figure’s own entry in Extended Figure Notes (Section B.8); harmonization decisions, survey variable codes, and other estimation detail live in that entry, not in the fignote itself.
A.4 Software Versions
The analysis was conducted in R. A sessionInfo() snapshot will be added here at the time of the defense.
# To reproduce:
sessionInfo()Key packages: arrow, dplyr, ggplot2, here, Hmisc, scales, showtext, survey, tidyverse.
Quarto version: run quarto --version in the terminal.