From 0e7c6bce26ca4d5e7110de22ca0681a5a50196c6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 2 Mar 2013 00:05:59 +0000 Subject: etoc (1mar13) git-svn-id: svn://tug.org/texlive/trunk@29254 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/etoc/etoc.sty | 213 +++++++++++++++++------------- 1 file changed, 119 insertions(+), 94 deletions(-) (limited to 'Master/texmf-dist/tex/latex/etoc') diff --git a/Master/texmf-dist/tex/latex/etoc/etoc.sty b/Master/texmf-dist/tex/latex/etoc/etoc.sty index 166b4711d04..ad991703057 100644 --- a/Master/texmf-dist/tex/latex/etoc/etoc.sty +++ b/Master/texmf-dist/tex/latex/etoc/etoc.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% \ProvidesPackage{etoc} - [2013/02/24 v1.07d easily customizable TOCs (jfB)] + [2013/03/01 v1.07e easily customizable TOCs (jfB)] %% %% Package `etoc' by Jean-Francois Burnol %% Copyright (C) 2012, 2013 by Jean-Francois Burnol @@ -34,7 +34,8 @@ \ProcessOptions\relax \newtoks\Etoc@toctoks \def\Etoc@par{\par} -\newcommand*{\etocnopar}{\def\Etoc@par{}} +\newcommand*{\etocinline}{\def\Etoc@par{}} +\let\etocnopar\etocinline \newif\ifEtoc@jj % book \newif\ifEtoc@j % part \newif\ifEtoc@ % chapter @@ -590,7 +591,8 @@ \newcommand*\etocsepminusone{4ex \@plus .5ex \@minus .5ex} \newcommand*\etocsepzero{2.5ex \@plus .4ex \@minus .4ex} \newcommand*\etocsepone{1.5ex \@plus .3ex \@minus .3ex} -\newcommand*\etocseptwo{1ex \@plus .15ex \@minus .15ex} +%%\newcommand*\etocseptwo{1ex \@plus .15ex \@minus .15ex} % modified in 1.07e +\newcommand*\etocseptwo{.5ex \@plus .1ex \@minus .1ex} \newcommand*\etocsepthree{.25ex \@plus .05ex \@minus .05ex} \newcommand*\etocbaselinespreadminustwo{1} \newcommand*\etocbaselinespreadminusone{1} @@ -608,110 +610,133 @@ \newcommand*\etocpartname{\partname} \newcommand*\etocbookname{Book} \def\etocdefaultlines{\Etoc@standardfalse -\etoc@setstyle{@minustwo}{\etocskipfirstprefix}{\pagebreak[3]} -{\begingroup \etocfontminustwo - \addvspace{\etocsepminustwo}% - \parindent \z@ - \leftskip \etocminustwoleftmargin - \rightskip \etocminustworightmargin - \parfillskip \@flushglue - \vbox{\etocifnumbered{\etocbookname~\etocnumber:~}{}\etocname - \baselineskip\etocbaselinespreadminustwo\baselineskip\par}% - \addvspace{\etocsepminusone}\nobreak -\endgroup} -{}% -\etoc@setstyle{@minusone}{\etocskipfirstprefix}{\pagebreak[3]} -{\begingroup \etocfontminusone - \addvspace{\etocsepminusone}% - \parindent \z@ - \leftskip \etocminusoneleftmargin - \rightskip \etocminusonerightmargin - \parfillskip \@flushglue - \vbox{\etocpartname\etocifnumbered{ \etocnumber.~}{ }\etocname - \baselineskip\etocbaselinespreadminusone\baselineskip\par}% - \addvspace{\etocsepzero}\nobreak -\endgroup} -{}% +%% `book' in memoir class: +\etoc@setstyle{@minustwo} + {\addpenalty\@M\etocskipfirstprefix} + {\addpenalty\@secpenalty} + {\begingroup + \etocfontminustwo + \addvspace{\etocsepminustwo}% + \parindent \z@ + \leftskip \etocminustwoleftmargin + \rightskip \etocminustworightmargin + \parfillskip \@flushglue + \vbox{\etocifnumbered{\etocbookname\enspace\etocnumber:\quad}{}\etocname + \baselineskip\etocbaselinespreadminustwo\baselineskip + \par}% + \addpenalty\@M\addvspace{\etocsepminusone}% + \endgroup} + {}% +%% `part': +\etoc@setstyle{@minusone} + {\addpenalty\@M\etocskipfirstprefix} + {\addpenalty\@secpenalty} + {\begingroup + \etocfontminusone + \addvspace{\etocsepminusone}% + \parindent \z@ + \leftskip \etocminusoneleftmargin + \rightskip \etocminusonerightmargin + \parfillskip \@flushglue + \vbox{\etocifnumbered{\etocpartname\enspace\etocnumber.\quad}{}\etocname + \baselineskip\etocbaselinespreadminusone\baselineskip + \par}% + \addpenalty\@M\addvspace{\etocsepzero}% + \endgroup} + {}% +%% `chapter': \etoc@setstyle{@zero} -{\addpenalty\@highpenalty\etocskipfirstprefix}{\pagebreak[2]} -{\begingroup + {\addpenalty\@M\etocskipfirstprefix} + {\addpenalty\@itempenalty} + {\begingroup \etocfontzero \addvspace{\etocsepzero}% \parindent \z@ \parfillskip \@flushglue - \vbox{\etocifnumbered{\etocnumber\space}{}\etocname - \baselineskip\etocbaselinespreadzero\baselineskip\par}% - \addvspace{\etocsepone}\addpenalty\@itempenalty -\endgroup} -{\addpenalty\@secpenalty}% + \vbox{\etocifnumbered{\etocnumber.\enspace}{}\etocname + \baselineskip\etocbaselinespreadzero\baselineskip + \par}% + \endgroup} + {\addpenalty{-\@highpenalty}\addvspace{\etocsepminusone}}% +%% `section': \etoc@setstyle{@one} -{\addpenalty\@medpenalty\etocskipfirstprefix}{\pagebreak[1]} -{\begingroup\etocfontone -\addvspace{\etocsepone}% -\parindent \z@ \parfillskip \z@ -\setbox\z@\vbox{\parfillskip\@flushglue -\etocname\par\setbox\tw@\lastbox -\global\setbox\@ne\hbox{\unhbox\tw@\ }}% -\dimen\z@=\wd\@ne -\setbox\z@=\etoctoclineleaders -\advance\dimen\z@\wd\z@ -\etocifnumbered -{\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage}} -{\setbox\tw@\hbox{\etocabbrevpagename\etocpage}}% -\advance\dimen\z@\wd\tw@ -\ifdim\dimen\z@ < \linewidth + {\addpenalty\@M\etocskipfirstprefix} + {\addpenalty\@itempenalty} + {\begingroup + \etocfontone + \addvspace{\etocsepone}% + \parindent \z@ \parfillskip \z@ + \setbox\z@\vbox{\parfillskip\@flushglue + \etocname\par + \setbox\tw@\lastbox + \global\setbox\@ne\hbox{\unhbox\tw@\ }}% + \dimen\z@=\wd\@ne + \setbox\z@=\etoctoclineleaders + \advance\dimen\z@\wd\z@ + \etocifnumbered + {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage}} + {\setbox\tw@\hbox{\etocabbrevpagename\etocpage}}% + \advance\dimen\z@\wd\tw@ + \ifdim\dimen\z@ < \linewidth \vbox{\etocname~% - \leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadone\baselineskip\par} + \leaders\box\z@\hfil\box\tw@ + \baselineskip\etocbaselinespreadone\baselineskip + \par} \else \vbox{\etocname~% - \leaders\copy\z@\hfil\break - \hbox{}\leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadone\baselineskip\par} -\fi -\addvspace{\etocseptwo}\addpenalty\@itempenalty -\endgroup} -{\addpenalty\@secpenalty}% + \leaders\copy\z@\hfil\break + \hbox{}\leaders\box\z@\hfil\box\tw@ + \baselineskip\etocbaselinespreadone\baselineskip + \par} + \fi + \endgroup} + {\addpenalty\@secpenalty\addvspace{\etocsepzero}}% +%% `subsection': \etoc@setstyle{@two} -{\addpenalty\@medpenalty\etocskipfirstprefix} -{\pagebreak[1]} -{\begingroup\etocfonttwo -\addvspace{\etocseptwo}% -\parindent \z@ \parfillskip \z@ -\setbox\z@\vbox{\parfillskip\@flushglue -\etocname\par\setbox\tw@\lastbox -\global\setbox\@ne\hbox{\unhbox\tw@}}% -\dimen\z@=\wd\@ne -\setbox\z@=\etoctoclineleaders -\advance\dimen\z@\wd\z@ -\etocifnumbered -{\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage}} -{\setbox\tw@\hbox{\etocabbrevpagename\etocpage}}% -\advance\dimen\z@\wd\tw@ -\ifdim\dimen\z@ < \linewidth + {\addpenalty\@medpenalty\etocskipfirstprefix} + {\addpenalty\@itempenalty} + {\begingroup + \etocfonttwo + \addvspace{\etocseptwo}% + \parindent \z@ \parfillskip \z@ + \setbox\z@\vbox{\parfillskip\@flushglue + \etocname\par\setbox\tw@\lastbox + \global\setbox\@ne\hbox{\unhbox\tw@}}% + \dimen\z@=\wd\@ne + \setbox\z@=\etoctoclineleaders + \advance\dimen\z@\wd\z@ + \etocifnumbered + {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage}} + {\setbox\tw@\hbox{\etocabbrevpagename\etocpage}}% + \advance\dimen\z@\wd\tw@ + \ifdim\dimen\z@ < \linewidth \vbox{\etocname~% - \leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadtwo\baselineskip\par} + \leaders\box\z@\hfil\box\tw@ + \baselineskip\etocbaselinespreadtwo\baselineskip + \par} \else \vbox{\etocname~% - \leaders\copy\z@\hfil\break - \hbox{}\leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadtwo\baselineskip\par} -\fi -\addvspace{\etocsepthree}\addpenalty\@itempenalty -\endgroup} -{\addpenalty\@secpenalty}% + \leaders\copy\z@\hfil\break + \hbox{}\leaders\box\z@\hfil\box\tw@ + \baselineskip\etocbaselinespreadtwo\baselineskip + \par} + \fi + \endgroup} + {\addpenalty\@secpenalty\addvspace{\etocsepone}}% +%% `subsubsection': \etoc@setstyle{@three} -{\nopagebreak -\etocfontthree -\addvspace{\etocsepthree}% -\nointerlineskip\noindent -\etocskipfirstprefix} -{\allowbreak\,--\,} -{\etocname} -{.\hfil\begingroup -\baselineskip\etocbaselinespreadthree\baselineskip -\par\endgroup -\addpenalty{-\@highpenalty}}% + {\addpenalty\@M + \etocfontthree + \vspace{\etocsepthree}% + \noindent + \etocskipfirstprefix} + {\allowbreak\,--\,} + {\etocname} + {.\hfil + \begingroup + \baselineskip\etocbaselinespreadthree\baselineskip + \par + \endgroup + \addpenalty{-\@highpenalty}}% \etoc@setstyle{@four}{}{}{}{}% \etoc@setstyle{@five}{}{}{}{}% } -- cgit v1.2.3