summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/etoc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-01-16 03:03:27 +0000
committerNorbert Preining <norbert@preining.info>2023-01-16 03:03:27 +0000
commit6f9e1680085e7bb4d258f6f8116369d122e196e1 (patch)
tree9ac0ecb239240d1d672b188f29c1479de215074b /macros/latex/contrib/etoc
parentb8345f39630408bb198e7636381ce4240154ca9b (diff)
CTAN sync 202301160303
Diffstat (limited to 'macros/latex/contrib/etoc')
-rw-r--r--macros/latex/contrib/etoc/README.md11
-rw-r--r--macros/latex/contrib/etoc/etoc.dtx93
-rw-r--r--macros/latex/contrib/etoc/etoc.pdfbin850065 -> 851744 bytes
3 files changed, 71 insertions, 33 deletions
diff --git a/macros/latex/contrib/etoc/README.md b/macros/latex/contrib/etoc/README.md
index e431588369..d0d1f1ea32 100644
--- a/macros/latex/contrib/etoc/README.md
+++ b/macros/latex/contrib/etoc/README.md
@@ -1,6 +1,6 @@
<!-- -->
- Source: etoc.dtx (1.1a)
+ Source: etoc.dtx (1.1b)
Author: Jean-Francois Burnol
Info: Completely customisable TOCs
License: LPPL 1.3c
@@ -97,8 +97,15 @@ etoc.sty, etoc.tex, etoc.pdf, etoc.dvi.
RECENT CHANGES
==============
+1.1b \[2023/01/15\]
+-------------------
+
+Documentation fix, 1.1a forgot to mention the following change:
+`\etocthelinkedname`, `\etocthelinkednumber`, `\etocthelinkedpage`
+are now always hyperlinks independently of linktoc status.
+
1.1a \[2023/01/14\]
-----------------------
+-------------------
This version brings no new functionality, despite the number bump.
It implements a complete rewrite of old legacy core internals.
diff --git a/macros/latex/contrib/etoc/etoc.dtx b/macros/latex/contrib/etoc/etoc.dtx
index 89e7b3a109..9512121efb 100644
--- a/macros/latex/contrib/etoc/etoc.dtx
+++ b/macros/latex/contrib/etoc/etoc.dtx
@@ -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: <14-01-2023 at 21:26:57 CET>}%
+\def\etocdtxtimestamp {Time-stamp: <15-01-2023 at 11:56:19 CET>}%
%</none>
%<*!readme>
%%
%% Package: etoc
-%% Version: 1.1a
+%% Version: 1.1b
%% License: LPPL 1.3c
%% Copyright (C) 2012-2023 Jean-Francois Burnol
%% <jfbu at free dot fr>
%</!readme>
%<*none>
-\def\etocpkgdate {2023/01/14}
-\def\etocdocdate {2023/01/14}
-\def\etocpkgversion {1.1a}
+\def\etocpkgdate {2023/01/15}
+\def\etocdocdate {2023/01/15}
+\def\etocpkgversion {1.1b}
\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.1a
+% Version: 1.1b
% License: LPPL 1.3c
% Copyright (C) 2012-2023 Jean-Francois Burnol <jfbu at free dot fr>
%
@@ -60,7 +60,7 @@
%<*readme>
<!-- -->
- Source: etoc.dtx (1.1a)
+ Source: etoc.dtx (1.1b)
Author: Jean-Francois Burnol
Info: Completely customisable TOCs
License: LPPL 1.3c
@@ -157,8 +157,15 @@ etoc.sty, etoc.tex, etoc.pdf, etoc.dvi.
RECENT CHANGES
==============
+1.1b \[2023/01/15\]
+-------------------
+
+Documentation fix, 1.1a forgot to mention the following change:
+`\etocthelinkedname`, `\etocthelinkednumber`, `\etocthelinkedpage`
+are now always hyperlinks independently of linktoc status.
+
1.1a \[2023/01/14\]
-----------------------
+-------------------
This version brings no new functionality, despite the number bump.
It implements a complete rewrite of old legacy core internals.
@@ -3668,7 +3675,9 @@ hyperlinks. No such problem arises either when using |forest| or the native
|tikz| syntax for trees (which will be illustrated in the next section).} The
commands \csb{etocname}, etc\dots, are robust, it is easier to work with
\csb{etocthelinkednumber}, \csb{etocthelinkedname}, and \csb{etocthelinkedpage}
-which contain the same information in an easier accessible form.
+which contain the same information in an easier accessible form.%
+%
+\normalmarginpar\marginpar{\footnotesize\rmfamily\itshape\RaggedRight At \texttt{1.1a} the commands \csa{etocthelinkedname}, etc\dots, are always providing an hyperlink, so it is not true that \csb{etocname}, etc\dots, are always simply their robust variants.}
For this |forest| tree we have designed very special \etoc styles for sections
and subsections. They use a token list register called |\treetok| and a
@@ -4659,21 +4668,31 @@ The meanings of these commands
can be stored for delayed usage. For example this is
done in the \hyperref[tocastree]{examples with trees}.
-Notice though the following facts:
+There has been a \textbf{breaking change} at |1.1a|. Here is the behavior
+\emph{prior} to this release:
\begin{itemize}[noitemsep]
-\item \csb{etocthelinkednumber} and \csb{etocthelinkedname} are hyperlinks
+\item \csb{etocthelinkedname} and \csb{etocthelinkednumber} were hyperlinks
only if \ctanpkg{hyperref} was configured via |linktoc=all| or
|linktoc=section| (the default),
-\item \csb{etocthelinkedpage} is an hyperlink only if \ctanpkg{hyperref} was
- configured via |linktoc=all| or |linktoc=page|. \emph{Furthermore}, the
- page number must not be empty: if it is empty no hyperlink is added (this
- matches the \ctanpkg{hyperref} behavior when \etoc is not loaded).
+\item \csb{etocthelinkedpage} was an hyperlink only if \ctanpkg{hyperref} was
+ configured via |linktoc=all| or |linktoc=page| and the page number was not empty.
\end{itemize}
+This behavior was coherent with the commands \csb{etocname}, \csb{etocnumber},
+and \csb{etocpage} being the robust variants of \csb{etocthelinkedname},
+\csb{etocthelinkednumber}, and \csb{etocthelinkedpage}.
-It may be a bit strange that the link is not sytematically added despite the
-command names, but this is legacy behavior of the package. It is coherent
-with the commands \csb{etocname}, \csb{etocnumber}, and \csb{etocpage} being
-their robust variants.
+At |1.1a| it was decided that the commands should match their denominations.%
+%
+\footnote{To tell the whole truth, the author in refactoring the code completely at \texttt{1.1a} was tricked by the names and forgot to read the old documentation so the new behavior was implemented and it was decided to keep the change.}
+%
+So they are now \emph{always} hyperlinks independently of |linktoc| \ctanpkg{hyperref}
+option (\csb{etocthelinkedpage} has no hyperlink if the page number is empty,
+to match \ctanpkg{hyperref} behavior):
+\begin{itemize}[noitemsep]
+\item \csb{etocthelinkedname} and \csb{etocthelinkednumber} and
+ \csb{etocthelinkedpage} are always (in presence of \ctanpkg{hyperref})
+ hyperlinks (for \csb{etocthelinkedpage} the page number must not be empty).
+\end{itemize}
A further command is provided: \csb{etocthelink}, which wraps%
@@ -4684,11 +4703,6 @@ an hyperlink around its argument: |\etocthelink|\marg{foo} hyperlinks an
arbitrary text \meta{foo} to the target sectioning unit in the document.
The command \csb{etoclink} is its robust variant.
-Thus, \csb{etocthelinkednumber} is essentially
-\csb{etocthelink}|{|\csb{etocthenumber}|}| if |linktoc| is |all| or the
-default |section|, else it is an alias to \csb{etocthenumber}. Similarly for
-the other two.
-
% They too
% contain the hyperlink destination in already expanded form since |1.08a| for
% the first three, since |1.08j| for \csb{etoclink}.
@@ -6510,11 +6524,9 @@ number.
On the other hand \csb{etocthename}, \csb{etocthenumber}, \csb{etocthepage}
are \emph{not} protected against expansion. And neither are
\csb{etocthelinkedname}, \csb{etocthelinkednumber}, \csb{etocthelinkedpage}.
-The latter three are hyperlinks only if \ctanpkg{hyperref} |linktoc| option
-has the suitable value: |section| (which is default) or |all| for name and
-number to be hyperlinks, |page| or |all| for the page number (which must not
-be empty). The commands \csb{etocname}, \csb{etocnumber}, and \csb{etocpage}
-are their robust variants.
+They were modified at |1.1a| and now are always hyperlinks (except for the
+latter if the page number is empty), if
+\ctanpkg{hyperref} is present, independently of |linktoc| status.
The commands \csb{etoclink} and \csb{etocifnumbered} are also
protected against premature expansion. Also \csb{etociffirst} and
@@ -6677,7 +6689,13 @@ version is \texttt{\etocpkgversion}, of \texttt{\etocpkgdate}.
\def {\ifvmode\advance\jfverbadim.5em\relax\else\expandafter\jfverbaspace\fi}}\x
\makeatother
\begin{jfverbatim}
-1.1a [2023/01/14]^
+1.1b [2023/01/15]^
+
+ Documentation fix, 1.1a forgot to mention the following change:
+ \etocthelinkedname, \etocthelinkednumber, \etocthelinkedpage
+ are now always hyperlinks independently of linktoc status.
+
+~1.1a [2023/01/14]^
This version brings no new functionality, despite the number bump.
It implements a complete rewrite of old legacy core internals.
@@ -7670,7 +7688,7 @@ of real structure in a \LaTeX{} document body).
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\ProvidesPackage{etoc}
-[2023/01/14 v1.1a Completely customisable TOCs (JFB)]
+[2023/01/15 v1.1b Completely customisable TOCs (JFB)]
\RequirePackage{multicol}
\DeclareOption*{\PackageWarning{etoc}{Option `\CurrentOption' is unknown.}}
\ProcessOptions\relax
@@ -8071,6 +8089,19 @@ of real structure in a \LaTeX{} document body).
% target from
% the \ctanpkg{hyperref} hacked arguments of \csa{l@section} et al, rather
% than picking it from the fourth argument of \csa{contentsline}.
+%
+% Another \textbf{breaking change} (documented only at |1.1b|): all three
+% of \csbc{etocthelinkedname}, \csbc{etocthelinkednumber}, and
+% \csbc{etocthelinkedpage} are always hyperlinks (for the latter, only if
+% page number is not empty to match \ctanpkg{hyperref} ways).
+% Formerly they obeyed the |linktoc| status,
+% somewhat counterintuitively, but this meant that \csbc{etocname} etc...
+% were their robust variants, which meant one could store easily for later
+% usage (see the documentation examples with ``treetoks'') their precise
+% meaning. The breaking change happened in part because I was fooled myself
+% by the macro names, and refactored the code in two steps separated by months
+% so in second step I forgot I had only provisory code. And I decided finally
+% to keep the breaking change.
% \begin{macrocode}
\def\Etoc@lxyz #1#2#3{%
\ifEtoc@hyperref
diff --git a/macros/latex/contrib/etoc/etoc.pdf b/macros/latex/contrib/etoc/etoc.pdf
index 545546bd53..e6bca78501 100644
--- a/macros/latex/contrib/etoc/etoc.pdf
+++ b/macros/latex/contrib/etoc/etoc.pdf
Binary files differ