Skip to content

Latest commit

 

History

History
66 lines (49 loc) · 6 KB

ChangeLog.md

File metadata and controls

66 lines (49 loc) · 6 KB

Change log

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
    • fail: testsnippet-01.tex (#14, related to and possible duplicate of #25)
    • fail: testsnippet-19.tex (#20, related to and possible duplicate ot #24)
    • fail: testsnippet-20.tex (#21, related to and possible duplicate of #24)
  • 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 for minipage (#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 the tocitem{begin,end}tag's
    • \etoctagLbl is designed to be used in-between the tocitem{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 of etoc 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 use latexmk -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.