%% %% This is file `tableof.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% tableof.dtx (with options: `package') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from tableof.sty. %% %% For distribution of the original source see the terms %% for copying and modification in the file tableof.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% \ProvidesPackage{tableof} [2012/12/06 v1.0 tables of tagged contents (jfB)] %% %% Package `tableof' by Jean-Francois Burnol %% Copyright (C) 2012 by Jean-Francois Burnol %% \NeedsTeXFormat{LaTeX2e} \DeclareOption*{\PackageWarning{tableof}{Option `\CurrentOption' is unknown.}} \ProcessOptions\relax \newtoks\tof@toctoks \def\tof@readtoc#1{% \ifeof #1 \let\tof@nextread\@gobble \global\tof@toctoks=\expandafter{\the\tof@toctoks}% \else \let\tof@nextread\tof@readtoc \read #1 to \tof@buffer \tof@toctoks=\expandafter\expandafter\expandafter {\expandafter\the\expandafter\tof@toctoks\tof@buffer}% \fi \tof@nextread{#1}} \IfFileExists{\jobname .toc} {{\endlinechar=-1 \makeatletter \newread\tof@tf \openin\tof@tf\@filef@und \tof@readtoc\tof@tf \closein\tof@tf}}{} \AtBeginDocument{ \@ifpackageloaded{hyperref} {\def\tof@gobblethree@orfour#1#2#3#4{}% \ifx\hyper@last\@undefined\tof@toctoks{}\fi} {\def\tof@gobblethree@orfour#1#2#3{}}} \def\tof@tags{} \def\tof@tags@tmp{} \def\tof@untags@tmp{} \def\tof@true#1{\expandafter\let\csname if@tof#1.\endcsname\iftrue} \def\tof@false#1{\expandafter\let\csname if@tof#1.\endcsname\iffalse} \def\tof@secondiftrue#1{\csname if@tof#1.\endcsname \let\tof@next\@secondoftwo\fi} \def\tof@secondiffalse#1{\csname if@tof#1.\endcsname\else \let\tof@next\@secondoftwo\fi} \def\tof@setflags#1{% \let\tof@next\@firstoftwo \@for\@tempa:=#1\do{\tof@true{\@tempa}}% \@for\@tempa:=\tof@tags\do{\tof@false{\@tempa}}% \@for\@tempa:=\tof@tags@tmp\do{\tof@false{\@tempa}}% \@for\@tempa:=\tof@untags@tmp\do{\tof@true{\@tempa}}% \def\tof@tags@tmp{}\def\tof@untags@tmp{}} \def\tof@and#1{% \def\contentsline{% \tof@setflags{#1}% \@for\@tempa:=#1\do{\tof@secondiftrue{\@tempa}}% \tof@next\tof@savedcontentsline\tof@gobblethree@orfour} \the\tof@toctoks \endgroup} \def\tof@or#1{% \def\contentsline{% \tof@setflags{#1}% \@for\@tempa:=#1\do{\tof@secondiffalse{\@tempa}}% \tof@next\tof@gobblethree@orfour\tof@savedcontentsline} \the\tof@toctoks \endgroup} \def\tof@nor#1{% \def\contentsline{% \tof@setflags{#1}% \@for\@tempa:=#1\do{\tof@secondiffalse{\@tempa}}% \tof@next\tof@savedcontentsline\tof@gobblethree@orfour} \the\tof@toctoks \endgroup} \def\tof@nand#1{% \def\contentsline{% \tof@setflags{#1}% \@for\@tempa:=#1\do{\tof@secondiftrue{\@tempa}}% \tof@next\tof@gobblethree@orfour\tof@savedcontentsline} \the\tof@toctoks \endgroup} \def\tof@filter#1#2{\ifx#1#2\else \ifx\tof@tmptags\@empty\edef\tof@tmptags{#2}\else \edef\tof@tmptags{\tof@tmptags,#2}\fi\fi} \def\tof@@start#1{% \ifx\tof@tags\@empty\edef\tof@tags{#1}\else \edef\tof@tags{\tof@tags,#1}\fi} \def\tof@@stop#1{% \@for\@tempa:=#1\do{\def\tof@tmptags{}% \@for\@tempb:=\tof@tags\do{\tof@filter\@tempa\@tempb}% \edef\tof@tags{\tof@tmptags}}} \let\tof@start\@gobble \let\tof@stop\@gobble \let\tof@tagthis\@gobble \let\tof@untagthis\@gobble \def\tof@init{\begingroup \let\tof@savedcontentsline\contentsline \let\tof@start\tof@@start \let\tof@stop\tof@@stop \def\tof@tagthis##1{\def\tof@tags@tmp{##1}}% \def\tof@untagthis##1{\def\tof@untags@tmp{##1}}} \newcommand\tableof{\tof@init\@ifstar{\tof@or}{\tof@and}} \newcommand\tablenotof{\tof@init\@ifstar{\tof@nand}{\tof@nor}} \newcommand*\toftagthis[1]{\addtocontents{toc} {\string\tof@tagthis\string{#1\string}}} \newcommand*\tofuntagthis[1]{\addtocontents{toc} {\string\tof@untagthis\string{#1\string}}} \newcommand*\toftagstart[1]{\addtocontents{toc} {\string\tof@start\string{#1\string}}} \newcommand*\toftagstop[1]{\addtocontents{toc} {\string\tof@stop\string{#1\string}}} \newcommand\tofOpenTocFileForWrite{% \expandafter\newwrite \csname tf@toc\endcsname \immediate \openout \csname tf@toc\endcsname \jobname .toc\relax} \endinput %% %% End of file `tableof.sty'.