summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/etoc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-09-29 20:37:58 +0000
committerKarl Berry <karl@freefriends.org>2017-09-29 20:37:58 +0000
commit7517a8cc36ffb0c06ac028f06a69251551d2c939 (patch)
tree6a43c66f04e1ba702adbfda6fae2a35d9222afa3 /Master/texmf-dist/tex/latex/etoc
parent2e75aee2d32a0b0a7072b7737750bc7bb783cd72 (diff)
bxjscls (28sep17)
git-svn-id: svn://tug.org/texlive/trunk@45429 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/etoc')
-rw-r--r--Master/texmf-dist/tex/latex/etoc/etoc.sty390
1 files changed, 244 insertions, 146 deletions
diff --git a/Master/texmf-dist/tex/latex/etoc/etoc.sty b/Master/texmf-dist/tex/latex/etoc/etoc.sty
index 50c507489d8..5fb278c2445 100644
--- a/Master/texmf-dist/tex/latex/etoc/etoc.sty
+++ b/Master/texmf-dist/tex/latex/etoc/etoc.sty
@@ -23,10 +23,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{etoc}
- [2017/09/21 v1.08j Completely customisable TOCs (JFB)]
+ [2017/09/28 v1.08k Completely customisable TOCs (JFB)]
%%
%% Package: etoc
-%% Version: 1.08j-2017/09/21
+%% Version: 1.08k-2017/09/28
%% License: LPPL 1.3c
%% Copyright (C) 2012-2017 Jean-Francois Burnol
%% <jfbu at free dot fr>
@@ -107,10 +107,10 @@
\let\Etoc@none@@ \Etoc@minf
\let\Etoc@levellist\@empty
\def\Etoc@newlevel #1{\expandafter\def\expandafter\Etoc@levellist\expandafter
- {\Etoc@levellist\Etoc@levellist@elt #1}}
+ {\Etoc@levellist\Etoc@levellist@elt{#1}}}
\def\etocsetlevel#1#2{%
- \@ifundefined{Etoc@#1@@}{\expandafter\Etoc@newlevel\csname l@#1\endcsname}{}%
- \ifcase#2\relax
+ \@ifundefined{Etoc@#1@@}{\Etoc@newlevel{#1}}{}%
+ \ifcase#2\relax
\expandafter\let \csname Etoc@#1@@\endcsname\Etoc@@zero@@
\expandafter\let \csname Etoc@#1@\endcsname\Etoc@@zero@
\or
@@ -131,19 +131,22 @@
\or
\expandafter\let \csname Etoc@#1@@\endcsname\Etoc@@six@@
\else
- \ifnum#2=\m@ne
- \expandafter\let \csname Etoc@#1@@\endcsname\Etoc@@minusone@@
- \expandafter\let \csname Etoc@#1@\endcsname\Etoc@@minusone@
- \else
- \ifnum#2=-\tw@
+ \ifnum#2=\m@ne
+ \expandafter\let \csname Etoc@#1@@\endcsname\Etoc@@minusone@@
+ \expandafter\let \csname Etoc@#1@\endcsname\Etoc@@minusone@
+ \else
+ \ifnum#2=-\tw@
\expandafter\let \csname Etoc@#1@@\endcsname\Etoc@@minustwo@@
\expandafter\let \csname Etoc@#1@\endcsname\Etoc@@minustwo@
- \else
- \PackageWarning{etoc}
+ \else
+ \PackageWarning{etoc}
{unexpected value `#2' in \string\etocsetlevel.^^J%
Should be -2,-1, 0, 1, 2, 3, 4, 5, or 6. Set to 6 (=ignored)}%
- \expandafter\let\csname Etoc@#1@@\endcsname\Etoc@@six@@
-\fi\fi\fi}
+ \expandafter\let\csname Etoc@#1@@\endcsname\Etoc@@six@@
+ \fi
+ \fi
+ \fi
+}
\etocsetlevel{book}{-2}
\etocsetlevel{part}{-1}
\etocsetlevel{chapter}{0}
@@ -161,81 +164,131 @@
\long\def\Etoc@gobblefourorthree#1#2#3{}}%
}
\def\Etoc@setflags {%
- \ifcase \Etoc@level
- \global\Etoc@vfalse
- \global\Etoc@ivfalse
- \global\Etoc@iiifalse
- \global\Etoc@iifalse
- \global\Etoc@ifalse
- \global\Etoc@true
- \or
- \global\Etoc@vfalse
- \global\Etoc@ivfalse
- \global\Etoc@iiifalse
- \global\Etoc@iifalse
- \global\Etoc@itrue
- \or
- \global\Etoc@vfalse
- \global\Etoc@ivfalse
- \global\Etoc@iiifalse
- \global\Etoc@iitrue
- \or
- \global\Etoc@vfalse
- \global\Etoc@ivfalse
- \global\Etoc@iiitrue
- \or
- \global\Etoc@vfalse
- \global\Etoc@ivtrue
- \or
- \global\Etoc@vtrue
- \else
- \global\Etoc@vfalse
- \global\Etoc@ivfalse
- \global\Etoc@iiifalse
- \global\Etoc@iifalse
- \global\Etoc@ifalse
- \global\Etoc@false
- \ifnum\Etoc@level=\m@ne
- \global\Etoc@jtrue
+ \ifcase \Etoc@level
+ \global\Etoc@vfalse
+ \global\Etoc@ivfalse
+ \global\Etoc@iiifalse
+ \global\Etoc@iifalse
+ \global\Etoc@ifalse
+ \global\Etoc@true
+ \or
+ \global\Etoc@vfalse
+ \global\Etoc@ivfalse
+ \global\Etoc@iiifalse
+ \global\Etoc@iifalse
+ \global\Etoc@itrue
+ \or
+ \global\Etoc@vfalse
+ \global\Etoc@ivfalse
+ \global\Etoc@iiifalse
+ \global\Etoc@iitrue
+ \or
+ \global\Etoc@vfalse
+ \global\Etoc@ivfalse
+ \global\Etoc@iiitrue
+ \or
+ \global\Etoc@vfalse
+ \global\Etoc@ivtrue
+ \or
+ \global\Etoc@vtrue
\else
- \global\Etoc@jfalse
- \global\Etoc@jjtrue
+ \global\Etoc@vfalse
+ \global\Etoc@ivfalse
+ \global\Etoc@iiifalse
+ \global\Etoc@iifalse
+ \global\Etoc@ifalse
+ \global\Etoc@false
+ \ifnum\Etoc@level=\m@ne
+ \global\Etoc@jtrue
+ \else
+ \global\Etoc@jfalse
+ \global\Etoc@jjtrue
+ \fi
\fi
- \fi}
+}
\def\Etoc@doends {%
\ifcase \Etoc@level
- \ifEtoc@v \Etoc@end@five\fi
- \ifEtoc@iv \Etoc@end@four\fi
+ \ifEtoc@v \Etoc@end@five \fi
+ \ifEtoc@iv \Etoc@end@four \fi
\ifEtoc@iii\Etoc@end@three\fi
- \ifEtoc@ii \Etoc@end@two\fi
- \ifEtoc@i \Etoc@end@one\fi
+ \ifEtoc@ii \Etoc@end@two \fi
+ \ifEtoc@i \Etoc@end@one \fi
\or
- \ifEtoc@v \Etoc@end@five\fi
- \ifEtoc@iv \Etoc@end@four\fi
+ \ifEtoc@v \Etoc@end@five \fi
+ \ifEtoc@iv \Etoc@end@four \fi
\ifEtoc@iii\Etoc@end@three\fi
- \ifEtoc@ii \Etoc@end@two\fi
+ \ifEtoc@ii \Etoc@end@two \fi
\or
- \ifEtoc@v \Etoc@end@five\fi
- \ifEtoc@iv \Etoc@end@four\fi
+ \ifEtoc@v \Etoc@end@five \fi
+ \ifEtoc@iv \Etoc@end@four \fi
\ifEtoc@iii\Etoc@end@three\fi
\or
- \ifEtoc@v \Etoc@end@five\fi
- \ifEtoc@iv\Etoc@end@four\fi
+ \ifEtoc@v \Etoc@end@five \fi
+ \ifEtoc@iv \Etoc@end@four \fi
\or
- \ifEtoc@v \Etoc@end@five\fi
+ \ifEtoc@v \Etoc@end@five \fi
\or
\else
- \ifEtoc@v \Etoc@end@five \fi
- \ifEtoc@iv \Etoc@end@four \fi
- \ifEtoc@iii\Etoc@end@three\fi
- \ifEtoc@ii \Etoc@end@two \fi
- \ifEtoc@i \Etoc@end@one \fi
- \ifEtoc@ \Etoc@end@zero \fi
- \ifnum \Etoc@level =-\tw@
- \ifEtoc@j \Etoc@end@minusone\fi
- \fi
+ \ifEtoc@v \Etoc@end@five \fi
+ \ifEtoc@iv \Etoc@end@four \fi
+ \ifEtoc@iii\Etoc@end@three\fi
+ \ifEtoc@ii \Etoc@end@two \fi
+ \ifEtoc@i \Etoc@end@one \fi
+ \ifEtoc@ \Etoc@end@zero \fi
+ \ifnum \Etoc@level =-\tw@
+ \ifEtoc@j \Etoc@end@minusone\fi
+ \fi
\fi
}
+\def\Etoc@dobegins{%
+ \let\Etoc@next\@empty
+ \Etoc@global\Etoc@isfirstfalse
+ \ifcase\Etoc@level
+ \ifEtoc@
+ \else
+ \def\Etoc@next{\Etoc@begin@zero}%
+ \fi
+ \or
+ \ifEtoc@i
+ \else
+ \def\Etoc@next{\Etoc@begin@one}%
+ \fi
+ \or
+ \ifEtoc@ii
+ \else
+ \def\Etoc@next{\Etoc@begin@two}%
+ \fi
+ \or
+ \ifEtoc@iii
+ \else
+ \def\Etoc@next{\Etoc@begin@three}%
+ \fi
+ \or
+ \ifEtoc@iv
+ \else
+ \def\Etoc@next{\Etoc@begin@four}%
+ \fi
+ \or
+ \ifEtoc@v
+ \else
+ \def\Etoc@next{\Etoc@begin@five}%
+ \fi
+ \else
+ \ifnum\Etoc@level=\m@ne
+ \ifEtoc@j
+ \else
+ \def\Etoc@next{\Etoc@begin@minusone}%
+ \fi
+ \else
+ \ifEtoc@jj
+ \else
+ \def\Etoc@next{\Etoc@begin@minustwo}%
+ \fi
+ \fi
+ \fi
+ \Etoc@setflags
+ \Etoc@next
+}
\def\etocskipfirstprefix {\global\Etoc@skipprefixtrue }
\def\Etoc@etoccontentsline #1{%
\global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname
@@ -245,18 +298,22 @@
\ifEtoc@localtoc
\ifEtoc@stoptoc\Etoc@skipthisonetrue
\else
- \ifEtoc@notactive\Etoc@setflags\Etoc@skipthisonetrue
+ \ifEtoc@notactive\Etoc@setflags
+ \Etoc@skipthisonetrue
\else
- \ifnum\Etoc@level<\Etoc@localtop\Etoc@skipthisonetrue
- \global\Etoc@stoptoctrue
+ \ifnum\Etoc@level<\Etoc@localtop
+ \Etoc@skipthisonetrue
+ \global\Etoc@stoptoctrue
\fi
\fi
\fi
\fi
\fi
\let\Etoc@next\Etoc@gobblefourorthree
- \ifEtoc@skipthisone\else
- \ifnum\c@tocdepth<\Etoc@level\else
+ \ifEtoc@skipthisone
+ \else
+ \ifnum\c@tocdepth<\Etoc@level
+ \else
\ifEtoc@standard
\let\Etoc@next\Etoc@savedcontentsline
\else
@@ -264,33 +321,11 @@
\fi
\fi
\fi
- \Etoc@next {#1}%
+ \Etoc@next{#1}%
}
\def\Etoc@etoccontentsline@ #1{%
- \Etoc@doends
- \let\Etoc@next\@empty
- \Etoc@global\Etoc@isfirstfalse
- \ifcase\Etoc@level
- \ifEtoc@\else \def\Etoc@next{\Etoc@begin@zero}\fi
- \or
- \ifEtoc@i\else \def\Etoc@next{\Etoc@begin@one}\fi
- \or
- \ifEtoc@ii\else \def\Etoc@next{\Etoc@begin@two}\fi
- \or
- \ifEtoc@iii\else \def\Etoc@next{\Etoc@begin@three}\fi
- \or
- \ifEtoc@iv\else \def\Etoc@next{\Etoc@begin@four}\fi
- \or
- \ifEtoc@v\else \def\Etoc@next{\Etoc@begin@five}\fi
- \else
- \ifnum\Etoc@level=\m@ne
- \ifEtoc@j\else \def\Etoc@next{\Etoc@begin@minusone}\fi
- \else
- \ifEtoc@jj\else \def\Etoc@next{\Etoc@begin@minustwo}\fi
- \fi
- \fi
- \Etoc@setflags
- \Etoc@next
+ \Etoc@doends % separated since 1.08
+ \Etoc@dobegins % separated since 1.08k. Does \Etoc@setflags.
\Etoc@global\edef\Etoc@prefix {\expandafter\noexpand
\csname Etoc@prefix@\csname Etoc@#1@\endcsname\endcsname }%
\Etoc@global\edef\Etoc@contents{\expandafter\noexpand
@@ -347,12 +382,17 @@
\fi\fi
\Etoc@next #1%
}
+\begingroup\@tfor\x:=NUMBZRLINZ\do{\catcode\expandafter`\x=12 }\lccode`Z `e
+\lowercase{\endgroup
+\long\def\Etoc@oneifnumberline #1NUMBZRLINZ#2#3\Etoc@next{%
+ \ifx\etoc@#20\else1\fi
+}%
\def\Etoc@getnb@nohyp #1#2#3\etoc@ {%
\def\Etoc@getname ##1\relax\relax\etoc@ {%
\Etoc@global\def\etocthename {##1}%
\Etoc@global\def\etocthelinkedname {##1}%
}%
- \ifx\numberline#1%
+ \if1\expandafter\Etoc@oneifnumberline\string#1NUMBZRLINZ\etoc@\Etoc@next
\Etoc@global\def\etocthenumber {#2}%
\Etoc@global\def\etocthelinkednumber {#2}%
\Etoc@global\Etoc@numbertrue
@@ -362,7 +402,7 @@
\Etoc@global\let\etocthelinkednumber \@empty
\Etoc@global\Etoc@numberfalse
\fi
-}
+}%
\def\Etoc@getnb@hyp #1#2#3#4#5#6\etoc@ {%
\def\Etoc@getname ##1\relax\relax\etoc@ {%
\Etoc@global\def\etocthename {##1}%
@@ -371,7 +411,7 @@
{\expandafter\hyperlink \Etoc@tmp{##1}}%
}%
\def\Etoc@getnbr ##1##2##3\etoc@ {%
- \ifx\numberline##1%
+ \if1\expandafter\Etoc@oneifnumberline\string##1NUMBZRLINZ\etoc@\Etoc@next
\Etoc@global\def\etocthenumber {##2}%
\edef\Etoc@tmp {{#3}}%
\Etoc@global\expandafter\def\expandafter\etocthelinkednumber
@@ -390,13 +430,14 @@
}%
\Etoc@global\edef\etocthelink ##1{\noexpand\hyperlink {#3}{##1}}%
\Etoc@getnbr #4\relax\relax\etoc@
-}
+}}
\def\Etoc@getit@nohyp #1\hspace#2#3\etoc@ {%
\def\Etoc@getname ##1\hspace\relax\etoc@ {%
\Etoc@global\def\etocthename {##1}%
\Etoc@global\def\etocthelinkedname {##1}%
}%
- \ifx\relax#2\else
+ \ifx\relax#2%
+ \else
\Etoc@global\def\etocthenumber {#1}%
\Etoc@global\def\etocthelinkednumber {#1}%
\Etoc@global\Etoc@numbertrue
@@ -410,7 +451,8 @@
\expandafter{\expandafter\hyperlink \Etoc@tmp{##1}}%
}%
\def\Etoc@getnbr ##1\hspace##2##3\etoc@ {%
- \ifx\relax##2\else
+ \ifx\relax##2%
+ \else
\Etoc@global\def\etocthenumber {##1}%
\Etoc@global\expandafter\def\expandafter\etocthelinkednumber
\expandafter{\expandafter\hyperlink \Etoc@tmp{##1}}%
@@ -476,25 +518,27 @@
\global\let\Etoc@openouttoc\empty
}
\def\Etoc@toctoc{%
- \global\Etoc@vfalse
- \global\Etoc@ivfalse
- \global\Etoc@iiifalse
- \global\Etoc@iifalse
- \global\Etoc@ifalse
- \global\Etoc@false
- \global\Etoc@jfalse
- \global\Etoc@jjfalse
-\the\Etoc@toctoks
-\ifEtoc@notactive\else
- \ifEtoc@v \Etoc@end@five\fi
- \ifEtoc@iv \Etoc@end@four\fi
- \ifEtoc@iii \Etoc@end@three\fi
- \ifEtoc@ii \Etoc@end@two\fi
- \ifEtoc@i \Etoc@end@one\fi
- \ifEtoc@ \Etoc@end@zero\fi
- \ifEtoc@j \Etoc@end@minusone\fi
- \ifEtoc@jj \Etoc@end@minustwo\fi
-\fi}
+ \global\Etoc@vfalse
+ \global\Etoc@ivfalse
+ \global\Etoc@iiifalse
+ \global\Etoc@iifalse
+ \global\Etoc@ifalse
+ \global\Etoc@false
+ \global\Etoc@jfalse
+ \global\Etoc@jjfalse
+ \the\Etoc@toctoks
+ \ifEtoc@notactive
+ \else
+ \ifEtoc@v \Etoc@end@five\fi
+ \ifEtoc@iv \Etoc@end@four\fi
+ \ifEtoc@iii \Etoc@end@three\fi
+ \ifEtoc@ii \Etoc@end@two\fi
+ \ifEtoc@i \Etoc@end@one\fi
+ \ifEtoc@ \Etoc@end@zero\fi
+ \ifEtoc@j \Etoc@end@minusone\fi
+ \ifEtoc@jj \Etoc@end@minustwo\fi
+ \fi
+}
\def\etoc@@startlocaltoc#1#2{%
\ifEtoc@localtoc
\ifnum #1=#2\relax
@@ -544,28 +588,39 @@
\expandafter
\let\expandafter\etocxifwasempty\csname etocifwasempty \endcsname
\def\Etoc@testingcontentslinelocal #1{%
- \ifEtoc@stoptoc\else\ifnum\csname Etoc@#1@@\endcsname=\Etoc@@six@@\else
+ \ifEtoc@stoptoc
+ \else
+ \ifnum\csname Etoc@#1@@\endcsname=\Etoc@@six@@
+ \else
\global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname
- \ifEtoc@notactive\else
+ \ifEtoc@notactive
+ \else
\ifnum\Etoc@level>\Etoc@localtop
- \ifnum\Etoc@level>\c@tocdepth\else
- \global\Etoc@emptytocfalse
- \global\Etoc@stoptoctrue
+ \ifnum\Etoc@level>\c@tocdepth
+ \else
+ \global\Etoc@emptytocfalse
+ \global\Etoc@stoptoctrue
\fi
\else
\global\Etoc@stoptoctrue
\fi
\fi
- \fi\fi
+ \fi
+ \fi
\Etoc@gobblefourorthree\relax
}
\def\Etoc@testingcontentsline #1{%
- \ifEtoc@stoptoc\else
- \ifnum\csname Etoc@#1@@\endcsname=\Etoc@@six@@\else
- \ifnum\csname Etoc@#1@@\endcsname>\c@tocdepth\else
- \global\Etoc@emptytocfalse
- \global\Etoc@stoptoctrue
- \fi\fi\fi
+ \ifEtoc@stoptoc
+ \else
+ \ifnum\csname Etoc@#1@@\endcsname=\Etoc@@six@@
+ \else
+ \ifnum\csname Etoc@#1@@\endcsname>\c@tocdepth
+ \else
+ \global\Etoc@emptytocfalse
+ \global\Etoc@stoptoctrue
+ \fi
+ \fi
+ \fi
\Etoc@gobblefourorthree\relax
}
\def\Etoc@localtableofcontents#1{%
@@ -673,11 +728,11 @@
\let\contentsline\Etoc@etoccontentsline
\ifEtoc@standard
\else % moved here from \Etoc@toctoc (1.08)
- \def\Etoc@levellist@elt####1{\let####1\Etoc@lxyz}%
+ \def\Etoc@levellist@elt####1{%
+ \expandafter\let\csname etocsaved####1tocline\expandafter\endcsname
+ \csname l@####1\endcsname
+ \expandafter\let\csname l@####1\endcsname\Etoc@lxyz}%
\Etoc@levellist
- \let\booknumberline\numberline
- \let\partnumberline\numberline
- \let\chapternumberline\numberline
\fi
#1%
\ifEtoc@parskip\parskip\z@skip\fi %1.07d
@@ -1317,10 +1372,53 @@
\global\c@tocdepth\csname Etoc@#1@@\endcsname
\global\let\Etoc@tocdepthset\@empty}}%
}%
+\def\etocsetlocaltop #1#{\Etoc@set@localtop}%
+\def\Etoc@set@localtop #1{%
+ \@ifundefined{Etoc@#1@@}%
+ {\PackageWarning{etoc}
+ {Unknown sectioning depth #1, \protect\etocsetlocaltop.toc ignored}}%
+ {\addtocontents {toc}
+ {\protect\etoc@setlocaltop\expandafter\protect\csname Etoc@#1@@\endcsname}}%
+}%
+\def\etoc@setlocaltop #1{%
+ \global\let\Etoc@level #1%
+ \Etoc@skipthisonefalse
+ \ifnum\Etoc@level=\Etoc@@six@@
+ \Etoc@skipthisonetrue
+ \else
+ \ifEtoc@localtoc
+ \ifEtoc@stoptoc\Etoc@skipthisonetrue
+ \else
+ \ifEtoc@notactive
+ \Etoc@setflags
+ \Etoc@skipthisonetrue
+ \else
+ \ifnum\Etoc@level<\Etoc@localtop
+ \Etoc@skipthisonetrue
+ \global\Etoc@stoptoctrue
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \let\Etoc@next\@gobble
+ \ifEtoc@skipthisone
+ \else
+ \ifnum\c@tocdepth<\Etoc@level
+ \else
+ \ifEtoc@standard
+ \else
+ \let\Etoc@next\@firstofone
+ \fi
+ \fi
+ \fi
+ \Etoc@next{\Etoc@doends\Etoc@dobegins}%
+}%
\addtocontents {toc}{\protect\@ifundefined{etoctocstyle}%
{\let\protect\etoc@startlocaltoc\protect\@gobble
\let\protect\etoc@settocdepth\protect\@gobble
- \let\protect\etoc@depthtag\protect\@gobble }{}}%
+ \let\protect\etoc@depthtag\protect\@gobble
+ \let\protect\etoc@setlocaltop\protect\@gobble}{}}%
\def\etocstandardlines {\Etoc@standardtrue}
\def\etoctoclines {\Etoc@standardfalse}
\etocdefaultlines