%% %% This is file `tocbasic.sty', %% generated with the docstrip utility, extended by scrdocstrip. %% %% The original source files were: %% %% tocbasic.dtx (with options: `package') %% scrlogo.dtx (with options: `logo') %% %% Copyright (c) 2008-2014 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- %% %% It may be distributed under the conditions of the %% LaTeX Project Public License in the version distributed together %% with KOMA-Script, see file `lppl.txt' or `lppl-de.txt'. %% %% This file may only be distributed together with a copy of the %% KOMA-Script bundle. You may however distribute the %% KOMA-Script bundle without all such generated files. See also %% `lppl.txt' or `lppl-de.txt' for additional information. %% %% The list of files belonging to KOMA-Script distribution is given in %% the file `manifest.txt'. See also `lppl.txt' or `lppl-de.txt' for %% additional information. %% %% If this file is a beta version, you may not be allowed to distribute %% it. Look at the comments below to see if this is the case. %% %% English and German manuals are part of KOMA-Script bundle. %% ---------------------------------------------------------- %% %% See `README'. %% %% The KOMA-Script bundle (but maybe not this file) was based upon the %% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e %% standard classes created by The LaTeX3 Project 1994-1996. You may %% find a complete unmodified copy of LaTeX2e at %% . %% %%% From File: $Id: tocbasic.dtx 2146 2015-06-20 06:38:46Z kohm $ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{tocbasic}[% 2015/10/03 v3.19a KOMA-Script package (handling toc-files)% ] \ProcessOptions\relax \RequirePackage{keyval} \newcommand*{\tb@listoftocs}{} \newcommand{\ifattoclist}[1]{% \begingroup \def\do##1##2{% \edef\reserved@a{##1}% \ifx\reserved@a\reserved@b\@tempswatrue\fi }% \edef\reserved@b{#1}\@tempswafalse\tb@listoftocs \if@tempswa\aftergroup\@firstoftwo\else\aftergroup\@secondoftwo\fi \endgroup } \newcommand*{\addtotoclist}{% \@ifnextchar [%] \scr@@addtotoclist\scr@addtotoclist } \newcommand*{\scr@addtotoclist}{% \ifx\@currname\@empty \def\reserved@a{\scr@@addtotoclist[]}% \else \edef\reserved@a{\noexpand\scr@@addtotoclist[\@currname.\@currext]}% \fi \reserved@a } \newcommand*{\scr@@addtotoclist}[2][]{% \ifattoclist{#2}{% \PackageError{tocbasic}{% file extension `#2' cannot be used twice }{% File extension `#2' is already used by a toc-file, while \ifx\relax#1\relax someone\else #2\fi\MessageBreak tried to use it again for a toc-file.\MessageBreak This may be either an incompatibility of packages, an error at a package,\MessageBreak or a mistake by the user.\MessageBreak }% }{% \begingroup \protected@edef\reserved@a{% \noexpand\g@addto@macro\noexpand\tb@listoftocs{% \noexpand\do{#2}{#1}}}\reserved@a \endgroup \ifx\relax #1\relax\else \@ifundefined{tb@#1@add@hook}{}{% \edef\reserved@a{% \noexpand\def\noexpand\@currext{#2}% \noexpand\@nameuse{tb@#1@add@hook}% \noexpand\def\noexpand\@currext{\@currext}% }\reserved@a }% \fi \edef\reserved@a{% \noexpand\def\noexpand\@currext{#2}% \noexpand\@nameuse{tb@@add@hook}% \noexpand\def\noexpand\@currext{\@currext}% }\reserved@a }% } \newcommand*{\AtAddToTocList}{% \@ifnextchar [%] \@@AtAddToTocList\@AtAddToTocList } \newcommand*{\@AtAddToTocList}{% \ifx\@currname\@empty \def\reserved@a{\@@AtAddToTocList[]}% \else \edef\reserved@a{\noexpand\@@AtAddToTocList[\@currname.\@currext]}% \fi \reserved@a } \newcommand*{\@@AtAddToTocList}[1][]{% \@ifundefined{tb@#1@add@hook}{\@namedef{tb@#1@add@hook}{}}{}% \expandafter\g@addto@macro\csname tb@#1@add@hook\endcsname } \newcommand*{\tocbasic@extend@babel}[1]{% \begingroup\expandafter\expandafter\expandafter\endgroup \ifx\csname bbl@set@language\endcsname\relax \PackageInfo{tocbasic}{babel extension for `#1' omitted\MessageBreak because of missing \string\bbl@set@language}% \else \iftocfeature{#1}{nobabel}{% \PackageInfo{tocbasic}{omitting babel extension for `#1'\MessageBreak because of feature `nobabel' available\MessageBreak for `#1'}% }{% \PackageInfo{tocbasic}{setting babel extension for `#1'}% \expandafter\gdef\expandafter\bbl@set@language\expandafter##\expandafter1% \expandafter{% \bbl@set@language{##1}% \addtocontents{#1}{\xstring\select@language{\languagename}}% }% }% \fi } \AtAddToTocList[]{\expandafter\tocbasic@extend@babel\expandafter{\@currext}} \newcommand*{\removefromtoclist}{% \@ifnextchar [%] \@removefromtoclist\@@removefromtoclist } \newcommand*{\@removefromtoclist}[2][]{% \begingroup \let\tb@oldlist\tb@listoftocs \def\do##1##2{% \edef\reserved@a{##1}% \ifx\reserved@a\reserved@b \begingroup \edef\reserved@a{##2}% \edef\reserved@b{#1}% \ifx\reserved@a\reserved@b\else \g@addto@macro\tb@listoftocs{\do{##1}{##2}}% \fi \endgroup \else \g@addto@macro\tb@listoftocs{\do{##1}{##2}}% \fi }% \edef\reserved@b{#2}\let\tb@listoftocs\@empty \tb@oldlist \endgroup } \newcommand*{\@@removefromtoclist}[1]{% \begingroup \let\tb@oldlist\tb@listoftocs \def\do##1##2{% \edef\reserved@a{##1}% \ifx\reserved@a\reserved@b\else \g@addto@macro\tb@listoftocs{\do{##1}{##2}}% \fi }% \edef\reserved@b{#1}\let\tb@listoftocs\@empty \tb@oldlist \endgroup } \newcommand{\doforeachtocfile}{% \@ifnextchar [%] \@doforeachtocfile\@@doforeachtocfile } \newcommand{\@doforeachtocfile}[2][]{% \def\do##1##2{% \edef\reserved@a{#1}\edef\reserved@b{##2}\ifx\reserved@a\reserved@b \edef\@currext{##1}#2% \fi }% \edef\reserved@a{% \noexpand\tb@listoftocs \noexpand\def\noexpand\@currext{\@currext}% }\reserved@a \let\do\relax } \newcommand{\@@doforeachtocfile}[1]{% \def\do##1##2{% \edef\@currext{##1}#1% }% \edef\reserved@a{% \noexpand\tb@listoftocs \noexpand\def\noexpand\@currext{\@currext}% }\reserved@a \let\do\relax } \newcommand{\addtoeachtocfile}{% \@ifnextchar [%] \@addtoeachtocfile\@@addtoeachtocfile } \newcommand{\@addtoeachtocfile}[2][]{% \doforeachtocfile[{#1}]{\addtocontents{\@currext}{#2}}% } \newcommand{\@@addtoeachtocfile}[1]{% \doforeachtocfile{\addtocontents{\@currext}{#1}}% } \newcommand{\addcontentslinetoeachtocfile}{% \@ifnextchar [%] \@addcontentslinetoeachtocfile\@@addcontentslinetoeachtocfile } \newcommand{\@addcontentslinetoeachtocfile}[3][]{% \doforeachtocfile[{#1}]{\addcontentsline{\@currext}{#2}{#3}}% } \newcommand{\@@addcontentslinetoeachtocfile}[2]{% \doforeachtocfile{\addcontentsline{\@currext}{#1}{#2}}% } \newcommand*{\addxcontentsline}[2]{% \@ifnextchar [%] {\@addxcontentsline{#1}{#2}}% {\@addxcontentsline{#1}{#2}[]}% } \newcommand*{\@addxcontentsline}{} \def\@addxcontentsline#1#2[#3]#4{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname add#2#1entry\endcsname\relax \tocbasic@addxcontentsline{#1}{#2}{#3}{#4}% \else \@nameuse{add#2#1entry}{#3}{#4}% \fi } \newcommand*{\nonumberline}{}% \newcommand*{\tocbasic@addxcontentsline}[4]{% \if\relax\detokenize{#3}\relax \addcontentsline{#1}{#2}{\protect\nonumberline#4}% \else \addcontentsline{#1}{#2}{\protect\numberline{#3}#4}% \fi } \newcommand{\addxcontentslinetoeachtocfile}{% \@ifnextchar [%] \@addxcontentslinetoeachtocfile\@@addxcontentslinetoeachtocfile } \newcommand{\@addxcontentslinetoeachtocfile}[2][]{% \@ifnextchar [%] {\@@@addxcontentslinetoeachtocfile[{#1}]{#2}}% {\@@@addxcontentslinetoeachtocfile[{#1}]{#2}[]} } \newcommand*{\@@@addxcontentslinetoeachtocfile}{} \def\@@@addxcontentslinetoeachtocfile[#1]#2[#3]#4{% \doforeachtocfile[{#1}]{\addxcontentsline{\@currext}{#2}[#3]{#4}}% } \newcommand{\@@addxcontentslinetoeachtocfile}[1]{% \@ifnextchar [%] {\@@@@addxcontentslinetoeachtocfile{#1}}% {\@@@@addxcontentslinetoeachtocfile{#1}[]}% } \newcommand*{\@@@@addxcontentslinetoeachtocfile}{} \def\@@@@addxcontentslinetoeachtocfile#1[#2]#3{% \doforeachtocfile{\addxcontentsline{\@currext}{#1}[{#2}]{#3}}% } \newcommand*{\tocbasic@starttoc}[1]{% \begingroup \edef\@currext{#1}% \iftocfeature{\@currext}{noparskipfake}{}{% \ifvmode \@tempskipa\lastskip \vskip-\lastskip \addtolength{\@tempskipa}{\parskip}% \vskip\@tempskipa \fi }% \setlength{\parskip}{\z@}% \setlength{\parindent}{\z@}% \setlength{\parfillskip}{\z@\@plus 1fil}% \csname tocbasic@@before@hook\endcsname \csname tb@#1@before@hook\endcsname \@starttoc{#1}% \csname tb@#1@after@hook\endcsname \csname tocbasic@@after@hook\endcsname \endgroup } \newcommand*{\tocbasic@@before@hook}{} \newcommand*{\tocbasic@@after@hook}{} \newcommand{\BeforeStartingTOC}[2][]{% \ifx\relax#1\relax \g@addto@macro\tocbasic@@before@hook{#2}% \else \@ifundefined{tb@#1@before@hook}{% \PackageInfo{tocbasic}{defining new hook before starting `#1'}% \expandafter\global\expandafter\let\csname tb@#1@before@hook\endcsname \@empty }{}% \expandafter\g@addto@macro\csname tb@#1@before@hook\endcsname{#2}% \fi } \newcommand{\AfterStartingTOC}[2][]{% \ifx\relax#1\relax \g@addto@macro\tocbasic@@after@hook{#2}% \else \@ifundefined{tb@#1@after@hook}{% \PackageInfo{tocbasic}{defining new hook after starting `#1'}% \expandafter\global\expandafter\let\csname tb@#1@after@hook\endcsname \@empty }{}% \expandafter\g@addto@macro\csname tb@#1@after@hook\endcsname{#2}% \fi } \newcommand*{\listoftoc}{% \@ifstar \tocbasic@starttoc\@listoftoc } \newcommand*{\@listoftoc}[2][\list@fname]{% \begingroup \@ifundefined{listof#2name}{% \let\list@fname\relax \ifx\relax#1\relax \PackageWarning{tocbasic}{% You should either define \expandafter\string\csname listof#2name\endcsname\MessageBreak or use the optional argument of \string\listoftoc\space\MessageBreak to set the term to be used for the\MessageBreak heading of list of #2}% \def\list@fname{\listofname~#2}% \fi }{% \expandafter\let\expandafter\list@fname\csname listof#2name\endcsname }% \edef\@currext{#2}% \iftocfeature{\@currext}{onecolumn}{% \iftocfeature{\@currext}{leveldown}{}{% \if@twocolumn \aftergroup\twocolumn\onecolumn \fi }% }{}% \iftocfeature{\@currext}{numberline}{\def\nonumberline{\numberline{}}}{}% \tocbasic@listhead{#1}% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname microtypesetup\endcsname\relax \else \iftocfeature{\@currext}{noprotrusion}{}{% \microtypesetup{protrusion=false}% \PackageInfo{tocbasic}{character protrusion at \@currext\space deactivated}% }% \fi \tocbasic@starttoc{#2}% \endgroup } \newcommand*{\listofname}{List of} \newcommand*{\listofeachtoc}{% \@ifnextchar [%] \@listofeachtoc\@@listofeachtoc } \newcommand{\@listofeachtoc}[1][]{% \doforeachtocfile[{#1}]{\listoftoc{\@currext}}% } \newcommand{\@@listofeachtoc}[1]{% \doforeachtocfile{\listoftoc{\@currext}}% } \newcommand*{\tocbasic@listhead}[1]{% \@ifundefined{tocbasic@listhead@\@currext}{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname chapter\endcsname\relax \expandafter\def\csname tocbasic@listhead@\@currext\endcsname##1{% \iftocfeature{\@currext}{leveldown}{% \iftocfeature{\@currext}{numbered}{% \subsection[##1]{##1}% }{% \subsection*{##1}% \ifvmode\@tempcnta\lastpenalty\@tempskipa\lastskip\unskip\fi \begingroup \iftocfeature{\@currext}{totoc}{% \addxcontentsline{toc}{subsection}{##1}% }{}% \@ifundefined{@mkright}{% \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi }{% \@mkright{\MakeMarkcase{##1}}% }% \endgroup \ifvmode\penalty\@tempcnta\vskip\@tempskipa\fi }% }{% \iftocfeature{\@currext}{numbered}{% \section[##1]{##1}% }{% \section*{##1}% \ifvmode\@tempcnta\lastpenalty\@tempskipa\lastskip\unskip\fi \begingroup \iftocfeature{\@currext}{totoc}{% \addxcontentsline{toc}{section}{##1}% }{}% \@ifundefined{@mkdouble}{% \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% }{% \@mkdouble{\MakeMarkcase{##1}}% }% \endgroup \ifvmode\penalty\@tempcnta\vskip\@tempskipa\fi }% }% }% \else \expandafter\def\csname tocbasic@listhead@\@currext\endcsname##1{% \iftocfeature{\@currext}{leveldown}{% \iftocfeature{\@currext}{numbered}{% \section{##1}% }{% \iftocfeature{\@currext}{totoc}{% \begingroup \@ifundefined{addsec}{% \section*{##1}% \ifvmode\@tempcnta\lastpenalty\@tempskipa\lastskip\unskip\fi \begingroup \@ifundefined{@mkright}{% \ifx\@mkboth\@gobbletwo \else\markright{\MakeMarkcase{##1}}\fi }{% \@mkright{\MakeMarkcase{##1}}% }% \addxcontentsline{toc}{section}{##1}% \endgroup \ifvmode\penalty\@tempcnta\vskip\@tempskipa\fi }{% \addsec{##1}% }% \endgroup }{% \section*{##1}% \ifvmode\@tempcnta\lastpenalty\@tempskipa\lastskip\unskip\fi \begingroup \@ifundefined{@mkright}{% \ifx\@mkboth\@gobbletwo \else\markright{\MakeMarkcase{##1}}\fi }{% \@mkright{\MakeMarkcase{##1}}% }% \endgroup \ifvmode\penalty\@tempcnta\vskip\@tempskipa\fi }% }% }{% \iftocfeature{\@currext}{numbered}{% \chapter[##1]{##1}% }{% \chapter*{##1}% \ifvmode\@tempcnta\lastpenalty\@tempskipa\lastskip\unskip\fi \begingroup \@ifundefined{@mkdouble}{% \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% }{% \@mkdouble{\MakeMarkcase{##1}}% }% \iftocfeature{\@currext}{totoc}{% \addxcontentsline{toc}{chapter}{##1}% }{}% \endgroup \ifvmode\penalty\@tempcnta\vskip\@tempskipa\fi }% }% }% \fi }{}% \csname tb@@beforehead@hook\endcsname \csname tb@\@currext @beforehead@hook\endcsname \csname tocbasic@listhead@\@currext\endcsname{#1}% \csname tb@\@currext @afterhead@hook\endcsname \csname tb@@afterhead@hook\endcsname } \newcommand{\BeforeTOCHead}[2][]{% \@ifundefined{tb@#1@beforehead@hook}{% \PackageInfo{tocbasic}{defining new hook before heading of `#1'}% \expandafter\global\expandafter\let\csname tb@#1@beforehead@hook\endcsname \@empty }{}% \expandafter\g@addto@macro\csname tb@#1@beforehead@hook\endcsname{#2}% } \newcommand{\AfterTOCHead}[2][]{% \@ifundefined{tb@#1@afterhead@hook}{% \PackageInfo{tocbasic}{defining new hook after heading of `#1'}% \expandafter\global\expandafter\let\csname tb@#1@afterhead@hook\endcsname \@empty }{}% \expandafter\g@addto@macro\csname tb@#1@afterhead@hook\endcsname{#2}% } \AtBeginDocument{% \@ifundefined{MakeMarkcase}{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname KOMAClassName\endcsname\relax \let\MakeMarkcase\MakeUppercase \else \let\MakeMarkcase\@firstofone \fi }{}% } \newcommand*{\deftocheading}[1]{% \@namedef{tocbasic@listhead@#1}##1} \newcommand*{\setuptoc}[2]{% \@for\@tempa:=#2\do{% \expandafter\tb@@sp@def\expandafter\@tempa\expandafter{\@tempa}% \@namedef{tocbasic@#1@feature@\@tempa}{}% }% } \newcommand*{\unsettoc}[2]{% \@for\@tempa:=#2\do{% \expandafter\tb@@sp@def\expandafter\@tempa\expandafter{\@tempa}% \expandafter\let\csname tocbasic@#1@feature@\@tempa\endcsname\relax }% } \def\@tempa#1{% \def\tb@@sp@def##1##2{% \futurelet\tb@sp@tempa\tb@@sp@d##2\@nil\@nil#1\@nil\relax##1}% \def\tb@@sp@d{% \ifx\tb@sp@tempa\@sptoken \expandafter\tb@@sp@b \else \expandafter\tb@@sp@b\expandafter#1% \fi}% \def\tb@@sp@b#1##1 \@nil{\tb@@sp@c##1}% } \@tempa{ } \def\tb@@sp@c#1\@nil#2\relax#3{\@temptokena{#1}\edef#3{\the\@temptokena}} \setuptoc{toc}{nobabel} \setuptoc{lof}{nobabel} \setuptoc{lot}{nobabel} \newcommand*{\iftocfeature}[2]{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname tocbasic@#1@feature@#2\endcsname\relax \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi } \newcommand*{\tocbasicautomode}{% \let\tb@saved@starttoc\@starttoc \let\@starttoc\tocbasic@starttoc \BeforeStartingTOC{% \let\@starttoc\tb@saved@starttoc \expandafter\ifattoclist\expandafter{\@currext}{}{% \addtotoclist[tocbasicautomode]{\@currext}% }% }% } \define@key{tocbasic}{type}{% \tb@ifvalueisnotempty{type}{#1}{\edef\tb@nt@type{#1}}% } \define@key{tocbasic}{counterwithin}{% \edef\tb@nt@counterwithin{#1}% } \define@key{tocbasic}{types}{% \tb@ifvalueisnotempty{types}{#1}{\edef\tb@nt@types{#1}}% } \define@key{tocbasic}{extension}{% \tb@ifvalueisnotempty{extension}{#1}{\edef\tb@nt@ext{#1}}% } \define@key{tocbasic}{owner}{% \tb@ifvalueisnotempty{owner}{#1}{\edef\tb@nt@owner{#1}}% } \define@key{tocbasic}{name}{% \tb@ifvalueisnotempty{name}{#1}{\edef\tb@nt@name{#1}}% } \define@key{tocbasic}{listname}{% \tb@ifvalueisnotempty{listname}{#1}{\def\tb@nt@listname{#1}}% } \newif\iftb@forcenames \define@key{tocbasic}{forcenames}[true]{% \lowercase{\tb@boolkey{#1}}{forcenames}% } \define@key{tocbasic}{level}{% \tb@ifvalueisnotempty{level}{#1}{\tb@numkey\tb@nt@level{#1}}% } \define@key{tocbasic}{indent}{% \tb@ifvalueisnotempty{indent}{#1}{\tb@dimkey\tb@nt@indent{#1}}% } \define@key{tocbasic}{hang}{% \tb@ifvalueisnotempty{hang}{#1}{\tb@dimkey\tb@nt@hang{#1}}% } \newif\iftb@float \define@key{tocbasic}{float}[true]{% \lowercase{\tb@boolkey{#1}}{float}% } \newif\iftb@nonfloat \define@key{tocbasic}{nonfloat}[true]{% \lowercase{\tb@boolkey{#1}}{nonfloat}% } \define@key{tocbasic}{floattype}{% \tb@ifvalueisnotempty{floattype}{#1}{\tb@numkey\tb@nt@floattype{#1}}% } \define@key{tocbasic}{floatpos}{% \tb@ifvalueisnotempty{floatpos}{#1}{\edef\tb@nt@floatpos{#1}}% } \define@key{tocbasic}{atbegin}{% \def\tb@nt@atbegin{#1}% } \define@key{tocbasic}{atend}{% \def\tb@nt@atend{#1}% } \newcommand*{\DeclareNewTOC}[2][]{% \tb@floatfalse \tb@nonfloatfalse \tb@forcenamesfalse \def\tb@nt@floattype{\tb@nt@autofloattype}% \def\tb@nt@floatpos{tbp}% \def\tb@nt@ext{#2}% \def\tb@nt@type{#2}% \let\tb@nt@types\relax \def\tb@nt@owner{float}% \def\tb@nt@name{\expandafter\protect\expandafter\MakeUppercase\tb@nt@type}% \let\tb@nt@listname\relax \def\tb@nt@level{1}% \def\tb@nt@indent{1em}% \def\tb@nt@hang{1.5em}% \let\tb@nt@counterwithin\@empty \let\tb@nt@atbegin\@empty \let\tb@nt@atend\@empty \setkeys{tocbasic}{#1}% \expandafter\newcommand\csname ext@\tb@nt@type\endcsname{}% \expandafter\let\csname ext@\tb@nt@type\endcsname\tb@nt@ext \addtotoclist[\tb@nt@owner]{\csname ext@\tb@nt@type\endcsname}% \scr@ifundefinedorrelax{tb@nt@types}{% \edef\tb@nt@types{\tb@nt@type s}% }{}% \scr@ifundefinedorrelax{tb@nt@listname}{% \protected@edef\tb@nt@listname{List of \protect\MakeUppercase\tb@nt@types}% }{}% \@ifundefined{\tb@nt@type name}{% \expandafter\protected@edef\csname \tb@nt@type name\endcsname{\tb@nt@name}% }{% \iftb@forcenames \expandafter\protected@edef\csname \tb@nt@type name\endcsname {\tb@nt@name}% \fi }% \@ifundefined{list\tb@nt@type name}{% \expandafter\let\csname list\tb@nt@type name\endcsname\tb@nt@listname }{% \iftb@forcenames \expandafter\let\csname list\tb@nt@type name\endcsname\tb@nt@listname \fi }% \expandafter\newcommand\csname listof\tb@nt@ext name\expandafter\endcsname \expandafter{\csname list\tb@nt@type name\endcsname}% \begingroup\edef\@tempa{\endgroup \noexpand\newcommand*\csname listof\tb@nt@types\endcsname{% \noexpand\listoftoc{\tb@nt@ext}% }% }\@tempa \begingroup\edef\@tempa{\endgroup \noexpand\newcommand*\csname l@\tb@nt@type\endcsname{% \noexpand\@dottedtocline{\tb@nt@level}{\tb@nt@indent}{\tb@nt@hang}% }% }\@tempa \@ifundefined{listof\tb@nt@ext entryname}{% \expandafter\let\csname listof\tb@nt@ext entryname\endcsname\tb@nt@name }{}% \begingroup\edef\@tempa{\endgroup \noexpand\newcommand*\csname setup\tb@nt@types\endcsname{% \noexpand\setuptoc{\tb@nt@ext}% }% }\@tempa \@tempswafalse \iftb@float \expandafter\newcommand\expandafter*\csname fps@\tb@nt@type\expandafter \endcsname\expandafter{\tb@nt@floatpos}% \expandafter\newcommand\expandafter*\csname ftype@\tb@nt@type\expandafter \endcsname\expandafter{\tb@nt@floattype}% \begingroup \edef\@tempa{% \noexpand\endgroup \noexpand\newenvironment{\tb@nt@type}{% \noexpand\@ifnextchar[%] {\noexpand\tb@atbegin@after\noexpand\@float{\tb@nt@type}}% {\noexpand\edef\noexpand\reserved@a{% \noexpand\noexpand\noexpand\tb@atbegin@after \noexpand\noexpand\noexpand\@float{\tb@nt@type}% [\noexpand\csname fps@\tb@nt@type\noexpand\endcsname]}% \noexpand\reserved@a}% }{% \noexpand\csname \tb@nt@type @atend\noexpand\endcsname \noexpand\end@float }% \noexpand\newenvironment{\tb@nt@type*}{% \noexpand\@ifnextchar[%] {\noexpand\tb@atbegin@after\noexpand\@dblfloat{\tb@nt@type}}% {\noexpand\edef\noexpand\reserved@a{% \noexpand\noexpand\noexpand\tb@atbegin@after \noexpand\noexpand\noexpand\@dblfloat{\tb@nt@type}% [\noexpand\csname fps@\tb@nt@type\noexpand\endcsname]}% \noexpand\reserved@a}% }{% \noexpand\csname \tb@nt@type @atend\noexpand\endcsname \noexpand\end@dblfloat }% }% \@tempa \@tempswatrue \fi \iftb@nonfloat \begingroup \edef\@tempa{% \noexpand\endgroup \noexpand\newenvironment{\tb@nt@type-}{% \noexpand\trivlist\noexpand\item\noexpand\relax \noexpand\minipage{\noexpand\linewidth}% \noexpand\def\noexpand\@captype{\tb@nt@type}% \noexpand\csname \tb@nt@type @atbegin\noexpand\endcsname }{% \noexpand\csname \tb@nt@type @atend\noexpand\endcsname \noexpand\endminipage\noexpand\endtrivlist }% }% \@tempa \@tempswatrue \fi \if@tempswa \@ifundefined{c@\tb@nt@type}{% \newcounter{\tb@nt@type}% }{% \PackageWarning{tocbasic}{using already defined counter `\tb@nt@type'}% }% \ifx\tb@nt@counterwithin\@empty\else \@addtoreset{\tb@nt@type}{\tb@nt@counterwithin}% \begingroup\edef\@tempa{% \noexpand\endgroup \noexpand\renewcommand*\expandafter\noexpand \csname the\tb@nt@type\endcsname{% \expandafter\noexpand\csname the\tb@nt@counterwithin\endcsname .\noexpand\arabic{\tb@nt@type}% }% }\@tempa \fi \begingroup \edef\@tempa{% \noexpand\endgroup \noexpand\newcommand*\expandafter\noexpand \csname \tb@nt@type format\endcsname{% \expandafter\noexpand\csname \tb@nt@type name\endcsname \noexpand\nobreakspace \expandafter\noexpand\csname the\tb@nt@type\endcsname \ifx\tb@nt@counterwithin\@empty\else \noexpand\csname autodot\endcsname \fi }% \noexpand\newcommand*\expandafter\noexpand \csname fnum@\tb@nt@type\endcsname{% \expandafter\noexpand\csname \tb@nt@type format\endcsname }% }% \@tempa \expandafter\newcommand\expandafter*\csname \tb@nt@type @atbegin\expandafter \endcsname\expandafter{\tb@nt@atbegin}% \expandafter\newcommand\expandafter*\csname \tb@nt@type @atend\expandafter \endcsname\expandafter{\tb@nt@atend}% \fi } \newcommand*{\tb@atbegin@after}[3]{} \def\tb@atbegin@after#1#2[#3]{% #1{#2}[#3]% \csname #2@atbegin\endcsname } \newcommand*{\tb@ifvalueisnotempty}[2]{% \begingroup \edef\@tempa{#2}\ifx\@tempa\@empty \PackageError{tocbasic}{empty value for key `#1'}{% The argument of key `#1' may not by empty!}% \aftergroup\@gobble \else \aftergroup\@firstofone \fi \endgroup } \newcommand*{\tb@boolkey}[2]{% \csname tb@#2\ifx\relax#1\relax true\else#1\fi\endcsname } \newcommand*{\tb@dimkey}[2]{% \begingroup \@defaultunits\@tempdima#2pt\relax\@nnil \edef\@tempa{\noexpand\endgroup\noexpand\def\noexpand#1{\the\@tempdima}} \@tempa } \newcommand*{\tb@numkey}[2]{% \begingroup \afterassignment\remove@to@nnil\@tempcnta#2\relax\@nnil \edef\@tempa{\noexpand\endgroup\noexpand\def\noexpand#1{\the\@tempcnta}} \@tempa } \newcommand*{\tb@nt@autofloattype}{16} %%% From File: $Id: scrlogo.dtx 1380 2013-10-01 15:31:55Z mjk $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} \endinput %% %% End of file `tocbasic.sty'.