Description of the changes to etoc.sty
since its initial commit in this repo at version 1.2d 2023/10/29
.
This diff compares current HEAD with latest CTAN release (which currently is the 1.2d 2023/10/29
one).
These headings map to the diffs between successive tags.
- Current errorsummary: FAIL=3, PASS=15, TOTAL=18
- 2 snippets were merged so that they are at this time 18 test snippets.
- 4 additional snippets were made to fit with template, of which 2 fail and 2 pass.
- add to repo the 26 snippets from
etoc.pdf
of which 15 can be used almost directly for testing (eleven of them not being usable directly with our test template, due to various reasons such as using commands from KOMA document class). Eight out of the fifteen raise tagging-related warnings which will for most get converted into issues here.
-
fix #10, via applying to
\parbox
the same treatment as forminipage
(#5). -
fix #9, #12, #13 which all had to do with the fact that the borrowed
\@starttoc
tagging hooks turn para-tagging off, but do not reenact it in the "after" part. -
fix #11, thanks to help from @u-fischer.
-
add user interface for achieving tagging in sophisticated 2-steps TOCs, where the first step done under
\etoctaggingoff
regime will construct some token list which is then used in the second, non-etoc, step, and thus the prepared tokens need to contain explicit manual tagging:\etoctagstartTOCcontents
\etocthetocitembegintag
, to be expanded (once or\edef
) inside a user etoc line style, only makes sense there\etoctagReference
is designed to be used in-between thetocitem{begin,end}tag
's\etoctagLbl
is designed to be used in-between thetocitem{begin,end}tag
's\etocthetocitemendtag
, to be expanded (once or\edef
) inside a user etoc line style, only makes sense there\etoctagfinishTOCcontents
Those macros will work independently of the
\etoctaggingon/\etoctaggingoff
flag when they get expanded, because the latter only say whether the\tableofcontents
,\localtableofcontents
should automatically insert tagging, and the above macros will do their real job only later, outside ofetoc
TOCs. The first step which uses an etoc TOC typesets nothing and must be done with\etoctaggingoff
. See the TOC as a molecule demo file. -
add
\etochyperlink
as\protected
wrapper of\hyperlink
and use it in\etocthelinkedname
et al., which facilitates their use in\edef
for sophisticated 2-steps TOCs such as those using TikZ trees in the user manual. -
fix #8.
\locallistoffigures
and\locallistoftables
raised lots of warnings but this is only because the fix to #2 forgot to handle them at the same time. Only remain now warnings due to upstrem latex3/tagging-project#55. -
fix #7. Our redefinition of
\addcontentsline
must keep its original signature so that the hyperref "before" hook can be inserted, when as currently via tagpdf this is done by kernel via a generic cmd hook. -
[testing] add a bash script for automated testing using existing test files; the latter got modified so that all tagpdf warnings are made into errors aborting the job, and the bash script can be made if
LATEX
environment variable is suitably set to uselatexmk -pdf
for example, so that one checks no warnings are issued on first as well as next compilations. Using the script with any argument tells it to clean all auxiliary files first. -
strip from code all
\Etoc@tagrule
and\Etoc@tagleaders
which had been tentatively added, then made no-op's. -
refactor core
\Etoc@lxyz
in part to avoid sub-optimal\etocthelinkednumber
containing (begin|end) or (end|begin) with nothing in-between; also for more straightforward coding logic and improved readability of the nested conditionals. -
fix #6. Everything in the line style apart from name, number, page is automatically tagged as an artifact. Which may be a bad idea but it solves the
'TOCI/' --> 'Em/pdf2'
forbidden Parent-Child relation.
- fix #5 via a general deactivation of the minipage tagging sockets for the duration of the TOC contents.
- fix #4 thanks to @u-fischer's advice at latex3/tagging-project#54. No more warnings at this stage!
- use
\Etoc@tagleaders
to mark as artifacts the dots in fall-back TOC line styles, in imitation of upstream\@dottedtocline
. - tentative
\Etoc@tagrule
added in various places (yet to be tested). - rework indentation which had been catastrophic for ages in
\etocframedstyle
source code.
- refactor tagging support, fix #1, #2, #3.
\etocsetlinestyle
and\etocfallbacklines
as respective aliases to\etocsetstyle
and\etocdefaultlines
.
- initial tagging support.