20
0
Files
cdsc_tex/slides_template/Makefile
Benjamin Mako Hill 95a368afc6 Port the template from beamer to ltx-talk
Beamer cannot produce a genuinely tagged PDF. The master template
validates as PDF/UA-2 only because tagpdf marks everything it was not
told about as decorative, so a screen reader gets the frame titles and
nothing else. Beamer 3.77 then made matters worse by refusing
\DocumentMetadata outright, which breaks tagging on TeX Live 2025 and
leaves the deck failing validation altogether.

ltx-talk was written by the LaTeX Project with tagging as a design goal.
The slides built here carry real paragraphs, lists as L/LI/Lbl/LBody,
sections as headings, formulas as MathML, and alt text that reaches the
PDF. veraPDF passes on the strength of that structure rather than in
spite of its absence.

The metropolis theme files go with beamer; trantor replaces them. Fonts,
figures and the purple palette are unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 19:12:16 -07:00

42 lines
1.1 KiB
Makefile

#!/usr/bin/make
# Slides are the deliverable: this is the build that gets uploaded and the one
# that has to validate. The notes build is assembled from it afterwards and is
# only ever looked at while presenting.
# veraPDF's installer leaves a directory called verapdf on PATH which shadows
# the launcher inside it, so the full path is used. Override if yours differs.
VERAPDF ?= $(HOME)/bin/verapdf/verapdf
TEX := $(wildcard *.tex)
PDF := $(patsubst %.tex,%.pdf,$(TEX))
JOB := $(patsubst %.tex,%,$(TEX))
all: slides
slides: $(PDF)
%.pdf: %.tex
latexmk -f -lualatex $<
# Double-width pages, slide left and notes right, for dspdfviewer and pdfpc.
notes: slides
./mknotes $(JOB)
# PDF/UA-2 conformance of the slides. Only the slides build is expected to
# pass; the assembled notes PDF is untagged by design.
validate: slides
$(VERAPDF) -f ua2 --format text $(PDF)
viewpdf: slides
evince $(PDF)
pdfpc: notes
pdfpc -n right $(JOB)-notes.pdf
clean:
latexmk -C $(TEX)
rm -f *.notes *.tmp *.nav *.snm *.pdfpc *-luamml-mathml.html
rm -f $(JOB)-notes.pdf
.PHONY: all slides notes validate viewpdf pdfpc clean