diff options
author | Norbert Preining <norbert@preining.info> | 2020-07-23 03:02:22 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-07-23 03:02:22 +0000 |
commit | 30da6c04d79973253114bab2567b4fd1d2edd0d0 (patch) | |
tree | 0f49e4345a6463cd6932672e6feb4f38bb7fdc04 /obsolete/macros/latex | |
parent | d3e0375ca41ebad2625c6fedf57992a8db8cd0ac (diff) |
CTAN sync 202007230302
Diffstat (limited to 'obsolete/macros/latex')
-rw-r--r-- | obsolete/macros/latex/contrib/koma-script-obsolete/README | 12 | ||||
-rw-r--r-- | obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.dtx | 2 | ||||
-rw-r--r-- | obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.pdf | bin | 388719 -> 388699 bytes | |||
-rw-r--r-- | obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.dtx | 25 | ||||
-rw-r--r-- | obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.pdf | bin | 218963 -> 190709 bytes | |||
-rw-r--r-- | obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.dtx | 4 | ||||
-rw-r--r-- | obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.pdf | bin | 559255 -> 559230 bytes | |||
-rw-r--r-- | obsolete/macros/latex/contrib/koma-script-obsolete/tocstyle-obsolete.dtx | 2293 | ||||
-rw-r--r-- | obsolete/macros/latex/contrib/koma-script-obsolete/tocstyle-obsolete.pdf | bin | 0 -> 263041 bytes |
9 files changed, 2309 insertions, 27 deletions
diff --git a/obsolete/macros/latex/contrib/koma-script-obsolete/README b/obsolete/macros/latex/contrib/koma-script-obsolete/README index 7a115ca857..f60f89dec5 100644 --- a/obsolete/macros/latex/contrib/koma-script-obsolete/README +++ b/obsolete/macros/latex/contrib/koma-script-obsolete/README @@ -2,6 +2,7 @@ KOMA-Script obsolete ============================================================================== Author: Markus Kohm E-Mail: komascript at gmx info +Version: 2020-06-06 Abstract: KOMA-Script obsolete contains in the classes and packages, that has been removed from KOMA-Script, because they are obsolete for a long time. @@ -19,13 +20,22 @@ Abstract: KOMA-Script obsolete contains in the classes and packages, License: LPPL 1.3c or later State: not maintained, NOT SUPPORTED ============================================================================== +Package: tocstyle +Author: Markus Kohm +Version: 2020/06/06 v0.2k-alpha +Source files: tocstyle-obsolete.dtx +Classification: TOC etc. configuration package (experimental) +Successor: tocbasic + scrwfile +------------------------------------------------------------------------------ Package: scrpage2 -Version: 2020-02-27 v3.30 +Author: Markus Kohm +Version: 2020/02/27 v3.30 Source files: scrpage2-obsolete.dtx Classification: Page layout package Successor: scrlayer-scrpage ------------------------------------------------------------------------------ Package: scrpage +Author: Markus Kohm Version: 2008/02/29 v1.3e Source files: scrpage-obsolete.dtx Classification: Page layout package diff --git a/obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.dtx b/obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.dtx index a785963bb3..bf99cc8ebc 100644 --- a/obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.dtx +++ b/obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.dtx @@ -4,7 +4,7 @@ % scrlettr.dtx % Copyright (c) Axel Kielhorn and Markus Kohm, 1995-2020 % -% This file is part of the LaTeX2e KOMA-Script bundle. +% This file is part of the LaTeX2e KOMA-Script obsolete bundle. % % This work may be distributed and/or modified under the conditions of % the LaTeX Project Public License, version 1.3c of the license. diff --git a/obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.pdf b/obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.pdf Binary files differindex a8edc34804..afb7e6bdda 100644 --- a/obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.pdf +++ b/obsolete/macros/latex/contrib/koma-script-obsolete/scrlettr.pdf diff --git a/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.dtx b/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.dtx index 42e613803d..3d0bd6f12a 100644 --- a/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.dtx +++ b/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.dtx @@ -4,7 +4,7 @@ % scrpage-obsolete.dtx % Copyright (c) Markus Kohm, 1995-2020 % -% This file is part of the LaTeX2e KOMA-Script bundle. +% This file is part of the LaTeX2e KOMA-Script obsolete bundle. % % This work may be distributed and/or modified under the conditions of % the LaTeX Project Public License, version 1.3c of the license. @@ -80,7 +80,6 @@ %</dtx|driver> %<*driver> \documentclass{scrdoc} - \usepackage{scrpage2} \usepackage[german,english]{babel} \usepackage[latin1]{inputenc} \CodelineIndex @@ -88,26 +87,6 @@ \GetFileInfo{scrpage.dtx} \title{The \textsf{KOMA}-pagestyle-package\thanks{This file has version number \fileversion, last revised \filedate.}} - \renewpagestyle{headings}{(\textwidth,1pt)% - {\headmark\hfill}{\hfill\headmark}{\hfill\headmark\hfill}% - (\textwidth,.4pt)}% - {(\textwidth,.4pt)% - {\pagemark\hfill% - Copyright \copyright\ Markus Kohm, 1994--2002}% - {Package \texttt{scrpage}\hfill\pagemark}% - {\rlap{Package \texttt{scrpage}}\hfill% - Copyright \copyright\ Markus Kohm, 1994--2002\hfill% - \llap\pagemark}% - (\textwidth,1pt)} - \renewpagestyle{plain}{(\textwidth,1pt)% - {\hfill}{\hfill}{\hfill}% - (\textwidth,.4pt)}% - {(\textwidth,.4pt)% - {\pagemark\hfill}% - {\hfill\pagemark}% - {\hfill\pagemark\hfill}% - (\textwidth,1pt)} - \pagestyle{headings} \begin{document} \maketitle \begin{abstract} @@ -118,7 +97,7 @@ use \texttt{scrpage} with standard classes, too. Note: Package \texttt{scrpage} was replaced by package \texttt{scrpage2} and that was replaced by \texttt{scrlayer-scrpage}. The manual for - package \texttt{scrlayer-scrpage2} is part of the \KOMAScript{} guide. + package \texttt{scrlayer-scrpage} is part of the \KOMAScript{} guide. \end{abstract} \tableofcontents \DocInput{scrpage-obsolete.dtx} diff --git a/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.pdf b/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.pdf Binary files differindex 31ef8ec140..50397d1a2e 100644 --- a/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.pdf +++ b/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage-obsolete.pdf diff --git a/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.dtx b/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.dtx index 41be0d4bce..63521b7c7d 100644 --- a/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.dtx +++ b/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.dtx @@ -4,7 +4,7 @@ % scrpage2-obsolete.dtx % Copyright (c) Markus Kohm, 1995-2020 % -% This file is part of the LaTeX2e KOMA-Script bundle. +% This file is part of the LaTeX2e KOMA-Script obsolete bundle. % % This work may be distributed and/or modified under the conditions of % the LaTeX Project Public License, version 1.3c of the license. @@ -4740,7 +4740,7 @@ scrlayer-scrpage INSTEAD OF THIS PACKAGE! % \endinput % -% end of file `scrpage2.dtx' +% end of file `scrpage2-obsolete.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t diff --git a/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.pdf b/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.pdf Binary files differindex bb01932a62..a1b431fabb 100644 --- a/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.pdf +++ b/obsolete/macros/latex/contrib/koma-script-obsolete/scrpage2-obsolete.pdf diff --git a/obsolete/macros/latex/contrib/koma-script-obsolete/tocstyle-obsolete.dtx b/obsolete/macros/latex/contrib/koma-script-obsolete/tocstyle-obsolete.dtx new file mode 100644 index 0000000000..3305ce31d0 --- /dev/null +++ b/obsolete/macros/latex/contrib/koma-script-obsolete/tocstyle-obsolete.dtx @@ -0,0 +1,2293 @@ +% \CheckSum{1932} +% \iffalse meta-comment +% ====================================================================== +% tocstyle-obsolete.dtx +% Copyright (c) Markus Kohm, 2007-2020 +% +% This file is part of the LaTeX2e KOMA-Script obsolete bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 and of this work. +% +% This work has the LPPL maintenance status "not maintained". It was +% experimental and now is also deprecated! +% +% The author of this work is Markus Kohm. +% +% This work consists of the files `tocbasic.dtx' and `README'. +% ---------------------------------------------------------------------- +% tocstyle-obsolete.dtx +% Copyright (c) Markus Kohm, 2007-2020 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "not maintained" +% (nicht verwaltet). Es war immer experimentell und ist außerdem +% veraltet. +% +% Der Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den Dateien `tocbasic.dtx' und `README'. +% ====================================================================== +% \fi +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse +%%% From File: $Id: tocstyle-obsolete.dtx 3500 2020-06-06 09:44:58Z kohm $ +%<*dtx> +% \fi +\def\LaTeXformat{LaTeX2e} +\let\ifbeta=\iffalse %^^A with = will be replaced by release process +\ifx\fmtname\LaTeXformat\else +% \iffalse +%</dtx> +%<*insfile> +% \fi +\def\batchfile{tocstyle-obsolete.dtx} +\input docstrip.tex +\ifToplevel{% + \Msg{**********************************************************************} + \Msg{*} + \Msg{* This is `\batchfile', a batchfile to unpack the package tocstyle.} + \Msg{*} + \Msg{**********************************************************************} + \keepsilent + \askforoverwritefalse +} + +\preamble + +Copyright (c) 2007-2020 by Markus Kohm <komascript(at)gmx.info> + +This file has been generated. +----------------------------- + +This work may be distributed and/or modified under the conditions of +the LaTeX Project Public License, version 1.3c of the license. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3c 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 "not maintained". + +This file may only be distributed together with the file +`scrpage2-obsolete.dtx'. You may however distribute the file +`scrpage2-obsolete.dtx' without this file. + +An bilingual (English and German) manual may be generated from the +source file `scrpage2-obsolete.dtx' using: + pdflatex scrpage2-obsolete.dtx + +THIS IS AN OBSOLETE, EXPERIMENTAL PACKAGE! YOU SHOULD NOT USE IT! + +\endpreamble + +\generate{\usepreamble\defaultpreamble + \file{tocstyle.sty}{% + \from{tocstyle-obsolete.dtx}{package,trace,tocstyle}% +% \from{scrlogo.dtx}{logo}% + }% +} + +%\ifToplevel{% +% \generate{\usepreamble\defaultpreamble +% \file{tocstyle.ins}{% +% \from{tocstyle-obsolete.dtx}{insfile}% +% }% +% \file{tocstyle-obsolete.tex}{% +% \from{tocstyle.dtx}{doc}% +% }% +% \file{tocstyle.drv}{% +% \from{tocstyle-obsolete.dtx}{driver}% +% }% +% }% +%} + +% \iffalse +%</insfile> +%<*dtx> +% \fi + \def\ProvidesFile{\csname fi\endcsname\csname endinput\endcsname} +\fi +\ProvidesFile{tocstyle-obsolete.dtx} +% \iffalse +%</dtx> +%<package|driver>\NeedsTeXFormat{LaTeX2e}[1995/06/01] +%<package>\ProvidesPackage{tocstyle} +%<driver>\ProvidesFile{tocstyle.drv} +%<doc>\ProvidesFile{tocstyle.tex} +%\changes{v0.2k-alpha}{2020/06/06}{only comments have been changed}%^^A +%<*dtx|package|driver|doc> + [2020/06/06 v0.2k-alpha deprecated package (versatile toc styles)] +%</dtx|package|driver|doc> +%<*driver> +\documentclass{scrdoc} +\usepackage[ngerman,english]{babel} +\usepackage{listings} +\lstnewenvironment{lstcode}[1][]{% + \lstset{language=[LaTeX]TeX,basicstyle=\ttfamily\small,#1}% +}{} + +\usepackage{tocstyle} +\usetocstyle[toc]{nopagecolumn} +\CodelineIndex +\RecordChanges +\GetFileInfo{tocstyle-obsolete.dtx} +\title{The Obsolete Package \texttt{tocstyle}% + \footnote{This is version \fileversion\ of file \texttt{\filename}.}} +\date{\filedate} +\author{Markus Kohm} + +\let\Macro\cs +\let\Package\textsf +\let\File\texttt +\let\Option\texttt +\let\Counter\texttt +\let\ShowOutput\quote +\let\endShowOutput\endquote +\let\Parameter\marg +\let\OParameter\oarg +\newcommand\PParameter[1]{\mbox{\texttt{\{#1\}}}} +\let\PName\meta +\let\PValue\texttt +\newlength\descwidth +\newenvironment{desctabular}{% + \setlength{\descwidth}{\linewidth} + \addtolength{\descwidth}{-1em} + \addtolength{\descwidth}{-2\tabcolsep} + \tabular{@{}lp{\descwidth}@{}} + \hline +}{% + \hline + \endtabular +} +\newcommand{\pventry}[2]{% + \multicolumn{2}{@{}l@{}}{\PValue{#1}}\\ + ~ & #2 \\ } +\providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:} +\newcommand*{\AUTOREF}{} +\makeatletter +\def\AUTOREF#1:#2:{% + \edef\@tempa{#1}% + \edef\@tempb{tab}\ifx\@tempa\@tempb table~\fi + \edef\@tempb{sec}\ifx\@tempa\@tempb section~\fi + \ref{#1:#2}% +} +\makeatother + +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{english} +% +% \changes{v0.1}{2007/06/23}{start of new package}%^^A +% \changes{v0.2h}{2016/04/12}{\cs{@ifnextchar} replaced by +% \cs{kernel@ifnextchar}}%^^A +% +%\iffalse +%<doc>\chapter{Other Styles for Table of Contents and Lists of Floats} +%<doc>\labelbase{tocstyle} +%<doc>\BeginIndex{Package}{tocstyle} +%\fi +% +% \begin{abstract} +%\iffalse +%<*doc> +%\fi +While the main classes of the \KOMAScript\ bundle were made, there where +several ideas for formating the table of contents and lists of floats, but +almost none of them where implemented. One reason was, that the \KOMAScript\ +author didn't like to change the \LaTeX\ kernel at a class, because this may +result in serveral problems with other packages. The package +\Package{tocstyle} was an experiment to fill the gap. + +Since \KOMAScript~3.20 most of the features of \Package{tocstyle} are also +provided by other \KOMAScript{} packages like \Package{tocbasic}. + +Since \KOMAScript~3.31 the package has been removed from \KOMAScript. +It is deprecated and should not be used any longer. +%\iffalse +%</doc> +%\fi +% \end{abstract} +% +% \def\appendixtocdepth{\value{tocdepth}} +% \tableofcontents +% \def\appendixtocdepth{2} +% +%\iffalse +%<*doc> +%\fi +% +\section{Package Status} +\label{sec:tocstyle.status} + +Package \Package{tocstyle} has alpha status for a very long time (since +2007), despite the fact that it was very stable all over the years. The main +reason for this is that it was an experiment and I always intended to make a +better successor. Another reason was, that there are known issues, which are +hardly to fix. So \Package{tocstyle} never became an official part of +\KOMAScript. Nevertheless it has been published with \KOMAScript, because I +thought it would be an useful addition. I never thought that the interim +status of the package would be for more than eight years. + +With \KOMAScript~3.20 several features of \Package{tocstyle} can be found also +in \Package{tocbasic}. I recommend to use that official and essential part of +\KOMAScript{} instead of \Package{tocstyle} whenever possible. With +\KOMAScript~3.31 \Package{tocstyle} has moved from \KOMAScript{} bundle to +\KOMAScript-obsolete. + +\section{How It Works} +\label{sec:tocstyle.howitworks} + +Loading the package \Package{tocstyle} will redefine the kernel macro +\Macro{@starttoc}. Using the redefined \Macro{@starttoc} will redefine +\Macro{@dottedtocline}, \Macro{l@part} down to \Macro{l@subparagraph}, +\Macro{l@figure}, and \Macro{l@table}, if and only if \Package{tocstyle} +wasn't deactivated for all TOCs or this TOC. Usage the redefined +\Macro{@dottedtocline} will redefine \Macro{numberline}. + +Redefining \Macro{@starttoc}, \Macro{@dottedtocline}, and \Macro{numberline} +will activate the features of \Package{tocstyle} for all lists that uses +these, e.g. table of contents, list of figures and list of tables at the +standard or the \KOMAScript{} classes. But while not all classes uses +\Macro{@dottedtocline} and \Macro{@numberline} for all entries to table of +contents and list of floats the package redefines some other macros that are +typically used for those entries. These are e.g. \Macro{l@part}, +\Macro{l@chapter} and some more. If the class even does not use those macros, +you may not use \Package{tocstyle} to change the lists. The term TOC will be +used for all kind of list, that may be processed by \Package{tocstyle}. The +package tests wether the original kernel macros \Macro{@starttoc}, +\Macro{@dottedtocline}, and \Macro{numberline} were used or not and warns if +not. + +Package \Package{tocstyle} needs some more information. For the standard and +the \KOMAScript{} classes these informations may be detected by the +package. If the result is not the expected, you may configure these +informations manually. + +The entries of every TOC hat a depth. See the counter \Counter{tocdepth} for +more information about the depth. You may change several settings for the +entries of either all depths of all TOCs, all depths of one TOC, or one depth +of one TOC. + +But most users will not need to set up \Package{tocstyle} at this low +level. They simply will select one of the predefined styles and maybe select +one of the optional features. + +\section{Optional Features} +\label{sec:tocstyle.options} + +Optional features will be selected using a package option while loading the +package or using the package option as a global option loading the class using +\Macro{documentclass}. Optional features change generall behaviour of all +TOCs. + +%\iffalse +\begin{Description} + \Option{tocindentauto} + \Option{tocindentmanual} +\end{Description} +\BeginIndex{Option}{tocindentauto}\BeginIndex{Option}{tocindentmanual} +%</doc> +%<*dtx> +%\fi +\DescribeMacro{tocindentauto} +\DescribeMacro{tocindentmanual} +%\iffalse +%</dtx> +%<*doc> +%\fi +With option \Option{tocindentauto} all widths at the TOCs are calculated by +\Package{tocstyle}. The calculation of the width needs at least one \LaTeX{} +run with all TOC entries. So you need at least three \LaTeX{} runs: +\begin{itemize} +\item one to write all the TOC entries to the TOC file +\item one with the known TOC entries from the TOC file but unknown widths +\item one with the known TOC entries from the TOC file and known widths +\end{itemize} +If the TOC entries changed between the second and the third +run\,---\,e.g. because of page numbers changed\,---\,you'll need one more run +(and so on). + +Note: The widths of all entries of same depth and same TOC are same. Don't ask +for less width of page numbers at the first than the last TOC page! +%\iffalse +\EndIndex{Option}{tocindentauto}\EndIndex{Option}{tocindentmanual} +%\fi +% +%\iffalse +\begin{Description} + \Option{tocgraduated} + \Option{tocflat} + \Option{tocfullflat} +\end{Description}% +\BeginIndex{Option}{tocgraduated}\BeginIndex{Option}{tocflat}% +\BeginIndex{Option}{tocfullflat}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{tocgraduated} +\DescribeMacro{tocflat} +\DescribeMacro{tocfullflat} +%\iffalse +%</dtx> +%<*doc> +%\fi +The option \Option{tocgraduated} selects the graduated version of all +TOCs. You know the graduated version from the standard classes. Entries of lower +depth are indented against entries of higher depth. This may e.g. look like: +\begin{ShowOutput} + \showtoc[{% + \aliastoc{\tocstyleTOC}{toc}% + \usetocstyle[toc]{standard}% + \settocfeature[toc]{raggedhook}{\raggedright}% + \selecttocstyleoption{tocgraduated}% + }]{toc} +\end{ShowOutput} +The option \Option{tocflat} selects the flat\,---\,aka left +aligned\,---\,version of all TOCs. You know the flat version from the +\KOMAScript{} classes using option \Option{tocleft}. This may e.g. look like: +\begin{ShowOutput} + \showtoc[{% + \aliastoc{\tocstyleTOC}{toc}% + \usetocstyle[toc]{standard}% + \selecttocstyleoption{tocflat}% + }]{toc}% +\end{ShowOutput} +The option \Option{tocfullflat} is similar to flat version of all +TOCs, but there is even no box of same width for the numbers of all entries. +This may e.g. look like: +\begin{ShowOutput} + \showtoc[{% + \aliastoc{\tocstyleTOC}{toc}% + \usetocstyle[toc]{standard}% + \selecttocstyleoption{tocfullflat}% + }]{toc}% +\end{ShowOutput} +Default is option \Option{tocgraduated}. +%\iffalse +\EndIndex{Option}{tocgraduated}\EndIndex{Option}{tocflat}% +\EndIndex{Option}{tocfullflat}% +%\fi +% +%\iffalse +\begin{Description} + \Option{tocbreaksstrict}\\ + \Option{tocbreakscareless} +\end{Description}% +\BeginIndex{Option}{tocbreaksstrict}% +\BeginIndex{Option}{tocbreakscareless}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{tocbreaksstrict} +\DescribeMacro{tocbreakscareless} +%\iffalse +%</dtx> +%<*doc> +%\fi +Default option \Option{tocbreaksstrict} sets a lot of penalties before and +after TOC entries to avoid page break between a TOC entry and it's parent. But +sometimes you may like to allow more page breaks. You may use option +\Option{tocbreakscareless} for this. +%\iffalse +\EndIndex{Option}{tocbreaksstrict}\EndIndex{Option}{tocbreakscareless}% +%\fi +% +%\iffalse +\begin{Description} + \Option{toctextentriesindented}\\ + \Option{toctextentriesleft} +\end{Description}% +\BeginIndex{Option}{toctextentriesindented}% +\BeginIndex{Option}{toctextentriesleft}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{toctextentriesindented} +\DescribeMacro{toctextentriesleft} +%\iffalse +%</dtx> +%<*doc> +%\fi +With default option \Option{toctextentriesleft} unnumbered TOC entries, +e.g. from \KOMAScript{} command \Macro{addchap}, are indented only as wide as +the number of numbered TOC entries of the same level are. But with option +\Option{toctextentriesindented} these are indented as if they have an empty +number. +%\iffalse +\EndIndex{Option}{toctextentriesindented}% +\EndIndex{Option}{toctextentriesleft}% +%\fi +% +\section{Using TOC Styles} +\label{sec:tocstyle.usestyles} + +Package \Package{tocstyle} hat several predefined toc styles. Most users will +never need to define their own toc style but only select one of the +predefined and maybe configure it by one of the options described at the +previsous section. + +%\iffalse +\begin{Description} + \Macro{usetocstyle}\OParameter{TOC}\Parameter{style} +\end{Description}% +\BeginIndex{Macro}{usetocstyle}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{\usetocstyle} +%\iffalse +%</dtx> +%<*doc> +%\fi +You may set the style of one or all TOCs. If you want to set the style of all +TOCs, you'd simply say \Macro{usetocstyle}\Parameter{style}. This will set +all settings of the given style to all TOCs. Individual settings will +overwrite this generall setting. + +If you use \Macro{usetocstyle}\OParameter{TOC}\Parameter{style}, only the +style of the given TOC will be set. This will be done \emph{after} the general +setting. Only individual settings of single features may overwrite the setting +of the style. + +The \autoref{tab:tocstyle.styles} shows the predefined styles, that may be +used as mandatory argument of \Macro{tocstyle}. The optional argument +\PName{TOC} is the shortcut (file extension) of the TOC. Examples of known +shortcuts are shown at \autoref{tab:tocstyle.shortcuts}. + +\begin{table} + \centering + \caption{Predefined TOC Styles} + \label{tab:tocstyle.styles} + \begin{desctabular} + \pventry{standard}{A style similar to the standard classes. All width are + predefined to the width of the standard classes, but may be overwritten + by the general options (see \autoref{sec:tocstyle.options}). The depth -1 + (part) and 0 (chapter) are set in bold face (\Macro{bfseries}). If no + depth 0 was found at the TOC, depth 1 (section) will be set in bold + face, too. All other depth will be set in normal font. Depth -1 (part) + will be set using \Macro{large}. The font changes are valid for the + page numbers, too.}% + \pventry{KOMAlike}{A style similar to the \KOMAScript{} classes. This is + almost the same like \PValue{standard}, but instead of bold face + \Macro{usekomafont}\PParameter{disposition} will be used if + \Macro{usekomafont} was defined and sans serif, bold face + (\Macro{sffamily}\Macro{bfseries}) if not.}% + \pventry{classic}{Like \PValue{KOMAlike} but all page numbers are set + using normal font.}% + \pventry{allwithdot}{Like \PValue{classic} but dots between entry text and + page numbers are used at all depths.}% + \pventry{noonewithdot}{Like \PValue{classic} but not dots between entry + text and page numbers are used.}% + \pventry{nopagecolumn}{Like \PValue{noonewithdot} but also the gap + between text and page numbers is omited. This means, that the page + numbers are set 1\,em after the text.}% + \end{desctabular} +\end{table} + +Note: Before you're setting a style the style of the TOCs are +unspecified. This means that some entries may be set using \Package{tocstyle} +others may not. + +\begin{table} + \centering + \caption{Known TOC Shortcuts} + \label{tab:tocstyle.shortcuts} + \begin{desctabular} + \pventry{toc}{Table of contents of almost all known classes.} + \pventry{lof}{List of figures of almost all known classes.} + \pventry{lot}{List of tables of almost all known classes.} + \pventry{lol}{List of listings of package \Package{listings}. Currently + the usability of \Package{listings} with \Package{tocstyle} is not + recomended. Maybe it works, maybe not. Maybe you should try + \Macro{deactivatetocstyle[lol]}.} + \end{desctabular} +\end{table} +%\iffalse +\EndIndex{Macro}{usetocstyle}% +%\fi +% +%\iffalse +\begin{Description} + \Macro{deactivatetocstyle}\OParameter{TOC}\\ + \Macro{reactivatetocstyle}\OParameter{TOC} +\end{Description}% +\BeginIndex{Macro}{\deactivatetocstyle}\BeginIndex{Macro}{\reactivatetocstyle}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{\deactivatetocstyle}\DescribeMacro{\reactivatetocstyle} +Both commands have one optional argument \PName{TOC}. +%\iffalse +%</dtx> +%<*doc> +%\fi +You may deactive the influence of \Package{tocstyle} for a TOC and reactivate +it. If you use \Macro{deactivatetocstyle} without the optional argument or +empty optional argument, the influence of \Package{tocstyle} for all TOCs will +be deactivated and may reactivated only using \Macro{reactivatetocstyle} +without the optional argument or empty optional argument too. + +After deactivation of \Package{tocstyle} for one TOC or all TOCs you may +continue configuring TOCs. All these changes will be used after reactivation. +%\iffalse +\EndIndex{Macro}{\deactivatetocstyle}\EndIndex{Macro}{\reactivatetocstyle}% +%\fi + +% + +\section{Setting-up Single Features} +\label{sec:tocstyle.singlefeatures} + +At the previous section you've learned how to select a predefined TOC +style. You were also told, that you may change one ore more features against +the used predefined TOC style for one or all depth of one ore all TOCs. Now +you will learn how to do this. + +%\iffalse +\begin{Description} + \Macro{settocfeature}% + \OParameter{TOC}\OParameter{depth}\Parameter{feature}\Parameter{commands}\\ + \Macro{settocstylefeature}% + \OParameter{depth}\Parameter{feature}\Parameter{commands} +\end{Description}% +\BeginIndex{Macro}{settocfeature}\BeginIndex{Macro}{settocstylefeature}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{\settocfeature} +\DescribeMacro{\settocstylefeature} +%\iffalse +%</dtx> +%<*doc> +%\fi +These commands are used to set a single feature eiher of all depth of all TOCs +(\Macro{settocfeature} \Parameter{feature} \Parameter{command} or +\Macro{settocstylefeature} \Parameter{feature} \Parameter{commands}), or of +all depth of a single TOC (\Macro{settocfeature} +\OParameter{TOC} \Parameter{feature} \Parameter{commands}), or of a single +depth of all TOCs (\Macro{settocstylefeature} +\OParameter{depth} \Parameter{feature} \Parameter{commands}), or of a single +depth of a single TOC (\Macro{settocfeature} \OParameter{TOC} +\OParameter{depth} \Parameter{feature} \Parameter{commands}). + +Parameter \PName{commands} is a list of commands. In most cases these must not +be commands, that need an argument. So you should e.g. not use \Macro{textbf} +but \Macro{bfseries} to switch to bold face. Parameter \PName{feature} is +the feature, that may be configured with parameter \PName{commands}. All known +features are show at \autoref{tab:tocstyle.features}. + +\begin{table} + \centering + \caption{Features that May Be Set} + \label{tab:tocstyle.features} + \begin{desctabular} + \pventry{dothook}{will be executed before any dot of the dot line}% + \pventry{entryhook}{hook before the entry will be set}% + \pventry{entryvskip}{initial vertical skip amount (if not set 0pt plus + .2pt will be used)}% + \pventry{leaders}{commands for fillin the gap between entry text and page + number (if not set the default leaders command with dots will be used)}% + \pventry{pagenumberbox}{the box command for setting the page number (if + not set the default box of with \Macro{@pnumwidth} will be used); note, + that this has to be a command with exactly one argument}% + \pventry{pagenumberhook}{hook before the page number will be set at the + page number box}% + \pventry{parfillskip}{add this amount to the default value of + \Macro{parfillskip} after setting up all lengths}% + \pventry{raggedhook}{the only allowed values here are \Macro{raggedright} + or nothing}% + \pventry{spaceafternumber}{amount of minimum space after the entry number, + if the needed width will be calculated automaticly}% + \end{desctabular} +\end{table} + +The order of used commands for a feature is +\begin{enumerate} +\item commands for all depths of all TOCs, +\item commands for all depth of a single TOC, +\item commands for a single depth of all TOCs, +\item commands for a single depth of a single TOC, +\end{enumerate} +and settings of \Macro{usetocstyle} may be overwritten by +\Macro{settocfeature} und \Macro{settocstylefeature}. +%\iffalse +\EndIndex{Macro}{settocfeature}\EndIndex{Macro}{settocstylefeature}% +%\fi +% + +\section{Defining New TOC Styles} +\label{sec:tocstyle.define} + +Now you know how to select a prefedined TOC style and how to change single +features. But wouldn't it be nice to define your own TOC style? + +%\iffalse +\begin{Description} + \Macro{newtocstyle}\OParameter{parent style}\OParameter{exclude features}% + \Parameter{new style}% + \Parameter{\Macro{settocstylefeature}-commands} +\end{Description}% +\BeginIndex{Macro}{\newtocstyle}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{\newtocstyle} +You may do this using \Macro{newtocstyle}\OParameter{parent + style} \OParameter{exclude features} \Parameter{style + name} \Parameter{\Macro{settocstylefeature}-commands}. +%\iffalse +%</dtx> +%<*doc> +%\fi +If you used the optional argument \PName{parent style} all features of the +parent style will be part of the new style, before overwriting them with the +features of the \PName{\Macro{settocstylefeature}-commands}. You should not +use any other commands at the last argument. But at \Macro{newtocstyle} the +command \Macro{settocfeature} becomes an alias for \Macro{settocstylefeature} +to avoid to much mistakes. + +The second optional argument is a comma seperated list of feature names. If it +is used, these features of the parent style (and all ancestors of the parent) +will not be part of the new style. +%\iffalse +\EndIndex{Macro}{\newtocstyle}% +%\fi + +%\iffalse +\begin{Description} + \Macro{aliastoc}\Parameter{original-TOC}\Parameter{alias-TOC} +\end{Description}% +\BeginIndex{Macro}{\aliastoc}% +You +%</doc> +%<*dtx> +%\fi +\DescribeMacro{\aliastoc} +Using \Macro{aliastoc}\Parameter{original-TOC}\Parameter{alias-TOC} you +%\iffalse +%</dtx> +%<*doc> +%\fi +may define an alias for a TOC. The first argument is the original TOC for that +the second argument should be the alias. An alias-TOC will be processed +with all settings, that were done for the original-TOC. Internally this +command is used as default for the optional, first argument of +\Macro{showtoc}.% +%\iffalse +\EndIndex{Macro}{\aliastoc} +%\fi + +\section{Processing a TOC} +\label{sec:tocstyle.processing} + +While \LaTeX{} inputs a toc file it processes the commands of the TOC. These +commands mainly produce the entries of the toc. Some commands are only +available or valid while a TOC is processed. But be carefull: Some of these +are read-only commands. Changing such a read-only command may result in +various errors! + +%\iffalse +\begin{Description} + \Macro{@starttoc}\Parameter{TOC}\\ + \Macro{showtoc}\OParameter{preprocession}\Parameter{TOC} +\end{Description}% +\BeginIndex{Macro}{\@starttoc}% +\BeginIndex{Macro}{\showtoc}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{\@starttoc}% +\DescribeMacro{\showtoc}% +%\iffalse +%</dtx> +%<*doc> +%\fi +The internal comand \Macro{@startoc} is defined by the \LaTeX{} kernel. It is +used by package and class authors to build commands like +\Macro{tableofcontents} or \Macro{listoffigures}. Without using it you will +not get a toc file. \Package{tocstyle} redefines it, to add pre- and +post-processing commands. The original definition found by \Package{tocstyle} +will be used inside the redefinition. + +\Macro{showtoc}% +%\iffalse +%</doc> +%<*dtx> +%\fi +\OParameter{preprocession}\Parameter{TOC}% +%\iffalse +%</dtx> +%<*doc> +%\fi +\ is an addition of \texttt{tocstyle}. Using it will procude a copy of TOC and +process this copy. The copy will be done just after creating the original +TOC. The copy will be an alias for the original file. The extension of the +copy is the generated alias if \PName{TOC}. You may generate the alias using +\Macro{aliastoc} at the optional argument of \Macro{showtoc}. The default for +this optional argument will be +\Macro{aliastoc}\Macro{tocstyleTOC}\Macro{tocstyleAliasTOC} and the default +alias \Macro{tocstyleAliasTOC} will be \Macro{tocstyleTOC} extended by a +number. +%\iffalse +\begin{example} +%\fi +The first TOC example at \autoref{sec:tocstyle.options} was made using +\begin{lstcode} + \showtoc[{% + \aliastoc{\tocstyleTOC}{toc}% + \usetocstyle[toc]{standard}% + \settocfeature[toc]{raggedhook}{\raggedright}% + \selecttocstyleoption{tocgraduated}% + }]{toc} +\end{lstcode} +If you want to show a copy of the table of contents, that shows only depth~1 of +the headlines you may simply use: +\begin{lstcode} + \showtoc[{% + \expandafter\value{tocdepth}=1\relax + \aliastoc{\tocstyleTOC}{toc}% + }]{toc} +\end{lstcode} +or +\begin{lstcode} + \newcounter{savedtocdepth} + \setcounter{savedtocdepth}{\value{tocdepth}} + \setcounter{tocdepth}{1} + \showtoc{toc} + \setcounter{tocdepth}{\value{savedtocdepth}} +\end{lstcode} +%\iffalse +\end{example}% +\EndIndex{Macro}{\showtoc} +%\fi + +%\iffalse +\begin{Description} + \Macro{tocstyleTOC}\\ + \Macro{tocstyleAliasTOC} +\end{Description}% +\BeginIndex{Macro}{\tocstyleTOC}% +\BeginIndex{Macro}{\tocstyleAliasTOC}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{\tocstyleTOC}% +\DescribeMacro{\tocstyleAliasTOC}% +%\iffalse +%</dtx> +%<*doc> +%\fi +These are read-only macros. While processing a TOC using \Macro{@starttoc} or +\Macro{showtoc}, \Macro{tocstyleAliasTOC} is the shortcut, that is valid for +the features and \Macro{tocstyleTOC} is valid for the file extension to be +used.% +%\iffalse +\EndIndex{Macro}{\tocstyleAliasTOC}% +\EndIndex{Macro}{\tocstyleTOC} +%\fi + +%\iffalse +\begin{Description} + \Macro{tocstyledepth} +\end{Description}% +\BeginIndex{Macro}{\tocstyledepth}% +%</doc> +%<*dtx> +%\fi +\DescribeMacro{\tocstyledepth} +%\iffalse +%</dtx> +%<*doc> +%\fi +This is a read-only macro. While processing a single toc entry with +\Macro{@dottedtocline} this is the depth (first argument of +\Macro{@dottedtocline}) of this entry. Most users will never need this, but it +is often used internaly. Because of this \emph{you should never change it!}% +%\iffalse +\EndIndex{Macro}{\tocstyledepth} +%\fi + +%\iffalse +\begin{Description} + \Macro{iftochasdepth}\Parameter{TOC}\Parameter{depth}\Parameter{true}% + \Parameter{false} +\end{Description} +\BeginIndex{Macro}{\iftochasdepth}% +You +%</doc> +%<*dtx> +%\fi +\DescribeMacro{\iftochasdepth} +Using \Macro{iftochasdepth}\Parameter{TOC}\Parameter{depth}\Parameter{true}% + \Parameter{false} you +%\iffalse +%</dtx> +%<*doc> +%\fi +may test, if an entry of a given depth was already output to a TOC. If so +the commands of argument \PName{true} will be processed. If not so the +commands of argument \PName{false} will be processed.% +%\iffalse +\EndIndex{Macro}{\iftochasdepth} +%\fi + +\section{Configuration file} +\label{sec:tocstyle.cfg} + +There's another feature for new toc styles. If there's a file +\File{tocstyle.cfg} it will be loaded at the end of the package. This is +usefull to define your own toc styles. + +% +%\iffalse +%</doc> +%\fi +% +% \StopEventually{% +% \clearpage +% \appendix +% \addtocontents{toc}{% +% \value{tocdepth}=\protect\appendixtocdepth\relax} +% \section{Examples for the Different TOC Styles} +% Here you will find the table of contents of this document set in the +% different TOC styles. All are set with option \Option{tocindentauto}. +%^^A The appendix will be omitted. +% \subsection{Graduated Versions} +% First of all all graduated versions of the table of contents +% \selecttocstyleoption{tocgraduated}% +% \subsubsection{\PValue{standard} with Option \Option{tocgraduated}} +% \usetocstyle[toc]{standard} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{KOMAlike} with Option \Option{tocgraduated}} +% \usetocstyle[toc]{KOMAlike} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{classic} with Option \Option{tocgraduated}} +% \usetocstyle[toc]{classic} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{allwithdot} with Option \Option{tocgraduated}} +% \usetocstyle[toc]{allwithdot} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{noonewithdot} with Option \Option{tocgraduated}} +% \usetocstyle[toc]{noonewithdot} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{nopagecolumn} with Option \Option{tocgraduated}} +% \usetocstyle[toc]{nopagecolumn} +% \showtoc{toc}\clearpage +% \subsection{Flat Versions} +% Now, all flat versions of the table of contents +% \selecttocstyleoption{tocflat}% +% \subsubsection{\PValue{standard} with Option \Option{tocflat}} +% \usetocstyle[toc]{standard} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{KOMAlike} with Option \Option{tocflat}} +% \usetocstyle[toc]{KOMAlike} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{classic} with Option \Option{tocflat}} +% \usetocstyle[toc]{classic} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{allwithdot} with Option \Option{tocflat}} +% \usetocstyle[toc]{allwithdot} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{noonewithdot} with Option +% \Option{tocflat}} +% \usetocstyle[toc]{noonewithdot} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{nopagecolumn} with Option +% \Option{tocflat}} +% \usetocstyle[toc]{nopagecolumn} +% \showtoc{toc}\clearpage +% \subsection{Fullflat Versions} +% Now, all full-flat versions of the table of contents +% \selecttocstyleoption{tocfullflat}% +% \subsubsection{\PValue{standard} with Option \Option{tocfullflat}} +% \usetocstyle[toc]{standard} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{KOMAlike} with Option \Option{tocfullflat}} +% \usetocstyle[toc]{KOMAlike} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{classic} with Option \Option{tocfullflat}} +% \usetocstyle[toc]{classic} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{allwithdot} with Option \Option{tocfullflat}} +% \usetocstyle[toc]{allwithdot} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{noonewithdot} with Option +% \Option{tocfullflat}} +% \usetocstyle[toc]{noonewithdot} +% \showtoc{toc}\clearpage +% \subsubsection{\PValue{nopagecolumn} with Option +% \Option{tocfullflat}} +% \usetocstyle[toc]{nopagecolumn} +% \showtoc{toc}\clearpage +% \PrintIndex\PrintChanges} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% \begin{macrocode} +\PackageWarningNoLine{tocstyle}{% + THIS IS A DEPRECATED ALPHA VERSION!\MessageBreak + USAGE OF THIS VERSION IS ON YOUR OWN RISK!\MessageBreak + EVERYTHING MAY HAPPEN!\MessageBreak + THE PACKAGE IS FROZEN WITH ALL IT'S BUGS!\MessageBreak + THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE!\MessageBreak + Maybe it would be better, not to load this package% +} +% \end{macrocode} +% +% \subsection{Option} +% +% Options change general behaviour of TOCs. +% +% \begin{macro}{\selecttocstyleoption} +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \begin{option}{chapter} +% \changes{v0.2d}{2009/11/11}{New} +% \begin{option}{nochapter} +% \changes{v0.2d}{2009/11/11}{New} +% \begin{macro}{\iftochaschapter} +% \changes{v0.2d}{2009/11/11}{New} +% Do we have \cs{chapter} and \cs{l@chapter}? +% \begin{macrocode} +\newif\iftochaschapter\tochaschapterfalse +\ifcsname l@chapter\endcsname + \ifcsname chapter\endcsname + \tochaschaptertrue + \fi +\fi +% \end{macrocode} +% \end{macro} +% \end{option} +% \end{option} +% +% \begin{option}{tocbreaksstrict} +% \begin{option}{tocbreakscareless} +% Switch on extended pernalties. +% \begin{macrocode} +\DeclareOption{tocbreaksstrict}{\selecttocstyleoption\CurrentOption} +\DeclareOption{tocbreakscareless}{\selecttocstyleoption\CurrentOption} +% \end{macrocode} +% \end{option} +% \end{option} +% +% \begin{option}{tocindentauto} +% \begin{option}{tocindentmanual} +% \begin{macrocode} +\DeclareOption{tocindentauto}{\selecttocstyleoption\CurrentOption} +\DeclareOption{tocindentmanual}{\selecttocstyleoption\CurrentOption} +% \end{macrocode} +% \end{option} +% \end{option} +% +% \begin{option}{toctextentriesindented} +% \begin{option}{toctextentriesleft} +% \begin{macrocode} +\DeclareOption{toctextentriesindented}{\selecttocstyleoption\CurrentOption} +\DeclareOption{toctextentriesleft}{\selecttocstyleoption\CurrentOption} +% \end{macrocode} +% \end{option} +% \end{option} +% +% \begin{option}{tocgraduated} +% \begin{option}{tocflat} +% \begin{option}{tocfullflat} +% \begin{macrocode} +\DeclareOption{tocgraduated}{\selecttocstyleoption\CurrentOption} +\DeclareOption{tocflat}{\selecttocstyleoption\CurrentOption} +\DeclareOption{tocfullflat}{\selecttocstyleoption\CurrentOption} +% \end{macrocode} +% \end{option} +% \end{option} +% \end{option} +% +% Defaults and others: +% \begin{macrocode} +\ExecuteOptions{tocbreaksstrict,tocindentauto,tocgraduated,% + toctextentriesleft} +\ProcessOptions\relax +% \end{macrocode} +% +% \begin{macrocode} +\ifcsname if@tocleft\endcsname + \expandafter\let\csname if@tempswa\expandafter\endcsname + \csname if@tocleft\endcsname +\else + \@tempswafalse +\fi +\if@tempswa + \PackageWarningNoLine{tocstyle}{% + You should not use class option `toc=flat'!\MessageBreak + This may result in errors or unexpected results.\MessageBreak + I'll try to deactivate `toc=flat', now.\MessageBreak + You may use package options `tocflat' and\MessageBreak + `tocindentauto' instead of `toc=flat'}% + \csname @tocleftfalse\endcsname +\fi +% \end{macrocode} +% +% +% \subsection{Body} +% +% There are two parts at \Package{tocstyle}: +% \begin{itemize} +% \item redefining internal \LaTeX{} kernel macros, +% \item defining new macros and redefining class macros. +% \end{itemize} +% Redefining \LaTeX{} kernel macros may not be switched of. But redefining +% class macros will only be on demand. +% +% \subsubsection{Redefining \LaTeX{} Kernel Macros} +% +% Some \LaTeX{} kernel macros must be redefined to add the new +% functionality. Before redefining them, we test against the definition at +% kernel 2005/12/01 +% +% \begin{macro}{\@starttoc} +% \begin{macro}{\tocstyle@saved@@starttoc} +% The original definition will be extended by defaults for \cs{parskip}, +% \cs{parindent} and % \cs{parfillskip} and storage of the shortcut of the +% current TOC. +% \begin{macrocode} +\newcommand*\tocstyle@saved@starttoc{} +\let\tocstyle@saved@starttoc\@starttoc +\renewcommand*{\@starttoc}[1]{% + \tocstyle@pre@starttoc{#1}% + \tocstyle@saved@starttoc{#1}% + \tocstyle@post@starttoc{#1}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\tocstyle@saved@dottedtocline} +% For saving the unchanged definition (at \cs{begin{document}}): +% \begin{macrocode} +\newcommand*{\tocstyle@saved@dottedtocline}{} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\tocstyle@dottedtocline} +% \changes{v0.2j}{2019/10/09}{newer \LaTeX{} uses two \cs{kern}}%^^A +% Implement new definition and redefine: +%^^A ------ Help me to find the \renecommand*{\@dottedtocline} ---------------- +% \begin{macrocode} +\newcommand*{\tocstyle@dottedtocline}[5]{% + \let\numberline\tocstyle@numberline + \ifnum #1>\c@tocdepth \else +% \end{macrocode} +% Penalty feature: no page break between higher and lower depths. +% \begin{macrocode} + \if@tocstyle@penalties + \begingroup + \@tempcnta 20010 + \advance \@tempcnta by -#1 + \ifnum \@tempcnta>\lastpenalty + \aftergroup\penalty\aftergroup\@lowpenalty + \fi + \endgroup + \fi +% \end{macrocode} +% Activation of all features for this TOC and depth: +% \begin{macrocode} + \edef\tocstyledepth{#1}% + \tocstyle@activate@features +% \end{macrocode} +% Similar to kernel command but if feature \texttt{entryvskip} was set use +% \cs{addvspace}: +% \begin{macrocode} + \ifx\tocstyle@feature@entryvskip\relax + \vskip \z@ \@plus.2\p@ + \else + \addvspace{\tocstyle@feature@entryvskip}% + \fi + {% +% \end{macrocode} +% Preinitialization of lengths and skips and then call a hook +% \begin{macrocode} + \parskip \z@ \parindent \z@ \leftskip \z@ \rightskip \z@ + \tocstyle@feature@raggedhook +% \end{macrocode} +% Set number indent to \cs{@tempdimb} and text indent to \cs{@tempdima}. +% \begin{macrocode} + \@tempdima #3\relax + \@tempdimb #2\relax +%<trace> \typeout{number indent by \string\l@... (\tocstyleTOC, \tocstyledepth): \space\the\@tempdimb}% +%<trace> \typeout{text indent by \string\l@... (\tocstyleTOC, \tocstyledepth): \space\the\@tempdima}% +% \end{macrocode} +% \changes{v0.2d}{2009/11/09}{fix: use of max-values} +% Calc auto lengths. Use max. of last run of parents if available. +% \begin{macrocode} + \ifnum #1>\z@\relax + \@tempcnta #1\relax \advance\@tempcnta \m@ne + \ifcsname tocstyle@maxskipwidth@\tocstyleTOC @\the\@tempcnta\endcsname + \ifcsname tocstyle@maxnumwidth@\tocstyleTOC @\the\@tempcnta\endcsname + \@tempdimb + \csname tocstyle@maxskipwidth@\tocstyleTOC @\the\@tempcnta\endcsname + \advance\@tempdimb + \csname tocstyle@maxnumwidth@\tocstyleTOC @\the\@tempcnta\endcsname + \fi + \fi + \fi +%<trace> \typeout{number indent by parent (\tocstyleTOC, \tocstyledepth): \space\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 +%<trace> \typeout{text indent calculated (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% +%<trace> \typeout{number indent calculated (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% + \else + \@tempdimb #2\relax +%<trace> \typeout{number indent explicite (\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 +%<trace> \typeout{text noindent (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% +%<trace> \typeout{number noindent (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% + \fi +% \end{macrocode} +% Advance instead of set, because of the hook above: +% \begin{macrocode} + \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 +% \end{macrocode} +% \cs{hskip}\cs{-leftskip} optional moved to \cs{numberline} +% \begin{macrocode} + \iftocstyle@indentnotnumbered\else + \hskip -\leftskip + \fi +% \end{macrocode} +% Change at start of the entry +% \begin{macrocode} + \tocstyle@feature@entryhook +% \end{macrocode} +% Similar to kernel command but if feature \texttt{leaders} was set use +% this instead of the default leaders. And if feature \texttt{dothook} was set +% (default is \cs{normalfont}) use this at the default leaders. +% \begin{macrocode} + {#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% + \kern-\p@\kern\p@}% + \else + \tocstyle@feature@pagenumberbox{\tocstyle@feature@pagenumberhook #5% + \kern-\p@\kern\p@}% + \fi + \par + }% +% \end{macrocode} +% Last change is, another penalty change: +% \begin{macrocode} + \if@tocstyle@penalties + \bgroup + \@tempcnta 20009 + \advance\@tempcnta by -#1 + \edef\reserved@a{\egroup\penalty\the\@tempcnta\relax}% + \reserved@a + \fi + \fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tocstyle@saved@numberline} +% \begin{macro}{\tocstyle@numberline} +% Define a new \cs{numberline}, that will do all the job after +% \cs{begin{document}} and one to save the original definition. +%^^A----------------------- \renewcommand*\numberline ------------------------ +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \begin{macro}{\tocstyle@@numberline} +% Do the main work! +% \begin{macrocode} +\newcommand*{\tocstyle@@numberline}[1]{% + #1\csname autodot\endcsname +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Redefining Class Macros} +% +% \begin{macro}{\l@part} +% \changes{v0.2d}{2009/11/11}{part level is always -1} +% \begin{macro}{\l@chapter} +% \begin{macro}{\l@section} +% \begin{macro}{\l@subsection} +% \begin{macro}{\l@subsubsection} +% \begin{macro}{\l@paragraph} +% \begin{macro}{\l@subparagraph} +% \begin{macro}{\l@table} +% \begin{macro}{\l@figure} +% Try to redefine the toc commands at startup. +% \changes{v0.2f}{2016/03/22}{recognize all subs of part, chapter, +% section and paragraph}%^^A +% \changes{v0.2g}{2016/03/23}{warning for usage of not recommended package +% combinations}%^^A +% \changes{v0.2h}{2016/04/24}{lokal \cs{normalcolor} auf \cs{relax} +% setzen}%^^A +% \changes{v0.2h}{2016/04/24}{lokal \cs{color} auf \cs{@gobble} setzen}%^^A +% \begin{macrocode} +\AtBeginDocument{% + \@ifpackageloaded{tocbasic}{% + \@ifpackagelater{tocbasic}{2016/03/01}{% + \PackageWarningNoLine{tocstyle}{% + Usage of `tocstyle' with new `tocbasic' detected.\MessageBreak + This is not an error! You can do this.\MessageBreak + Nevertheless, you should note, combining `tocstyle'\MessageBreak + with this version of `tocbasic' will break several\MessageBreak + features of `tocbasic'. You should use `tocstyle'\MessageBreak + features instead of `tocbasic' attributes for all\MessageBreak + entry changes you want.\MessageBreak + You may also get additional warnings because of\MessageBreak + redefined `\string\numberline'. Ignore them}% + }{}% + }{}% + \@ifpackageloaded{etoc}{% + \PackageWarningNoLine{tocstyle}{% + Usage of `tocstyle' with `etoc' detected.\MessageBreak + I suggest to use either `tocstyle' or `etoc'\MessageBreak + but not both of them together}% + }{}% + \@ifpackageloaded{titletoc}{% + \PackageWarningNoLine{tocstyle}{% + Usage of `tocstyle' with `titletoc' detected.\MessageBreak + I suggest to use either `tocstyle' or `titletoc'\MessageBreak + but not both of them together. I expect even\MessageBreak + error messages because of this combination}% + }{}% + \def\tocstyle@test@level{-1}% + \def\tocstyle@test@levelname{part}% + \@whilesw\ifcsname l@\tocstyle@test@levelname\endcsname\fi{% + \setbox\@tempboxa\vbox{\hsize\maxdimen + \let\normalcolor\relax + \let\color\@gobble + \edef\reserved@a{% + \expandafter\noexpand\csname l@\tocstyle@test@levelname\endcsname{% + \noexpand\tocstyle@l@define{\tocstyle@test@levelname}% + {\tocstyle@test@level}% + }{}% + }% + \reserved@a + }% + \edef\tocstyle@test@levelname{sub\tocstyle@test@levelname}% + \edef\tocstyle@test@level{\the\numexpr\tocstyle@test@level+1}% + }% + \ifnum\tocstyle@test@level<\z@ + \def\tocstyle@test@level{0}% + \fi + \def\tocstyle@test@levelname{chapter}% + \@whilesw\ifcsname l@\tocstyle@test@levelname\endcsname\fi{% + \setbox\@tempboxa\vbox{\hsize\maxdimen + \let\normalcolor\relax + \let\color\@gobble + \edef\reserved@a{% + \expandafter\noexpand\csname l@\tocstyle@test@levelname\endcsname{% + \noexpand\tocstyle@l@define{\tocstyle@test@levelname}% + {\tocstyle@test@level}% + }{}% + }% + \reserved@a + }% + \edef\tocstyle@test@levelname{sub\tocstyle@test@levelname}% + \edef\tocstyle@test@level{\the\numexpr\tocstyle@test@level+1}% + }% + \ifnum\tocstyle@test@level<\@ne + \def\tocstyle@test@level{1}% + \fi + \def\tocstyle@test@levelname{section}% + \@whilesw\ifcsname l@\tocstyle@test@levelname\endcsname\fi{% + \setbox\@tempboxa\vbox{\hsize\maxdimen + \let\normalcolor\relax + \let\color\@gobble + \edef\reserved@a{% + \expandafter\noexpand\csname l@\tocstyle@test@levelname\endcsname{% + \noexpand\tocstyle@l@define{\tocstyle@test@levelname}% + {\tocstyle@test@level}% + }{}% + }% + \reserved@a + }% + \edef\tocstyle@test@levelname{sub\tocstyle@test@levelname}% + \edef\tocstyle@test@level{\the\numexpr\tocstyle@test@level+1}% + }% + \def\tocstyle@test@levelname{paragraph}% + \@whilesw\ifcsname l@\tocstyle@test@levelname\endcsname\fi{% + \setbox\@tempboxa\vbox{\hsize\maxdimen + \let\normalcolor\relax + \let\color\@gobble + \edef\reserved@a{% + \expandafter\noexpand\csname l@\tocstyle@test@levelname\endcsname{% + \noexpand\tocstyle@l@define{\tocstyle@test@levelname}% + {\tocstyle@test@level}% + }{}% + }% + \reserved@a + }% + \edef\tocstyle@test@levelname{sub\tocstyle@test@levelname}% + \edef\tocstyle@test@level{\the\numexpr\tocstyle@test@level+1}% + }% + \def\tocstyle@test@level{1}% + \def\tocstyle@test@levelname{table}% + \@whilesw\ifcsname l@\tocstyle@test@levelname\endcsname\fi{% + \setbox\@tempboxa\vbox{\hsize\maxdimen + \let\normalcolor\relax + \let\color\@gobble + \edef\reserved@a{% + \expandafter\noexpand\csname l@\tocstyle@test@levelname\endcsname{% + \noexpand\tocstyle@l@define{\tocstyle@test@levelname}% + {\tocstyle@test@level}% + }{}% + }% + \reserved@a + }% + \edef\tocstyle@test@levelname{sub\tocstyle@test@levelname}% + \edef\tocstyle@test@level{\the\numexpr\tocstyle@test@level+1}% + }% + \def\tocstyle@test@level{1}% + \def\tocstyle@test@levelname{figure}% + \@whilesw\ifcsname l@\tocstyle@test@levelname\endcsname\fi{% + \setbox\@tempboxa\vbox{\hsize\maxdimen + \let\normalcolor\relax + \let\color\@gobble + \edef\reserved@a{% + \expandafter\noexpand\csname l@\tocstyle@test@levelname\endcsname{% + \noexpand\tocstyle@l@define{\tocstyle@test@levelname}% + {\tocstyle@test@level}% + }{}% + }% + \reserved@a + }% + \edef\tocstyle@test@levelname{sub\tocstyle@test@levelname}% + \edef\tocstyle@test@level{\the\numexpr\tocstyle@test@level+1}% + }% +% \end{macrocode} +% \begin{macro}{\@dottedtocline} +% \changes{v0.2j}{2019/10/09}{newer \LaTeX{} uses two \cs{kern}}%^^A +% This will be used even for undotted toc lines. First check the definition, +% then redefine. +% \begin{macrocode} + \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 + \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\kern-\p@\kern\p@}% + \par}% + \fi}% + \ifx\@dottedtocline\@tempa\else + \tocstyle@macrochangewarning\@dottedtocline + \fi + \fi + \let\tocstyle@saved@dottedtocline\@dottedtocline +% \end{macrocode} +% \end{macro} +% \begin{macro}{\numberline} +% This macro needed to be redefined to calculate the with of the numbers. +% First of all: check the definition. This is a bit more difficult, because +% of respecting \KOMAScript: +% \begin{macrocode} + \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 +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\tocstyle@macrochangewarning} +% \begin{macrocode} +\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}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tocstyle@l@define} +% \begin{macro}{\tocstyle@activate@all@l} +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{New Macros} +% +% \begin{macro}{\showtoc} +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \begin{macro}{\tocstyle@copy@toc} +% \begin{macrocode} +\newcommand*{\tocstyle@copy@toc}[2]{% + \if@filesw + \begingroup + \endlinechar=\m@ne +% \end{macrocode} +% While \LaTeX{} does not close the files, we have to do it know. +% \begin{macrocode} + \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 +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\aliastoc} +% Internal use not the real TOC shortcut but another one. +% \begin{macrocode} +\newcommand*{\aliastoc}[2]{% + \expandafter\edef\csname tocstyle@alias@TOC@#1\endcsname{#2}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tocstyle@pre@starttoc} +% \begin{macro}{\tocstyle@post@starttoc} +% Commands before and after the original \cs{@starttoc}. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\tocstyle@set@width} +% \changes{v0.2d}{2009/11/11}{improve handling of standard classes}%^^A +% \changes{v0.2h}{2016/03/25}{use after definition in \texttt{aux}-file}%^^A +% Some classes do not use \cs{numberline}. This may result in negativ widths +% (esp. negativ skips). Following special handling of negativ values improves +% the toc handling of the standard classes. Nevertheless indentation of not +% numbered entries does not work with such classes! +% \begin{macrocode} +\newcommand*{\tocstyle@set@width}[4]{% + \iftocstyle@indentnotnumbered + \ifdim #4<\z@ + \expandafter\gdef\csname tocstyle@max#1width@#2@#3\endcsname{% + \dimexpr #4/2\relax}% + \else + \expandafter\gdef\csname tocstyle@max#1width@#2@#3\endcsname{#4}% + \fi + \else + \ifdim #4<\z@ + \expandafter\gdef\csname tocstyle@max#1width@#2@#3\endcsname{\z@}% + \else + \expandafter\gdef\csname tocstyle@max#1width@#2@#3\endcsname{#4}% + \fi + \fi +} +\AtBeginDocument{% + \if@filesw + \immediate\write\@auxout{% + \string\providecommand*\string\tocstyle@set@width[4]{}% + }% + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tocstyleTOC} +% \begin{macro}{\tocstyleAliasTOC} +% Shortcut of the current processed TOC. Empty outside of TOCs. +% \begin{macrocode} +\newcommand*{\tocstyleTOC}{} +\newcommand*{\tocstyleAliasTOC}{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\tocstyledepth} +% Current depth of the current processed TOC entry. +% \begin{macrocode} +\newcommand*{\tocstyledepth}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\deactivatetocstyle}% +% \begin{macro}{\reactivatetocstyle}% +% You may (de)activate all influence of tocstyle either for one or all TOCs. +% \begin{macrocode} +\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} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\settocfeature} +% \begin{macro}{\@settocfeature} +% \begin{macro}{\@@@settocfeature} +% The primary command to set the features of a depth of a TOC. +% \begin{macrocode} +\newcommand*{\@settocfeature}[1][]{% + \kernel@ifnextchar[ {\@@settocfeature[{#1}]}{\@@settocfeature[{#1}][]} +} +\def\@@settocfeature[#1][#2]#3#4{% +%<trace> \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 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\l@addto@macro} +% Something like \cs{g@addto@macro} but only with local effect. While other +% packages or classes may also define this, \cs{providecommand} will be used. +% \begin{macrocode} +\providecommand{\l@addto@macro}[2]{% + \edef#1{\unexpanded\expandafter{#1#2}}% +}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\settocstylefeature} +% \begin{macro}{\@settocstylefeature} +% Same as above without TOC argument. +% \begin{macrocode} +\newcommand*{\@settocstylefeature}{% + \kernel@ifnextchar[ {\@settocfeature[]}{\@settocfeature[][]}% +} +\newcommand*{\settocstylefeature}{} +\let\settocstylefeature\@settocstylefeature +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% Different commands will be defined: +% \begin{macro}{\tocstyle@feature@!<feature!>@@} +% Global feature (all TOCs all depths). +% \end{macro} +% \begin{macro}{\tocstyle@feature@@!<feature!>@!<TOC!>@} +% All depth feature for one TOC. +% \end{macro} +% \begin{macro}{\tocstyle@feature@@!<feature!>@@!<depth!>} +% All TOCs feature for one depth. +% \end{macro} +% \begin{macro}{\tocstyle@feature@@!<feature!>@!<TOC!>@!<depth!>} +% One depth of one TOC feature. +% \end{macro} +% +% \begin{macro}{\tocstyle@activate@features} +% Activates the features +% \begin{macrocode} +\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 + }% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\newtocstyle} +% Defining a new TOC style. First optional argument is a TOC style, that +% will be activated before the new definitions. Note that all new +% definitions will overwirte the parent's definitions. So a new TOC style, +% that defines all features doesn't need a parent. +% \begin{macrocode} +\newcommand*{\newtocstyle}{% + \kernel@ifnextchar [{\@newtocstyle}{\@newtocstyle[]}} +\newcommand*{\@newtocstyle}{} +\def\@newtocstyle[#1]{% + \kernel@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}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\usetocstyle} +% \begin{macro}{\@usetocstyle} +% \changes{v0.2a}{2008/02/14}{extended for deprecated TOC styles} +% Use the predefined TOC style. You may define +% |\tocstyle@deprecated@style@foo| to mark TOC style |foo| to be +% deprecated. If |\tocstyle@deprecated@style@foo| is |\@empty| TOC style +% |deprecated@foo| will be used instead almost silently. Otherwise TOC +% style |\tocstyle@deprecated@style@foo| will be used instead and the user +% will be told about this change. +% \begin{macrocode} +\newcommand*{\usetocstyle}[2][]{% + \@ifundefined{tocstyle@deprecated@style@#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{% + \kernel@ifnextchar[ %] + {\@@settocfeature[{#1}]}{\@@settocfeature[{#1}][]}% + }% + \let\settocstylefeature\settocfeature +% \end{macrocode} +% Deactivate all known features for this TOC +% \begin{macrocode} + \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 + }% +% \end{macrocode} +% So there are no more known features for this TOC. +% \begin{macrocode} + \expandafter\let\csname tocstyle@commandlist@#1\endcsname\relax + \fi +% \end{macrocode} +% Activate all known features for this style and TOC +% \begin{macrocode} + \@usetocstyle{#2}% + \let\settocfeature\@settocfeature + \let\settocstylefeature\@settocstylefeature + }% + }{% + \expandafter\ifx\csname tocstyle@deprecated@style@#2\endcsname\@empty + \PackageWarning{tocstyle}{% + deprecated TOC style `#2'!\MessageBreak + You should not longer use this style,\MessageBreak + because it will be removed soon.\MessageBreak + You should select another TOC style}% + \usetocstyle[{#1}]{deprecated@#2}% + \else + \PackageWarning{tocstyle}{% + deprecated TOC style `#2'!\MessageBreak + You should use TOC style '\csname + tocstyle@deprecated@style@#2\endcsname'\MessageBreak + instead of `#2'}% + \fi + }% +} +\newcommand*{\@usetocstyle}[1]{% + \csname tocstyle@style@#1\endcsname +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\tocstyle@featurelist} +% Comma seperated list of all known features +% \begin{macrocode} +\newcommand*{\tocstyle@featurelist}{% + pagenumberhook,entryhook,dothook,entryvskip,leaders,raggedhook,% + spaceafternumber,parfillskip,pagenumberbox,% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tocstyle@feature@pagenumberhook} +% \begin{macro}{\tocstyle@feature@pagenumberhook} +% \begin{macro}{\tocstyle@feature@entryhook} +% \begin{macro}{\tocstyle@feature@dothook} +% \begin{macro}{\tocstyle@feature@entryvskip} +% \begin{macro}{\tocstyle@feature@leaders} +% \begin{macro}{\tocstyle@feature@parfillskip} +% \begin{macro}{\tocstyle@feature@raggedhook} +% \begin{macro}{\tocstyle@feature@spaceafternumber} +% \begin{macrocode} +\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 +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\iftochasdepth} +% Uses \Macro{tocstyle@depthlist@}\meta{TOC} to test, if the TOC has the depth +% already. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Defining Some TOC Styles} +% \changes{v0.2e}{2013/08/11}{usage of new font elements of \KOMAScript\space +% at \texttt{KOMAlike}} +% +% \begin{macro}{\ext@toc} +% \changes{v0.2i}{2017/02/23}{use indirect extensions} +% From version 0.2i the indirect extension for the auxiliary file of the +% table of contents is used like the KOMA-Script classes do. +% \begin{macrocode} +\providecommand*{\ext@toc}{toc} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\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}{\bfseries} + \iftochaschapter\else + \settocfeature[1]{entryvskip}{1em\@plus\p@}% + \settocfeature[1]{leaders}{\hfill}% + \settocfeature[1]{entryhook}{% + \ifx\tocstyleAliasTOC\ext@toc\bfseries\fi + }% + \fi +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname KOMAClassName\endcsname\relax + \newtocstyle{KOMAlike}{% + \settocfeature{dothook}{\normalfont}% + \settocfeature[-1]{entryhook}{\sffamily\bfseries}% + \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% + \settocfeature[-1]{leaders}{\hfill}% + \settocfeature[-1]{pagenumberhook}{\sffamily\bfseries}% + \settocfeature[0]{entryvskip}{1em\@plus\p@}% + \settocfeature[0]{leaders}{\hfill}% + \settocfeature[0]{entryhook}{\sffamily\bfseries} + \settocfeature[0]{pagenumberhook}{\sffamily\bfseries}% + \iftochaschapter\else + \settocfeature[1]{entryvskip}{1em\@plus\p@}% + \settocfeature[1]{leaders}{\hfill}% + \settocfeature[1]{entryhook}{% + \ifx\tocstyleAliasTOC\ext@toc\sffamily\bfseries\fi + }% + \settocfeature[1]{pagenumberhook}{% + \ifx\tocstyleAliasTOC\ext@toc\sffamily\bfseries\fi + }% + \fi + } +\else + \newtocstyle{KOMAlike}{% + \settocfeature{dothook}{\normalfont}% + \settocfeature[-1]{entryhook}{\usekomafont{partentry}}% + \settocfeature[-1]{entryvskip}{2.25em\@plus\p@}% + \settocfeature[-1]{leaders}{\hfill}% + \settocfeature[-1]{pagenumberhook}{\usekomafont{partentrypagenumber}}% + \settocfeature[0]{entryvskip}{1em\@plus\p@}% + \settocfeature[0]{leaders}{\hfill}% + \settocfeature[0]{entryhook}{\usekomafont{chapterentry}}% + \settocfeature[0]{pagenumberhook}{\usekomafont{chapterentrypagenumber}}% + \iftochaschapter\else + \settocfeature[1]{entryvskip}{1em\@plus\p@}% + \settocfeature[1]{leaders}{\hfill}% + \settocfeature[1]{entryhook}{% + \begingroup + \ifx\tocstyleAliasTOC\ext@toc + \def\@tempa{\endgroup\usekomafont{sectionentry}}% + \else + \let\@tempa\endgroup + \fi + \@tempa + }% + \settocfeature[1]{pagenumberhook}{% + \begingroup + \ifx\tocstyleAliasTOC\ext@toc + \def\@tempa{\endgroup\usekomafont{sectionentrypagenumber}}% + \else + \let\@tempa\endgroup + \fi + \@tempa + }% + \fi + } +\fi +\newcommand*{\tocstyle@deprecated@style@KOMAScript}{KOMAlike}% +\newtocstyle[KOMAlike]{classic}{% + \settocfeature[-1]{pagenumberhook}{\normalfont\normalcolor}% + \settocfeature[0]{pagenumberhook}{\normalfont\normalcolor}% + \iftochaschapter\else + \settocfeature[1]{pagenumberhook}{\normalfont\normalcolor}% + \fi + \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}% +} +% \end{macrocode} +% +% \subsubsection{Defining Some TOC Styles} +% +% Loading a optional configuration file. +% \begin{macrocode} +\InputIfFileExists{tocstyle.cfg}{% + \PackageInfo{tocstyle}{using tocstyle.cfg}% +}{% + \PackageInfo{tocstyle}{no tocstyle.cfg found}% +} +% \end{macrocode} +% +% \iffalse +%</package> +% \fi +% +% \Finale +% +\endinput +% +% end of file `tocstyle-obsolete.dtx' +%%% Local Variables: +%%% mode: doctex +%%% TeX-master: t +%%% End: diff --git a/obsolete/macros/latex/contrib/koma-script-obsolete/tocstyle-obsolete.pdf b/obsolete/macros/latex/contrib/koma-script-obsolete/tocstyle-obsolete.pdf Binary files differnew file mode 100644 index 0000000000..71e5750f66 --- /dev/null +++ b/obsolete/macros/latex/contrib/koma-script-obsolete/tocstyle-obsolete.pdf |