%% %% This is file `interfaces-tocloft.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% interfaces.dtx (with options: `tocloft') %% %% This is a generated file. %% %% interfaces : 2010/11/16 v2.2 - interfaces : interfaces with keys for other packages (FC) %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3 of this license or (at your option) any later %% version. The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% %% This work consists of the main source file interfaces.dtx %% and the derived files %% interfaces.sty, interfaces.pdf, interfaces.ins, %% interfaces-base.sty, %% interfaces-LaTeX.sty, %% interfaces-tikz.sty, %% interfaces-titlesec.sty, %% interfaces-hyperref.sty, %% interfaces-bookmark.sty, %% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex, %% interfaces-fancyhdr.sty, %% interfaces-marks.sty, %% interfaces-tocloft.sty, %% interfaces-makecell.sty, %% interfaces-enumitem.sty, %% interfaces-truncate.sty, %% interfaces-appendix.sty, %% interfaces-embedfile.sty, %% interfaces-environ.sty, %% interfaces-umrand.sty, %% interfaces-scrlfile.sty, %% interfaces-pgfkeys.sty, %% interfaces-etoolbox.sty, %% interfaces-fancyvrb.sty %% %% interfaces: interfaces with keys for other packages (FC) %% Copyright (C) 2010 by Florent Chervet %% \ProvidesPackage{interfaces-tocloft} [2010/11/16 v2.2 pgfkeys macros for tocloft (FC)] \RequirePackage{interfaces-base} \itf@Check@Package{tocloft} \itf@pgfkeys \newrobustcmd\tocsetup[1]{% \AfterPreamble{\itf@pgfkeys\pgfqkeys{/itf/tocloft/toc}{#1}}% }% \tocsetup \newrobustcmd\lofsetup[1]{% \AfterPreamble{\itf@pgfkeys\pgfqkeys{/itf/tocloft/lof}{#1}}% }% \lofsetup \newrobustcmd\lotsetup[1]{% \AfterPreamble{\itf@pgfkeys\pgfqkeys{/itf/tocloft/lot}{#1}}% }% \lotsetup \newrobustcmd\listofsetup[2]{% \AfterPreamble{\itf@pgfkeys\pgfqkeys{/itf/tocloft/#1}{#2}}% }% \listofsetup \def\itf@cft@newlistof#1{% \pgfqkeys{/itf/tocloft/#1}{% pagestyle/.code=\tocloftpagestyle{##1},% parskip/.store in skip cs=cftparskip,% parsep/.alias=parskip,% mark/.store in cs=cftmark#1,% marks/.alias=mark,% label/.store as code,% ref/.store as code,% ref/.initial=\csname cft#1title\endcsname,% overwritten (toc,lof,lot) ref/.default=\csname cft#1title\endcsname,% overwritten (toc,lof,lot) ref/.blank=\pgfkeysnovalue,% title/.store as code in cs=cft#1title,% overwritten below for toc, lof and lot title/top/.store in skip cs=cftbefore#1titleskip,% beforetitleskip/.alias*=title/top,% title/bottom/.store in skip cs=cftafter#1titleskip,% aftertitleskip/.alias*=title/bottom,% title/font/.store as code in cs=cft#1titlefont,% title/format/.alias*=title/font,% title/after/.store as code in cs=cftafter#1title,% title/command/.code=\csdef{@cftmake#1title}####1{##1},% dotsep/.code=\itf@units@mu\itf@musk{##1}% converts to mu \edef\cftdotsep{\itf@strip@mu\itf@musk},% dotsep/.default=4.5mu,% dotsep/.blank=\cftnodots,% dot/.store in=\cftdot,% before/.store as code,% after/.store as code,% columns/before@hook/.is private=interfaces-tocloft,% columns/after@hook/.is private=interfaces-tocloft,% columns/before@hook/.initial=,% columns/after@hook/.initial=,% columns/.code={\ltx@ifpackageloaded{multicol}{% \pgfkeysEsetvalue\pgfkeyscurrentkey{\number##1}% \ifnum\number##1>\@ne \pgfkeysgetvalue{/itf/tocloft/#1/columns/before@hook}\itf@tp \ifx\itf@tp\@empty \pgfkeyssetvalue{/itf/tocloft/#1/columns/before@hook}{% \begingroup \multicolsep\pgfkeysvalueof{/itf/tocloft/#1/multicolsep}\relax \begin{multicols}{\pgfkeysvalueof{/itf/tocloft/#1/columns}}% \columnseprule\pgfkeysvalueof{/itf/tocloft/#1/columns/rule}\relax \columnsep\pgfkeysvalueof{/itf/tocloft/#1/columns/sep}\relax \pgfkeysgetvalue{/itf/tocloft/#1/columns/rule/color}\columnseprulecolor \pgfkeysvalueof{/itf/tocloft/#1/multicols/begin}% }% \pgfkeyssetvalue{/itf/tocloft/#1/columns/after@hook}{% \pgfkeysvalueof{/itf/tocloft/#1/multicols/end}% \end{multicols} \endgroup }% \fi \else \pgfkeyslet\pgfkeyscurrentkey\@ne \pgfkeyslet{/itf/tocloft/#1/columns/before@hook}\@empty \pgfkeyslet{/itf/tocloft/#1/columns/after@hook}\@empty \fi} {\PackageError{interfaces-tocloft} {Key `columns': package multicol is required}\@eha}% },% columns/.default=2,columns/.blank=1,% multicol/.alias=columns,% multicols/.alias=columns,% twocolumns/.true=\pgfkeysalso{columns=2},% twocolumns/.false=\pgfkeysalso{columns=1},% columns/rule/.store as dimen,% columns/rule/.default=\columnseprule,% columns/rule,% assign default columnseprule/.alias*=columns/rule,% columns/rule/width/.alias*=columns/rule,% columns/sep/.store as dimen,% columns/sep/.default=\columnsep,% columns/sep/.blank=10\p@,% columns/sep,% assign default columnsep/.alias*=columns/sep,% columns/rule/color/.store as color command,% columns/rule/color,% assign default (\normalcolor) columnseprulecolor/.alias*=columns/rule/color,% columns/rulecolor/.alias*=columns/rule/color,% multicolsep/.store as glue,% multicolsep/.default=0pt plus4pt minus3pt,% multicolsep,% sets default multicols/begin/.initial=,multicols/begin/.default=,% multicols/before/.alias=multicols/begin,% multicols/end/.initial=,multicols/end/.default=,% multicols/after/.alias=multicols/end,% }% \pgfkeys \itf@AfterPackage{interfaces-bookmark}{% \pgfqkeys{/itf/tocloft/#1}{% bookmark/.is multiple choice,% bookmark/bold/.true=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,bold=true},% bookmark/bold/.false=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,bold=false},% bookmark/italic/.true=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,italic=true},% bookmark/italic/.false=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,italic=false},% bookmark/color/.code=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,color={##1}},% bookmark/level/.code=\pgfkeysEaddvalue{/itf/tocloft/#1/bookmark}{}{level={% \ifcsname toclevel@##1\endcsname \csname toclevel@##1\endcsname \else##1\fi}},% bookmark/text/.store as code,% bookmark/text/.default=\contentsname,% bookmark/.unknown/.code=\pgfkeysEaddvalue{/itf/tocloft/#1/bookmark}{}{\pgfkeyscurrentname={##1}},% bookmark/.initial=,% }% \pgfkeys }% AfterPackage interfaces-bookmark %% while making a format \jobname is expanded to the name of the format... Therefore, the following commands must be expanded \AtEndPreamble \AtEndPreamble{% \BeforeFile{\jobname.#1}{% \pgfkeysvalueof{/itf/tocloft/#1/before}% \pgfkeysvalueof{/itf/tocloft/#1/columns/before@hook}% }% \AfterFile{\jobname.#1}{% \pgfkeysvalueof{/itf/tocloft/#1/columns/after@hook}% \pgfkeysvalueof{/itf/tocloft/#1/after}% }% }% \ifcsname #1setup\endcsname\else \pgfqkeys{/itf/tocloft/#1}{% pagenumbers/.true=\@cftpnumon{#1},% pagenumbers/.false=\@cftpnumoff{#1},% pagenumber/.alias=pagenumbers }% \expandafter\pretocmd\csname @cftmake#1title\expandafter\endcsname \expandafter{\expandafter\itf@tocloft\csname cft#1title\endcsname{#1}{listof#1}} {\PackageInfo{interfaces-tocloft} {Command \expandafter\string\csname @cftmake#1title\endcsname successfully augmented}} {\PackageWarning{interfaces-tocloft} {Command \expandafter\string\csname @cftmake#1title\endcsname \space could not be patched \MessageBreak Keys label and bookmark won't work for \string\listofsetup}}% \fi }% \itf@cft@newlistof \itf@cft@newlistof{toc} \itf@cft@newlistof{lof} \itf@cft@newlistof{lot} %% Specific to toc only ------------------------------------------------------- \pgfqkeys{/itf/tocloft/toc}{% depth/.store in counter cs=c@tocdepth,% depth/.append code= \global\c@tocdepth\c@tocdepth \addtocontents{toc}{\c@tocdepth\the\c@tocdepth\relax},% tocdepth/.alias=depth,% title/.store as code in cs=contentsname,% contentsname/.alias=title,% ref/.initial=\contentsname,% ref/.default=\contentsname,% pagenumbers/.style={% boolean key part/pagenumbers={#1},chapter/pagenumbers={#1},section/pagenumbers={#1},% subsubsection/pagenumbers={#1},subsubsection/pagenumbers={#1},% paragraph/pagenumbers={#1},subparagraph/pagenumbers={#1}},% pagenumber/.alias=pagenumbers,% }% %% Specific to lof and lot ---------------------------------------------------- \pgfqkeys{/itf/tocloft/lof}{% title/.store as code in cs=listfigurename,% listfigurename/.alias=title,% ref/.initial=\listfigurename,% ref/.default=\listfigurename,% }% \pgfqkeys{/itf/tocloft/lot}{% title/.store as code in cs=listtablename,% listtablename/.alias=title,% ref/.initial=\listtablename,% ref/.default=\listtablename,% }% \if@cftsubfigopt \pgfqkeys{/itf/tocloft}{% lof/pagenumbers/.style={figure/pagenumbers={#1},subfigure/pagenumbers={#1}},% lof/pagenumber/.alias=lof/pagenumbers,% lof/depth/.store in counter cs=c@lofdepth,% lof/depth/.append code=\global\c@lofdepth\c@lofdepth\addtocontents{lof}{\c@lofdepth\the\c@lofdepth\relax},% lot/pagenumbers/.style={figure/pagenumbers={#1},subfigure/pagenumbers={#1}},% lot/pagenumber/.alias=lot/pagenumbers,% lot/depth/.store in counter cs=c@lotdepth,% lot/depth/.append code=\global\c@lotdepth\c@lotdepth\addtocontents{lot}{\c@lotdepth\the\c@lotdepth\relax},% }% \else \pgfqkeys{/itf/tocloft}{% lof/pagenumbers/.style={figure/pagenumbers={#1}},% lof/pagenumber/.alias=lof/pagenumbers,% lot/pagenumbers/.style={figure/pagenumbers={#1}},% lot/pagenumber/.alias=lot/pagenumbers,% }% \fi \def\itf@cft@name#1.#2.#3\@nil{cft#1\itf@cft@secname{#2}#3} \def\itf@cft@secname#1{% \expandafter\itf@cft@sec@name\csname#1\endcsname{#1}% }% \itf@cft@secname \def\itf@cft@sec@name#1#2{% \ifx#1\chapter chap\else \ifx#1\section sec\else \ifx#1\subsection subsec\else \ifx#1\subsubsection subsubsec\else \ifx#1\paragraph para\else \ifx#1\subparagraph subpara\else \ifx#1\figure fig\else \ifx#1\subsubfigure subfig\else \ifx#1\table tab\else \ifx#1\subtable subtab\else #2\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi }% \itf@cft@section@name %% tocloft setup for tables sections : \pgfkeys{% /handlers/.cft@def/.style={\pgfkeyscurrentpath/.store in cs=\itf@cft@name #1\@nil},% /handlers/.cft@code/.style={\pgfkeyscurrentpath/.store as code in cs=\itf@cft@name #1\@nil},% /handlers/.cft@length/.style={\pgfkeyscurrentpath/.store in skip cs=\itf@cft@name #1\@nil},% } \def\itf@cft@newsection#1#2{% #1=part / chap / sec / subsec etc., #2 = #1 = toc | lof | lot \pgfqkeys{/itf/tocloft/#2/#1}{% skip/.cft@length=before.#1.skip,% beforeskip/.alias*=skip,% top/.alias*=skip,% indent/.cft@length=.#1.indent,% font/.cft@code=.#1.font,% font/.append code={\pgfkeysalso{/itf/tocloft/#2/#1/pagenumber/font={##1}}},% format/.alias*=font,% number/width/.cft@length=.#1.numwidth,% numwidth/.alias*=number/width,% presnum/.cft@code=.#1.presnum,% number/before/.alias*=presnum,% aftersnum/.cft@code=.#1.aftersnum,% number/after/.alias*=aftersnum,% aftersnumb/.cft@code=.#1.aftersnumb,% title/before/.alias*=aftersnumb,% leader/.cft@def=.#1.leader,% leader/.default=\cftdotfill{\csname\itf@cft@name.#1.dotsep\@nil\endcsname},% leaders/.alias=leader,% dotsep/.code={\ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text \csdef{\itf@cft@name.#1.dotsep\@nil}{\cftdotsep}% \else \itf@units@mu\itf@musk{##1}% \csedef{\itf@cft@name.#1.dotsep\@nil}{\itf@strip@mu\itf@musk}% \fi},% dotsep/.blank=\cftnodots,% nodots/.code=\csdef{\itf@cft@name.#1.dotsep\@nil}{\cftnodots},% nodots/.value forbidden,% pagefont/.cft@code=.#1.pagefont,% page/font/.alias*=pagefont,% pagenumber/font/.alias*=pagefont,% afterpnum/.cft@code=.#1.afterpnum,% page/after/.alias*=afterpnum,% pagenumber/after/.alias*=afterpnum,% pagenumbers/.on=\@cftpnumon{\itf@cft@secname{#1}},% pagenumbers/.off=\@cftpnumoff{\itf@cft@secname{#1}},% pagenumber/.alias=pagenumbers,% }% \pgfqkeys }% \itf@cft@newsection \@for\itf@tp:=part,chap,chapter,sec,section,subsec,subsection,% subsubsec,subsubsection,para,paragraph,subpara,subparagraph% \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{toc}}% \if@cftsubfigopt % \@ifpackagewith{tocloft}{subfig} ?? \@for\itf@tp:=fig,figure,subfig,subfigure% \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lof}}% \@for\itf@tp:=tab,table,subtab,subtable% \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lot}}% \else \@for\itf@tp:=fig,figure% \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lof}}% \@for\itf@tp:=tab,table% \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lot}}% \fi \itf@patch\pretocmd\@cftmaketoctitle {\itf@tocloft\contentsname{toc}{tableofcontents}} {\PackageInfo{interfaces-tocloft} {Command \string\@cftmaketoctitle\space successfully augmented}} {\PackageWarning{interfaces-tocloft} {Command \string\@cftmaketoctitle\space could not be patched \MessageBreak label and bookmark keys for \string\tocsetup\space won't work}}% \itf@patch\pretocmd\@cftmakeloftitle {\itf@tocloft\listfigurename{lof}{listoffigures}} {\PackageInfo{interfaces-tocloft} {Command \string\@cftmakeloftitle\space successfully augmented}} {\PackageWarning{interfaces-tocloft} {Command \string\@cftmakeloftitle\space could not be patched \MessageBreak label and bookmark keys for \string\lofsetup\space won't work}}% \itf@patch\pretocmd\@cftmakelottitle {\itf@tocloft\listtablename{lot}{listoftables}} {\PackageInfo{interfaces-tocloft} {Command \string\@cftmakelottitle\space successfully augmented}} {\PackageWarning{interfaces-tocloft} {Command \string\@cftmakelottitle\space could not be patched \MessageBreak label and bookmark keys for \string\lotsetup\space won't work}}% \itf@patch\apptocmd\newlistentry {\itf@cft@newlistof{#2}} {\PackageInfo{interfaces-tocloft} {Command \string\newlistentry\space successfully augmented}} {\PackageWarning{interfaces-tocloft} {Command \string\newlistentry\space could not be patched \MessageBreak \string\listofsetup\space will not work}}% \def\itf@tocloft#1#2#3{% \expandafter\def\expandafter#1\expandafter{% \expandafter\itf@cft@label \expandafter#1\expandafter{#1}{#2}{#3}}% }% \itf@tocloft \long\def\itf@cft@label#1#2#3#4{% \def#1{#2}% restore original \begingroup \pgfkeysifdefined{/itf/tocloft/#3/bookmark} {% \raisedhyperdef{interfaces}{#4}{#2}% \pgfkeysgetvalue{/itf/tocloft/#3/bookmark/text}\itf@tp \ifx\itf@tp\@empty\else \pgfkeysgetvalue{/itf/tocloft/#3/bookmark}\@tempa \expandafter\bookmark\expandafter[% \expandafter{\@tempa,dest=interfaces.#4}]% {\pgfkeysvalueof{/itf/tocloft/#3/bookmark/text}}% \global\BKM@startatroottrue \fi} {#2}% \pgfkeysgetvalue{/itf/tocloft/#3/label}\itf@tp \ifx\itf@tp\@empty\else \def\@currentHref{interfaces.#4}% \pgfkeysgetvalue{/itf/tocloft/#3/ref}\@currentlabel \def\@currentlabelname{#2}% \label{\pgfkeysvalueof{/itf/tocloft/#3/label}}% \fi \endgroup \gdef\itf@tp{\def#1{#2}\let\itf@tp\@undefined}% restore original \aftergroup\itf@tp % simple group introduced by tocloft to print \contentsname }% \itf@cft@label \endinput %% %% End of file `interfaces-tocloft.sty'.