From 57c3fea48ee17ecf9aaf708519e4301906a31b2f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 13 Jan 2006 00:11:09 +0000 Subject: volumes git-svn-id: svn://tug.org/texlive/trunk@1444 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/volumes/nowtoaux.sty | 43 +++++ Master/texmf-dist/tex/latex/volumes/volumes.sty | 217 +++++++++++++++++++++++ 2 files changed, 260 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/volumes/nowtoaux.sty create mode 100644 Master/texmf-dist/tex/latex/volumes/volumes.sty diff --git a/Master/texmf-dist/tex/latex/volumes/nowtoaux.sty b/Master/texmf-dist/tex/latex/volumes/nowtoaux.sty new file mode 100644 index 00000000000..e2d06d39536 --- /dev/null +++ b/Master/texmf-dist/tex/latex/volumes/nowtoaux.sty @@ -0,0 +1,43 @@ +%% +%% This is file `nowtoaux.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% volumes.dtx (with options: `nowtoaux') +%% +%% Copyright (C) 2003 Frank Küster. +%% +%% All rights reserved. +\ProvidesPackage{nowtoaux}[2004/06/14 v1.0 write to the aux file immediately] +\long\def\immediateaddtocontents#1#2{% + \immediate@protected@write\@auxout + {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}% + {\string\@writefile{#1}{#2}} +} +\long\def \immediate@protected@write#1#2#3{% + \begingroup + \let\thepage\relax + #2% + \let\protect\@unexpandable@protect + \edef\reserved@a{\immediate\write#1{#3}}% + \reserved@a + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi +} +\long\def\writeaux#1{% + \protected@write\@auxout + {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}% + {#1} +} +\long\def\immediatewriteaux#1{% + \immediate@protected@write\@auxout + {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}% + {#1} +} +\long\def\macrotoaux#1{% + \immediatewriteaux{\string#1} +} +\endinput +%% +%% End of file `nowtoaux.sty'. diff --git a/Master/texmf-dist/tex/latex/volumes/volumes.sty b/Master/texmf-dist/tex/latex/volumes/volumes.sty new file mode 100644 index 00000000000..682fbd51ed5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/volumes/volumes.sty @@ -0,0 +1,217 @@ +%% +%% This is file `volumes.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% volumes.dtx (with options: `volumes') +%% +%% Copyright (C) 2003 Frank Küster. +%% +%% All rights reserved. +\ProvidesPackage{volumes} + [2004/06/02 v1.0 print only parts of a LaTeX document, + with complete indices etc.] +\newif\if@allincludes\@allincludestrue +\newif\if@tocall\@tocallfalse +\newif\if@lofall\@lofallfalse +\newif\if@lotall\@lotallfalse +\DeclareOption{manual}{\@allincludesfalse} +\DeclareOption{tocall}{\@tocalltrue} +\DeclareOption{lofall}{\@lofalltrue} +\DeclareOption{lotall}{\@lotalltrue} +\ProcessOptions% +\RequirePackage{nowtoaux} +\newcommand{\vol@do@addto}[1]{#1} +\let\vol@dont@addto\@gobble +\newcommand{\voladdtotoc}[1]{% + \addtocontents{toc}{\protect\vol@maybe@addto@toc{#1}}% +}% +\let\vol@maybe@addto@toc\vol@do@addto +\newcommand{\voladdtolof}[1]{% + \addtocontents{lof}{\protect\vol@maybe@addto@lof{#1}}% +}% +\let\vol@maybe@addto@lof\vol@do@addto +\newcommand{\voladdtolot}[1]{% + \addtocontents{lot}{\protect\vol@maybe@addto@lot{#1}}% +}% +\let\vol@maybe@addto@lot\vol@do@addto +\let\volumes@orig@contentsline\contentsline \RequirePackage{scrlfile} +\AfterPackage{hyperref}{\let\volumes@orig@contentsline\contentsline} +\@ifpackageloaded{hyperref}{% + \let\volumes@new@contentsline\@gobblefour +}{% + \def\volumes@new@contentsline#1#2#3{} + \AfterPackage{hyperref}{% + \let\volumes@new@contentsline\@gobblefour + } +} +\def\volumes@switch@orig@contentsline@toc{% + \let\contentsline\volumes@orig@contentsline% + \let\vol@maybe@addto@toc\vol@do@addto +} +\def\volumes@switch@new@contentsline@toc{% + \let\contentsline\volumes@new@contentsline% + \let\vol@maybe@addto@toc\vol@dont@addto +} +\def\volumes@switch@orig@contentsline@lof{% + \let\contentsline\volumes@orig@contentsline% + \let\vol@maybe@addto@lof\vol@do@addto +} +\def\volumes@switch@new@contentsline@lof{% + \let\contentsline\volumes@new@contentsline% + \let\vol@maybe@addto@lof\vol@dont@addto +} +\def\volumes@switch@orig@contentsline@lot{% + \let\contentsline\volumes@orig@contentsline% + \let\vol@maybe@addto@lot\vol@do@addto +} +\def\volumes@switch@new@contentsline@lot{% + \let\contentsline\volumes@new@contentsline% + \let\vol@maybe@addto@lot\vol@dont@addto +} +\def\volume@switch@off{% + \if@tocall\else% + \immediateaddtocontents{toc}{\protect\volumes@switch@new@contentsline@toc}% + \fi% + \if@lofall\else% + \immediateaddtocontents{lof}{\protect\volumes@switch@new@contentsline@lof}% + \fi% + \if@lotall\else% + \immediateaddtocontents{lot}{\protect\volumes@switch@new@contentsline@lof}% + \fi% +} +\def\volume@switch@on{% + \immediateaddtocontents{toc}{\protect\volumes@switch@orig@contentsline@toc}% + \immediateaddtocontents{lof}{\protect\volumes@switch@orig@contentsline@lof}% + \immediateaddtocontents{lot}{\protect\volumes@switch@orig@contentsline@lof}% +} +\def\volumecommand#1#2{% + \expandafter\def\csname volume@command@#1\endcsname{% + #2% + }% +} +\def\allvolumescommand#1{% + \def\all@volumes@command{#1}% +} +\let\all@volumes@command\relax +\providecommand\ifnumber[3]{ + \begingroup\@tempswafalse\let\scr@next\test@number + \expandafter\scr@next#1\scr@next + \if@tempswa\endgroup#2\else\endgroup#3\fi +} +\providecommand*{\test@number}[1]{ + \ifx \scr@next#1 + \let\scr@next\relax + \else + \@tempcnta=\expandafter\expandafter\expandafter\number + \expandafter`#1\relax + \ifnum \@tempcnta>47\relax + \ifnum \@tempcnta<58\relax + \@tempswatrue + \else\@tempswafalse\fi + \else\@tempswafalse\fi + \if@tempswa\else\let\scr@next\gobble@till@next\fi\fi + \scr@next} +\providecommand*{\gobble@till@next}{} +\def\gobble@till@next#1\scr@next{} +\newcommand*{\volumename}[1]{% + \def\volume@name{#1}% +}% +\volumename{volume}% +\newcommand*{\alwaysinclude}[1]{% + \if@allincludes + \PackageError{volumes}{% + need option "manual" for \string\alwaysinclude.% + }{% + You must use the option "manual" when you want to use + \string\alwaysinclude, and\MessageBreak specify + the volumes using \string\volumeone\space etc. - see + the package documentation. + } + \else + \def\always@include{,#1} + \fi +} +\def\always@include{} +\newcommand*{\onlyvolume}[1]{} +\def\onlyvolume{% + \@ifnextchar [{\@onlyvolume}{\@@onlyvolume} +} +\def\@onlyvolume[#1]{% + \ifnumber{#1}{% + \def\volume{#1} + }{% + \PackageError{volumes}{% + Argument to \string\onlyvolume\space must be a number% + }{% + The optional argument to \string\onlyvolume\space is used to + tell volumes.sty which volume it should typeset. You should have + specified a number there, but instead, you said: \volume% + }% + }% + \@@onlyvolume +} +\newcounter{volume}% +\newcounter{numberofvolumes}\setcounter{numberofvolumes}{10}% +\def\@@onlyvolume{% + \ifx\volume\undefined% + \PackageWarningNoLine{volumes}{Typesetting complete document.} + \setcounter{volume}{0}% + \@whilenum\c@volume<\c@numberofvolumes\do + {% + \expandafter\let% + \csname volume@switch@\arabic{volume}\endcsname\relax% + \stepcounter{volume}% + }% + \setcounter{volume}{0}% + \AtBeginDocument{\all@volumes@command}% + \else + \ifnumber{\volume}{% + \PackageWarningNoLine{volumes}{Typesetting part \volume.} + }{% + \PackageError{volumes}{\string\volume\space is defined, but not a + number}{% + The macro \string\volume\space is used to tell volumes.sty which + volume it should typeset. You have defined this macro, but it is + not a number. Instead, it is: \volume% + }% + }% + \setcounter{volume}{0}% + \@whilenum\c@volume<\c@numberofvolumes\do {% + \expandafter\let% + \csname volume@switch@\arabic{volume}\endcsname% + \volume@switch@off% + \stepcounter{volume}% + } + \setcounter{volume}{0}% + \AtBeginDocument{\csname volume@command@\volume\endcsname} + \expandafter\let% + \csname volume@switch@\volume\endcsname\volume@switch@on + \includeonly{\volume@name\volume\always@include}% + \fi + \if@allincludes\else% + \@ifundefined{volumelist}{% + \def\volumelist{one,two,three,four,five,six,seven,eight,nine,ten}% + }{}% + \@for\vol@num:=\volumelist\do + {% + \stepcounter{volume}% + \expandafter\let\csname volume\vol@num\expandafter\endcsname% + \csname volume@switch@\arabic{volume}\endcsname% + }% + \setcounter{volume}{0}% + \fi +} +\setcounter{volume}{0}% +\if@allincludes% + \let\volume@orig@include\include% + \def\include{% + \stepcounter{volume}% + \csname volume@switch@\arabic{volume}\endcsname% + \volume@orig@include% + } +\fi +\endinput +%% +%% End of file `volumes.sty'. -- cgit v1.2.3