20
0

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>
This commit is contained in:
2026-08-15 10:24:15 +09:00
parent 4ae0bddb40
commit f7e16a221c
7 changed files with 54 additions and 146 deletions

View File

@@ -6,12 +6,9 @@
% that work. The look-and-feel is kept as close to the previous
% cdsc-article chapterstyle as is practical.
%
% Headings and the title block are built from the article class's own
% \@startsection and \@maketitle hooks rather than from titlesec and
% titling. The tagging code hooks into \@startsection to emit the H1,
% H2, and H3 tags a screen reader navigates by; titlesec bypasses that
% hook, so loading it silently produces a PDF with no headings in the
% structure tree. See the Accessibility section of the README.
% Headings and the title block use the class's own \@startsection and
% \@maketitle hooks, not titlesec and titling, which break tagging.
% See the Customizing section of the README.
%
% Copyright 2009-2026 Benjamin Mako Hill <mako@atdot.cc>
% Copyright 2008-2009 Kieran Healy <kjhealy@soc.duke.edu>
@@ -50,15 +47,9 @@
\pagestyle{cdsc-page}
%%% Section heading styles.
%%%
%%% Each heading is declared through \@startsection, which takes:
%%% {name}{level}{indent}{beforeskip}{afterskip}{style}
%%% A negative beforeskip suppresses the paragraph indent that would
%%% otherwise follow the heading; a negative afterskip makes the
%%% heading run into the paragraph text rather than sit on its own
%%% line. The style argument receives the whole heading as its
%%% argument, so a case-changing command may be appended to it.
%%% Section headings. \@startsection takes {name}{level}{indent}
%%% {beforeskip}{afterskip}{style}; a negative afterskip runs the
%%% heading in to the following paragraph.
\makeatletter
@@ -75,7 +66,6 @@
{\normalsize\itshape}}
% Subsubsections: small bold, run in to the following paragraph
% (the negative afterskip is what makes it run in)
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{-3.25ex \@plus -1ex \@minus -.2ex}%
{-0.5em}%
@@ -99,14 +89,9 @@
\newcommand{\puB}{}
\newcommand{\published}[1]{\gdef\puB{#1}}
% \raggedright rather than \flushleft: the flushleft environment is a
% trivlist, and starting one as a bare declaration leaves a list open
% in the structure tree. That produces "the number of automatic begin
% and end text-unit para hooks differ" and a mis-nested PDF.
% The vertical skips reproduce what titling's \pretitle/\posttitle,
% \preauthor/\postauthor, and \predate/\postdate produced. The date
% slot keeps its space even when \date{} is empty, which is what the
% previous title block did and what the template's spacing assumes.
% \raggedright, not \flushleft: flushleft is a trivlist and would leave
% a list open in the structure tree. The skips match titling's output;
% the date slot keeps its space even when \date{} is empty.
\renewcommand{\@maketitle}{%
\null
\vskip 2em%

View File

@@ -1,14 +1,4 @@
% Tagged PDF (PDF/UA-2) accessibility setup. The article class works
% with the LaTeX tagging project, so we use the full \DocumentMetadata
% path here.
%
% tagging=on is what actually builds the structure tree: it loads the
% kernel code that tags paragraphs, headings, lists, tables, and
% floats. Declaring pdfstandard=ua-2 on its own only writes the claim
% into the metadata; without tagging=on the PDF is marked as UA-2 but
% carries no structure for a screen reader to read. This needs TeX
% Live 2025 or later --- on Overleaf, set it in Menu > Settings >
% TeX Live version.
% Tagged PDF (PDF/UA-2) accessibility setup.
\DocumentMetadata{
tagging=on,
pdfversion=2.0,
@@ -215,14 +205,9 @@ and the commented-out block below it shows a figure carrying alt text.
Both are here as worked examples; delete them along with this section
when you start writing.
% ACCESSIBILITY: every figure needs an alt= description, which is what
% a screen reader announces in place of the image. Describe what the
% reader is meant to take from the figure rather than naming it: "Edit
% counts rising sharply after 2005" tells them something, "Figure 1"
% does not. The caption is read separately, so alt text that repeats
% the caption is wasted. For a purely decorative image, use
% \includegraphics[artifact]{...} instead, which keeps it out of the
% reading order entirely.
% alt= is what a screen reader announces in place of the image. Say what
% the reader should take from it, not what it is called. A decorative
% image takes [artifact] instead, keeping it out of the reading order.
%
% \begin{figure}
% \centering
@@ -232,11 +217,7 @@ when you start writing.
% \label{fig:example}
% \end{figure}
% ACCESSIBILITY: header-rows tells the tagging code which rows are
% headers, so their cells become TH rather than TD and a screen reader
% can announce the column a value belongs to. Without it, a data table
% reads as an undifferentiated grid of numbers. Set it for each table
% that has headers; use {1,2} if two rows are headers.
% header-rows makes the first row TH rather than TD. Use {1,2} for two.
\tagpdfsetup{table/header-rows={1}}
\begin{table}
\centering
@@ -249,9 +230,8 @@ when you start writing.
\label{tab:example}
\end{table}
% A table used only to position things on the page, rather than to
% present data, should be marked so assistive software skips its
% structure: \tagpdfsetup{table/tagging=presentation}
% A layout table, used to position rather than present, takes
% \tagpdfsetup{table/tagging=presentation}
% bibliography here
\setcounter{biburlnumpenalty}{9001}