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>
5.3 KiB
5.3 KiB