diff --git a/CHANGELOG.md b/CHANGELOG.md index 53f379a..3085be1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +#### v1.7.0 [May 26, 2024]: + +由於發現原來章節編號已經跟第一代時的模版原設計有所不同了,所以我當成是大變動,所以當成新功能來更新,推薦同學們更新到這一版本或之後。 + +- **更新**: + + 1.更新 tocstyle 到最新版本 \([感謝 tenyang1999 的 Issue \#61](https://github.com/wengan-li/ncku-thesis-template-latex/issues/61)\). + + 2. 由於以前意外更新了`conf.tex`,改變了章節標題的設定很多年,所以重新加回原本的設計. + #### v1.6.0 [Jan 29, 2023]: - **更新**: diff --git a/thesis/conf/conf.tex b/thesis/conf/conf.tex index 23fb38b..a45f1cb 100755 --- a/thesis/conf/conf.tex +++ b/thesis/conf/conf.tex @@ -559,20 +559,20 @@ %} % End of \SetNumberingFormat{} % Section (節) -\SetNumberingFormat[Section]{% - BeginText = {}, EndText = {}, - TextAlign = {Left}, - CNumStyle = {}, SNumStyle = {}, - SepAtIndex = {}, SepBetweenCnS = {}, -} % End of \SetNumberingFormat{} +% \SetNumberingFormat[Section]{% +% BeginText = {}, EndText = {}, +% TextAlign = {Left}, +% CNumStyle = {}, SNumStyle = {}, +% SepAtIndex = {}, SepBetweenCnS = {}, +% } % End of \SetNumberingFormat{} % SubSection (小節) -\SetNumberingFormat[SubSection]{% - BeginText = {}, EndText = {}, - TextAlign = {Left}, - CNumStyle = {}, SNumStyle = {}, SSNumStyle = {}, - SepAtIndex = {.}, SepBetweenCnS = {}, SepBetweenSnSS = {}, -} % End of \SetNumberingFormat{} +% \SetNumberingFormat[SubSection]{% +% BeginText = {}, EndText = {}, +% TextAlign = {Left}, +% CNumStyle = {}, SNumStyle = {}, SSNumStyle = {}, +% SepAtIndex = {.}, SepBetweenCnS = {}, SepBetweenSnSS = {}, +% } % End of \SetNumberingFormat{} % SubSubSection (小小節) %\SetNumberingFormat[SubSubSection]{% diff --git a/thesis/template/configure.tex b/thesis/template/configure.tex index 8ac94e1..8a41638 100644 --- a/thesis/template/configure.tex +++ b/thesis/template/configure.tex @@ -99,6 +99,9 @@ % \usepackage[tocgraduated]{./template/tocstyle} % \usetocstyle{standard} %\setcounter{tocdepth}{4} % 目錄會顯示subsubsection +\def\thesection{\Roman{section}} +\def\thesubsection{\Roman{section}.\Roman{subsection}} +\def\thesubsubsection{\Roman{section}.\Roman{subsection}.\Roman{subsubsection}} % For chinese number in title % http://ftp.yzu.edu.tw/CTAN/macros/latex/contrib/zhnumber/zhnumber.pdf diff --git a/thesis/template/tocstyle.sty b/thesis/template/tocstyle.sty deleted file mode 100644 index f940ae6..0000000 --- a/thesis/template/tocstyle.sty +++ /dev/null @@ -1,845 +0,0 @@ -%% -%% 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-2011 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.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 "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} - [2009/11/09 v0.2d-alpha 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 -} -\newif\iftochaschapter\tochaschapterfalse -\ifcsname l@chapter\endcsname - \ifcsname chapter\endcsname - \tochaschaptertrue - \fi -\fi -\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 - \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 -\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{number indent by \string\l@... (\tocstyleTOC, \tocstyledepth): \space\the\@tempdimb}% - \typeout{text indent by \string\l@... (\tocstyleTOC, \tocstyledepth): \space\the\@tempdima}% - \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 - \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 - \typeout{text indent calculated (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% - \typeout{number indent calculated (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% - \else - \@tempdimb #2\relax - \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 - \typeout{text noindent (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% - \typeout{number noindent (\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 - \setbox\@tempboxa\vbox{\hsize\maxdimen - \l@part{\tocstyle@l@define{part}{-1}}{}}% - \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]{% - \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 -} -\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@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{% - \@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 - }% - }{% - \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 -} -\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 - }% - \iftochaschapter\else - \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{KOMAlike}{% - \settocfeature{dothook}{\normalfont}% - \settocfeature[-1]{entryhook}{\sffamily\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\sffamily\bfseries\fi - \endgroup - }% - \iftochaschapter\else - \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{KOMAlike}{% - \settocfeature{dothook}{\normalfont}% - \settocfeature[-1]{entryhook}{\sectfont}% - \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\sectfont\fi - \endgroup - }% - \iftochaschapter\else - \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 -\newcommand*{\tocstyle@deprecated@style@KOMAScript}{KOMAlike}% -\newtocstyle[KOMAlike]{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'.