summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/revtex/source/ltxdocext.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-06-03 03:01:14 +0000
committerNorbert Preining <norbert@preining.info>2023-06-03 03:01:14 +0000
commit644a486a866b7bcbf8fccb37cf6f88a36897deb0 (patch)
treeb8593330c0b54d298644dacf70e3b79918acf6b2 /macros/latex/contrib/revtex/source/ltxdocext.dtx
parentde88ff1738cd9e29da5d2ce94b53d9035d9be6a4 (diff)
CTAN sync 202306030301
Diffstat (limited to 'macros/latex/contrib/revtex/source/ltxdocext.dtx')
-rw-r--r--macros/latex/contrib/revtex/source/ltxdocext.dtx1259
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