123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- %%
- %% This is file `appendix.sty',
- %% generated with the docstrip utility.
- %%
- %% The original source files were:
- %%
- %% appendix.dtx (with options: `usc')
- %%
- %% -----------------------------------------------------------------
- %% Author: Peter Wilson (CUA) now at peter.r.wilson@boeing.com until June 2004
- %% (or at: pandgwilson at earthlink dot net)
- %% Copyright 1998 --- 2004 Peter R. Wilson
- %%
- %% 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 the license is in
- %% http://www.latex-project.org/lppl.txt
- %% and version 1.3 or later is part of all distributions of
- %% LaTeX version 2003/06/01 or later.
- %%
- %% This work has the LPPL maintenance status "author-maintained".
- %%
- %% This work consists of the files listed in the README file.
- %% -----------------------------------------------------------------
- %%
- \NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{appendix}[2002/08/06 v1.2 extra appendix facilities]
- \newif\if@chapter@pp\@chapter@ppfalse
- \newif\if@knownclass@pp\@knownclass@ppfalse
- \@ifundefined{chapter}{%
- \@ifundefined{section}{}{\@knownclass@pptrue}}{%
- \@chapter@pptrue\@knownclass@pptrue}
- \providecommand{\phantomsection}{}
- \newcounter{@pps}
- \renewcommand{\the@pps}{\alph{@pps}}
- \newif\if@pphyper
- \@pphyperfalse
- \AtBeginDocument{%
- \@ifpackageloaded{hyperref}{\@pphypertrue}{}}
- \newif\if@dotoc@pp\@dotoc@ppfalse
- \newif\if@dotitle@pp\@dotitle@ppfalse
- \newif\if@dotitletoc@pp\@dotitletoc@ppfalse
- \newif\if@dohead@pp\@dohead@ppfalse
- \newif\if@dopage@pp\@dopage@ppfalse
- \DeclareOption{toc}{\@dotoc@pptrue}
- \DeclareOption{title}{\@dotitle@pptrue}
- \DeclareOption{titletoc}{\@dotitletoc@pptrue}
- \DeclareOption{header}{\@dohead@pptrue}
- \DeclareOption{page}{\@dopage@pptrue}
- \ProcessOptions\relax
- \newcommand{\@ppendinput}{}
- \if@knownclass@pp\else
- \PackageWarningNoLine{appendix}%
- {There is no \protect\chapter\space or \protect\section\space command.\MessageBreak
- The appendix package will not be used}
- \renewcommand{\@ppendinput}{\endinput}
- \fi
- \@ppendinput
- \newcommand{\appendixtocon}{\@dotoc@pptrue}
- \newcommand{\appendixtocoff}{\@dotoc@ppfalse}
- \newcommand{\appendixpageon}{\@dopage@pptrue}
- \newcommand{\appendixpageoff}{\@dopage@ppfalse}
- \newcommand{\appendixtitleon}{\@dotitle@pptrue}
- \newcommand{\appendixtitleoff}{\@dotitle@ppfalse}
- \newcommand{\appendixtitletocon}{\@dotitletoc@pptrue}
- \newcommand{\appendixtitletocoff}{\@dotitletoc@ppfalse}
- \newcommand{\appendixheaderon}{\@dohead@pptrue}
- \newcommand{\appendixheaderoff}{\@dohead@ppfalse}
- \newcounter{@ppsavesec}
- \newcounter{@ppsaveapp}
- \setcounter{@ppsaveapp}{0}
- \newcommand{\@ppsavesec}{%
- \if@chapter@pp \setcounter{@ppsavesec}{\value{chapter}} \else
- \setcounter{@ppsavesec}{\value{section}} \fi}
- \newcommand{\@pprestoresec}{%
- \if@chapter@pp \setcounter{chapter}{\value{@ppsavesec}} \else
- \setcounter{section}{\value{@ppsavesec}} \fi}
- \newcommand{\@ppsaveapp}{%
- \if@chapter@pp \setcounter{@ppsaveapp}{\value{chapter}} \else
- \setcounter{@ppsaveapp}{\value{section}} \fi}
- \newcommand{\restoreapp}{%
- \if@chapter@pp \setcounter{chapter}{\value{@ppsaveapp}} \else
- \setcounter{section}{\value{@ppsaveapp}} \fi}
- \providecommand{\appendixname}{Appendix}
- \newcommand{\appendixtocname}{Appendices}
- \newcommand{\appendixpagename}{Appendices}
- \newcommand{\appendixpage}{%
- \if@chapter@pp \@chap@pppage \else \@sec@pppage \fi
- }
- \newcommand{\clear@ppage}{%
- \if@openright\cleardoublepage\else\clearpage\fi}
- \newcommand{\@chap@pppage}{%
- \clear@ppage
- \thispagestyle{plain}%
- \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
- \null\vfil
- \markboth{}{}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \Huge \bfseries \appendixpagename\par}%
- \if@dotoc@pp
- \addappheadtotoc
- \fi
- \vfil\newpage
- \if@twoside
- \if@openright
- \null
- \thispagestyle{empty}%
- \newpage
- \fi
- \fi
- \if@tempswa
- \twocolumn
- \fi
- }
- \newcommand{\@sec@pppage}{%
- \par
- \addvspace{4ex}%
- \@afterindentfalse
- {\parindent \z@ \raggedright
- \interlinepenalty \@M
- \normalfont
- \huge \bfseries \appendixpagename%
- \markboth{}{}\par}%
- \if@dotoc@pp
- \addappheadtotoc
- \fi
- \nobreak
- \vskip 3ex
- \@afterheading
- }
- \newif\if@pptocpage
- \@pptocpagetrue
- \newcommand{\noappendicestocpagenum}{\@pptocpagefalse}
- \newcommand{\appendicestocpagenum}{\@pptocpagetrue}
- \newcommand{\addappheadtotoc}{%
- \phantomsection
- \if@chapter@pp
- \if@pptocpage
- \addcontentsline{toc}{chapter}{\appendixtocname}%
- \else
- \if@pphyper
- \addtocontents{toc}%
- {\protect\contentsline{chapter}{\appendixtocname}{}{\@currentHref}}%
- \else
- \addtocontents{toc}%
- {\protect\contentsline{chapter}{\appendixtocname}{}}%
- \fi
- \fi
- \else
- \if@pptocpage
- \addcontentsline{toc}{section}{\appendixtocname}%
- \else
- \if@pphyper
- \addtocontents{toc}%
- {\protect\contentsline{section}{\appendixtocname}{}{\@currentHref}}%
- \else
- \addtocontents{toc}%
- {\protect\contentsline{section}{\appendixtocname}{}}%
- \fi
- \fi
- \fi
- }
- \providecommand{\theH@pps}{\alph{@pps}}
- \newcommand{\@resets@pp}{\par
- \@ppsavesec
- \stepcounter{@pps}
- \setcounter{section}{0}%
- \if@chapter@pp
- \setcounter{chapter}{0}%
- \renewcommand\@chapapp{\appendixname}%
- \renewcommand\thechapter{\@Alph\c@chapter}%
- \else
- \setcounter{subsection}{0}%
- \renewcommand\thesection{\@Alph\c@section}%
- \fi
- \if@pphyper
- \if@chapter@pp
- \renewcommand{\theHchapter}{\theH@pps.\Alph{chapter}}%
- \else
- \renewcommand{\theHsection}{\theH@pps.\Alph{section}}%
- \fi
- \def\Hy@chapapp{\appendixname}%
- \fi
- \restoreapp
- }
- \newenvironment{appendices}{%
- \@resets@pp
- \if@dotoc@pp
- \if@dopage@pp % both page and toc
- \if@chapter@pp % chapters
- \clear@ppage
- \fi
- \appendixpage
- \else % toc only
- \if@chapter@pp % chapters
- \clear@ppage
- \fi
- \addappheadtotoc
- \fi
- \else
- \if@dopage@pp % page only
- \appendixpage
- \fi
- \fi
- \if@chapter@pp
- \if@dotitletoc@pp \@redotocentry@pp{chapter} \fi
- \else
- \if@dotitletoc@pp \@redotocentry@pp{section} \fi
- \if@dohead@pp
- \def\sectionmark##1{%
- \if@twoside
- \markboth{\@formatsecmark@pp{##1}}{}
- \else
- \markright{\@formatsecmark@pp{##1}}{}
- \fi}
- \fi
- \if@dotitle@pp
- \def\sectionname{\appendixname}
- \def\@seccntformat##1{\@ifundefined{##1name}{}{\csname ##1name\endcsname\ }%
- \csname the##1\endcsname\quad}
- \fi
- \fi}{%
- \@ppsaveapp\@pprestoresec}
- \newcommand{\setthesection}{\thechapter.\Alph{section}}
- \newcommand{\setthesubsection}{\thesection.\Alph{subsection}}
- \newcommand{\@resets@ppsub}{\par
- \stepcounter{@pps}
- \if@chapter@pp
- \setcounter{section}{0}
- \renewcommand{\thesection}{\setthesection}
- \else
- \setcounter{subsection}{0}
- \renewcommand{\thesubsection}{\setthesubsection}
- \fi
- \if@pphyper
- \if@chapter@pp
- \renewcommand{\theHsection}{\theH@pps.\setthesection}%
- \else
- \renewcommand{\theHsubsection}{\theH@pps.\setthesubsection}%
- \fi
- \def\Hy@chapapp{\appendixname}%
- \fi
- }
- \newenvironment{subappendices}{%
- \@resets@ppsub
- \if@chapter@pp
- \if@dotitletoc@pp \@redotocentry@pp{section} \fi
- \if@dotitle@pp
- \def\sectionname{\appendixname}
- \def\@seccntformat##1{\@ifundefined{##1name}{}{\csname ##1name\endcsname\ }%
- \csname the##1\endcsname\quad}
- \fi
- \else
- \if@dotitletoc@pp \@redotocentry@pp{subsection} \fi
- \if@dotitle@pp
- \def\subsectionname{\appendixname}
- \def\@seccntformat##1{\@ifundefined{##1name}{}{\csname ##1name\endcsname\ }%
- \csname the##1\endcsname\quad}
- \fi
- \fi}{}
- \newcommand{\@formatsecmark@pp}[1]{%
- \MakeUppercase{\appendixname\space
- \ifnum \c@secnumdepth >\z@
- \thesection\quad
- \fi
- #1}}
- \newcommand{\@redotocentry@pp}[1]{%
- \let\oldacl@pp=\addcontentsline
- \def\addcontentsline##1##2##3{%
- \def\@pptempa{##1}\def\@pptempb{toc}%
- \ifx\@pptempa\@pptempb
- \def\@pptempa{##2}\def\@pptempb{#1}%
- \ifx\@pptempa\@pptempb
- \oldacl@pp{##1}{##2}{\appendixname\space ##3}%
- \else
- \oldacl@pp{##1}{##2}{##3}%
- \fi
- \else
- \oldacl@pp{##1}{##2}{##3}%
- \fi}
- }
- \endinput
- %%
- %% End of file `appendix.sty'.
|