20
0
Commit Graph

8 Commits

Author SHA1 Message Date
623ab6f240 Share vc-git from a single copy at the repository root
Four templates need it and two did not have it. The paper copy called
gawk -f ~/bin/vc-git.awk while shipping vc-git.awk beside itself, so it
only worked for someone who had also installed the awk script by hand;
it now calls the copy it ships with.

Templates link to ../../resources/, which new_tex_document has to
dereference when it extracts one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 15:45:18 +09:00
611426ef5d Fix the vc target in the paper and memo Makefiles
vc:	resources/vc-git declared a prerequisite rather than a recipe, so
make vc reported nothing to be done and wrote no vc file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 15:45:13 +09:00
f7e16a221c removed extra extraneous comments
Cuts the multi-line rationale blocks down to what a reader of the file
needs. The reasoning behind the tagging setup belongs in the commit
messages that introduced it, not repeated above every \DocumentMetadata
block.

Also trims the README: drops the consequence clause explaining what
happens when the standard is declared without the tagging, drops the
quoted TeX Live 2024 error message, and notes that sid has a new enough
TeX Live for anyone not on Overleaf. Adds the caveat that a veraPDF
PASS is necessary but not sufficient, since a document whose body text
is all artifact passes too.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 10:24:15 +09:00
0a43387d2e memo, letter: enable tagging with \DocumentMetadata{tagging=on}
These templates declared pdfstandard=ua-2 and loaded tagpdf with
\tagpdfsetup{activate-all}. That combination sets /Marked true and
writes the PDF/UA-2 claim into the metadata, but activate-all is
tagpdf's low-level switch and does not turn on the kernel code that
tags document structure. The result was a file announcing itself as
accessible while carrying nothing for assistive software to read: the
memo's structure tree held one /Document and two /Link nodes, and the
letter's held /Document alone.

tagging=on loads that kernel code. The memo now tags three headings, a
subsection, its paragraphs and its bibliography list; the letter tags
all ten body paragraphs. The manual tagpdf lines are no longer needed
since the kernel loads it.

This requires TeX Live 2025 or later; on TeX Live 2024 the key is
unknown and the build stops.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 18:15:48 -07:00
1a469bac1b cdsc-paper.sty, cdsc-memo.sty: build headings without titlesec
The tagging code hooks \@startsection to emit the H1/H2/H3 tags that a
screen reader navigates by. titlesec replaces \section wholesale rather
than going through that hook, so every heading vanished from the
structure tree --- with no error to say so, which is why this went
unnoticed. titling separately left an unclosed trivlist behind its
\flushleft declarations, producing "the number of automatic begin and
end text-unit para hooks differ" and a mis-nested tree.

Both files now style headings through \@startsection and the title
block through \@maketitle, using the class's own hooks. The style
argument of \@startsection is applied to the whole heading, so the
memo's uppercase headings append \MakeUppercase to it; the tagging code
wraps the section number in \NoCaseChange so the number is left alone.

Vertical spacing was matched against the previous output page by page:
the memo now renders identically bar one heading a pixel off, and the
paper's title block lands within two pixels.

datetime is dropped from cdsc-paper.sty. Only \today was ever used from
it and that is built in.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 18:15:33 -07:00
172cd5c4e5 templates: swap EB Garamond for Libertinus Serif
EB Garamond's bold weight ships with only 127 cmapped glyphs --- no
Latin Extended-A, no Vietnamese, no Greek, no Cyrillic, no fi/fl
ligatures --- so any bold text containing accented characters
(Polish, Czech, Vietnamese, etc., as well as bold author names in
citations) renders as tofu boxes or font-fallback substitutions.

Switch the default body font in paper_template, memo_template, and
letter_template to Libertinus Serif. It ships in texlive-fonts-extra,
has comprehensive Latin / Vietnamese / Greek / Cyrillic coverage in
every weight, and includes all the standard f-ligatures explicitly.

Each template also picks up a commented-out
\\setmainfont{Garamond Premier Pro} block plus a short note: Adobe
Garamond Premier Pro is Mako's preferred body font but is commercial
and not redistributable, so the public templates default to
Libertinus and CDSC members can swap in once they have the font
installed (e.g., in ~/.fonts/).

README updated to match.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 16:07:36 -07:00
6ee5dbd35d templates: enable TeX input ligatures with fontspec
fontspec does not enable the classic TeX input ligatures by default,
so under lualatex our existing -- / --- / `` / '' input was being
typeset as literal hyphens and straight quotes rather than en-dashes,
em-dashes, and curly quotes.

Add \defaultfontfeatures{Ligatures=TeX} right after \usepackage{fontspec}
in each template that loads fontspec (paper, memo, and letter). The
poster template uses beamer's default fonts (Latin Modern under
lualatex), where TeX ligatures already work via the font tables, so
no change there.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 18:22:42 -07:00
1e79d8d0f6 memo_template: add new article-class memo template
Replaces the assignment_template with a memo-format template based
on the article class. The look-and-feel is ported from the old
cdsc-memo chapterstyle in cdsc-memoir.sty: a single-line "TITLE
[hfill] AUTHOR" header and sans-serif uppercase section headings.

Like the migrated paper_template, this builds with lualatex and
produces a tagged, PDF/UA-2 compliant PDF. verapdf --flavour ua2:
0 failures, 1723 passed rules.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 12:33:37 -07:00