summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/etoc/etoc.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/etoc/etoc.dtx')
-rw-r--r--macros/latex/contrib/etoc/etoc.dtx84
1 files changed, 68 insertions, 16 deletions
diff --git a/macros/latex/contrib/etoc/etoc.dtx b/macros/latex/contrib/etoc/etoc.dtx
index 9a0fc5716a..ed175a0bab 100644
--- a/macros/latex/contrib/etoc/etoc.dtx
+++ b/macros/latex/contrib/etoc/etoc.dtx
@@ -2,12 +2,12 @@
% 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: <13-07-2021 at 10:15:28 CEST>}%
+\def\etocdtxtimestamp {Time-stamp: <23-09-2021 at 19:28:24 CEST>}%
%</none>
%<*!readme>
%%
%% Package: etoc
-%% Version: 1.09d
+%% Version: 1.09e
%% License: LPPL 1.3c
%% Copyright (C) 2012-2021 Jean-Francois Burnol
%% <jfbu at free dot fr>
@@ -16,12 +16,12 @@
%% (translation into German of the documentation)
%</!readme>
%<*none>
-\def\etocpkgdate {2021/07/13}
-\def\etocdocdate {2021/07/13}
-\def\etocpkgversion {v1.09d}
+\def\etocpkgdate {2021/09/23}
+\def\etocdocdate {2021/09/23}
+\def\etocpkgversion {v1.09e}
\def\etocpkgdescription {Completely customisable TOCs (JFB)}
-\def\etocDEpkgdate {13.07.2021}% METTRE À JOUR À CHAQUE BUMP!
-\def\etocDEdocdate {13.07.2021}
+\def\etocDEpkgdate {23.09.2021}% METTRE À JOUR À CHAQUE BUMP!
+\def\etocDEdocdate {23.09.2021}
\def\etocDEDEdocdate {09.04.2015}%
\def\etocDEDEpkgversion {v1.08d}%
% Definition of \etocLicense
@@ -32,7 +32,7 @@
\catcode32=13\catcode`\\=12^^Brelax^^A
^^Bfirstofone{^^Bendgroup^^Bdef^^BetocLicense^^A
{% Package: etoc
-% Version: 1.09d
+% Version: 1.09e
% License: LPPL 1.3c
% Copyright (C) 2012-2021 Jean-Francois Burnol <jfbu at free dot fr>
% Copyright (C) 2014-2015 Christine Roemer and collaborators
@@ -67,7 +67,7 @@
%<*readme>
<!-- -->
- Source: etoc.dtx (v1.09d)
+ Source: etoc.dtx (v1.09e)
Author: Jean-Francois Burnol
Author: Christine Roemer et al. (German tranlation)
Info: Completely customisable TOCs
@@ -174,8 +174,17 @@ etoc.pdf, etoc-DE.pdf, etoc.dvi, etoc-DE.dvi.
RECENT CHANGES
==============
+v1.09e \[2021/09/23\]
+---------------------
+
+Needed (if etoc is used without hyperref) updates to
+internal macros to prepare for the upcoming LaTeX November
+2021 change to `\contentsline`.
+
+Related updates to the user macro `\etoctoccontentsline`.
+
v1.09d \[2021/07/13\]
--------------------------
+---------------------
Some minor synching with tableof 1.4c.
@@ -10631,7 +10640,15 @@ Dokumentation erzeugt von der Quelldatei mit dem Stempel
\begin{multicols}{2}
\begin{jfverbatim}
-v1.09d [2021/07/13]^
+v1.09e [2021/09/23]^
+
+ Needed (if etoc is used without hyperref) updates to
+ internal macros to prepare for the upcoming LaTeX November
+ 2021 change to \contentsline.
+
+ Related updates to the user macro \etoctoccontentsline.
+
+~v1.09d [2021/07/13]^
Some minor synching with tableof 1.4c.
@@ -11363,6 +11380,13 @@ v1.09d [2021/07/13]^
% |\Etoc@etoccontentsline|.
%
% |1.08i| as a |fourorthree| rather than as formerly a |sixorfive|.
+%
+% \LaTeX\ of November 2021 will have its |\contentsline| always grab four
+% arguments. So we must adjust |\Etoc@et@hop| et al., else usage of \etoc
+% without hyperref will be broken. Done at |1.09e 2021/09/23|.
+%
+% Side note to myself: I see there is now a |\@gobblethree| in latex.ltx and
+% I wonder since when. No time to lose on checking that.
% \begin{macrocode}
\AtBeginDocument{%
\@ifpackageloaded{parskip}{\Etoc@parskiptrue}{}%
@@ -11371,6 +11395,10 @@ v1.09d [2021/07/13]^
\long\def\Etoc@gobblefourorthree#1#2#3#4{}}
{\def\Etoc@et@hop#1#2#3#4{#2{#3}{#4}#1}%
\long\def\Etoc@gobblefourorthree#1#2#3{}}%
+\@ifl@t@r\fmtversion{2021/11/15}{%
+ \def\Etoc@et@hop#1#2#3#4#5{#2{#3}{#4}{#5}#1}%
+ \let\Etoc@gobblefourorthree\@gobblefour
+ }{}%
}
% \end{macrocode}
% |2015/03/08| One has to be careful about the |Etoc@end@<level>| user
@@ -11709,7 +11737,15 @@ v1.09d [2021/07/13]^
% opt for global definitions of |\etocname| and the like, thus use
% freely |&| and other group closing things. Also, some care has been
% put into doing only expandable things after expansion of the
-% \meta{prefix} and \meta{contents} parts of a sectioning unit style.
+% \meta{prefix} and \meta{contents} parts of a sectioning unit
+% style.
+%
+% |1.09e| prepares for LaTeX November 2021 upcoming release
+% whose |\contentsline| will always grab four arguments whether or
+% not hyperref is loaded. The |\Etoc@et@hop| definition done at
+% begin document must now swap the same number of arguments
+% whether or not hyperref is loaded (else \etoc would be broken in
+% absence of hyperref).
% \begin{macrocode}
\Etoc@et@hop{\Etoc@prefix\Etoc@contents}{\Etoc@savedcontentsline{#1}}%
}
@@ -13465,16 +13501,32 @@ v1.09d [2021/07/13]^
}%
}
% \end{macrocode}
-% placeholder for comments
+% \LaTeX\ 2021 fall release lets |\contentsline| always grab four arguments,
+% so with |1.09e 2021/09/23| we make sure our |\addtocontents| will always
+% provide |\contentsline| with four arguments. This extra |{}| is done
+% without checking LaTeX's version by laziness, as an impact on documents
+% compiled with former LaTeX could be visible only with very special contexts
+% that only the author himself would ever consider.
+%
+% Let's also add |\protected@file@percent| at |1.09e| although this is a
+% priori of no relevance as \etoc reads the toc file with |\endlinechar=-1|
+% regime.
+%
+% When using |\addcontentsline| nothing needs to be done as both things are
+% handled by \LaTeX\ upstream.
% \begin{macrocode}
\def\Etoc@addtocontents #1#2%
{\ifEtoc@hyperref
\addtocontents {toc}{\protect\contentsline
{#1}{#2}%
- {\thepage }{\@currentHref }}%
+ {\thepage }{\@currentHref }%
+ \ifdefined\protected@file@percent\protected@file@percent\fi
+ }%
\else
\addtocontents {toc}{\protect\contentsline
- {#1}{#2}{\thepage }}%
+ {#1}{#2}{\thepage }{}%
+ \ifdefined\protected@file@percent\protected@file@percent\fi
+ }%
\fi}
\def\Etoc@addcontentsline@ #1#2#3%
{\@namedef{toclevel@#1}{#3}%
@@ -13735,7 +13787,7 @@ v1.09d [2021/07/13]^
Grave accent \` Left brace \{ Vertical bar \|
Right brace \} Tilde \~}
-\CheckSum{3513}%
+\CheckSum{3528}%
\csname check@checksum\endcsname
\Finale