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>
ltx-talk has no \note command. Its README and website list speaker notes
among what the class is for, but the feature is unwritten: the request is
open upstream as issue #156, where the maintainer has said notes are
wanted but that the interface needs thought first. Nothing has landed as
of v0.5.3.
So notes are captured rather than typeset. talk-notes.sty defines \note
to contribute nothing to the slides and instead record its text, and
mknotes reads that afterwards to assemble the presenter PDF: slide on the
left, and on the right a grey header band, a thumbnail of the current
slide flush into the corner, and the notes below. Previous and next
slides are left to dspdfviewer and pdfpc, which show them already.
The hard part is that a frame is not a page, since overlays expand one
frame into an unpredictable number of slides. Records are therefore
written from the shipout hook, the first point at which the frame and
slide identity of a page is settled, which makes the mapping exact rather
than guessed. Notes honour the usual overlay specifications, so
\note<1>{...} appears beside only the first slide of its frame.
The assembled PDF is not tagged and is not meant to be shared; only the
slides build is.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
trantor is Marco Pompili's Metropolis-like theme for ltx-talk, added
under its MIT license so the deck keeps roughly its present look after
the class change. Two things differ from upstream: font selection moves
out to the document, since this template ships OpenSans and RobotoMono,
and the Euler maths font it loaded by default is dropped because
lum-euler is not packaged in Debian's TeX Live.
Upstream: https://github.com/mrc-pop/trantor
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Slides-only builds validate as PDF/UA-2, which is what upload targets
check for, but only frame titles and links are actually tagged. Say so
rather than leaving the veraPDF pass to imply more than it means.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The Computer Modern math fonts have no ToUnicode entries, which failed
ISO 14289-2 clause 8.4.5.8 on six checks and left every formula opaque
to assistive software. Switching to an OpenType math font changes the
rendering of math only slightly.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
veraPDF reported two metadata failures against ISO 14289-2: nothing
identified the file as PDF/UA (clause 5), and ViewerPreferences was
missing DisplayDocTitle (clause 8.11.2), so viewers announced the
filename instead of the title.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The Makefile has built with lualatex since the tagged PDF work in
2841ae9, but the README still told people to install texlive-xetex.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The black page number is illegible against the dark standout background.
Defines a custom frame numbering template that outputs nothing on standout
frames and the normal fraction on all others.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
\alert{} is invisible on standout frames due to the inverted color
scheme; fall back to \textit{} using the metropolis@standout boolean.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch to LuaLaTeX (better tagged PDF support), add \DocumentMetadata
for PDF 2.0 and language metadata, enable tagpdf tagging, and mark
tikz overlay commands (\credit, \marktopleft, \markbottomright) as
PDF artifacts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add README with dependencies, clone instructions, script usage, and
patch submission guidance. Remove stale rubber invocation from the
clean target in the Makefile.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch from git checkout-index to git archive with a temp directory,
fixing unquoted variables, TMPDIR name collision, missing set -e,
missing existence check for destination, and mktemp running
unconditionally. Fix typo in error message.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- moved from pdflatex to xelatex
- changed all the .sty files to those build from th latest version of
mtheme
- reworked the default template in a series of ways
- removed a bunch of cruft
- changed the logo to the new centered logo
- Created .gitignore file within the template directory. I believe
that /this/ repository should not know about them but the
new_beamer_presentation should export these so that we don't have to
create a new .gitignore file from scratch every time we create a
presentation.