diff options
author | Norbert Preining <norbert@preining.info> | 2023-06-03 03:01:14 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-06-03 03:01:14 +0000 |
commit | 644a486a866b7bcbf8fccb37cf6f88a36897deb0 (patch) | |
tree | b8593330c0b54d298644dacf70e3b79918acf6b2 /macros/latex/contrib/revtex/source/ltxdocext.dtx | |
parent | de88ff1738cd9e29da5d2ce94b53d9035d9be6a4 (diff) |
CTAN sync 202306030301
Diffstat (limited to 'macros/latex/contrib/revtex/source/ltxdocext.dtx')
-rw-r--r-- | macros/latex/contrib/revtex/source/ltxdocext.dtx | 1259 |
1 files changed, 0 insertions, 1259 deletions
diff --git a/macros/latex/contrib/revtex/source/ltxdocext.dtx b/macros/latex/contrib/revtex/source/ltxdocext.dtx deleted file mode 100644 index d3d8b772f5..0000000000 --- a/macros/latex/contrib/revtex/source/ltxdocext.dtx +++ /dev/null @@ -1,1259 +0,0 @@ -% \iffalse meta-comment balanced on line 108 -% ltxdocext.dtx: package to extend the ltxdoc class of standard LaTeX -% Copyright (c) 2008 Arthur Ogawa -% -% Disclaimer -% This file is distributed WITHOUT ANY WARRANTY; -% without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -% License -% You may distribute this file under the conditions of the -% LaTeX Project Public License 1.3c or later -% (http://www.latex-project.org/lppl.txt). -% ReadMe -% For the documentation and more detailed instructions for -% installation, typeset this document with \LaTeX. -% Maintenance Status -% This work has the LPPL maintenance status "maintained"; -% Current Maintainer of this work is Arthur Ogawa. -% -% This work consists of the main source file ltxdocext.dtx -% and the derived files -% ltxdocext.sty, ltxdocext.pdf, ltxdocext.ins, ltxdocext.drv. -% Distribution: -% CTAN:macros/latex/contrib/revtex/ -% -% Unpacking: -% tex ltxdocext.dtx -% -% Documentation: -% latex ltxdocext.dtx; ... -% -% Program calls to get the documentation (example): -% pdflatex ltxdocext.dtx -% makeindex -s gind.ist ltxdocext.idx -% makeindex -s gglo.ist -o ltxdocext.gls ltxdocext.glo -% pdflatex ltxdocext.dtx -% makeindex -s gind.ist ltxdocext.idx -% pdflatex ltxdocext.dtx -% -% Installation: -% TDS:doc/latex/revtex/ -% TDS:source/latex/revtex/ -% TDS:tex/latex/revtex/ -% -% Thanks, Heiko! -% This method of letting a single .dtx file serve as both -% documentation (via latex) and installer (via tex) follows -% the example of Heiko Oberdiek. Thanks! -%<*ignore> -\begingroup - \def\x{LaTeX2e}% -\expandafter\endgroup -\ifcase - 0\expandafter\ifx\csname processbatchFile\endcsname\relax\else1\fi\ifx\fmtname\x\else 1\fi - \relax -\else - \csname fi\endcsname -%</ignore> -%<*install> -\input docstrip -\preamble - -This is a generated file; -altering it directly is inadvisable; -instead, modify the original source file. -See the URL in the file README. - -License - You may distribute this file under the conditions of the - LaTeX Project Public License 1.3c or later - (http://www.latex-project.org/lppl.txt). - - This file is distributed WITHOUT ANY WARRANTY; - without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. - -\endpreamble -\askforoverwritefalse -\keepsilent - \generate{% - %{ignore} -%\usedir{tex/latex/revtex}% - \file{ltxdocext.sty}{% - \from{ltxdocext.dtx}{package,kernel}% - }% - % \file{acrofont.sty}{\from{ltxdocext.dtx}{fonts}}% - }% -\ifToplevel{ -\Msg{***********************************************************} -\Msg{*} -\Msg{* To finish the installation, please move} -\Msg{* ltxdocext.sty} -\Msg{* into a directory searched by TeX;} -\Msg{* in a TDS-compliant installation:} -\Msg{* texmf/tex/macros/latex/revtex/.} -\Msg{*} -\Msg{* To produce the documentation, - run ltxdocext.dtx through LaTeX.} -\Msg{*} -\Msg{* Happy TeXing} -\Msg{***********************************************************} -} -\endbatchfile -%</install> -%<*ignore> -\fi -%</ignore> -% \fi -% -% \GetFileInfo{ltxdocext.dtx} -% -% \iffalse ltxdoc klootch -%<*ltxdocext> -%%% @LaTeX-file{ -%%% filename = "ltxdocext.dtx", -%%% version = "1.0a", -%%% date = "2018/12/26", -%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net), -%%% commissioned by the American Physical Society. -%%% ", -%%% copyright = "Copyright (C) 1999, 2008 Arthur Ogawa, -%%% distributed under the terms of the -%%% LaTeX Project Public License, see -%%% ftp://ctan.tug.org/macros/latex/base/lppl.txt -%%% ", -%%% address = "Arthur Ogawa, -%%% USA", -%%% telephone = "", -%%% FAX = "", -%%% email = "mailto colon arthur_ogawa at sbcglobal.net", -%%% codetable = "ISO/ASCII", -%%% keywords = "latex, ltxdoc", -%%% supported = "yes", -%%% abstract = "extensions to the ltxdoc class", -%%% } -%</ltxdocext> -% \fi -% -% \iffalse ltxdoc klootch -% The following references the \file{README-LTXDOCEXT} file, -% which contains basic information about this package. -% The contents of this file are generated when -% you typeset the programmer's documentation. -% Search on "{filecontents*}{README-LTXDOCEXT}" to locate it. -% \fi\input{README-LTXDOCEXT}% -% -% \subsection{Bill of Materials} -% -% Following is a list of the files in this distribution arranged -% according to provenance. -% -% \subsubsection{Primary Source}% -% One single file generates all. -%\begin{verbatim} -%ltxdocext.dtx -%\end{verbatim} -% -% \subsubsection{Generated by \texttt{latex ltxdocext.dtx}}% -% Typesetting the source file under pdflatex -% generates the readme and the documentation. -%\begin{verbatim} -%README ltxdocext.pdf -%\end{verbatim} -% -% \subsubsection{Generated by \texttt{tex ltxdocext.ins}}% -% Typesetting this file with \TeX\ generates -% the package file. -%\begin{verbatim} -%ltxdocext.sty acrofont.sty -%\end{verbatim} -% -% \subsubsection{Documentation}% -% The following are the online documentation: -% \begin{verbatim} -%ltxdocext.pdf -% \end{verbatim} -% -% \subsubsection{Auxiliary}% -% The following are auxiliary files generated -% in the course of running \LaTeX: -% \begin{verbatim} -%ltxdocext.aux ltxdocext.idx ltxdocext.ind ltxdocext.log ltxdocext.toc -% \end{verbatim} -% -% \section{Code common to all modules}% -% -% We want to require only one place in this file -% where the version number is stated, -% and we also want to ensure that the version -% number is embedded into every generated file. -% -% Now we declare that -% these files can only be used with \LaTeXe. -% An appropriate message is displayed if -% a different \TeX{} format is used. -% \begin{macrocode} -%<*driver|package|fonts> -\NeedsTeXFormat{LaTeX2e}[1995/12/01]% -%</driver|package|fonts> -% \end{macrocode} -% As desired, the following modules all -% take common version information: -% \begin{macrocode} -%<package>\ProvidesFile{ltxdocext.sty}% -%<fonts>\ProvidesFile{acrofont.sty}% -%<*driver> -\expandafter\ProvidesFile\expandafter{\jobname.dtx}% -%</driver> -% \end{macrocode} -% -% The following line contains, for once and for all, -% the version and date information. -% By various means, this information is reproduced -% consistently in all generated files and in the -% typeset documentation. -% \begin{macrocode} -%<version> - [2018/12/26 1.0a ltxdoc extensions package]% \fileversion -% \end{macrocode} -% -% -% \section{The driver module \texttt{doc}} -% -% This module, consisting of the present section, -% typesets the programmer's documentation, -% generating the \file{README-LTXDOCEXT} as required. -% -% Because the only uncommented-out lines of code at the beginning of -% this file constitute the \file{doc} module itself, -% we can simply typeset the \file{.dtx} file directly, -% and there is thus rarely any need to -% generate the ``doc'' {\sc docstrip} module. -% Module delimiters are nonetheless required so that -% this code does not find its way into the other modules. -% -% The \enve{document} command concludes the typesetting run. -% -% \begin{macrocode} -%<*driver> -% \end{macrocode} -% -% \subsection{The Preamble} -% The programmers documentation is formatted -% with the \classname{ltxdoc} document class, with local customizations, -% and with the usual code line indexing. -% \begin{macrocode} -\documentclass[draft]{ltxdoc} -\RequirePackage{ltxdocext}% -\RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}% -%\expandafter\ifx\csname package@font\endcsname\@undefined\else -% \expandafter\RequirePackage\expandafter{\csname package@font\endcsname}% -%\fi -\CodelineIndex\EnableCrossrefs % makeindex -s gind.ist ltxdocext -\RecordChanges % makeindex -s gglo.ist -o ltxdocext.gls ltxdocext.glo -% \end{macrocode} -% -% \subsubsection{Docstrip and info directives} -% We use so many {\sc docstrip} modules that we set the -% \texttt{StandardModuleDepth} counter to 1. -% \begin{macrocode} -\setcounter{StandardModuleDepth}{1} -% \end{macrocode} -% The following command retrieves the date and version information -% from this file. -% \begin{macrocode} -\expandafter\GetFileInfo\expandafter{\jobname.dtx}% -% \end{macrocode} -% -% \subsection{The ``Read Me'' File} -% As promised above, here is the contents of the -% ``Read Me'' file. That file serves a double purpose, -% since it also constitutes the beginining of the -% programmer's documentation. What better thing, after -% all, to have appear at the beginning of the -% typeset documentation? -% -% A good discussion of how to write a ReadMe file can be found in -% Engst, Tonya, ``Writing a ReadMe File? Read This'' -% \emph{MacTech} October 1998, p. 58. -% -% Note the appearance of the -% \cmd\StopEventually\ command, which marks the -% dividing line between the user documentation -% and the programmer documentation. -% -% The usual user will not be asked to -% do a full build, not to speak -% of the bootstrap. -% Instructions for carrying these processes -% begin the programmer's manual. -% -% \begin{macrocode} -\begin{filecontents*}{README-LTXDOCEXT} -\title{% - Extensions to the \classname{ltxdoc} class% - \thanks{% - This file has version number \fileversion, - last revised \filedate.% - }% - \thanks{% - Version \fileversion\ \copyright\ 2019 American Physical Society - }% -}% -\author{% -Arthur Ogawa% - \thanks{\texttt{mailto:arthur\_ogawa at sbcglobal.net}}% -}% -%\iffalse -% For version number and date, -% search on "\fileversion" in the .dtx file, -% or see the end of the README file. -%\fi - -\maketitle - -This file embodies the \classname{ltxdocext} package, -the implementation and its user documentation. - -The distribution point for this work is -\url{journals.aps.org/revtex}, -which contains prebuilt runtime files, documentation, and full source, -ready to add to a TDS-compliant \TeX\ installation. - -The \classname{ltxdocext} package was commissioned by the American Physical Society -and is distributed under the terms of the \LaTeX\ Project Public License, -the same license under which all the portions of \LaTeX\ itself are distributed. -Please see \url{http://ctan.tug.org/macros/latex/base/lppl.txt} for details. - -To use this document class, you must have a working -\TeX\ installation equipped with \LaTeXe\ -and possibly pdftex and Adobe Acrobat Reader or equivalent. - -To install, retrieve the distribution, -unpack it into a directory on the target computer, -and move the files \file{ltxdocext.sty} and \file{acrofont.sty} -into a location in your filesystem where they will be found by \LaTeX. - -If you will be using the \classname{acrofont} package, you must -also install the virtual fonts -\file{zpsynocmrv}, \file{zptmnocmr}, -\file{zptmnocmrm}, and \file{zpzcnocmry}. -The corresponding \file{.tfm}, \file{.vf}, and \file{.vpl} -files are part of this distribution. - -To use, read the user documentation \file{ltxdocext.pdf}. -The \file{.dtx} file, \file{ltxdocext.dtx}, constitutes -in itself an instance of use of the \classname{ltxdocext} -package and the \classname{acrofont} package. - -\tableofcontents - -\section{Processing Instructions} - -The package files \file{ltxdocext.sty} and \file{acrofont.sty} -are generated from this file, \file{ltxdocext.dtx}, -using the {\sc docstrip} facility of \LaTeX -via |tex ltxdocext.dtx| (Note: do \emph{not} use \LaTeX\ for this step). -The typeset documentation that you are now reading is generated from -the same file by typesetting it with \LaTeX\ or pdftex -via |latex ltxdocext.dtx| or |pdflatex ltxdocext.dtx|. - -\subsection{Build Instructions} - -You may bootstrap this suite of files solely from \file{ltxdocext.dtx}. -Prepare by installing \LaTeXe\ (and either tex or pdftex) on your computer, -then carry out the following steps: -\begin{enumerate} -\item -Within an otherwise empty directory, -typeset \file{ltxdocext.dtx} with \TeX\ or pdftex; -thereby generating the package file \file{ltxdocext.sty}, -and the package file \file{acrofont.sty}. -Make sure that {\sc docstrip} receives permission -to overwrite existing versions of these packages. -\item -Now -typeset \file{ltxdocext.dtx} with \LaTeX\ or pdflatex; -you will obtain the typeset documentation you are now reading, -along with -the file \file{README}. - -Note: you will have to run \LaTeX, then -\file{makeindex} \texttt{-s gind.ist ltxdocext.idx}, then -\file{makeindex} \texttt{-s gglo.ist -o ltxdocext.gls ltxdocext.glo}, then -\LaTeX\ again in order to obtain a valid index and table of contents. -\item -Install the following files into indicated locations within your -TDS-compliant \texttt{texmf} tree (you may need root access): -\begin{itemize} -\item -\file{$TEXMF/}\file{tex/}\file{latex/}\file{revtex/}\classname{ltxdocext.sty} and -\file{$TEXMF/}\file{tex/}\file{latex/}\file{revtex/}\classname{acrofont.sty} -\item -\file{$TEXMF/}\file{source/}\file{latex/}\file{revtex/}\classname{ltxdocext.dtx} -\item -\file{$TEXMF/}\file{doc/}\file{latex/}\file{revtex/}\classname{ltxdocext.pdf} -\end{itemize} -where \file{$TEXMF/} stands for \file{texmf-local/}, or some other \texttt{texmf} tree -in your installation. -\item -Run \texttt{mktexlsr} on \file{$TEXMF/} (you may need root access). -\item -Build and installation are now complete; -now put a \cmd\usepackage\texttt{\{ltxutil\}} in your document preamble! -\end{enumerate} - -\subsection{Change Log} -\changes{1.0a}{2018/12/12}{(MD) Updated name of README file and use standard fonts when typesetting}% - - -\end{filecontents*} -% \end{macrocode} -% -% \subsection{The Document Body} -% -% Here is the document body, containing only a -% \cmd\DocInput\ directive---referring to this very file. -% This very cute self-reference is a common \classname{ltxdoc} idiom. -% \begin{macrocode} -\begin{document}% -\expandafter\DocInput\expandafter{\jobname.dtx}% -\PrintChanges -\end{document} -%</driver> -% \end{macrocode} -% -% \section{Using the \classname{ltxdoc} and \classname{acrofont} packages}% -% These packages are an adjunct to the -% standard \LaTeX\ \classname{ltxdoc} class and may be -% simply invoked as follows: -%\begin{verbatim} -%\documentclass[draft]{ltxdoc} -%\RequirePackage{ltxdocext}% -%\RequirePackage{acrofont}% -%\CodelineIndex\EnableCrossrefs -%\end{verbatim} -% -% Your document should simply cleave to the standards of the -% \classname{ltxdoc} class, with extensions and alterations as noted. -% -% \subsection{Extensions to the \classname{ltxdoc} class}% -% -% \subsubsection{Extensions to the \env{verbatim} environment and \cs{verb} command}% -% -% The delimiters \verb$<<$ and \verb$>>$ within the scope of the verbatim environment -% or within the argument of the \cmd\verb\ command produce -% italics surrounded by angle brackets. -% This typographic convention usually indicates -% \emph{metalanguage}, i.e., a placeholder. -% -% To obtain the angle bracket character per se, -% double the character, viz., ``\verb$the delimiter \verb+<<<<+$''. -% -% \subsubsection{The -\texttt{matter} Commands Work} -% The sectioning commands \cmd\frontmatter, \cmd\mainmatter, and \cmd\backmatter -% of the standard \LaTeX\ \classname{book} class are operative in the -% \classname{ltxdoc} class. -% -% \subsubsection{The \cs{GetFileInfo} command}\label{sec:GetFileInfo} -% You can use the \cmd\GetFileInfo\ command to extract -% the date, version, and file info of a file which has registered itself -% via the \cmd\ProvidesFile\ or \cmd\ProvidesClass\ command -% (employing the optional argument thereto). -% -% For instance, if your document contains the following: -%\begin{verbatim} -%\RequirePackage{ltxdocext}% -%\GetFileInfo{ltxdocext.sty}% -%\end{verbatim} -% then the following control sequence names will have -% a value corresponding to that package's \cmd\ProvidesFile\ -% command: -% \cmd\filedate: the file's date, -% \cmd\fileversion: the file's version, and -% \cmd\fileinfo: the file's info. -% -% \subsubsection{Self-Indexing Commands}% -% Certain commands automatically produce an index entry -% (or several related entries) according to the meaning. -% -% \begin{unnumtable} -% \begin{tabular}{ll} -% meta-text &\cmd\marg\arg{text}\\ -% command &\cmd\cmd\cmd\csname\\ -% environment name &\cmd\env\arg{name}\\ -% \cmd\begin\verb`{foo}`&\cmd\envb\arg{foo}\\ -% \cmd\end\verb`{foo}` &\cmd\enve\arg{foo}\\ -% argument &\cmd\arg\arg{name}\\ -% optional &\cmd\oarg\arg{name}\\ -% filename &\cmd\file\arg{name}\\ -% url &\cmd\url\arg{name}\\ -% document class &\cmd\classname\arg{name}\\ -% document substyle &\cmd\substyle\arg{name}\\ -% class option &\cmd\classoption\arg{name} -% \end{tabular} -% \end{unnumtable} -% -% \subsubsection{Unnumbered Tables}% -% -% When your documentation requires the use of an unnumbered table, -% use the \env{unnumtable} environment: -% \begin{verbatim} -%\begin{unnumtable} -%\begin{tabular}{ll} -%<table rows> -%\end{tabular} -%\end{unnumtable} -% \end{verbatim} -% -% \subsubsection{Structuring Tables}% -% The commands \cmd\toprule, \cmd\colrule, and \cmd\botrule -% allow you to mark the beginning of the column heads -% the beginning of the table body, and the end of -% the table body, respectively. -% In context, -% \begin{verbatim} -%\begin{tabular}{ll} -%\toprule -%<table head rows> -%\colrule -%<table rows> -%\botrule -%\end{tabular} -% \end{verbatim} -% -% \subsubsection{A Sectioning Command Below \cs{subsection}}% -% The \cmd\subsubsection\ command is defined. -% -% -% \subsection{Alterations to the \classname{ltxdoc} class}% -% The following involve no new markup, but they -% do change the appearance of your formatted documentation: -% \begin{enumerate} -% \item -% Using the \classname{acrofont} package causes your -% document to be formatted using the standard -% Acrobat fonts to the greatest extent possible. -% This means that for most documents, Computer Modern -% is not used at all. -% Math that unavoidable must use CM still exists, however. -% \item -% An index will be produced at the end of the document -% without your needing to explicitly mark it up, and -% it will have an entry in the TOC. -% \item -% The \env{quote} environment has a slightly smaller left margin. -% \item -% Array columns are set tight by default. -% \item -% A host of \cmd\DoNotIndex\ directives are invoked. -% I intend this list to grow to encompass -% even more commands. Send me your suggestions. -% \end{enumerate} -% -% -% -%\StopEventually{} -% -% \section{Extensions to the ltxdoc class} -% The \file{package} {\sc docstrip} module comprises the -% package \classname{ltxdocext.sty}, which provides extensions -% to the standard \LaTeX\ \classname{ltxdoc} class. -% -% \subsection{Beginning of the \file{package} {\sc docstrip} module} -% This portion of code is only present in the \LaTeX\ package (\texttt{.sty} file), -% not in the kernel portion. -% \begin{macrocode} -%<*package> -\def\class@name{ltxdocext}% -\expandafter\PackageInfo\expandafter{\class@name}{% - An extension to the \protect\LaTeXe\space ltxdoc class - by A. Ogawa (arthur\_ogawa sbcglobal.net)% -}% -%</package> -% \end{macrocode} -% -% \subsection{Beginning of the \file{kernel} {\sc docstrip} module} -% -% The bulk of the code is the kernel portion; a brief tail of \file{package} code then follows. -% \begin{macrocode} -%<*kernel> -% \end{macrocode} -% -% \subsection{Incorporate \classname{ltxguide.cls} extensions} -% -% Code extracted from \classname{ltxguide.cls}, by Alan Jeffrey. -% ``This code stolen from \classname{ltxguide.cls}: -% Some hacks with verbatim... NB: this would be better done with the -% verbatim package, but this document has to run on any \LaTeX -% installation.'' -% \begin{macrocode} -\RequirePackage{verbatim}% -\let\o@verbatim\verbatim -\def\verbatim{% - \ifhmode\unskip\par\fi -% \nopagebreak % Overridden by list penalty - \ifx\@currsize\normalsize - \small - \fi - \o@verbatim -}% -% \end{macrocode} -% -% Here we extend the font-setting command to include making \texttt{<>} active -% (i.e., adjusting the input encoding). -% \begin{macrocode} -\renewcommand \verbatim@font {% - \normalfont \ttfamily - \catcode`\<=\active - \catcode`\>=\active -}% -% \end{macrocode} -% -% Make \verb$|...|$ a synonym for \cmd\verb\verb$|...|$. -% \begin{macrocode} -\RequirePackage{shortvrb} -\AtBeginDocument{% - \MakeShortVerb{\|}% -}% -% \end{macrocode} -% -% Make active bracket characters produce italics surrounded by angle brackets -% (used in \env{verbatim} and \cmd\verb). -% \verb|<<| produces a less-than, and \verb|>>| produces a greater-than. -% \begin{macrocode} -\begingroup - \catcode`\<=\active - \catcode`\>=\active - \gdef<{\@ifnextchar<\@lt\@meta} - \gdef>{\@ifnextchar>\@gt\@gtr@err} - \gdef\@meta#1>{\marg{#1}} - \gdef\@lt<{\char`\<} - \gdef\@gt>{\char`\>} -\endgroup -\def\@gtr@err{% - \ClassError{ltxguide}{% - Isolated \protect>% - }{% - In this document class, \protect<...\protect> - is used to indicate a parameter.\MessageBreak - I've just found a \protect> on its own. - Perhaps you meant to type \protect>\protect>? - }% -} -\def\verbatim@nolig@list{\do\`\do\,\do\'\do\-} -% \end{macrocode} -% End of code stolen from \file{ltxguide.cls}. Thanks, Alan. -% -% Add functionality from doc.dtx: -% (code stolen from doc.dtx): -% \begin{macrocode} -\def\GetFileInfo#1{% - \def\filename{#1}% - \def\@tempb##1 ##2 ##3\relax##4\relax{% - \def\filedate{##1}% - \def\fileversion{##2}% - \def\fileinfo{##3}}% - \edef\@tempa{\csname ver@#1\endcsname}% - \expandafter\@tempb\@tempa\relax? ? \relax\relax} -% \end{macrocode} -% (end of code stolen from doc.dtx. Thanks FMi.) -% -% Various forms of self-indexing commands: -% \begin{macrocode} -\DeclareRobustCommand{\marg}[1]{% - \meta{#1}% - \index{#1=\string\meta{#1} placeholder}\index{placeholder>#1=\string\meta{#1}}% -}% -\DeclareRobustCommand\meta[1]{% - \mbox{\LANGLE\itshape#1\/\RANGLE}% -}% -\def\LANGLE{$\langle$}% -\def\RANGLE{$\rangle$}% -\DeclareRobustCommand{\arg}[1]{% - {\ttfamily\string{}\meta{#1}{\ttfamily\string}}% - \index{#1=\string\ttt{#1}, argument}\index{argument>#1=\string\ttt{#1}}% -}% -\let\oarg\undefined -\DeclareRobustCommand{\oarg}[1]{% - {\ttfamily[%] - }\meta{#1}{\ttfamily%[ - ]}% - \index{#1=\string\ttt{#1}, optional argument}% - \index{argument, optional>#1=\string\ttt{#1}}% -}% -\DeclareRobustCommand\cmd{\begingroup\makeatletter\@cmd}% -\long\def\@cmd#1{% - \endgroup - \cs{\expandafter\cmd@to@cs\string#1}% - \expandafter\cmd@to@index\string#1\@nil -}% -\def\cmd@to@cs#1#2{\char\number`#2\relax}% -\def\cmd@to@index#1#2\@nil{% - \index{#2=\string\cmd#1#2}%\index{command>#2=\string\cmd#1#2}% -}% -\DeclareRobustCommand\cs[1]{{\ttfamily\char`\\#1}}% -\def\scmd#1{% - \cs{\expandafter\cmd@to@cs\string#1}% - \expandafter\scmd@to@index\string#1\@nil -}% -\def\scmd@to@index#1#2\@nil#3{% - \index{\string$#3=\string\cmd#1#2---#3}% -%\index{command>\string$#3=\string\cmd#1#2---#3}% -}% -\DeclareRobustCommand\env{\name@idx{environment}}% -\DeclareRobustCommand\envb[1]{% - {\ttfamily\string\begin\string{}\env{#1}{\ttfamily\string}}% -}% -\DeclareRobustCommand\enve[1]{{\ttfamily\string\end\string{}\env{#1}{\ttfamily\string}}}% -\DeclareRobustCommand{\file}{\begingroup\@sanitize\@file}% -\long\def\@file#1{\endgroup - {\ttfamily#1}% - \index{#1=\string\ttt{#1}}\index{file>#1=\string\ttt{#1}}% -}% -\DeclareRobustCommand\substyle{\name@idx{document substyle}}% -\DeclareRobustCommand\classoption{\name@idx{document class option}}% -\DeclareRobustCommand\classname{\name@idx{document class}}% -\def\name@idx#1#2{% - {\ttfamily#2}% - \index{#2\space#1=\string\ttt{#2}\space#1}\index{#1>#2=\string\ttt{#2}}% -}% -\DeclareRobustCommand\url@ltxdocext{\begingroup\catcode`\/\active\catcode`\.\active\catcode`\:\active\@url}% -\AtBeginDocument{% - \ifx\url\undefined\let\url\url@ltxdocext\fi -}% -\def\@url#1{% - \url@break{\ttfamily#1}% - \url@char\edef\@tempa{#1=\string\url{#1}}% - \expandafter\index\expandafter{\@tempa}% - \expandafter\index\expandafter{\expandafter u\expandafter r\expandafter l\expandafter >\@tempa}% - \endgroup -}% -{\catcode`\:\active\aftergroup\def\aftergroup:}{\active@colon}% -\def\colon@break{\colon@char\allowbreak}% -\def\colon@char{:}% -{\catcode`\/\active\aftergroup\def\aftergroup/}{\active@slash}% -\def\slash@break{\slash@char\allowbreak}% -\def\slash@char{/}% -{\catcode`\.\active\aftergroup\def\aftergroup.}{\active@dot}% -\def\dot@break{\dot@char\allowbreak}% -\def\dot@char{.}% -\def\url@break{\let\active@slash\slash@break\let\active@dot\dot@break\let\active@colon\colon@break}% -\def\url@char{\let\active@slash\slash@char\let\active@dot\dot@char\let\active@colon\colon@char}% -% \end{macrocode} -% -% \subsection{Changes to the base class of the ltxdoc class} -% Modify \env{theindex} environment so that it produces a TOC entry -% \begin{macrocode} -\renewenvironment{theindex} - {\if@twocolumn - \@restonecolfalse - \else - \@restonecoltrue - \fi - \columnseprule \z@ - \columnsep 35\p@ -\def\see##1##2{\textit{See} ##1}% -\def\seealso##1##2{\textit{See also} ##1}% -\long\def\cmd##1{\cs{\expandafter\cmd@to@cs\string##1}}% -\def\@url##1{\url@break\ttt{##1}\endgroup}% -\def\ttt{\begingroup\@sanitize\ttfamily\@ttt}% -\def\@ttt##1{##1\endgroup}% -\mathchardef\save@secnumdepth\c@secnumdepth -\c@secnumdepth\m@ne - \twocolumn[\section{\indexname}]% -% \@mkboth{\MakeUppercase\indexname}% -% {\MakeUppercase\indexname}% -\c@secnumdepth\save@secnumdepth - \thispagestyle{plain}\parindent\z@ - \parskip\z@ \@plus .3\p@\relax - \let\item\@idxitem} - {\if@restonecol\onecolumn\else\clearpage\fi} -\renewenvironment{quote} - {\list{}{% - \leftmargin1em\relax - \rightmargin\leftmargin - }% - \item\relax} - {\endlist} -% \end{macrocode} -% -% \subsection{Extensions to the base class of \classname{ltxdoc.cls}} -% -% Matter commands from \classname{book.cls} -% \begin{macrocode} -\newif\if@mainmatter -\newif\if@openright -\@openrighttrue -\DeclareRobustCommand\frontmatter{% - \cleartorecto - \@mainmatterfalse - \pagenumbering{roman}% -}% -\DeclareRobustCommand\mainmatter{% - \cleartorecto - \@mainmattertrue - \pagenumbering{arabic}% -}% -\DeclareRobustCommand\backmatter{% - \if@openright - \cleartorecto - \else - \clearpage - \fi - \@mainmatterfalse -}% -\ifx\undefined\cleartorecto - \def\cleartorecto{\cleardoublepage}% -\fi -% \end{macrocode} -% -% Unnumbered tables -% -% \begin{environment}{unnumtable} -% An unnumbered table does not float. -% \begin{macrocode} -\def\@to{to}% -\newenvironment{unnumtable}{% - \par - \addpenalty\predisplaypenalty - \addvspace\abovedisplayskip - \hbox\@to\hsize\bgroup\hfil\ignorespaces - \let\@Hline\@empty -}{% - \unskip\hfil\egroup - \penalty\postdisplaypenalty - \vskip\belowdisplayskip - \aftergroup\ignorespaces - \@endpetrue -}% -% \end{macrocode} -% \end{environment} -% -% Emulate \cmd\toprule\ and friends -% \begin{macrocode} -\providecommand\toprule{\hline\hline}% -\providecommand\colrule{\\\hline}% -\providecommand\botrule{\\\hline\hline}% -% \end{macrocode} -% -% Define sectioning command below \cmd\subsubsection. -% \begin{macrocode} -\DeclareRobustCommand\subsubsubsection{% - \@startsection{subsubsection}{4}% - {\z@}{-15\p@\@plus-5\p@\@minus-2\p@}% - {5\p@}{\normalfont\normalsize\itshape}% -}% -% \end{macrocode} -% -% \subsection{In lieu of \file{ltxdoc.cfg}} -% We don't want everything to appear in the index -% \begin{macrocode} -\DoNotIndex{\',\.,\@M,\@@input,\@Alph,\@alph,\@addtoreset,\@arabic} -\DoNotIndex{\@badmath,\@centercr,\@cite} -\DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} -\DoNotIndex{\@input,\@ixpt,\@m,\@minus,\@mkboth} -\DoNotIndex{\@ne,\@nil,\@nomath,\@plus,\roman,\@set@topoint} -\DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} -\DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} -\DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} -\DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} -\DoNotIndex{\advance,\ast,\begin,\begingroup,\bfseries,\bgroup,\box} -\DoNotIndex{\bullet} -\DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption} -\DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass} -\DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist} -\DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup} -\DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter} -\DoNotIndex{\fbox} -\DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef} -\DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule} -\DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi} -\DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi} -\DoNotIndex{\input} -\DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark} -\DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright} -\DoNotIndex{\month,\newcommand,\newcounter,\newenvironment} -\DoNotIndex{\NeedsTeXFormat,\newdimen} -\DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number} -\DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@} -\DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip} -\DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions} -\DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright} -\DoNotIndex{\refstepcounter,\relax,\renewcommand} -\DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily} -\DoNotIndex{\secdef,\selectfont,\setbox,\setcounter,\setlength} -\DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space} -\DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase} -\DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt} -\DoNotIndex{\viipt,\vipt,\vskip,\vspace} -\DoNotIndex{\wd,\xiipt,\year,\z@} -\DoNotIndex{\next} -% \end{macrocode} -% -% Direct \classname{ltxdoc} to produce an index. -% \begin{macrocode} -\AtEndDocument{\PrintIndex\PrintChanges}% -% \end{macrocode} -% -% \subsection{Extension to \LaTeX's \env{filecontents} Environment} -% We want to -% coax the version number into \env{filecontents}-generated files. -% Note that we expect \cmd\fileversion\ and \cmd\filedate\ to -% hold the needed information. For this to be the case, -% your document should execute the \cmd\GetFileInfo\ command -% (as documented in section~\ref{sec:GetFileInfo}) before -% any instances of \env{filecontents}. -% \begin{macrocode} -\makeatletter -\def\endfilecontents{% - \immediate\write\reserved@c{% - \string\iffalse\space ltxdoc klootch^^J% - \ifx\undefined\fileversion\else - \ifx\undefined\filedate\else - This file has version number \fileversion, last revised \filedate.% - \fi\fi - \string\fi - }% - \immediate\closeout\reserved@c - \def\T##1##2##3{% - \ifx##1\@undefined\else - \@latex@warning@no@line{##2 has been converted to Blank ##3e}% - \fi - }% - \T\L{Form Feed}{Lin}% - \T\I{Tab}{Spac}% - \immediate\write\@unused{}% -}% -\expandafter\let\csname endfilecontents*\endcsname\endfilecontents -\makeatother -% \end{macrocode} -% -% Alter formatting in arrays; set them tight. -% \begin{macrocode} -\setlength\arraycolsep{0pt}% -% \end{macrocode} -% -% \subsection{End of the \file{kernel} {\sc docstrip} module} -% -% \begin{macrocode} -%</kernel> -% \end{macrocode} -% -% \subsection{Tail of the \file{package} {\sc docstrip} module} -% Here is the remainder of the package code. -% \begin{macrocode} -%<*package> -% \end{macrocode} -% Currently, there is little. -% \begin{macrocode} -%</package> -% \end{macrocode} -% -% -% \section{Font Package for Acrobat Compatability}% -% The package \classname{acrofont} -% substitutes Acrobat-standard fonts for Computer Modern where possible, -% even in math mode. -% Documents typeset with this package in effect will require as little -% downloaded font data as possible, but will not be exemplars of -% fine math typesetting. -% -% \subsection{Beginning of the \file{fonts} {\sc docstrip} module} -% The document class module comprises this and the next -% four sections. -% \begin{macro}{\class@base} -% We define in exactly one spot the base class. -% Typically that class will be one of \classname{book}, -% \classname{article}, or \classname{report}. -% The base class effectively defines the use and the markup scheme -% of the class of documents to be handled by this class. -% -% This class is a variant of the standard \LaTeX\ book class: -% \url{ftp://ctan.tug.org/tex-archive/macros/latex/unpacked}. -% \begin{macrocode} -%<*fonts> -\def\class@name{ltxdocext}% -\expandafter\ClassInfo\expandafter{\class@name}{% - Written for \protect\LaTeXe\space - by A. Ogawa (arthur_ogawa at sbcglobal.net)% -}% -% \end{macrocode} -% \end{macro} -% -% \subsection{Variants on psfonts packages}% -% The following uses \file{times.sty} from \url{/packages/psnfss/psfonts.dtx} -% \begin{macrocode} -\RequirePackage{times}% -% \end{macrocode} -% -% The following uses \file{mathptm.sty} from \url{/packages/psnfss/psfonts.dtx} -% \begin{macrocode} -\RequirePackage{mathptm}% -% \end{macrocode} -% -% The following is a customization of \file{ot1ptmcm.fd}. -% The virtual font referred to here \file{zptmnocmr} is -% a variant of Sebastian Rahtz's \file{zptmcmr}, but with -% even more glyphs moved from CM to Acrobat-standard fonts. -% \begin{macrocode} -\DeclareFontFamily{OT1}{ptmcm}{} -\DeclareFontShape{OT1}{ptmcm}{m}{n}{ - <-> zptmnocmr -}{} -\DeclareFontShape{OT1}{ptmcm}{l}{n}{<->ssub * ptmnocm/m/n}{} -% \end{macrocode} -% -% The following is a customization of \file{omlptmcm.fd} -% The virtual font referred to here \file{zptmnocmrm} is -% a variant of Sebastian Rahtz's \file{zptmcmrm}, but with -% even more glyphs moved from CM to Acrobat-standard fonts. -% \begin{macrocode} -\DeclareFontFamily{OML}{ptmcm}{\skewchar \font =127} -\DeclareFontShape{OML}{ptmcm}{m}{it}{ - <-> zptmnocmrm -}{} -\DeclareFontShape{OML}{ptmcm}{l}{it}{<->ssub * ptmcm/m/it}{} -\DeclareFontShape{OML}{ptmcm}{m}{sl}{<->ssub * ptmcm/m/it}{} -\DeclareFontShape{OML}{ptmcm}{l}{sl}{<->ssub * ptmcm/m/sl}{} -% \end{macrocode} -% -% The following is a customization of \file{omspzccm.fd} -% The virtual font referred to here \file{zpzcnocmry} is -% a variant of Sebastian Rahtz's \file{zpzccmry}, but with -% even more glyphs moved from CM to Acrobat-standard fonts. -% \begin{macrocode} -\DeclareFontFamily{OMS}{pzccm}{} -\DeclareFontShape{OMS}{pzccm}{m}{n}{ - <-> zpzcnocmry -}{}% cmsy10 Symbol Zapf Chancery Medium-Italic Times-Roman -\DeclareFontShape{OMS}{pzccm}{l}{n}{<->ssub * pzccm/m/n}{} -% \end{macrocode} -% -% The following is a customization of \file{omxpsycm.fd} -% The virtual font referred to here \file{zpsynocmrv} is -% a variant of Sebastian Rahtz's \file{zpsycmrv}, but with -% even more glyphs moved from CM to Acrobat-standard fonts. -% \begin{macrocode} -\DeclareFontFamily{OMX}{psycm}{} -\DeclareFontShape{OMX}{psycm}{m}{n}{ - <-> zpsynocmrv -}{} -\DeclareFontShape{OMX}{psycm}{l}{n}{<->ssub * psycm/m/n}{} -% -\DeclareFontEncoding{8r}{}{}% from file: 8renc.def -\DeclareFontFamily{8r}{cmr}{\hyphenchar\font45 }% from file: 8rcmr.fd -\DeclareFontShape{8r}{cmr}{m}{n}{ - <-> cmr10 -}{} -% \end{macrocode} -% -% \subsection{Font definition files}% -% -% The following forces \LaTeX\ to do now what it would do anyway: -% load the `font definition' information for the fonts that we -% use. In this way, we prepare for faster processing through -% the \cmd\dump\ of a preformatted macro package that will not -% need to read in any packages or font definitions from disk. -% \begin{macrocode} -\input{8rphv.fd}% -\input{8rptm.fd}% -\input{ot1phv.fd}% -\input{ot1ptm.fd}% -\input{t1ptm.fd}% -% \end{macrocode} -% -% \subsection{More math substitutions}% -% -% The following definitions arrange to get certain glyphs from the -% text font instead of out of math pi fonts. -% In particular, the copyright and registered symbols -% are single glyphs instead of composites involving -% the big circle from the \file{cmsy} font. -% \begin{macrocode} - \def\eightRChar#1{{\def\encodingdefault{8r}\fontencoding\encodingdefault\selectfont\char"#1}}% - \def\LANGLE{$<$}%{\eightRChar{8B}}% - \def\RANGLE{$>$}%{\eightRChar{9B}}% -%\def\ASTER{\eightRChar{2A}}% -%\def\DAGGER{\eightRChar{86}}% -%\def\DDAGGER{\eightRChar{87}}% - \def\BULLET{\eightRChar{95}}% -%\def\SECTION{\eightRChar{A7}}% -%\def\PARAGRAPH{\eightRChar{B6}}% - \def\VERTBAR{\eightRChar{7C}}% - \def\COPYRIGHT{\eightRChar{A9}}% - \def\REGISTERED{\eightRChar{AE}}% -% \end{macrocode} -% -% \begin{macrocode} - \def\textbar{\VERTBAR}% - \def\textbullet{\BULLET}% - \def\textcopyright{\COPYRIGHT}% - \def\textregistered{\REGISTERED}% -% \end{macrocode} -% -% I have removed \cmd\ensuremath\ from the following definition, and -% all commands like \cmd\mathsection have been converted to -% e.g., \cmd\textsection. -% \begin{macrocode} -\def\@makefnmark{\@thefnmark}% -\def\@fnsymbol#1{{\ifcase#1\or *\or \dagger\or \ddagger\or - \textsection\or \textparagraph\or \|\or **\or \dagger\dagger - \or \ddagger\ddagger \else\@ctrerr\fi}} -% \end{macrocode} -% -% \subsection{End of the \file{fonts} {\sc docstrip} module} -% Here ends the module. -% \begin{macrocode} -%</fonts> -% \end{macrocode} -% -% -% \section{Programming Conventions}% -% In writing the above code, I cleave to certain conventions, noted -% here. -% My goal in explaining them is to encourage others maintaining this -% body of code to consider following them as well. -% The benefits are twofold: -% Some of the coding conventions aim to avoid programming pitfalls; -% following them reduces maintenance costs. -% Others make the code easier to read; following these eases the -% process of understanding how the code works. -% -% And, for my part, I prefer to read code of this type. -% -% \subsection{Whitespace Conventions}% -% Exactly where code lines break and indent, and where additional -% whitespace is inserted is explained here. -% \begin{itemize} -% \item -% Each new macro definition or register assignment begins a new line. -% Therefore, \cmd\def, \cmd\newcommand, and their ilk will start in column~1. -% \item -% Code is indented one space for each level of nesting within braces -% \verb|{}|. -% \item -% Likewise, if possible, for \cmd\if\dots and matching \cmd\fi. -% \item -% However, the closing brace or \cmd\fi\ is outdented by one so that it -% falls -% at the same level of indentation as its matching brace or \cmd\if, -% and it appears alone on its line. -% \item -% Use of the |tab| character is deprecated -% (tabs are not standardized across all applications and operating -% systems). -% \item -% Lines of code are limited to 72 characters. -% I follow this convention mostly to ease the transmission of files -% via email (a deprecated practice) and to accomodate people with -% small monitors. -% But \classname{ltxdoc} output looks better with the shorter lines, too. -% \item -% Extraneous whitespace in the replacement part of a macro definition -% is avoided by using the comment character |%|. -% In most cases, if falling at the end of a line of code, -% a brace will be immediately followed by a comment character, -% as will the macro parameter |#1| and any one-letter control sequence, -% like |\\|. -% \item -% Extraneous whitespace in the package file is also avoided. -% When \TeX\ reads in the .sty file, it will process \cmd\def s, and other commands, -% but will not process blank spaces. -% This practice is simply a discipline. You don't need to do this. -% But sometimes \TeX\ has to read in a file while it is in horizontal mode, -% at which point this practice is essential. -% \end{itemize} -% These conventions taken together are illustrated by the following: -% \begin{verbatim} -%\def\prepdef#1#2{% -% \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% -% \toks@ii{#2}% -% \edef#1{\the\toks@ii\the\toks@}% -%}% -% \end{verbatim} -% In the above, the definition of \cmd\prepdef\ would not fit on a single -% line, -% and required breaking. The first and last lines have matching braces, -% and are a the same level of indentation, with the last line containing -% a single brace. -% -% Each of the three intervening lines has balanced braces and is -% indented by one space. Each line that would otherwise end in a single -% brace character is terminated by a comment character. -% -% Some coders rely on the fact that a space character seen by \TeX's -% scanner while in vertical mode is a no-op. -% Be that as it may, I eliminate them unless actually intentional. -% -% \subsection{Conventions For Procedures}% -% Here are some of my preferences when writing procedures: -% \begin{itemize} -% -% \item -% I dislike defining a macro within another macro, especially when the -% pattern part is non-nil. -% You know, you are not saving much space in |mem| when you do this, -% right? -% You do save space in the hash table and the string pool, though. -% On the other hand, we are not dealing with small \TeX\ engines -% anymore; Team \LaTeX\ has made sure of this. -% -% \item -% If two or more macros have very similar replacement parts, consider -% layering. -% -% \item -% Macros may perform parsing, may maintain tokens or registers, or may -% set type (produce marks). I try to avoid combining the three functions -% in a single macro. -% -% \item -% When a procedure both does assignments and sets type, I try to have a -% clean separations between the two activities. Try to avoid: -% \begin{verbatim} -% \vskip10pt -% \parindent=0pt -% \leavevmode -% \end{verbatim} -% -% \item -% The Boolean calculus (cf. \cmd\@ifx) -% is very useful and produces code that executes nicely. -% Using it also helps avoid your having to debug problems where -% \cmd\if\dots\ and \cmd\fi\ are not properly balanced -% (a nightmare, in case you have not already experienced it). -% -% \end{itemize} -% -% \subsection{Conventions For \LaTeX}% -% Team \LaTeX\ make certain recommendations in \file{clsguide.tex}. -% Ones that I particularly pay attention to are: -% \begin{itemize} -% -% \item -% For the sake of ``color safety'', -% use \cmd\sbox\ rather than \cmd\setbox, \cmd\mbox\ rather than \cmd\hbox, and -% \cmd\parbox\ or \env{minipage} rather than \cmd\vbox. -% -% \item -% Use \cmd\newcommand\ and \cmd\newenvironment\ to declare user-level commands -% and environments. Avoid the idiom \cmd\def\cmd\foo, \cmd\def\cmd\endfoo\ to define -% an environment. -% Ideally, all user-level markup could be extracted from the -% document class by grepping on \cmd\newcommand\ and \cmd\newenvironment. -% -% \item -% Prefer to use \cmd\setlength\ to assign registers. -% -% \end{itemize} -% I cannot help but notice that much of the code of \LaTeX\ itself fails -% to comply with many of the coding recommendations of Team \LaTeX. -% -% \Finale -% \iffalse Here ends the programmer's documentation.\fi -% \endinput -% -\endinput -%%EOF |