diff options
author | Karl Berry <karl@freefriends.org> | 2012-12-07 23:32:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-12-07 23:32:12 +0000 |
commit | ca94651714aa4fc2f0ce2f363011b2deda254885 (patch) | |
tree | 06e50d80bb33977e035c6194e68f7cc32ade4be9 /Master/texmf-dist/tex/latex/tableof | |
parent | 81453f2bdda510ae04b79c5a9f23b7dcba2e08e0 (diff) |
new latex package tableof (7dec12)
git-svn-id: svn://tug.org/texlive/trunk@28463 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tableof')
-rw-r--r-- | Master/texmf-dist/tex/latex/tableof/tableof.sty | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tableof/tableof.sty b/Master/texmf-dist/tex/latex/tableof/tableof.sty new file mode 100644 index 00000000000..c88ab65716a --- /dev/null +++ b/Master/texmf-dist/tex/latex/tableof/tableof.sty @@ -0,0 +1,135 @@ +%% +%% 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'. |