% \iffalse meta-comment
%
% Copyright 1993 1994 1995 1996 1997
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
% For further copyright information, and conditions for modification
% and distribution, see the file legal.txt, and any other copyright
% notices in this file.
%
% This file is part of the LaTeX2e system.
% ----------------------------------------
% This system is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%
% For error reports concerning UNCHANGED versions of this file no
% more than one year old, see bugs.txt.
%
% Please do not request updates from us directly. Primary
% distribution is through the CTAN archives.
%
%
% IMPORTANT COPYRIGHT NOTICE:
%
% You are NOT ALLOWED to distribute this file alone.
%
% You are allowed to distribute this file under the condition that it
% is distributed together with all the files listed in manifest.txt.
%
% If you receive only some of these files from someone, complain!
%
%
% Permission is granted to copy this file to another file with a
% clearly different name and to customize the declarations in that
% copy to serve the needs of your installation, provided that you
% comply with the conditions in the file legal.txt.
%
% However, NO PERMISSION is granted to produce or to distribute a
% modified version of this file under its original name.
%
% You are NOT ALLOWED to change this file.
%
%
%
% \fi
% Filename: ltxguide.cls
% Author: Alan Jeffrey
% Version: 0.12 1995/11/29
% This is the document class for the LaTeX guides `LaTeX2e for authors'
% and `LaTeX2e for class and package writers'. The changes log is at
% the end of the file.
% Copyright 1994 Alan Jeffrey and the LaTeX3 project.
% This is a LaTeX2e document class.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesClass{ltxguide}[1995/11/29 Standard LaTeX class]
% Input any local configuration file.
\InputIfFileExists{ltxguide.cfg}
{\typeout {**********************************************^^J%
* Local configuration file ltxguide.cfg used *^^J%
**********************************************}}
{\ClassInfo{ltxguide}{Local configuration file not found}}
% All options are passed to the article class.
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions
\LoadClass{article}
% No paragraph indentation, space between paragraphs.
\setlength{\parindent}{0pt}
\setlength{\parskip}{\medskipamount}
% The names of some documents:
\newcommand{\clsguide}{\LaTeXe{} for Class and Package Writers}
\newcommand{\usrguide}{\LaTeXe{} for Authors}
\newcommand{\fntguide}{\LaTeXe{} Font Selection}
\newcommand{\cfgguide}{Configuration options for \LaTeXe{}}
\newcommand{\modguide}{Modifying \LaTeX{}}
\newcommand{\sourcecode}{\LaTeX: the program}
\newcommand{\LaTeXbook}{\LaTeX: A Document Preparation System}
\newcommand{\LaTeXcomp}{The \LaTeX{} Companion}
% The SliTeX logo:
\newcommand{\SLiTeX}{\textsc{Sli}\TeX}
% A declaration of a command, in a box, set out into the margin.
%
% Unfortunately, there is a bug with this command, which allows page
% breaks to happen after a \begin{decl}[DATE]: it is a bug with TeX that
% makes it very difficult to get page-breaks correct near marginals,
% especially at the end of a paragraph.
\newenvironment{decl}[1][]%
{\par\small\addvspace{4.5ex plus 1ex}%
\vskip -\parskip
\ifx\relax#1\relax
\def\@decl@date{}%
\else
\def\@decl@date{\NEWfeature{#1}}%
\fi
\noindent\hspace{-\leftmargini}%
\begin{tabular}{|l|}\hline\ignorespaces}%
{\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak
\vspace{2.3ex}\vskip -\parskip}
% Run the toc tighter:
\def\@starttoc#1{\begingroup
\makeatletter
\parskip\z@\@plus\p@\relax % <----
\@input{\jobname.#1}\if@filesw
\expandafter\newwrite\csname tf@#1\endcsname
\immediate\openout
\csname tf@#1\endcsname \jobname.#1\relax
\fi \global\@nobreakfalse \endgroup}
% Some hacks with verbatim... NB: this would be better done with the
% verbatim package, but this document has to run on any LaTeX
% installation.
\let\o@verbatim\verbatim
\def\verbatim{%
\ifhmode\unskip\par\fi
% \nopagebreak % Overridden by list penalty
\ifx\@currsize\normalsize
\small
\fi
\o@verbatim
}
% Here we extend the font-setting command to include making <> active
% (ie adjusting the input encoding).
\renewcommand \verbatim@font {%
\normalfont \ttfamily
\catcode`\<=\active
\catcode`\>=\active
}
% Make |...| a synonym for \verb|...|.
\RequirePackage{shortvrb}
\MakeShortVerb{\|}
% Make active <...> produce italics surrounded by angle brackets
% (used in verbatim and \verb).
% << produces a less-than, and >> produces a greater-than.
\begingroup
\catcode`\<=\active
\catcode`\>=\active
\gdef<{\@ifnextchar<\@lt\@meta}
\gdef>{\@ifnextchar>\@gt\@gtr@err}
\gdef\@meta#1>{\m{#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\-}
% Various forms of argument:
\newcommand{\m}[1]{\mbox{$\langle$\it #1\/$\rangle$}}
\renewcommand{\arg}[1]{{\tt\string{}\m{#1}{\tt\string}}}
\newcommand{\oarg}[1]{{\tt[}\m{#1}{\tt]}}
% Logos.
\newcommand{\NFSS}{\textsf{NFSS}}
\newcommand{\AmS}{$${\protect\the\textfont2 A}\kern-.1667em\lower
.5ex\hbox{\protect\the\textfont2 M}\kern
-.125em{\protect\the\textfont2 S}}
\newcommand{\AmSLaTeX}{\mbox{\AmS-\LaTeX}}
% Table of contents is two deep.
\setcounter{tocdepth}{2}
% Allow more flexibility about bad paragraphs.
\tolerance500
% Marginal notes for new features and description:
% Changed to command and hacked by Chris to get better positioning and
% a better chance of printing:
\newcommand{\NEWfeature}[1]{%
\hskip 1sp \marginpar{\small\sffamily\raggedright
New feature\\#1}}
\newcommand{\NEWdescription}[1]{%
\hskip 1sp \marginpar{\small\sffamily\raggedright
New description\\#1}}
% That's it!
\endinput
% CHANGELOG
%
% 24 May 1994, ASAJ: Turned the collection of macros used by
% usrguide and clsguide into a class.
%
% 27 May 1994, ASAJ: Added the SliTeX logo.
%
% 28 May 1994, ASAJ: Made << and >> produce < and > inside verbatim.
% Added ltxguide.cfg.
%
% 29 May 1994, ASAJ: Added italic correction to <...>.
% Added \sourcecode.
%
% 1 Jun 1994, ASAJ: Made toc run tighter, corrected bug with verbatim.
%
% 28 Jun 1994, CAR: Restricted active <> to verb(atim).
% Removed ineffective \nopagebreak
%
% 23 Sep 1994, ASAJ: Replaced \PassOptionsToPackage{article} with
% \PassOptionsToClass{article}.
%
% 30 Oct 1994, ASAJ: Added environments NEWfeature and NEWdescription.
%
% 20 Nov 1994, CAR: Changed NEWfeature and NEWdescription to improve
% alignment: pagebreaking still not working.
%
% 14 Dec 1994, DPC: Add \par to verbatim redefinition.
% Reported by Ulrik Vieth.
% 24 July 1995, CAR: Changed cfg messages.
%
% 21 Sept 1995, \RequirePackage{shortvrb} for latex/1875
%
% 22 Nov 1995, CAR: Corrected cfg loading.
%
% 28 Nov 1995, CAR: Added \cfgguide and \modguide.
%
% 29 Nov 1995, DPC: Make \small in verbatim conditional on \normalsize.
%
|