texlive[65048] Master/texmf-dist: etoc (18nov22)

commits+karl at tug.org commits+karl at tug.org
Fri Nov 18 22:02:44 CET 2022


Revision: 65048
          http://tug.org/svn/texlive?view=revision&revision=65048
Author:   karl
Date:     2022-11-18 22:02:44 +0100 (Fri, 18 Nov 2022)
Log Message:
-----------
etoc (18nov22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/etoc/README.md
    trunk/Master/texmf-dist/doc/latex/etoc/etoc.pdf
    trunk/Master/texmf-dist/doc/latex/etoc/etoc.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-10.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-20-A.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-20-B.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-21-A.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-21-B.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-22-A.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-23.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-24.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-25.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-26.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-27.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-28.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-29.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-30-A.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-30-B.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-31.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-32.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-40.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-46.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-48.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-5.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-52-A.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-52-B.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-53.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-54.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-6.tex
    trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-7.tex
    trunk/Master/texmf-dist/source/latex/etoc/etoc.dtx
    trunk/Master/texmf-dist/tex/latex/etoc/etoc.sty

Modified: trunk/Master/texmf-dist/doc/latex/etoc/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/README.md	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/README.md	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 <!-- -->
 
-    Source:  etoc.dtx (1.09f)
+    Source:  etoc.dtx (1.09g)
     Author:  Jean-Francois Burnol
     Info:    Completely customisable TOCs
     License: LPPL 1.3c
@@ -50,7 +50,7 @@
 
 It is also possible to execute latex or pdflatex directly on etoc.dtx.
 
-To produce etoc.pdf one can run pdflatex (thrice) directly on etoc.dtx or on
+To produce etoc.pdf one can run pdflatex directly on etoc.dtx or on
 the file etoc.tex which was extracted from `etex etoc.dtx` step.
 
 Options can be set in etoc.tex:
@@ -97,6 +97,12 @@
 RECENT CHANGES
 ==============
 
+1.09g \[2022/11/17\]
+--------------------
+
+Compatibility hotfix with recent hyperref `7.00u` of `2022-11-13`.
+Thanks to Denis Bitouzé for signaling the breakage to the author.
+
 1.09f \[2022/08/30\]
 --------------------
 

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etoc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etoc.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etoc.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %%
 %% Package: etoc
-%% Version: 1.09f
+%% Version: 1.09g (DEVELOPMENT)
 %% License: LPPL 1.3c
 %% Copyright (C) 2012-2022 Jean-Francois Burnol
 %%                         <jfbu at free dot fr>

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-10.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-10.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-10.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-10.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begin{figure}[ht!]
   \centering

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-20-A.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-20-A.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-20-A.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-20-A.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \makeatletter
 \newcommand{\MyStandardTOC}{%

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-20-B.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-20-B.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-20-B.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-20-B.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \etocsetstyle{section}{}
   {\ifnum\etocthenumber=4

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-21-A.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-21-A.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-21-A.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-21-A.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 % it will be easy to globally shift the TOC horizontally if needed
 \def\TOCleftmargin     {0pt}

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-21-B.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-21-B.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-21-B.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-21-B.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \makeatletter
 \newcommand*\TOClocalstyle {%

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-22-A.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-22-A.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-22-A.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-22-A.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \etocdefaultlines
 \begingroup

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-23.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-23.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-23.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-23.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begin{figure}[htbp!]\centering
 \colorlet{subsecnum}{black}

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-24.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-24.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-24.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-24.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begingroup
 \newsavebox{\forsubsections}
@@ -13,10 +13,10 @@
                       {\mdseries\etocname}
                       {}
 \etocsetstyle{subsection}
-    {\begin{lrbox}{\forsubsections}\upshape\etocskipfirstprefix}
+    {\begin{lrbox}{\forsubsections}\footnotesize\upshape\etocskipfirstprefix}
     {; }
     {\etocname}
-    {\end{lrbox}\footnote{\unhbox\forsubsections.}}
+    {.\end{lrbox}\footnote{\unhbox\forsubsections}}
 \etocsetstyle{subsubsection}
     { (\itshape\etocskipfirstprefix}
     {, }

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-25.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-25.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-25.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-25.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
    < in the preamble >
 \newcounter{visibletoc}

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-26.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-26.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-26.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-26.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
   \etocsetnexttocdepth{2}     % sections are at level 1 and will show up
 \begingroup

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-27.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-27.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-27.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-27.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 % \newtoks\treetok % put this (uncommented) preferably in the preamble
 % \newtoks\tmptok  % (idem)

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-28.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-28.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-28.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-28.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 % \newtoks\treetok % put this (uncommented) preferably in the preamble
 % \newtoks\sectiontok

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-29.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-29.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-29.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-29.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begingroup
 % \newtoks\treetok % done in preamble

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-30-A.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-30-A.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-30-A.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-30-A.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begingroup
 \etocglobaldefs % necessary for \etocname etc... to survive &

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-30-B.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-30-B.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-30-B.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-30-B.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begin{center}
 \etocsetstyle{section}

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-31.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-31.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-31.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-31.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \makeatletter
 \newcommand*\TOCcompute at numwidths [2]{% #1=empty/"local", #2=minimal indent

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-32.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-32.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-32.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-32.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \etocsetstyle{section}
 {\begin{enumerate}}

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-40.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-40.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-40.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-40.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \etocsettocdepth {subsubsection} % set the initial tocdepth
 \etocdefaultlines % use the package default line styles. At this early stage in

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-46.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-46.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-46.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-46.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \etocruledstyle[2]{\normalfont\normalsize\rmfamily\itshape
   \fbox{\parbox{.6\linewidth}{

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-48.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-48.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-48.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-48.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begingroup
 \definecolor{subsecnum}{RGB}{13,151,225}

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-5.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-5.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-5.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-5.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begingroup\parindent 0pt \parfillskip 0pt \leftskip 0cm \rightskip 1cm
 \etocsetstyle {section}

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-52-A.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-52-A.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-52-A.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-52-A.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \newsavebox\firstnamei  \newsavebox\firstnumberi
 \newsavebox\lastnamei   \newsavebox\lastnumberi

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-52-B.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-52-B.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-52-B.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-52-B.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \makeatletter
 \newcommand*\firstsubname   {}  \newcommand*\lastsubname    {}

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-53.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-53.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-53.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-53.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \etocsetnexttocdepth {all}
 \begingroup

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-54.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-54.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-54.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-54.tex'
 %% generated by the `filecontentshere' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \newtoks\toctabletok
 \newcommand*\appendtotok[2]{% #1=toks variable, #2=macro, expands once #2

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-6.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-6.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-6.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-6.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begingroup
 \newcommand*{\DotsAndPage}

Modified: trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-7.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-7.tex	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/doc/latex/etoc/etocsnippet-7.tex	2022-11-18 21:02:44 UTC (rev 65048)
@@ -1,6 +1,6 @@
 %% LaTeX2e file `etocsnippet-7.tex'
 %% generated by the `filecontentsdef' environment
-%% from source `etoc' on 2022/08/31.
+%% from source `etoc' on 2022/11/18.
 %%
 \begingroup % we start a group to keep the style changes local
 \newlength{\tocleftmargin}    \setlength{\tocleftmargin}{5cm}

Modified: trunk/Master/texmf-dist/source/latex/etoc/etoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/etoc/etoc.dtx	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/source/latex/etoc/etoc.dtx	2022-11-18 21:02:44 UTC (rev 65048)
@@ -2,20 +2,20 @@
 % N.B.: this dtx file is NOT for use with \DocInput. The latex source of the
 % user manual is not prefixed with percent signs.
 %<*none>
-\def\etocdtxtimestamp {Time-stamp: <30-08-2022 at 21:00:50 CEST>}%
+\def\etocdtxtimestamp {Time-stamp: <17-11-2022 at 23:14:36 CET>}%
 %</none>
 %<*!readme>
 %%
 %% Package: etoc
-%% Version: 1.09f
+%% Version: 1.09g (DEVELOPMENT)
 %% License: LPPL 1.3c
 %% Copyright (C) 2012-2022 Jean-Francois Burnol
 %%                         <jfbu at free dot fr>
 %</!readme>
 %<*none>
-\def\etocpkgdate        {2022/08/30}
-\def\etocdocdate        {2022/08/30}
-\def\etocpkgversion     {1.09f}
+\def\etocpkgdate        {2022/11/17}
+\def\etocdocdate        {2022/11/17}
+\def\etocpkgversion     {1.09g}
 \def\etocpkgdescription {Completely customisable TOCs (JFB)}
 %% German translation was last udpated on April 2015 and all new material
 %% was included since in English.  During 2020/2021/2022 emerged a still
@@ -33,7 +33,7 @@
     \catcode32=13\catcode`\\=12^^Brelax^^A
 ^^Bfirstofone{^^Bendgroup^^Bdef^^BetocLicense^^A
 {% Package: etoc
-% Version: 1.09f
+% Version: 1.09g
 % License: LPPL 1.3c
 % Copyright (C) 2012-2022 Jean-Francois Burnol <jfbu at free dot fr>
 %
@@ -60,7 +60,7 @@
 %<*readme>
 <!-- -->
 
-    Source:  etoc.dtx (1.09f)
+    Source:  etoc.dtx (1.09g)
     Author:  Jean-Francois Burnol
     Info:    Completely customisable TOCs
     License: LPPL 1.3c
@@ -110,7 +110,7 @@
 
 It is also possible to execute latex or pdflatex directly on etoc.dtx.
 
-To produce etoc.pdf one can run pdflatex (thrice) directly on etoc.dtx or on
+To produce etoc.pdf one can run pdflatex directly on etoc.dtx or on
 the file etoc.tex which was extracted from `etex etoc.dtx` step.
 
 Options can be set in etoc.tex:
@@ -157,6 +157,12 @@
 RECENT CHANGES
 ==============
 
+1.09g \[2022/11/17\]
+--------------------
+
+Compatibility hotfix with recent hyperref `7.00u` of `2022-11-13`.
+Thanks to Denis Bitouzé for signaling the breakage to the author.
+
 1.09f \[2022/08/30\]
 --------------------
 
@@ -251,7 +257,7 @@
         \chardef\Withdvipdfmx 0 % 0 = pdflatex or latex+dvips, 1 = dvipdfmx
         \chardef\NoSourceCode 1 % 0 =  include source code, 1 = do not
         \NeedsTeXFormat {LaTeX2e}%
-        \PassOptionsToClass   {a4paper,fontsize=11pt,twoside}{scrartcl}% 
+        \PassOptionsToClass   {a4paper,fontsize=11pt,twoside}{scrartcl}%
         \PassOptionsToPackage {ngerman,english}{babel}%
       \else % latex run is on etoc.tex
         \chardef\extractfiles 2 % do not extract files, only typeset
@@ -279,15 +285,11 @@
 \begingroup
     \input docstrip.tex
     \askforoverwritefalse
-    \def\etocpkgpreamble{\defaultpreamble^^J\MetaPrefix^^J%
-    \string\NeedsTeXFormat{LaTeX2e}^^J%
-    \string\ProvidesPackage{etoc}^^J%
-    \space[\etocpkgdate\space v\etocpkgversion\space\etocpkgdescription]}%
     \generate{\nopreamble\nopostamble
     \file{README.md}{\from{etoc.dtx}{readme}}%
     \usepostamble\defaultpostamble
     \file{etoc.tex}{\from{etoc.dtx}{tex}}%
-    \usepreamble\etocpkgpreamble
+    \usepreamble\defaultpreamble
     \file{etoc.sty}{\from{etoc.dtx}{package}}}%
 \endgroup
 \fi % end of file extraction (from etex/latex/pdflatex run on etoc.dtx)
@@ -340,8 +342,8 @@
      {\usepackage{doc}[=v2]}%
 % Why on earth do I lose my time doing this?
      {\GenericError
-          {(xint build doc)\@spaces}%
-          {xint build error: %
+          {(etoc build doc)\@spaces}%
+          {etoc build error: %
       Your LaTeX installation seems to be broken, format is\MessageBreak
       2022-06-01 or later but `doc' package in its `v2' version\MessageBreak
       seems to not be available. \space Will try with `doc' but if\MessageBreak
@@ -1738,7 +1740,7 @@
 Here is how it was produced:
 
 \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 
 \section{A second example}
@@ -1806,7 +1808,7 @@
 
 The code:
 \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 \section{A Beautiful Thesis example}
 
@@ -1852,7 +1854,7 @@
 \filecontentsexec\foo
 
 \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 
 \section{Linked list of the main package commands}
@@ -2053,7 +2055,7 @@
 \filecontentsexec\foo
 
 We used this: \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}.tex} In the above example, not
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex} In the above example, not
 only did we use |\ref{toc:c}| to print here the distant (local) table of
 contents which has been labeled |toc:c| but we added a (possibly confusing)
 |\label{toc:d}|.  This is done for the down-to-earth reason of being able
@@ -2310,7 +2312,7 @@
   \clearpage % or anything ending up causing its presence here right before
              % the \etocdepthtag.toc
   \etocdepthtag.toc{sometag}
-  \include{some file starting with sections}
+  \include{some file containing sections}
 \end{verbatim}
 The tag will end up in the |.toc| file \emph{after} all section headings from
 the included file.  The cause is that \LaTeX\ inserts immediately in the
@@ -2683,7 +2685,7 @@
   \endgroup}
 \makeatother
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}-A.tex}
+\attachfile[description={demo \the\value{section}-A}]{etocsnippet-\the\value{section}-A.tex}
 
 One can add to the above arbitrary text formatting commands, for example
 replace |\etocpage| by |\textcolor{blue}{\etocpage}|.
@@ -2739,7 +2741,7 @@
   {\etocsavedsectiontocline{\numberline{{\color{cyan}\etocthenumber}}\etocname}{\etocpage}}
   {}%
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}-B.tex}
+\attachfile[description={demo \the\value{section}-B}]{etocsnippet-\the\value{section}-B.tex}
 Notice the page head-mark added by this standard TOC. Sections and subsections
 are printed exactly as in the default (except for the subsections of one
 specific user-chosen section and except for the color of the section numbers),
@@ -2887,7 +2889,7 @@
 }
 \makeatother
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}-A.tex}
+\attachfile[description={demo \the\value{section}-A}]{etocsnippet-\the\value{section}-A.tex}
 Nota Bene: the code deliberately handles the non-numbered sectioning units
 unlike the way of the standard document classes (particularly regarding the
 alignment of multi-line headings.)
@@ -2947,7 +2949,7 @@
 }% end of \TOClocalstyle
 \makeatother
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}-B.tex}
+\attachfile[description={demo \the\value{section}-B}]{etocsnippet-\the\value{section}-B.tex}
 As mentioned previously, this handles non-numbered (multi-line) sectioning
 units somewhat differently from what happens in the standard document classes.
 
@@ -3005,7 +3007,7 @@
 \end{figure}
 \endgroup
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}-A.tex}
+\attachfile[description={demo \the\value{section}-A}]{etocsnippet-\the\value{section}-A.tex}
 
 \filecontentsexec\filecontentsheremacro
 
@@ -3136,7 +3138,7 @@
 (\emph{cf.} \hyperref[toc:clone]{this other toc})}
 \end{figure}
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 \filecontentsexec\filecontentsheremacro
 
@@ -3171,10 +3173,10 @@
                       {\mdseries\etocname}
                       {}
 \etocsetstyle{subsection}
-    {\begin{lrbox}{\forsubsections}\upshape\etocskipfirstprefix}
+    {\begin{lrbox}{\forsubsections}\footnotesize\upshape\etocskipfirstprefix}
     {; }
     {\etocname}
-    {\end{lrbox}\footnote{\unhbox\forsubsections.}}
+    {.\end{lrbox}\footnote{\unhbox\forsubsections}}
 \etocsetstyle{subsubsection}
     { (\itshape\etocskipfirstprefix}
     {, }
@@ -3189,7 +3191,7 @@
 
 The code used:
 \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 
 \clearpage
@@ -3317,7 +3319,7 @@
 displayed within this document: \tableofcontents.
 \endgroup
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 \endgroup
 
 After |\etocsetstyle{visibletoc}{..}{..}{..}{..}|, all future TOCs (not in
@@ -3396,7 +3398,7 @@
   \tableofcontents
 \endgroup
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 A related command \csb{etocimmediatetoccontentsline} (and its starred version)
 is also provided.  For discussion and the meaning of ``immediate'', refer to
@@ -3528,7 +3530,7 @@
 appears \vpageref[above]{toc:forest}. Here is the 
 code used for its production:
 \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 Why |\hypersetup{hidelinks}|? as explained in
 \autoref{ssec:hidelinks}, I prefer the links in TOCs not to be
 colorized, nor framed, so this document inserts a command
@@ -3625,7 +3627,7 @@
    \end{tikzpicture}
 \end{figure}
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 \filecontentsexec\filecontentsheremacro
 
@@ -3834,7 +3836,7 @@
 appears \vpageref{toc:mindmap}.
 
 \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 An interesting alternative is to use \etoc rather to convert the entire TOC
 into a TikZ tree (perhaps excluding some parts) and print it out to a file
 from which it can be recovered and manipulated directly by the author of the
@@ -3841,7 +3843,7 @@
 document. Things written to the |.log| file get broken into lines. Here is a
 technique to get non-broken output. Once the \csa{treetok} has been computed
 by \etoc (as in the \hyperref[toc:molecule]{molecule} example, or the current
-example), this code snippet will write it out to file with extension
+example), this demo will write it out to file with extension
 |.toctree|:
 \begin{verbatim}
   \newwrite\TOCasTree
@@ -3949,7 +3951,7 @@
 \filecontentsexec\foo
 
 \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}-A.tex}
+\attachfile[description={demo \the\value{section}-A}]{etocsnippet-\the\value{section}-A.tex}
 Examining the code above the reader will wonder why the |\\| are
 always given first in \meta{prefix+contents} and not, as is more
 intuitive, rather last. In some favorable cases (but almost never
@@ -4019,7 +4021,7 @@
 \filecontentsexec\foo
 
 \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}-B.tex}
+\attachfile[description={demo \the\value{section}-B}]{etocsnippet-\the\value{section}-B.tex}
 
 \section{A TOC self-adjusting widths for its typesetting}
 \label{sec:thirdexampleextra}
@@ -4082,7 +4084,7 @@
 }%
 \makeatother
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 The optional parameter to \csa{TOCcomputenumwidths} specifies the minimal
 indent. In case nothing is numbered you may wish a higher value than |0.5em|.
 For each local table of contents to have its own width computations, the macro
@@ -4202,7 +4204,7 @@
 {\etocname}
 {.\hfil\par\endgroup\pagebreak[3]}
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 \endgroup
 
 These provisory style definitions rely on the automatic
@@ -4547,7 +4549,7 @@
   \tableofcontents \label{toc:main}
 \endgroup
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 In this way, the subsections used the style originally designed for
 subsubsections, the subsubsections were not printed. Without this modification,
 the appearance would have been very different: the package line styles were
@@ -5121,7 +5123,7 @@
 \tableofcontents
 \endgroup
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 \filecontentsexec\filecontentsheremacro
 
@@ -5342,7 +5344,7 @@
 \tableofcontents \label{toc:clone} \ref{toc:globalcmds}
 \endgroup
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 \filecontentsexec\filecontentsheremacro
 % 1.07l on the occasion of traduction into German documentation 
@@ -5628,7 +5630,7 @@
   \endgroup
 }
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}-A.tex}
+\attachfile[description={demo \the\value{section}-A}]{etocsnippet-\the\value{section}-A.tex}
 And now, the variant with macros rather than boxes (this variant as it
 stands here is for using within a section).
 \begin{filecontentshere}{etocsnippet-\the\value{section}-B.tex}
@@ -5660,7 +5662,7 @@
 }
 \makeatother
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}-B.tex}
+\attachfile[description={demo \the\value{section}-B}]{etocsnippet-\the\value{section}-B.tex}
 
 \section{Using depth tags}
 \label{ssec:tocwithdepthtags}
@@ -5755,7 +5757,7 @@
 \filecontentsexec\foo
 
 \filecontentsprint\foo
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 \section{Typesetting the TOC as a table (the old way)}
 \label{ssec:tocastableold}
@@ -5847,7 +5849,7 @@
 \the\toctabletok
 \endgroup
 \end{filecontentshere}
-\attachfile{etocsnippet-\the\value{section}.tex}
+\attachfile[description={demo \the\value{section}}]{etocsnippet-\the\value{section}.tex}
 
 \clearpage
 \etocdepthtag.toc {etocandworld}
@@ -5974,10 +5976,10 @@
   having been loaded with the |titles| option.
 \end{framed}
 
-It is possible to customize (using package |tocloft| for
-example) throughout the document the macros \csa{l at section},
-\csa{l at subsection} ... and the effect will be seen in the next
-table of contents typeset by \etoc in compatibility mode.
+It is possible to modify midway in the document the macros \csa{l at section},
+\csa{l at subsection} ... but the effect will be seen only in table of contents
+typeset by \etoc in compatibility mode (and of course after those
+customizations).  It will have no effect on true \etoc TOCs.
 
 \subsection{Compatibility with the \texttt{memoir} class}
 \label{ssec:memoir}
@@ -6044,8 +6046,8 @@
 
   \etoc used to be incompatible with package
   |tocvsec2|\footnote{\url{http://ctan.org/pkg/tocvsec2}}; it now cohabits, sort
-  of, as it deactivates |tocvsec2|'s modification of |\tableofcontents| (done in
-  the style above) and also cancels its other |toc|-related macros, but
+  of, as it deactivates |tocvsec2|'s modification of |\tableofcontents|
+  and also cancels its other |toc|-related macros, but
   reimplements partially their functionality with \csb{etocsettocdepth.toc}. By
   the way, at least two latex runs are necessary for new uses of this command in
   a document to have an effect in tables of contents.
@@ -6091,8 +6093,9 @@
 
 When a \localtoc is inserted by the user in the document, a
 line containing an \etoc inner command and an identification
-number is added to the |.toc| file. The correct local table of
-contents will be displayed only on the next |latex| run.
+number is added to the |.toc| file on first subsequent compilation.
+The correct local table of
+contents will be displayed only on the second compilation.
 
 
 \section{Errors and catastrophes}
@@ -6104,12 +6107,12 @@
   contents are mutually compatible: in particular the \etoc
   default line styles expect each to be started in ``vertical mode''.
 
-  When using multiple \toc commands in a document, one should beware from adding
-  typesetting instructions directly in the |.toc| file, as they will be executed
-  by \etoc for all TOCs: even for a \localtoc it doesn't matter if that
-  instruction seems to concern material outside of its scope, it will get
-  executed nevertheless. If absolutely necessary (but this should never be)
-  these instructions should be done in such a way that they can be activated or
+  When using multiple \toc commands in a document, one should beware from
+  adding typesetting instructions directly in the |.toc| file, as they will be
+  executed by \etoc for all TOCs: even for a \localtoc it doesn't matter if
+  that instruction seems to concern material outside of its scope, it will get
+  executed nevertheless. If absolutely necessary extra commands in the |.toc|
+  file should be configured in such a way that they can be activated or
   deactivated easily from the document source, as need be.
 
   As is usual with toc and labels, after each change, one has
@@ -6196,8 +6199,13 @@
 \def {\ifvmode\advance\jfverbadim.5em\relax\else\expandafter\jfverbaspace\fi}}\x
 \makeatother
 \begin{jfverbatim}
-1.09f [2022/08/30]^
+1.09g [2022/11/17]^
 
+   Compatibility hotfix with recent hyperref 7.00u of 2022-11-13.
+   Thanks to Denis Bitouzé for signaling the breakage to the author.
+
+~1.09f [2022/08/30]^
+
    No more shipping of a German translation of the documentation,
    as it was last updated in April 2015.
 
@@ -6690,7 +6698,6 @@
 % transférés depuis xint.dtx.  Il est doublement obsolète car je rajoute un
 % paragraphe de texte de toute façon avant le premier macrocode.
 % \indent % !!!!!!!!!!!!!!!!! Lundi 09 mars 2015 à 09:32:22
-% PUTAIN DE BORDEL DE MERDE AVEC CES \trivlist
 % il faut faire un paragraphe après \section sinon pas d'espacement
 % vertical en sortie de blocs macrocode. Pas évident à trouver, vu que
 % je customisais différentes choses qui pouvaient affecter macrocode.
@@ -6973,27 +6980,6 @@
 % date, name, or version. So I extracted this from the real macrocode
 % environment (leaving out the \init at crossref.)
 
-\makeatletter
-\begingroup
-\topsep\MacrocodeTopsep
-\trivlist\parskip\z@\item[]
-\macro at font
-\leftskip\@totalleftmargin  \advance\leftskip\MacroIndent
-\rightskip\z@  \parindent\z@  \parfillskip\@flushglue
-\global\@newlistfalse \global\@minipagefalse
-\ifcodeline at index
-  \everypar{\global\advance\c at CodelineNo\@ne
-  \llap{\theCodelineNo\ \hskip\@totalleftmargin}}%
-\fi
-\string\NeedsTeXFormat\string{LaTeX2e\string}\par
-\string\ProvidesPackage\string{etoc\string}\par
-\noindent\space [\etocpkgdate\space v\etocpkgversion\space\etocpkgdescription]\par
-\nointerlineskip
-\global\@inlabelfalse
-\endtrivlist
-\endgroup
-\makeatother
-
 % The catcode hackery next is to avoid to have <*package> to be listed
 % in the commented source code...
 % (c) 2012/11/19 jf burnol ;-)
@@ -7008,6 +6994,9 @@
 %</none>
 %<*package>
 %    \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{etoc}
+[2022/11/17 v1.09g Completely customisable TOCs (JFB)]
 \RequirePackage{multicol}
 \DeclareOption*{\PackageWarning{etoc}{Option `\CurrentOption' is unknown.}}
 \ProcessOptions\relax
@@ -7180,14 +7169,67 @@
 %^^A Side note to myself: I see there is now a |\@gobblethree| in latex.ltx and
 %^^A I wonder since when. No time to lose on checking that.
 %^^A Answer: 2020-02-27 ltdefns.dtx 1.5g |\@gobblethree|: Macro added
+%
+% |1.09g| adapts to |hyperref| depending on
+% whether the latter is at |7.00u| or earlier.  Indeed internal changes to
+% |hyperref| at |7.00u| broke \etoc.  Thanks to Denis~\textsc{Bitouzé} for
+% reporting the issue.
 %    \begin{macrocode}
 \AtBeginDocument{%
 \@ifpackageloaded{parskip}{\Etoc at parskiptrue}{}%
-\@ifpackageloaded{hyperref}{\Etoc at hyperreftrue
-                            \def\Etoc at et@hop#1#2#3#4#5{#2{#3}{#4}{#5}#1}%
-                            \let\Etoc at gobblefourorthree\@gobblefour}
-                           {\def\Etoc at et@hop#1#2#3#4{#2{#3}{#4}#1}%
-                            \long\def\Etoc at gobblefourorthree#1#2#3{}}%
+\@ifpackageloaded{hyperref}{%
+    \Etoc at hyperreftrue
+    \@ifpackagelater{hyperref}{2022/11/13}%
+    {%
+      \def\Etoc at getthepage {%
+        \ifx\Hy at toclinkstart\Etoc at getthepage@token
+          \expandafter\expandafter\expandafter\Etoc at getthepage@hyp
+        \else
+          \expandafter\Etoc at getthepage@nohyp
+        \fi}%
+      \def\Etoc at getnb@a {%
+       \ifx\Hy at toclinkstart\Etoc at getnb@token
+        \expandafter\expandafter\expandafter\Etoc at getnb@hyp
+       \else
+        \expandafter\Etoc at getnb@nohyp
+       \fi}%
+      \def\Etoc at getit {%
+       \ifx\Hy at toclinkstart\Etoc at getit@token
+        \expandafter\expandafter\expandafter\Etoc at getit@hyp
+       \else
+        \expandafter\Etoc at getit@nohyp
+       \fi}%
+     }%
+     {%
+      \def\Etoc at getthepage {%
+        \ifx\hyper at linkstart\Etoc at getthepage@token
+          \expandafter\Etoc at getthepage@hyp
+        \else
+          \expandafter\Etoc at getthepage@nohyp
+        \fi}%
+      \def\Etoc at getnb@a {%
+       \ifx\hyper at linkstart\Etoc at getnb@token
+        \expandafter\Etoc at getnb@hyp
+       \else
+        \expandafter\Etoc at getnb@nohyp
+       \fi}%
+      \def\Etoc at getit {%
+       \ifx\hyper at linkstart\Etoc at getit@token
+        \expandafter\Etoc at getit@hyp
+       \else
+        \expandafter\Etoc at getit@nohyp
+       \fi}%
+     }%
+     \def\Etoc at et@hop#1#2#3#4#5{#2{#3}{#4}{#5}#1}%
+     \let\Etoc at gobblefourorthree\@gobblefour
+   }%
+   {%
+    \let\Etoc at getthepage\Etoc at getthepage@nohyp
+    \let\Etoc at getnb@a\Etoc at getnb@nohyp
+    \let\Etoc at getit  \Etoc at getit@nohyp
+    \def\Etoc at et@hop#1#2#3#4{#2{#3}{#4}#1}%
+    \long\def\Etoc at gobblefourorthree#1#2#3{}%
+   }%
 \@ifl at t@r\fmtversion{2021/11/15}%
    {%
     \def\Etoc at et@hop#1#2#3#4#5{#2{#3}{#4}{#5}#1}%
@@ -7629,16 +7671,16 @@
 % |1.08j| fixes an old |\ifx #1\hyperlink at start| bug.
 %
 % Potential (but rather exotic) brace removal problems avoided at |1.08n|.
+%
+% |1.09g| delays definition of \cs{Etoc at getthepage} to \cs{AtBeginDocument} to
+% check if |hyperref| is at version |7.00u 2022-11-13| or later, as that
+% version replaced \cs{hyper at linkstart} with \cs{protected} macro
+% \cs{Hy at toclinkstart} which furthermore requires one more expansion step.
+% Formerly, the \cs{ifEtoc at hyperref} test was executed via the expansion of
+% \cs{Etoc at getthepage} but now this test is tacitly done only once at begin
+% document to define appropriately \cs{Etoc at getthepage}.  Falls back to
+% \cs{Etoc at getthepage@nohyp}.
 %    \begin{macrocode}
-\def\Etoc at getthepage {%
-    \if1\ifEtoc at hyperref
-        \ifx\hyper at linkstart\Etoc at getthepage@token1\else0\fi
-        \else0\fi
-       \expandafter\Etoc at getthepage@hyp
-    \else
-       \expandafter\Etoc at getthepage@nohyp
-    \fi
-}
 \def\Etoc at getthepage@nohyp #1\etoc@ {%
     \Etoc at global\def\etocthepage       {#1}%
     \Etoc at global\def\etocthelinkedpage {#1}%
@@ -7706,17 +7748,16 @@
     \Etoc at bracednametrue
     \futurelet\Etoc at getnb@token\Etoc at getnb
 }
+%    \end{macrocode}
+% |1.09g| adds an \cs{Etoc at getnb@a} which defaults to \cs{Etoc at getnb@nohyp}
+% and gets defined only at begin document to adapt to |hyperref| depending on
+% whether the latter is at |7.00u| or earlier.
+%    \begin{macrocode}
 \def\Etoc at getnb {%
     \ifx\Etoc at getnb@token\bgroup
        \expandafter\Etoc at getnb@nohyp at nonbr
     \else
-       \if1\ifEtoc at hyperref
-            \ifx\hyper at linkstart\Etoc at getnb@token1\else0\fi
-           \else0\fi
-        \expandafter\expandafter\expandafter\Etoc at getnb@hyp
-       \else
-        \expandafter\expandafter\expandafter\Etoc at getnb@nohyp
-       \fi
+       \expandafter\Etoc at getnb@a
     \fi
 }
 %    \end{macrocode}
@@ -7918,15 +7959,10 @@
     \fi
 }
 \def\Etoc at getit@nameisbraced {\futurelet\Etoc at getit@token\Etoc at getit }
-\def\Etoc at getit {%
-    \if1\ifEtoc at hyperref
-        \ifx\hyper at linkstart\Etoc at getit@token1\else0\fi
-        \else0\fi
-       \expandafter\Etoc at getit@hyp
-    \else
-       \expandafter\Etoc at getit@nohyp
-    \fi
-}
+%    \end{macrocode}
+% |1.09g| delays defining \cs{Etoc at getit} to at begin document to adapt to
+% |hyperref| depending on whether the latter is at |7.00u| or earlier.
+%    \begin{macrocode}
 \def\Etoc at getit@nohyp #1\hspace#2#3\etoc@ {%
     \ifx\relax#2%
     \else
@@ -8703,7 +8739,11 @@
      \csname Etoc at end@\csname Etoc@#1@\endcsname\endcsname      {#5}%
 }
 %    \end{macrocode}
-% placeholder for comments
+% Since the |1.09f 2022/08/30| release, some syntax highlighting is
+% done ; but for some reason the \cs{etocfontone} below is colorized
+% not like others.  For |1.09g 2022/11/17| hotfix release due to
+% breaking change in |hyperref 7.00u 2022-11-13| I simply do not have time to
+% investigate the matter... will be for next time.  If there is one!
 %    \begin{macrocode}
 \def\etocfontminustwo {\normalfont \LARGE \bfseries}
 \def\etocfontminusone {\normalfont \large \bfseries}

Modified: trunk/Master/texmf-dist/tex/latex/etoc/etoc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/etoc/etoc.sty	2022-11-18 21:02:19 UTC (rev 65047)
+++ trunk/Master/texmf-dist/tex/latex/etoc/etoc.sty	2022-11-18 21:02:44 UTC (rev 65048)
@@ -21,15 +21,14 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{etoc}
- [2022/08/30 v1.09f Completely customisable TOCs (JFB)]
-%%
 %% Package: etoc
-%% Version: 1.09f
+%% Version: 1.09g (DEVELOPMENT)
 %% License: LPPL 1.3c
 %% Copyright (C) 2012-2022 Jean-Francois Burnol
 %%                         <jfbu at free dot fr>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{etoc}
+[2022/11/17 v1.09g Completely customisable TOCs (JFB)]
 \RequirePackage{multicol}
 \DeclareOption*{\PackageWarning{etoc}{Option `\CurrentOption' is unknown.}}
 \ProcessOptions\relax
@@ -153,11 +152,59 @@
 \etocsetlevel{subparagraph}{5}
 \AtBeginDocument{%
 \@ifpackageloaded{parskip}{\Etoc at parskiptrue}{}%
-\@ifpackageloaded{hyperref}{\Etoc at hyperreftrue
-                            \def\Etoc at et@hop#1#2#3#4#5{#2{#3}{#4}{#5}#1}%
-                            \let\Etoc at gobblefourorthree\@gobblefour}
-                           {\def\Etoc at et@hop#1#2#3#4{#2{#3}{#4}#1}%
-                            \long\def\Etoc at gobblefourorthree#1#2#3{}}%
+\@ifpackageloaded{hyperref}{%
+    \Etoc at hyperreftrue
+    \@ifpackagelater{hyperref}{2022/11/13}%
+    {%
+      \def\Etoc at getthepage {%
+        \ifx\Hy at toclinkstart\Etoc at getthepage@token
+          \expandafter\expandafter\expandafter\Etoc at getthepage@hyp
+        \else
+          \expandafter\Etoc at getthepage@nohyp
+        \fi}%
+      \def\Etoc at getnb@a {%
+       \ifx\Hy at toclinkstart\Etoc at getnb@token
+        \expandafter\expandafter\expandafter\Etoc at getnb@hyp
+       \else
+        \expandafter\Etoc at getnb@nohyp
+       \fi}%
+      \def\Etoc at getit {%
+       \ifx\Hy at toclinkstart\Etoc at getit@token
+        \expandafter\expandafter\expandafter\Etoc at getit@hyp
+       \else
+        \expandafter\Etoc at getit@nohyp
+       \fi}%
+     }%
+     {%
+      \def\Etoc at getthepage {%
+        \ifx\hyper at linkstart\Etoc at getthepage@token
+          \expandafter\Etoc at getthepage@hyp
+        \else
+          \expandafter\Etoc at getthepage@nohyp
+        \fi}%
+      \def\Etoc at getnb@a {%
+       \ifx\hyper at linkstart\Etoc at getnb@token
+        \expandafter\Etoc at getnb@hyp
+       \else
+        \expandafter\Etoc at getnb@nohyp
+       \fi}%
+      \def\Etoc at getit {%
+       \ifx\hyper at linkstart\Etoc at getit@token
+        \expandafter\Etoc at getit@hyp
+       \else
+        \expandafter\Etoc at getit@nohyp
+       \fi}%
+     }%
+     \def\Etoc at et@hop#1#2#3#4#5{#2{#3}{#4}{#5}#1}%
+     \let\Etoc at gobblefourorthree\@gobblefour
+   }%
+   {%
+    \let\Etoc at getthepage\Etoc at getthepage@nohyp
+    \let\Etoc at getnb@a\Etoc at getnb@nohyp
+    \let\Etoc at getit  \Etoc at getit@nohyp
+    \def\Etoc at et@hop#1#2#3#4{#2{#3}{#4}#1}%
+    \long\def\Etoc at gobblefourorthree#1#2#3{}%
+   }%
 \@ifl at t@r\fmtversion{2021/11/15}%
    {%
     \def\Etoc at et@hop#1#2#3#4#5{#2{#3}{#4}{#5}#1}%
@@ -357,15 +404,6 @@
     \Etoc at global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber
     \Etoc at global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage
     }
-\def\Etoc at getthepage {%
-    \if1\ifEtoc at hyperref
-        \ifx\hyper at linkstart\Etoc at getthepage@token1\else0\fi
-        \else0\fi
-       \expandafter\Etoc at getthepage@hyp
-    \else
-       \expandafter\Etoc at getthepage@nohyp
-    \fi
-}
 \def\Etoc at getthepage@nohyp #1\etoc@ {%
     \Etoc at global\def\etocthepage       {#1}%
     \Etoc at global\def\etocthelinkedpage {#1}%
@@ -402,13 +440,7 @@
     \ifx\Etoc at getnb@token\bgroup
        \expandafter\Etoc at getnb@nohyp at nonbr
     \else
-       \if1\ifEtoc at hyperref
-            \ifx\hyper at linkstart\Etoc at getnb@token1\else0\fi
-           \else0\fi
-        \expandafter\expandafter\expandafter\Etoc at getnb@hyp
-       \else
-        \expandafter\expandafter\expandafter\Etoc at getnb@nohyp
-       \fi
+       \expandafter\Etoc at getnb@a
     \fi
 }
 \def\Etoc at getnb@nohyp #1{%
@@ -522,15 +554,6 @@
     \fi
 }
 \def\Etoc at getit@nameisbraced {\futurelet\Etoc at getit@token\Etoc at getit }
-\def\Etoc at getit {%
-    \if1\ifEtoc at hyperref
-        \ifx\hyper at linkstart\Etoc at getit@token1\else0\fi
-        \else0\fi
-       \expandafter\Etoc at getit@hyp
-    \else
-       \expandafter\Etoc at getit@nohyp
-    \fi
-}
 \def\Etoc at getit@nohyp #1\hspace#2#3\etoc@ {%
     \ifx\relax#2%
     \else



More information about the tex-live-commits mailing list.