%% %% This is file `tocstyle.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% tocstyle.dtx (with options: `package,trace,tocstyle') %% scrlogo.dtx (with options: `logo') %% %% Copyright (c) 2007 by Markus Kohm %% %% Copyright (c) 1994-2007 %% Markus Kohm and any individual authors listed elsewhere in this file. %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- %% %% This work may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, version 1.3b of the license. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3b or later is part of all distributions of LaTeX %% version 2005/12/01 or later and of this work. %% %% This work has the LPPL maintenance status "author-maintained". %% %% The Current Maintainer and author of this work is Markus Kohm. %% %% This file may only be distributed together with the file %% `tocstyle.dtx' and `scrlogo.dtx'. You may however distribute the files %% `tocstyle.dtx' and `scrlogo.dtx' without this file. %% %% If this file is a beta version, you are not allowed to distribute it. %% %% English and German manuals are part of KOMA-Script bundle. %% ---------------------------------------------------------- %% %% The english manual is at `tocstyle.dtx', too. %% %% The KOMA-Script bundle (but not this file) was based upon the LaTeX2.09 %% Script family created by Frank Neukam 1993 and the LaTeX2e standard %% classes created by The LaTeX3 Project 1994-1996. %% %% THIS IS AN ALPHA VERSION! %% USAGE OF THIS VERSION IS ON YOUR OWN RISK! %% EVERYTHING MAY HAPPEN! %% EVERYTHING MAY CHANGE IN FUTURE! %% THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE! %% %%% From File: tocstyle.dtx \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{tocstyle} [2007/12/21 v0.2alpha LaTeX2e KOMA-Script package (versatile toc styles)] \PackageWarningNoLine{tocstyle}{% THIS IS AN ALPHA VERSION!\MessageBreak USAGE OF THIS VERSION IS ON YOUR OWN RISK!\MessageBreak EVERYTHING MAY HAPPEN!\MessageBreak EVERYTHING MAY CHANGE IN FUTURE!\MessageBreak THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE!\MessageBreak Maybe it would be better, not to load this package% } \newif\if@tocstyle@penalties \newif\iftocstyle@autolength \newif\iftocstyle@indentnotnumbered \newcount\tocstyle@indentstyle\tocstyle@indentstyle=\z@ \newcommand*{\selecttocstyleoption}[1]{% \begingroup \edef\@tempa{#1}% \edef\@tempb{tocbreaksstrict}% \ifx\@tempa\@tempb\aftergroup\@tocstyle@penaltiestrue\else \edef\@tempb{tocbreakscareless}% \ifx\@tempa\@tempb\aftergroup\@tocstyle@penaltiesfalse\else \edef\@tempb{tocindentauto} \ifx\@tempa\@tempb\aftergroup\tocstyle@autolengthtrue\else \edef\@tempb{tocindentmanual}% \ifx\@tempa\@tempb\aftergroup\tocstyle@autolengthfalse\else \edef\@tempb{tocgraduated}% \ifx\@tempa\@tempb \aftergroup\tocstyle@indentstyle\aftergroup\z@ \else \edef\@tempb{tocflat}% \ifx\@tempa\@tempb \aftergroup\tocstyle@indentstyle\aftergroup\@ne \aftergroup\relax \else \edef\@tempb{tocfullflat}% \ifx\@tempa\@tempb \aftergroup\tocstyle@indentstyle\aftergroup\tw@ \aftergroup\relax \else \edef\@tempb{toctextentriesindented}% \ifx\@tempa\@tempb\aftergroup\tocstyle@indentnotnumberedtrue \else \edef\@tempb{toctextentriesleft}% \ifx\@tempa\@tempb \aftergroup\tocstyle@indentnotnumberedfalse \else \PackageError{tocstyle}{unknown option `#1'}{% You've told me to select toc style option `#1',\MessageBreak but tocstyle doesn't know an option named `#1'}% \fi \fi \fi \fi \fi \fi \fi \fi \fi \endgroup } \DeclareOption{tocbreaksstrict}{\selecttocstyleoption\CurrentOption} \DeclareOption{tocbreakscareless}{\selecttocstyleoption\CurrentOption} \DeclareOption{tocindentauto}{\selecttocstyleoption\CurrentOption} \DeclareOption{tocindentmanual}{\selecttocstyleoption\CurrentOption} \DeclareOption{toctextentriesindented}{\selecttocstyleoption\CurrentOption} \DeclareOption{toctextentriesleft}{\selecttocstyleoption\CurrentOption} \DeclareOption{tocgraduated}{\selecttocstyleoption\CurrentOption} \DeclareOption{tocflat}{\selecttocstyleoption\CurrentOption} \DeclareOption{tocfullflat}{\selecttocstyleoption\CurrentOption} \ExecuteOptions{tocbreaksstrict,tocindentauto,tocgraduated,% toctextentriesleft} \ProcessOptions\relax \ifcsname if@tocleft\endcsname \if@tocleft \PackageWarningNoLine{tocstyle}{% You should not use class option `tocleft'!\MessageBreak This may result in errors or unexpected results.\MessageBreak I'll try to deactivate `tocleft', now.\MessageBreak You may use options `tocflat' and\MessageBreak `tocindentauto' instead of `tocleft'}% \csname @tocleftfalse\endcsname \fi \fi \newcommand*\tocstyle@saved@starttoc{} \let\tocstyle@saved@starttoc\@starttoc \renewcommand*{\@starttoc}[1]{% \tocstyle@pre@starttoc{#1}% \tocstyle@saved@starttoc{#1}% \tocstyle@post@starttoc{#1}% } \newcommand*{\tocstyle@saved@dottedtocline}{} \newcommand*{\tocstyle@dottedtocline}[5]{% \let\numberline\tocstyle@numberline \ifnum #1>\c@tocdepth \else \if@tocstyle@penalties \begingroup \@tempcnta 20010 \advance \@tempcnta by -#1 \ifnum \@tempcnta>\lastpenalty \aftergroup\penalty\aftergroup\@lowpenalty \fi \endgroup \fi \edef\tocstyledepth{#1}% \tocstyle@activate@features \ifx\tocstyle@feature@entryvskip\relax \vskip \z@ \@plus.2\p@ \else \addvspace{\tocstyle@feature@entryvskip}% \fi {% \parskip \z@ \parindent \z@ \leftskip \z@ \rightskip \z@ \tocstyle@feature@raggedhook \@tempdima #3\relax \@tempdimb #2\relax \typeout{m (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% \ifnum #1>\z@\relax \@tempcnta #1\relax \advance\@tempcnta \m@ne \ifcsname tocstyle@skipwidth@\tocstyleTOC @\the\@tempcnta\endcsname \ifcsname tocstyle@numwidth@\tocstyleTOC @\the\@tempcnta\endcsname \@tempdimb \csname tocstyle@skipwidth@\tocstyleTOC @\the\@tempcnta\endcsname \advance\@tempdimb \csname tocstyle@numwidth@\tocstyleTOC @\the\@tempcnta\endcsname \fi \fi \fi \typeout{C (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% \ifcsname tocstyle@skipwidth@\tocstyleTOC @#1\endcsname \ifdim \@tempdimb> \csname tocstyle@skipwidth@\tocstyleTOC @#1\endcsname\relax \expandafter\xdef\csname tocstyle@skipwidth@\tocstyleTOC @#1\endcsname{\the\@tempdimb}% \fi \else \expandafter\xdef\csname tocstyle@skipwidth@\tocstyleTOC @#1\endcsname{\the\@tempdimb}% \fi \iftocstyle@autolength \ifcsname tocstyle@maxskipwidth@\tocstyleTOC @#1\endcsname \@tempdimb \csname tocstyle@maxskipwidth@\tocstyleTOC @#1\endcsname \relax \fi \ifcsname tocstyle@maxnumwidth@\tocstyleTOC @#1\endcsname \@tempdima \csname tocstyle@maxnumwidth@\tocstyleTOC @#1\endcsname \relax \fi \typeout{a (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% \typeout{A (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% \else \@tempdimb #2\relax \typeout{M (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% \fi \ifcsname tocstyle@unumwidth@\tocstyleTOC @\endcsname \ifdim \@tempdima> \csname tocstyle@unumwidth@\tocstyleTOC @\endcsname\relax \expandafter\xdef\csname tocstyle@unumwidth@\tocstyleTOC @\endcsname{\the\@tempdima}% \fi \else \expandafter\xdef\csname tocstyle@unumwidth@\tocstyleTOC @\endcsname{\the\@tempdima}% \fi \ifcase\tocstyle@indentstyle\relax\else \@tempdimb \z@ \ifcsname tocstyle@maxunumwidth@\tocstyleTOC @\endcsname \@tempdima \csname tocstyle@maxunumwidth@\tocstyleTOC @\endcsname \relax \fi \typeout{s (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% \typeout{S (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% \fi \advance\parindent \@tempdimb\@afterindenttrue \advance\leftskip \parindent \advance\rightskip \@tocrmarg \parfillskip -\rightskip \ifx\tocstyle@feature@parfillskip\relax\else \advance\parfillskip \tocstyle@feature@parfillskip\relax \fi \interlinepenalty\@M \leavevmode \advance\leftskip \@tempdima \null\nobreak \iftocstyle@indentnotnumbered\else \hskip -\leftskip \fi \tocstyle@feature@entryhook {#4}\nobreak \ifx\tocstyle@feature@leaders\relax \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{\tocstyle@feature@dothook .}% \mkern \@dotsep mu$}\hfill \else \tocstyle@feature@leaders \fi \nobreak \ifx\tocstyle@feature@pagenumberbox\relax \hb@xt@\@pnumwidth{\hfil\tocstyle@feature@pagenumberhook #5}% \else \tocstyle@feature@pagenumberbox{\tocstyle@feature@pagenumberhook #5}% \fi \par }% \if@tocstyle@penalties \bgroup \@tempcnta 20009 \advance\@tempcnta by -#1 \edef\reserved@a{\egroup\penalty\the\@tempcnta\relax}% \reserved@a \fi \fi} \newcommand*{\tocstyle@saved@numberline}{} \newcommand*{\tocstyle@numberline}[1]{% \begingroup \ifx\tocstyle@feature@spaceafternumber\relax \settowidth\@tempdima{\tocstyle@@numberline{#1}\enskip}% \else \settowidth\@tempdima{\tocstyle@@numberline{#1}}% \advance \@tempdima \tocstyle@feature@spaceafternumber\relax \fi \ifcsname tocstyle@numwidth@\tocstyleTOC @\tocstyledepth\endcsname \ifdim \@tempdima > \csname tocstyle@numwidth@\tocstyleTOC @\tocstyledepth\endcsname\relax \expandafter\xdef\csname tocstyle@numwidth@\tocstyleTOC @\tocstyledepth\endcsname{\the\@tempdima}% \fi \else \expandafter\xdef\csname tocstyle@numwidth@\tocstyleTOC @\tocstyledepth\endcsname{\the\@tempdima}% \fi \endgroup \iftocstyle@indentnotnumbered \hskip -\leftskip \fi \ifcase \tocstyle@indentstyle \hb@xt@\@tempdima{\tocstyle@@numberline{#1}\hfil}% \or \hb@xt@\@tempdima{\tocstyle@@numberline{#1}\hfil}% \else \ifx\tocstyle@feature@spaceafternumber\relax \hbox{\tocstyle@@numberline{#1}\enskip}% \else \hbox{\tocstyle@@numberline{#1}\hskip \tocstyle@feature@spaceafternumber\relax}% \fi \fi } \newcommand*{\tocstyle@@numberline}[1]{% #1\csname autodot\endcsname } \AtBeginDocument{% \ifcsname l@part\endcsname \ifcsname l@chapter\endcsname \setbox\@tempboxa\vbox{\hsize\maxdimen \l@part{\tocstyle@l@define{part}{-1}}{}}% \else \setbox\@tempboxa\vbox{\hsize\maxdimen \l@part{\tocstyle@l@define{part}{0}}{}}% \fi \fi \ifcsname l@chapter\endcsname \setbox\@tempboxa\vbox{\hsize\maxdimen \l@chapter{\tocstyle@l@define{chapter}{0}}{}}% \fi \ifcsname l@section\endcsname \setbox\@tempboxa\vbox{\hsize\maxdimen \l@section{\tocstyle@l@define{section}{1}}{}}% \fi \ifcsname l@subsection\endcsname \setbox\@tempboxa\vbox{\hsize\maxdimen \l@subsection{\tocstyle@l@define{subsection}{2}}{}}% \fi \ifcsname l@subsubsection\endcsname \setbox\@tempboxa\vbox{\hsize\maxdimen \l@subsubsection{\tocstyle@l@define{subsubsection}{3}}{}}% \fi \ifcsname l@paragraph\endcsname \setbox\@tempboxa\vbox{\hsize\maxdimen \l@paragraph{\tocstyle@l@define{paragraph}{4}}{}}% \fi \ifcsname l@subparagraph\endcsname \setbox\@tempboxa\vbox{\hsize\maxdimen \l@subparagraph{\tocstyle@l@define{subparagraph}{5}}{}}% \fi \ifcsname l@table\endcsname \setbox\@tempboxa\vbox{\hsize\maxdimen \l@table{\tocstyle@l@define{table}{1}}{}}% \fi \ifcsname l@figure\endcsname \setbox\@tempboxa\vbox{\hsize\maxdimen \l@figure{\tocstyle@l@define{figure}{1}}{}}% \fi \def\@tempa#1#2#3#4#5{% \ifnum #1>\c@tocdepth \else \vskip \z@ \@plus.2\p@ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax\@afterindenttrue \interlinepenalty\@M \leavevmode \@tempdima #3\relax \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip {#4}\nobreak \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak \hb@xt@\@pnumwidth{\hfil \normalfont \normalcolor #5}% \par}% \fi}% \ifx\@dottedtocline\@tempa\else \tocstyle@macrochangewarning\@dottedtocline \fi \let\tocstyle@saved@dottedtocline\@dottedtocline \def\@tempa#1{\hb@xt@\@tempdima{#1\autodot\hfil}}% \ifx\numberline\@tempa\else \def\@tempa#1{\hb@xt@\@tempdima{#1\hfil}}% \ifx\numberline@tempa\else \tocstyle@macrochangewarning\numberline \fi \fi \let\tocstyle@saved@numberline\numberline } \newcommand*{\tocstyle@macrochangewarning}[1]{% \PackageWarningNoLine{tocstyle}{% unexpected \string#1\space definition!\MessageBreak You are either using an unknown LaTeX kernel\MessageBreak version, an unknown class or package, that redefines\MessageBreak \string#1, or a \string#1\space redefinition\MessageBreak at the document preamble.\MessageBreak Because of this you may get unexpected results!\MessageBreak Maybe it would be better not to use package tocstyle}% \PackageInfo{tocstyle}{Unexpected definition is:\MessageBreak \meaning#1}% } \newcommand*{\tocstyle@activate@all@l}{} \newcommand*{\tocstyle@l@define}[2]{% \advance\leftskip-\@tempdima \edef\@tempa{% \noexpand\global\noexpand\let \expandafter\noexpand\csname tocstyle@saved@l@#1\endcsname \expandafter\noexpand\csname l@#1\endcsname \noexpand\gdef \expandafter\noexpand\csname tocstyle@l@#1\endcsname{% \noexpand\@dottedtocline{#2}{\the\leftskip}{\the\@tempdima}}% \noexpand\g@addto@macro\noexpand\tocstyle@activate@all@l{% \noexpand\let\expandafter\noexpand\csname l@#1\endcsname \expandafter\noexpand\csname tocstyle@l@#1\endcsname }% }% \PackageInfo{tocstyle}{prepare \expandafter\string \csname l@#1\endcsname\space for redefinition}% \@tempa } \newcommand*{\showtoc}[2][\aliastoc\tocstyleTOC\tocstyleAliasTOC]{% \ifcsname tocstyle@copyname@#2\endcsname \@tempcnta \csname tocstyle@copyname@#2\endcsname\relax \advance\@tempcnta \@ne \expandafter\xdef\csname tocstyle@copyname@#2\endcsname{\the\@tempcnta}% \else \expandafter\xdef\csname tocstyle@copyname@#2\endcsname{1}% \fi \ifx\@dofilelist\relax\let\@dofilelist\@empty\fi \edef\@tempa{\noexpand\g@addto@macro\noexpand\@dofilelist{% \noexpand\tocstyle@copy@toc{#2}{\csname tocstyle@copyname@#2\endcsname}}% }\@tempa% \begingroup \edef\tocstyleAliasTOC{#2}% \edef\tocstyleTOC{#2\csname tocstyle@copyname@#2\endcsname}% #1 \tocstyle@pre@starttoc{#2\csname tocstyle@copyname@#2\endcsname}% \makeatletter \@input{\jobname.#2\csname tocstyle@copyname@#2\endcsname}% \@nobreakfalse \tocstyle@post@starttoc{#2\csname tocstyle@copyname@#2\endcsname}% \endgroup } \newcommand*{\tocstyle@copy@toc}[2]{% \if@filesw \begingroup \endlinechar=\m@ne \immediate\closeout\csname tf@#1\endcsname \immediate\openin\@inputcheck \jobname.#1 \immediate\openout\@partaux \jobname.#1#2 \loop\unless\ifeof\@inputcheck \immediate\readline\@inputcheck to \@tempa \immediate\write\@partaux{\@tempa}% \repeat \immediate\closeout\@partaux \immediate\closein\@inputcheck \endgroup \fi } \newcommand*{\aliastoc}[2]{% \expandafter\edef\csname tocstyle@alias@TOC@#1\endcsname{#2}% } \newcommand*{\tocstyle@pre@starttoc}[1]{% \begingroup \expandafter\ifx\csname tocstyle@deactivated@\endcsname\relax \expandafter\ifx\csname tocstyle@deactivated@#1\endcsname\relax\relax \tocstyle@activetrue \else \tocstyle@activefalse \fi \else \tocstyle@activefalse \fi \iftocstyle@active \let\@dottedtocline\tocstyle@dottedtocline \parskip \z@ \parindent \z@ \parfillskip \z@\@plus 1fil \ifcsname tocstyle@alias@TOC@#1\endcsname \edef\tocstyleAliasTOC{\csname tocstyle@alias@TOC@#1\endcsname}% \else \edef\tocstyleAliasTOC{#1}% \fi \edef\tocstyleTOC{#1}% \tocstyle@activate@all@l \fi } \newcommand*{\tocstyle@post@starttoc}[1]{% \iftocstyle@active \if@filesw \ifcsname tocstyle@unumwidth@#1@\endcsname \protected@write\@auxout{}{% \protect\tocstyle@set@width{unum}{#1}{}{% \csname tocstyle@unumwidth@#1@\endcsname}% }% \fi \expandafter\let\expandafter\@tempa \csname tocstyle@depthlist@#1\endcsname \ifx\@tempa\relax\else \expandafter\@for \expandafter\@tempa\expandafter:\expandafter=\@tempa \do {% \ifcsname tocstyle@numwidth@#1@\@tempa\endcsname \protected@write\@auxout{}{% \protect\tocstyle@set@width{num}{#1}{\@tempa}{% \csname tocstyle@numwidth@#1@\@tempa\endcsname}% }% \fi \ifcsname tocstyle@skipwidth@#1@\@tempa\endcsname \protected@write\@auxout{}{% \protect\tocstyle@set@width{skip}{#1}{\@tempa}{% \csname tocstyle@skipwidth@#1@\@tempa\endcsname}% }% \fi }% \fi \fi \fi \endgroup } \newcommand*{\tocstyle@set@width}[4]{% \expandafter\gdef\csname tocstyle@max#1width@#2@#3\endcsname{#4}% } \newcommand*{\tocstyleTOC}{} \newcommand*{\tocstyleAliasTOC}{} \newcommand*{\tocstyledepth}{} \newif\iftocstyle@active \newcommand*{\deactivatetocstyle}[1][]{% \expandafter\let\csname tocstyle@deactivated@#1\endcsname\@empty} \newcommand*{\reactivatetocstyle}[1][]{% \expandafter\let\csname tocstyle@deactivated@#1\endcsname\relax} \newcommand*{\@settocfeature}[1][]{% \@ifnextchar[ {\@@settocfeature[{#1}]}{\@@settocfeature[{#1}][]} } \def\@@settocfeature[#1][#2]#3#4{% \typeout{exclude: \tocstyle@feature@excludelist}% \@expandtwoargs\in@{,#3,}{,\tocstyle@feature@excludelist,}% \ifin@\else \expandafter\ifcsname tocstyle@feature@#3\endcsname \@namedef{tocstyle@feature@#3@#1@#2}{#4}% \begingroup \expandafter\let\expandafter\@tempa \csname tocstyle@commandlist@#1\endcsname \@expandtwoargs\in@{,tocstyle@feature@#3@#1@#2,}{,\@tempa,}% \ifin@\let\@tempa\endgroup\else \edef\@tempa{\endgroup \noexpand\expandafter\noexpand\ifx \noexpand\csname tocstyle@commandlist@#1\noexpand\endcsname\relax \noexpand\expandafter\noexpand\expandafter\noexpand\expandafter \noexpand\def \noexpand\else \noexpand\expandafter\noexpand\expandafter\noexpand\expandafter \noexpand\l@addto@macro \noexpand\fi \noexpand\csname tocstyle@commandlist@#1\noexpand\endcsname% {tocstyle@feature@#3@#1@#2,}}% \fi \@tempa \else \PackageError{tocstyle}{unkown feature `#3'}{% You've told me to set up toc style feature `#3',\MessageBreak but I don't know this feature.\MessageBreak See the tocstyle manual for all known feature.\MessageBreak }% \fi \fi } \newcommand*{\settocfeature}{} \let\settocfeature\@settocfeature \providecommand{\l@addto@macro}[2]{% \edef#1{\unexpanded\expandafter{#1#2}}% }% \newcommand*{\@settocstylefeature}{% \@ifnextchar[ {\@settocfeature[]}{\@settocfeature[][]}% } \newcommand*{\settocstylefeature}{} \let\settocstylefeature\@settocstylefeature \newcommand*{\tocstyle@activate@features}{% \expandafter\ifx\csname tocstyle@depthlist@\tocstyleTOC\endcsname\relax \expandafter\xdef\csname tocstyle@depthlist@\tocstyleTOC\endcsname{% \tocstyledepth}% \else \expandafter\let\expandafter\@tempa \csname tocstyle@depthlist@\tocstyleTOC\endcsname \@expandtwoargs\in@{,\tocstyledepth,}{,\@tempa,}% \ifin@\else \expandafter\xdef\csname tocstyle@depthlist@\tocstyleTOC\endcsname{% \csname tocstyle@depthlist@\tocstyleTOC\endcsname,\tocstyledepth}% \fi \fi \expandafter\@for \expandafter\@tempa \expandafter:\expandafter=\tocstyle@featurelist \do {% \@ifundefined{tocstyle@feature@\@tempa @\tocstyleAliasTOC @\tocstyledepth}{% \@ifundefined{tocstyle@feature@\@tempa @@\tocstyledepth}{% \@ifundefined{tocstyle@feature@\@tempa @\tocstyleAliasTOC @}{% \@ifundefined{tocstyle@feature@\@tempa @@}{% \expandafter\let\csname tocstyle@feature@\@tempa\endcsname\relax }{% \expandafter\let\csname tocstyle@feature@\@tempa \expandafter\endcsname \csname tocstyle@feature@\@tempa @@\endcsname }% }{% \expandafter\let\csname tocstyle@feature@\@tempa \expandafter\endcsname \csname tocstyle@feature@\@tempa @\tocstyleAliasTOC @\endcsname }% }{% \expandafter\let\csname tocstyle@feature@\@tempa \expandafter\endcsname \csname tocstyle@feature@\@tempa @@\tocstyledepth\endcsname }% }{% \expandafter\let\csname tocstyle@feature@\@tempa \expandafter\endcsname \csname tocstyle@feature@\@tempa @\tocstyleAliasTOC @\tocstyledepth\endcsname }% }% } \newcommand*{\newtocstyle}{% \@ifnextchar [{\@newtocstyle}{\@newtocstyle[]}} \newcommand*{\@newtocstyle}{} \def\@newtocstyle[#1]{% \@ifnextchar [{\@@newtocstyle[{#1}]}{\@newtocstyle[{#1}][]}} \newcommand*{\@@newtocstyle}{} \def\@@newtocstyle[#1][#2]#3#4{% \@ifundefined{tocstyle@style@#3}{% \@ifundefined{tocstyle@style@#1}{% \ifx \relax#1\relax\else \PackageError{tocstyle}{unknown parent TOC style `#1'}{% You've told me to inheritate parent TOC style `#1',\MessageBreak but there's no TOC style `#1' defined.}% \fi \expandafter\def\csname tocstyle@style@#3\endcsname{#4}% }{% \expandafter\def\csname tocstyle@style@#3\endcsname{% \edef\reserved@a{% \noexpand\l@addto@macro\noexpand\tocstyle@feature@excludelist{#2}% \noexpand\@usetocstyle{#1}% \noexpand\def\noexpand\tocstyle@feature@excludelist{% \tocstyle@feature@excludelist}% }\reserved@a #4% }% }% }{% \PackageError{tocstyle}{TOC style `#3' already defined}{% You've tried to define a new TOC style `#3',\MessageBreak but there's already a TOC style named `#3'.}% }% } \newcommand*{\tocstyle@feature@excludelist}{} \newcommand*{\usetocstyle}[2][]{% \@ifundefined{tocstyle@style@#2}{% \PackageError{tocstyle}{unknown TOC style `#2'}{% You've told me to use TOC style `#2',\MessageBreak but there's no TOC style `#2' defined.}% }{% \def\settocfeature{% \@ifnextchar[ {\@@settocfeature[{#1}]}{\@@settocfeature[{#1}][]}% }% \let\settocstylefeature\settocfeature \expandafter\ifx\csname tocstyle@commandlist@#1\endcsname\relax \else \expandafter\expandafter\expandafter\@for \expandafter\expandafter\expandafter\@tempa \expandafter\expandafter\expandafter:% \expandafter\expandafter\expandafter=% \csname tocstyle@commandlist@#1\endcsname \do{% \expandafter\let\csname \@tempa\endcsname\relax }% \expandafter\let\csname tocstyle@commandlist@#1\endcsname\relax \fi \@usetocstyle{#2}% \let\settocfeature\@settocfeature \let\settocstylefeature\@settocstylefeature }% } \newcommand*{\@usetocstyle}[1]{% \csname tocstyle@style@#1\endcsname } \newcommand*{\tocstyle@featurelist}{% pagenumberhook,entryhook,dothook,entryvskip,leaders,raggedhook,% spaceafternumber,parfillskip,pagenumberbox,% } \newcommand*{\tocstyle@feature@pagenumberhook}{} \let\tocstyle@feature@pagenumberhook\relax \newcommand*{\tocstyle@feature@pagenumberbox}{} \let\tocstyle@feature@pagenumberbox\relax \newcommand*{\tocstye@feature@entryhook}{} \let\tocstyle@feature@entryhook\relax \newcommand*{\tocstye@feature@dothook}{} \let\tocstyle@feature@dothook\relax \newcommand*{\tocstye@feature@entryvskip}{} \let\tocstyle@feature@entryvskip\relax \newcommand*{\tocstye@feature@leaders}{} \let\tocstyle@feature@leaders\relax \newcommand*{\tocstye@feature@parfillskip}{} \let\tocstyle@feature@parfillskip\relax \newcommand*{\tocstye@feature@raggedhook}{} \let\tocstyle@feature@raggedhook\relax \newcommand*{\tocstye@feature@spaceafternumber}{} \let\tocstyle@feature@spaceafternumber\relax \newcommand*{\iftochasdepth}[2]{% \begingroup \expandafter\let\expandafter\@tempa\csname tocstyle@depthlist@#1\endcsname \ifx\@tempa\relax \aftergroup\@secondoftwo \else \@expandtwoargs\in@{,#2,}{,\@tempa}% \expandafter\aftergroup\ifin@ \@firstoftwo \else \@secondoftwo \fi \fi \endgroup } \newtocstyle{standard}{% \settocfeature{dothook}{\normalfont}% \settocfeature[-1]{entryhook}{\bfseries}% \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% \settocfeature[-1]{leaders}{\hfill}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% \settocfeature[0]{entryhook}{% \begingroup \edef\@tempa{toc}% \ifx\tocstyleAliasTOC\@tempa\aftergroup\bfseries\fi \endgroup }% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname l@chapter\endcsname\relax \settocfeature[1]{entryvskip}{1em\@plus\p@}% \settocfeature[1]{leaders}{\hfill}% \settocfeature[1]{entryhook}{% \begingroup \edef\@tempa{toc}% \ifx\tocstyleAliasTOC\@tempa\aftergroup\bfseries\fi \endgroup }% \fi } \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname sectfont\endcsname\relax \newtocstyle{KOMAScript}{% \settocfeature{dothook}{\normalfont}% \settocfeature[-1]{entryhook}{\sffamily\bfseries}% \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% \settocfeature[0]{entryhook}{% \begingroup \edef\@tempa{toc}% \ifx\tocstyleAliasTOC\@tempa\aftergroup\sffamily\bfseries\fi \endgroup }% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname l@chapter\endcsname\relax \settocfeature[1]{entryvskip}{1em\@plus\p@}% \settocfeature[1]{leaders}{\hfill}% \settocfeature[1]{entryhook}{% \begingroup \edef\@tempa{toc}% \ifx\tocstyleAliasTOC\@tempa\aftergroup\sffamily\bfseries\fi \endgroup }% \fi } \else \newtocstyle{KOMAScript}{% \settocfeature{dothook}{\normalfont}% \settocfeature[-1]{entryhook}{\sectfont}% \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% \settocfeature[0]{entryvskip}{1em\@plus\p@}% \settocfeature[0]{leaders}{\hfill}% \settocfeature[0]{entryhook}{% \begingroup \edef\@tempa{toc}% \ifx\tocstyleAliasTOC\@tempa\aftergroup\sectfont\fi \endgroup }% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname l@chapter\endcsname\relax \settocfeature[1]{entryvskip}{1em\@plus\p@}% \settocfeature[1]{leaders}{\hfill}% \settocfeature[1]{entryhook}{% \begingroup \edef\@tempa{toc}% \ifx\tocstyleAliasTOC\@tempa\aftergroup\sectfont\fi \endgroup }% \fi } \fi \newtocstyle[KOMAScript]{classic}{% \settocfeature{pagenumberhook}{\normalfont\normalcolor}% \settocfeature{raggedhook}{\raggedright}% } \newtocstyle[classic][leaders]{allwithdot}{} \newtocstyle[allwithdot]{noonewithdot}{% \settocfeature{leaders}{\hfill}% } \newtocstyle[classic][leaders]{nopagecolumn}{% \settocfeature{leaders}{\quad}% \settocfeature{parfillskip}{\z@ plus 1fil}% \settocfeature{pagenumberbox}{\hbox}% } \InputIfFileExists{tocstyle.cfg}{% \PackageInfo{tocstyle}{using tocstyle.cfg}% }{% \PackageInfo{tocstyle}{no tocstyle.cfg found}% } %%% From File: scrlogo.dtx \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} \endinput %% %% End of file `tocstyle.sty'.