mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-07 02:03:55 -05:00
Apply the same editorial pass used on the StaffML paper:
- Pass 1 (US English): paper was already clean.
- Pass 2 (em-dashes): replace seven stylistic "---" in body text with
commas or parentheses; keep the "no dedicated wall" cell dash.
- Pass 3 (colon-elaborations): rewrite ~30 instances of the StaffML
"X: Y" pattern as separate sentences or commas, especially in the
R3 case-study walkthrough and the Fallacies section.
- Pass 4 (section previews): expand the openers of Architecture,
Taxonomy, 3-Tier Resolver Architecture, and Validation so each
multi-subsection section previews its subsections in prose.
- Pass 5 (footnote audit): inline the two terminology footnotes
about "node" and "single accelerator" into the body; keep the LP
and Mars Climate Orbiter substantive asides.
- Pass 8 (figure narrative): add a body reference and reading hint
for fig:solver-chaining, which previously had no in-text mention.
- Pass 9 (build hygiene): adopt the interviews/paper FORCE pattern
so figures/%.pdf is always regenerated from its SVG source, not
shadowed by a stale committed PDF; add make layout-review.
- Pass 11 (bibliography): drop a "Best Paper Award" note flag and
move an arXiv ID from a free-form note into a proper eprint field.
- Pass 13 (roadmap): rewrite the end-of-introduction roadmap so it
names every \section in order, including Architecture and
Conclusion (previously only their subsections were listed).
- Layout: wrap fig:carbon in \afterpage{...} so it lands on a fresh
page instead of being crammed into the same column as fig:roofline.
Page count: 28 -> 29.
44 lines
1.5 KiB
Makefile
44 lines
1.5 KiB
Makefile
.PHONY: all paper svgs layout-review clean distclean
|
|
|
|
# ── Default: convert SVGs → compile paper ────────────────────
|
|
all: paper
|
|
|
|
# ── Convert SVG figures to PDF ───────────────────────────────
|
|
SVG_SOURCES = $(wildcard figures/*.svg)
|
|
SVG_PDFS = $(SVG_SOURCES:.svg=.pdf)
|
|
|
|
svgs: $(SVG_PDFS)
|
|
|
|
# Always regenerate figure PDFs from their SVG source so a stale committed
|
|
# PDF cannot mask a freshly edited SVG.
|
|
figures/%.pdf: figures/%.svg FORCE
|
|
rm -f $@
|
|
rsvg-convert -f pdf $< -o $@
|
|
|
|
FORCE:
|
|
|
|
# ── Compile paper ────────────────────────────────────────────
|
|
paper: paper.pdf
|
|
|
|
paper.pdf: paper.tex references.bib $(SVG_PDFS)
|
|
pdflatex -interaction=nonstopmode paper.tex
|
|
bibtex paper
|
|
pdflatex -interaction=nonstopmode paper.tex
|
|
pdflatex -interaction=nonstopmode paper.tex
|
|
|
|
# ── Rasterize each PDF page to PNG (layout / float debugging) ─
|
|
layout-review: paper.pdf
|
|
mkdir -p layout-review
|
|
pdftoppm -png -r 110 paper.pdf layout-review/p
|
|
|
|
# ── Clean auxiliary files ────────────────────────────────────
|
|
clean:
|
|
rm -f paper.aux paper.bbl paper.blg paper.log paper.out paper.toc
|
|
rm -f paper.fls paper.fdb_latexmk paper.synctex.gz paper.lof paper.lot
|
|
rm -rf layout-review
|
|
|
|
# ── Clean everything including PDF and generated figures ─────
|
|
distclean: clean
|
|
rm -f paper.pdf
|
|
rm -f $(SVG_PDFS)
|