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:
@@ -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%
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user