20
0
Commit Graph

5 Commits

Author SHA1 Message Date
b7e37320de Let decks define note macros in notes-preamble.tex
Notes that use a deck's own macros failed to typeset, since mknotes
only pulled in fonts.tex. A deck now defines them in notes-preamble.tex
(starting with \input{fonts.tex}), which mknotes prefers when present.
The Makefile keeps the new fragment out of the document list.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 00:11:19 +09:00
55f33cd8f5 Take the slide fonts from TeX Live rather than the tree
Open Sans and Roboto Mono ship in texlive-fonts-extra, which the other
templates already require. LuaLaTeX resolves them by family name through
luaotfload, which indexes the TeX tree, so the vendored copies and their
relative Path= keys are unnecessary.

Same faces, pixel-identical output.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 15:43:29 +09:00
c779140c01 Follow beamer's model for notes, and lay the page out like it
Notes were rendered as a bullet list, which beamer does not do. Reading
beamerbasenotes.sty: a plain \note appends its text to a running block with
no separator at all, and \note[item] accumulates separately into an
enumerate printed after that block.

Match both. talk-notes.sty takes \note<spec>[item]{text}, as beamer does,
and records which kind it is. The one deviation is a paragraph break
between plain notes instead of running them together, which is easier to
read on a page.

The notes half is laid out like beamer's too: a grey band across the head
carrying the section and the position in the talk, the current slide flush
into the outer corner, and the notes below. The heading is set in the
sans face against the roman body so it reads as apparatus rather than as
part of the notes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 07:26:23 -07:00
27304c853a Share the font setup between the slides and the notes
The notes pages were typeset in the default Latin Modern while the slides
used OpenSans and RobotoMono, so the two halves of a presenter page did not
match.

Move the font declarations to fonts.tex, which the slides \input and
mknotes passes to the notes document. mknotes uses it by default when it
exists, so a deck that copies the two notes files in gets matching fonts
without having to remember a flag; --preamble names a different fragment,
and a file named there but missing is an error rather than ignored.

The notes document now compiles from the document directory with
-output-directory rather than running inside the temporary one, so the
relative font paths in the fragment resolve.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 07:26:23 -07:00
2b0c14209a Add speaker notes for ltx-talk, captured and assembled outside LaTeX
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>
2026-08-13 19:12:03 -07:00