diff options
author | Karl Berry <karl@freefriends.org> | 2015-03-05 23:24:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-03-05 23:24:10 +0000 |
commit | 94c804f3e14cfc7bc3db28eeda8ea83737497a11 (patch) | |
tree | 9a164e019b7d82510570e043c21ec4ae0d798191 /Master/texmf-dist/source/latex/etoc | |
parent | e7fc2a9ed400064a361a84a4ec4c81d6e0ad0ba7 (diff) |
etoc (5mar15)
git-svn-id: svn://tug.org/texlive/trunk@36442 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/etoc')
-rw-r--r-- | Master/texmf-dist/source/latex/etoc/etoc.dtx | 315 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/etoc/etoc.ins | 8 |
2 files changed, 180 insertions, 143 deletions
diff --git a/Master/texmf-dist/source/latex/etoc/etoc.dtx b/Master/texmf-dist/source/latex/etoc/etoc.dtx index 104e468b4fe..67ad7d51c67 100644 --- a/Master/texmf-dist/source/latex/etoc/etoc.dtx +++ b/Master/texmf-dist/source/latex/etoc/etoc.dtx @@ -1,21 +1,21 @@ % -*- coding: utf-8; -*- %<*none> -{\def\doctimestamp {Time-stamp: <23-01-2015 23:01:14 CET>}% +{\def\doctimestamp {Time-stamp: <05-03-2015 12:32:16 CET>}% \def\getdtxtimestamp #1 <#2 #3 #4>{#2 at #3 #4}% \xdef\etocdtxtimestamp {\expandafter\getdtxtimestamp\doctimestamp }}% %</none> %% %% Package: etoc -%% Version: 1.07m (2015/01/23) +%% Version: 1.07n (2015/03/05) %% License: LPPL 1.3c or later (see etoc.dtx) %% Copyright (C) 2012-2015 Jean-Francois Burnol <jfbu at free dot fr> %% Copyright (C) 2014-2015 Christine Roemer <Christine_Roemer at t-online dot de> %% and collaborators for the translation into German of the documentation %% %<*insfile> -\def\etocpkgdate {2015/01/23} -\def\etocdocdate {2015/01/23} -\def\etocpkgversion {v1.07m} +\def\etocpkgdate {2015/03/05} +\def\etocdocdate {2015/03/05} +\def\etocpkgversion {v1.07n} \def\etocpkgdescription {Completely customisable TOCs (jfB)} %</insfile> %<*none> @@ -32,7 +32,7 @@ \catcode32=13\catcode`\\=12^^Brelax^^A ^^Bfirstofone{^^Bendgroup^^Bdef^^BetocLicense^^A {% Package: etoc -% Version: 1.07m (2015/01/23) +% Version: 1.07n (2015/03/05) % License: LPPL 1.3c or later % Copyright (C) 2012-2015 Jean-Francois Burnol <jfbu at free dot fr> % Copyright (C) 2014-2015 Christine Roemer <Christine_Roemer at t-online dot de> @@ -1361,58 +1361,56 @@ The code: \begingroup\raggedcolumns \advance\linewidth18pt \begin{multicols}{3}\parindent0pt\relax -\csb{etocstandardlines}\par -\csb{etocdefaultlines}\par - \csb{etoctoclines}\par - \csb{etocsetstyle}\par -\csb{etocname}\par -\csb{etocpage}\par -\csb{etocskipfirstprefix}\par + \csb{etocaftercontentshook}\par + \csb{etocaftertitlehook}\par + \csb{etocaftertochook}\par + \csb{etocbeforetitlehook}\par + \csb{etocdefaultlines}\par + \csb{etocdepthtag.toc}\par + \csb{etocdisplay}\par + \csb{etocframedstyle}\par + \csb{etocframed}\par + \csb{etocifnumbered}\par + \csb{etocignoredepthtags}\par + \csb{etocignoretoctocdepth}\par + \csb{etocinline}\par + \csb{etoclink}\par + \csb{etoclocalframed}\par + \csb{etoclocalmulticol}\par + \csb{etoclocalruled}\par + \csb{etocmulticolstyle}\par + \csb{etocmulticol}\par + \csb{etocname}\par \csb{etocnumber}\par -\csb{etocifnumbered}\par -\csb{etocthename}\par -\csb{etocthenumber}\par - \csb{etocthepage}\par -\csb{etoclink}\par -\csb{etocthelinkedname}\par - \csb{etocthelinkednumber}\par -\csb{etocthelinkedpage}\par -\csb{etocthelink}\par + \csb{etocobeydepthtags}\par + \csb{etocobeytoctocdepth}\par + \csb{etocpage}\par + \csb{etocruledstyle}\par + \csb{etocruled}\par \csb{etocsetlevel}\par -\csb{etocsettocdepth}\par -\csb{etocsetnexttocdepth}\par + \csb{etocsetnexttocdepth}\par + \csb{etocsetstyle}\par + \csb{etocsettagdepth}\par \csb{etocsettocdepth.toc}\par -\csb{etocobeytoctocdepth}\par - \csb{etocignoretoctocdepth}\par -\csb{etocdepthtag.toc}\par -\csb{etocsettagdepth}\par - \csb{etocobeydepthtags}\par -\csb{etocignoredepthtags}\par + \csb{etocsettocdepth}\par + \csb{etocsettocstyle}\par + \csb{etocskipfirstprefix}\par \csb{etocstandarddisplaystyle}\par -\csb{etocsettocstyle}\par -\csb{etocmulticolstyle}\par - \csb{etocmulticol}\par -\csb{etoclocalmulticol}\par -% \csb{etoctocstyle}\par -% \csb{etoctocstylewithmarks}\par -% \csb{etoctocstylewithmarksnouc}\par - \csb{etocruledstyle}\par -\csb{etocruled}\par -\csb{etoclocalruled}\par - \csb{etocframedstyle}\par -\csb{etocframed}\par -\csb{etoclocalframed}\par -\csb{etocinline}\par - \csb{etocaftertitlehook}\par -\csb{etocaftercontentshook}\par -\csb{etocaftertochook}\par -\csb{etoctoccontentsline}\par + \csb{etocstandardlines}\par + \csb{etocthelinkedname}\par + \csb{etocthelinkednumber}\par + \csb{etocthelinkedpage}\par + \csb{etocthelink}\par + \csb{etocthename}\par + \csb{etocthenumber}\par + \csb{etocthepage}\par + \csb{etoctoccontentsline}\par + \csb{etoctoclines}\par %\vspace{5\baselineskip}\hrule height 0pt \end{multicols} \endgroup - % 15 octobre, je teste les tags \etocdepthtag.toc {arbitrarily} @@ -5525,58 +5523,55 @@ Der Code: \begingroup\raggedcolumns \advance\linewidth18pt \begin{multicols}{3}\parindent0pt\relax -\csb{etocstandardlines}\par -\csb{etocdefaultlines}\par - \csb{etoctoclines}\par - \csb{etocsetstyle}\par -\csb{etocname}\par -\csb{etocpage}\par -\csb{etocskipfirstprefix}\par + \csb{etocaftercontentshook}\par + \csb{etocaftertitlehook}\par + \csb{etocaftertochook}\par + \csb{etocbeforetitlehook}\par + \csb{etocdefaultlines}\par + \csb{etocdepthtag.toc}\par + \csb{etocdisplay}\par + \csb{etocframedstyle}\par + \csb{etocframed}\par + \csb{etocifnumbered}\par + \csb{etocignoredepthtags}\par + \csb{etocignoretoctocdepth}\par + \csb{etocinline}\par + \csb{etoclink}\par + \csb{etoclocalframed}\par + \csb{etoclocalmulticol}\par + \csb{etoclocalruled}\par + \csb{etocmulticolstyle}\par + \csb{etocmulticol}\par + \csb{etocname}\par \csb{etocnumber}\par -\csb{etocifnumbered}\par -\csb{etocthename}\par -\csb{etocthenumber}\par - \csb{etocthepage}\par -\csb{etoclink}\par -\csb{etocthelinkedname}\par - \csb{etocthelinkednumber}\par -\csb{etocthelinkedpage}\par -\csb{etocthelink}\par + \csb{etocobeydepthtags}\par + \csb{etocobeytoctocdepth}\par + \csb{etocpage}\par + \csb{etocruledstyle}\par + \csb{etocruled}\par \csb{etocsetlevel}\par -\csb{etocsettocdepth}\par -\csb{etocsetnexttocdepth}\par + \csb{etocsetnexttocdepth}\par + \csb{etocsetstyle}\par + \csb{etocsettagdepth}\par \csb{etocsettocdepth.toc}\par -\csb{etocobeytoctocdepth}\par - \csb{etocignoretoctocdepth}\par -\csb{etocdepthtag.toc}\par -\csb{etocsettagdepth}\par - \csb{etocobeydepthtags}\par -\csb{etocignoredepthtags}\par + \csb{etocsettocdepth}\par + \csb{etocsettocstyle}\par + \csb{etocskipfirstprefix}\par \csb{etocstandarddisplaystyle}\par -\csb{etocsettocstyle}\par -\csb{etocmulticolstyle}\par - \csb{etocmulticol}\par -\csb{etoclocalmulticol}\par -% \csb{etoctocstyle}\par -% \csb{etoctocstylewithmarks}\par -% \csb{etoctocstylewithmarksnouc}\par - \csb{etocruledstyle}\par -\csb{etocruled}\par -\csb{etoclocalruled}\par - \csb{etocframedstyle}\par -\csb{etocframed}\par -\csb{etoclocalframed}\par -\csb{etocinline}\par - \csb{etocaftertitlehook}\par -\csb{etocaftercontentshook}\par -\csb{etocaftertochook}\par -\csb{etoctoccontentsline}\par + \csb{etocstandardlines}\par + \csb{etocthelinkedname}\par + \csb{etocthelinkednumber}\par + \csb{etocthelinkedpage}\par + \csb{etocthelink}\par + \csb{etocthename}\par + \csb{etocthenumber}\par + \csb{etocthepage}\par + \csb{etoctoccontentsline}\par + \csb{etoctoclines}\par %\vspace{5\baselineskip}\hrule height 0pt \end{multicols} \endgroup - - % 15 octobre, je teste les tags \etocdepthtag.toc {arbitrarily} @@ -9135,7 +9130,16 @@ Paketversion ist \texttt{\etocDEpkgversion} von \texttt{\etocDEpkgdate}. \begin{multicols}{2} \begin{jfverbatim} -v1.07m [2015/05/23]> +v1.07n [2015/03/05]> + + No more use of \toks@ when etoc constructs \etocthelinkedname etc... Thus + \toks@ can be put in the line styles in order to accumulate information. + Only useful if it is certain nothing else will change \toks@ either. + + In the documentation: list of main commands now in alphabetic order. + + +v1.07m [2015/01/23]> Reading of .toc file is delayed to \begin{document} to account for possible Babel active characters used therein. Thanks to Denis @@ -9143,72 +9147,79 @@ v1.07m [2015/05/23]> Improved global toc display emulation under KOMA-script classes. - New hook \etocbeforetitlehook. + New command \etocbeforetitlehook. New command \etocdisplay. + v1.07l [doc of 2014/04/29]> - added to the documentation an example of use of \etocthelinkedname together + Added to the documentation an example of use of \etocthelinkedname together with an enumitem inline itemize* environment; moved main TOC to immediately after the title, and license to the first pages. - incorporation of the translation into German done on the initiative of + Incorporation of the translation into German done on the initiative of +[Christine Römer] by +[Felix Baral-Weber, Jenny Rothkrämer-Vogt, Daniel Büttner, Claudia Dahl, Christian Otto and Christine Römer (FSU Jena).] My grateful thanks to all! + v1.07l [2014/04/22]> - fixes a bug with the 1.07k compatibility layer with tocloft which had broken + Fixes a bug with the 1.07k compatibility layer with tocloft which had broken the 1.07k (sic) compatibility with memoir (yes, memoir class 1.07k testing had been done before adding the tocloft thing to the source code . . . ). Also, etoc when detecting tocvsec2 now checks if this is under the memoir class, as then nothing special needs to be done to rescue \tableofcontents, contrarily to the situation with the native tocvsec2. + v1.07k [2014/03/06]> - compatibility with package tocloft; and improved compatibility with + Compatibility with package tocloft; and improved compatibility with class memoir. Novel TOC example in Overview. + v1.07j [2013/12/03]> - some issues with the documentation formatting (now two-sided) have been + Some issues with the documentation formatting (now two-sided) have been addressed, and a novel documentation section ``Typesetting the TOC as a table'' has been added. Very minor code change (\Etoc@readtoc). + v1.07i [2013/10/21]> - changes to the \etocmulticolstyle and \etocruledstyle codes + Changes to the \etocmulticolstyle and \etocruledstyle codes to lessen the risk of a page break after the title (in the one-column case). + v1.07h [2013/10/16]> - new commands \etocdepthtag.toc, \etocsettagdepth, \etocobeydepthtags, + New commands \etocdepthtag.toc, \etocsettagdepth, \etocobeydepthtags, \etocignoredepthtags. + v1.07g [2013/10/13]> - new commands \etocsettocdepth, \etocsettocdepth.toc, + New commands \etocsettocdepth, \etocsettocdepth.toc, \etocobeytoctocdepth, \etoc~-ignoretoctocdepth which emulate part of tocvsec2 functionality ; measures to make tocvsec2 partially compatible with etoc. - new commands \etocsetnexttocdepth, \invisibletableofcontents, + New commands \etocsetnexttocdepth, \invisibletableofcontents, \invisiblelocaltableofcontents. - switched from tikz-qtree to forest for the first `toc as + Switched from tikz-qtree to forest for the first `toc as tree' example. - command names are linked to their descriptions, and many + Command names are linked to their descriptions, and many other changes in the documentation. - removed printing of temporary message when the local toc + Removed printing of temporary message when the local toc id is not yet stabilized; indeed \localtableofcontents can have many uses, such as filling up some token list register and one may wish to not have anything typeset, even in an intermediate run. - all of tex etoc.dtx, etex etoc.dtx, xetex etoc.dtx, latex + All of tex etoc.dtx, etex etoc.dtx, xetex etoc.dtx, latex etoc.dtx, pdflatex etoc.dtx are now possible, and the extracted file etoc.tex allows easy customization of compilation options for the documentation (default is via @@ -9217,37 +9228,38 @@ v1.07g [2013/10/13]> v1.07f [2013/03/07]> - new macros \etocthelinkedname, \etocthelinkednumber, + New macros \etocthelinkedname, \etocthelinkednumber, \etocthelinkedpage, and \etocthelink. v1.07e [2013/03/01]> - improvements in the package own line styles with + Improvements in the package own line styles with regards to penalties and vertical spaces. - addition to the documentation of an example of + Addition to the documentation of an example of a tree-like table of contents (uses tikz). - more such examples added 2013/03/03. + More such examples added 2013/03/03. + v1.07d [2013/02/24]> - minor code improvements and new documentation + Minor code improvements and new documentation section ``Another compatibility mode''. v1.07b [2013/02/02]> - removal of the \xspace from the macros \etocname, + Removal of the \xspace from the macros \etocname, \etocnumber, \etocpage. - additional examples in the documentation. + Additional examples in the documentation. v1.07 [2013/01/29]> - new commands: + New commands: \etocthename, \etocthenumber, \etocthe~-page, \etoclink, @@ -9255,16 +9267,16 @@ v1.07 [2013/01/29]> \etocnopar, \etocaftercontentshook - modified command: \etocmulticolstyle + Modified command: \etocmulticolstyle - new documentation section ``Surprising uses of etoc'' which + New documentation section ``Surprising uses of etoc'' which explains how to do ``Lists of arbitrary things'', in addition to the tables of contents. v1.06 [2012/12/07]> - the standard macros \l@section etc... are modified only + The standard macros \l@section etc... are modified only during the calls to \tableofcontents; they can thus be customized as will by the user (with the help of a package like tocloft) and this will be taken into account @@ -9276,13 +9288,13 @@ v1.05 [2012/12/01]> \localtableofcontents replaces \tableofcontents~lowast (for compatibility with the memoir class). - compatibility with KOMA-script and memoir document + Compatibility with KOMA-script and memoir document classes. v1.04 [2012/11/24]> - a (possibly local) table of contents can be labeled: + A (possibly local) table of contents can be labeled: \tableofcontents \label{toc:1} @@ -9294,7 +9306,7 @@ v1.04 [2012/11/24]> v1.02 [2012/11/18]> - initial version. + Initial version. \end{jfverbatim} \end{multicols} @@ -9591,7 +9603,18 @@ v1.02 [2012/11/18]> \long\def\Etoc@gobblesixorfive#1#2#3#4#5{}}% } % \end{macrocode} -% placeholder for comments +% Heart of \etoc hack into execution of |.toc| file. It MUST be the case that +% the file contains |\contentsline {<unit>}...| instructions, with the +% standard meaning of executing |\l@unit| (perhaps \etoc should not rely on +% the fact that the |\contentsline| things have their standard meaning). It is +% the various |\l@unit|'s which are (locally) |\let| to |\Etoc@lxyz| and it is +% |\Etoc@lxyz| which does the parsing of the arguments in order to extract +% name, number and page number. Once they are obtained, via the execution of +% this indirectly hacked |\contentsline|, the code executes the |\Etoc@prefix| +% and |\Etoc@contents| corresponding to that unit level, according to the user +% |\etocsetstyle| declarations. Before that the begin part is executed when +% first encountering that level and the end part will be executed when hitting +% a more important level. % \begin{macrocode} \def\Etoc@swa#1{% \Etoc@et@hop @@ -9603,7 +9626,10 @@ v1.02 [2012/11/18]> {\Etoc@contents}} \let\etocskipfirstprefix\@thirdofthree % \end{macrocode} -% placeholder for comments +% The |\Etoc@next| at the end does the "begin" part of the corresponding +% style. The temporary macro |\Etoc@tmp| is used here, it can safely be used +% also in |\Etoc@lxyz| as it is executed only later, during expansion of +% |\contentsline|. % \begin{macrocode} \def\Etoc@etoccontentsline#1{% \global\expandafter\let\expandafter\Etoc@tmp\csname Etoc@#1@@\endcsname @@ -9764,13 +9790,19 @@ v1.02 [2012/11/18]> % |1.07k| corrects a bug here with an extra space before |##1| in % |\@namedef{etoclink } ##1|. In 99.99\% of use cases however, the % macro gets redefined at a later stage, thus the bug did not show. +% +% |1.07n| replaces use of |\toks@| by macro |\Etoc@tmp|. Thus, the user has +% the (not so recommended) possibility to use |\toks@| in the styles, even to +% store information whose scope extends beyond the execution of each +% |\contentsline|. % \begin{macrocode} \def\Etoc@getthepage@hyp #1#2#3#4#5\etoc@ {% \@namedef{etoclink }##1{\leavevmode #1{#2}{#3}{##1}#5}% \edef\etocthelink ##1{\noexpand\hyperlink {#3}{##1}}% \def\etocthepage {#4}% - \toks@ {#4}% - \edef\etocthelinkedpage {\noexpand\hyperlink {#3}{\the\toks@}}% + \edef\Etoc@tmp {{#3}}% + \expandafter\def\expandafter\etocthelinkedpage\expandafter + {\expandafter\hyperlink \Etoc@tmp{#4}}% } % \def\Etoc@getnb #1{% @@ -9811,21 +9843,23 @@ v1.02 [2012/11/18]> \fi } % \end{macrocode} -% placeholder for comments +% |1.07n| replaces use of |\toks@| by macro |\Etoc@tmp|. % \begin{macrocode} \def\Etoc@getnb@hyp #1#2#3#4#5#6\etoc@ {% \def\Etoc@getname ##1\relax\relax\etoc@ {% \@namedef {etocname }{\leavevmode #1{#2}{#3}{##1}#5}% \def\etocthename {##1}% - \toks@ {##1}% - \edef\etocthelinkedname {\noexpand\hyperlink {#3}{\the\toks@}}% + \edef\Etoc@tmp {{#3}}% + \expandafter\def\expandafter\etocthelinkedname\expandafter + {\expandafter\hyperlink \Etoc@tmp{##1}}% }% \def\Etoc@getnbr ##1##2##3\etoc@ {% \ifx ##1\numberline \@namedef {etocnumber }{\leavevmode #1{#2}{#3}{##2}#5}% \def\etocthenumber {##2}% - \toks@ {##2}% - \edef\etocthelinkednumber {\noexpand\hyperlink {#3}{\the\toks@}}% + \edef\Etoc@tmp {{#3}}% + \expandafter\def\expandafter\etocthelinkednumber\expandafter + {\expandafter\hyperlink \Etoc@tmp{##2}}% \Etoc@numbertrue \Etoc@getname ##3\etoc@ \else @@ -9834,8 +9868,9 @@ v1.02 [2012/11/18]> \let\etocthelinkednumber \@empty \Etoc@numberfalse \def\etocthename {#4}% - \toks@ {#4}% - \edef\etocthelinkedname {\noexpand\hyperlink {#3}{\the\toks@}}% + \edef\Etoc@tmp {{#3}}% + \expandafter\def\expandafter\etocthelinkedname\expandafter + {\expandafter\hyperlink \Etoc@tmp{#4}}% \fi }% \@namedef {etoclink }##1{\leavevmode #1{#2}{#3}{##1}#5}% @@ -9860,21 +9895,23 @@ v1.02 [2012/11/18]> \fi } % \end{macrocode} -% placeholder for comments +% |1.07n| replaces use of |\toks@| by macro |\Etoc@tmp|. % \begin{macrocode} \def\Etoc@getit@hyp #1#2#3#4#5#6\etoc@ {% \def\Etoc@getname ##1\hspace\relax\etoc@ {% \@namedef {etocname }{\leavevmode #1{#2}{#3}{##1}#5}% \def\etocthename {##1}% - \toks@ {##1}% - \edef\etocthelinkedname {\noexpand\hyperlink {#3}{\the\toks@}}% + \edef\Etoc@tmp {{#3}}% + \expandafter\def\expandafter\etocthelinkedname\expandafter + {\expandafter\hyperlink \Etoc@tmp{##1}}% }% \def\Etoc@getnbr ##1\hspace##2##3\etoc@ {% \ifx\relax##2\else \@namedef {etocnumber }{\leavevmode #1{#2}{#3}{##1}#5}% \def\etocthenumber {##1}% - \toks@ {##1}% - \edef\etocthelinkednumber {\noexpand\hyperlink {#3}{\the\toks@}}% + \edef\Etoc@tmp {{#3}}% + \expandafter\def\expandafter\etocthelinkednumber\expandafter + {\expandafter\hyperlink \Etoc@tmp{##1}}% \Etoc@numbertrue \Etoc@getname ##3\etoc@ \fi @@ -10943,7 +10980,7 @@ v1.02 [2012/11/18]> Grave accent \` Left brace \{ Vertical bar \| Right brace \} Tilde \~} -\CheckSum{2979} +\CheckSum{2997} \csname check@checksum\endcsname \Finale diff --git a/Master/texmf-dist/source/latex/etoc/etoc.ins b/Master/texmf-dist/source/latex/etoc/etoc.ins index facd9d885b1..96ed9f4aaf4 100644 --- a/Master/texmf-dist/source/latex/etoc/etoc.ins +++ b/Master/texmf-dist/source/latex/etoc/etoc.ins @@ -1,14 +1,14 @@ %% %% Package: etoc -%% Version: 1.07m (2015/01/23) +%% Version: 1.07n (2015/03/05) %% License: LPPL 1.3c or later (see etoc.dtx) %% Copyright (C) 2012-2015 Jean-Francois Burnol <jfbu at free dot fr> %% Copyright (C) 2014-2015 Christine Roemer <Christine_Roemer at t-online dot de> %% and collaborators for the translation into German of the documentation %% -\def\etocpkgdate {2015/01/23} -\def\etocdocdate {2015/01/23} -\def\etocpkgversion {v1.07m} +\def\etocpkgdate {2015/03/05} +\def\etocdocdate {2015/03/05} +\def\etocpkgversion {v1.07n} \def\etocpkgdescription {Completely customisable TOCs (jfB)} %% Run tex on this file to extract from etoc.dtx: %% etoc.sty, etoc.tex, etoc-DE.tex |