summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/alatex/base/alatex.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/alatex/base/alatex.dtx')
-rw-r--r--Master/texmf-dist/source/alatex/base/alatex.dtx531
1 files changed, 0 insertions, 531 deletions
diff --git a/Master/texmf-dist/source/alatex/base/alatex.dtx b/Master/texmf-dist/source/alatex/base/alatex.dtx
deleted file mode 100644
index 0f7539b5694..00000000000
--- a/Master/texmf-dist/source/alatex/base/alatex.dtx
+++ /dev/null
@@ -1,531 +0,0 @@
-%^^A* file information
-% \iffalse
-%
-% alatex.dtx -- discussion and documentation of ALaTeX and its standard metaclass
-%
-% Copyright 1995 Matt Swift <swift@bu.edu>. All rights reserved.
-%
-% This file is part of the ALaTeX system.
-% Please see the file 0areadme.txt for further information.
-%
-% All correspondence regarding ALaTeX should go to
-% Matt Swift <swift@bu.edu>, not the LaTeX maintainers.
-%
-% This program is free software; you can redistribute it and/or modify
-% it under the terms of the GNU General Public License as published by
-% the Free Software Foundation; either version 2 of the License, or
-% (at your option) any later version.
-%
-% This program 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. See the
-% GNU General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with this program; if not, write to the Free Software
-% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-%
-% \fi
-%
-%^^A* checks
-%
-%^^A NOTE: The character table, with two %'s, will get written to all files.
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \CheckSum{287}
-%
-%^^A* abstract
-% \begin{abstract}
-% \ALaTeX{} is a document preparation system that provides the user with all
-% the functionality of \LaTeX{} and a general, legal way to override standard
-% \LaTeX{} behavior without altering source files. An important consequence is
-% that \ALaTeX{} can interpret official \LaTeX{} markup in an abstract way.
-%
-% This discussion builds on the author's paper ``Modularity in \LaTeX''
-% in the forthcoming TUGboat \textbf{16} (3).
-% \end{abstract}
-% \tableofcontents
-% \clearpage
-%
-% \StopEventually{}
-%
-% \section{Introduction}
-%
-% The purpose of writing \ALaTeX{} was to facilitate typesetting official
-% \LaTeX{} markup as \emph{abstract} markup, that is, markup that is not fixed
-% to a ``standard'' appearance on a typeset page. Official \LaTeX{} markup has
-% a standard appearance. Together with the broad portability of the \TeX{}
-% program, this standard is a highly valuable feature of \LaTeX. In achieving
-% this important goal, however, the \LaTeX{} developers compromised the
-% valuable ability of \LaTeX{} to interpret markup abstractly. \ALaTeX{}
-% attempts to provide users with the ability to process official \LaTeX{}
-% markup with the power of full abstraction, without compromising their ability
-% to process official \LaTeX{} markup in the standard way.
-%
-% You are not allowed to modify the distributed \LaTeX{} files without changing
-% their names; yet filenames are how classes and packages are identified. In
-% many cases it is desirable to produce \emph{different} \ext{dvi} files from
-% the same source document. Suppose you make a small modification of the
-% standard \class{article} class. To use it to process a source which calls
-% for the \class{article} class, you must either break the law and call your
-% derivative class \file{article.cls}, or modify the source to call for a
-% different class. Both options are unacceptable, the first for obvious
-% reasons, the second because a document class---and indeed all the markup in a
-% source---ought to be abstractly descriptive without specifying the details of
-% presentation. Font specifications are absurd in a document to be read aloud;
-% volume specifications are absurd in a document to be printed; page
-% specifications are absurd in a document to be viewed on a screen.
-%
-% Even were it agreed to privilege a single medium for presentation, sometimes
-% the source simply cannot be modified, and making a copy would cause version
-% control or storage difficulties, or itself be a violation of law.
-%
-% It is unnecessary to dwell on the necessary failure of any markup scheme to
-% be suitably abstract for all interesting documents and presentation media.
-% Fortunately, we are aiming to advance computer-aided typesetting, not the
-% philosophy of essence and accident, syntax and semantics. What is true of
-% \ALaTeX{} and not of \LaTeX{} is that all directives with a \emph{necessary}
-% influence on typeset appearance appear outside the source document.
-%
-% It is very difficult to have a working \ALaTeX{} without also having a
-% working \LaTeX. For this reason, \ALaTeX{} is unlikely to compromise the
-% availability and ubiquity of systems that conveniently produce standard
-% \LaTeX{} \ext{dvi} files from sources containing official \LaTeX{} markup.
-% To help insure this harmlessness (and for lack of a reasonable alternative),
-% \ALaTeX{} as distributed produces \ext{dvi} files identical to ones that
-% \LaTeX{} produces from the same source. Differences are conceivable only in
-% the perverse cases listed in Appendix \ref{perverse}.
-%
-% Abstracting those cases, therefore, a user must actively alter \LaTeX{} or
-% \ALaTeX{} before she can produce a \ext{dvi} file that differs from the one
-% standard \LaTeX{} produces from the same source file. \ALaTeX, however, is
-% much easier to alter in useful ways than \LaTeX.
-%
-% \begin{em}
-% When you compose a document, please preview it with (standard) \LaTeX.
-% There is absolutely no reason at all to use \ALaTeX{} during document
-% composition. Using \LaTeX{} will ensure that your document can be
-% consistently compiled and viewed at every \LaTeX{} site in the world. Use
-% \ALaTeX{} \emph{only} on existing sources when you can't or don't want to
-% modify them, and yet want to present them in a nonstandard way.
-% \end{em}
-%
-% \section{How \ALaTeX{} works}
-%
-% Most of the \ALaTeX{} distribution is designed to make a single small change
-% to the \LaTeX{} kernel easy and legal to use. The change causes the
-% |\documentclass| command to store its arguments in variables and load the
-% file \file{metaclas.cfg} called the \term{metaclass} before continuing.
-% That's it!
-%
-% The significance of this change is in the variety and scope of what can be
-% accomplished by code in the metaclass. In the metaclass, the |@| character
-% is a letter, as in normal class files.
-%
-% \DescribeMacro\mc@class@options
-% \DescribeMacro\mc@class@name
-% \DescribeMacro\mc@class@version
-% When the metaclass is executed, the \ALaTeX{} kernel is loaded, and the
-% source file has been processed from the beginning through the first
-% |\documentclass| command and all its arguments. The arguments have been
-% stored in macros as follows:
-% \begin{description}
-% \item[\bslash mc@class@options] holds the first optional argument to
-% |\documentclass|.
-% \item[\bslash mc@class@name] holds the mandatory argument to
-% |\documentclass|.
-% \item[\bslash mc@class@version] holds the second optional
-% argument to |\documentclass|.
-% \end{description}
-%
-% A metaclass can do anything at all with this information. The distributed
-% metaclass below emulates \LaTeX's behavior. Code in comments below provides
-% two convenient mechanisms to do something else, causing \ALaTeX's typeset
-% documents to differ from \LaTeX's. \ALaTeX{} is as flexible as possible, and
-% the number of other possibilities is countless.
-%
-% \DescribeMacro\alt@cls@extension
-% \DescribeMacro\ds@foo
-% The nonstandard mechanisms are as follows. Let \meta{class} be the class
-% named by the |\documentclass| command, \meta{altX} be the value of
-% |\alt@cls@extension| defined in the metaclass, and \meta{normX} be the value
-% of |\@cls@extension| defined in the \ALaTeX{} (and \LaTeX) kernel.
-% \begin{enumerate}
-% \item When a file \file{\meta{class}.\meta{altX}} exists in the search path,
-% it will be loaded instead of the usual \file{\meta{class}.\meta{normX}}.
-% \item When a command |\ds@|\meta{class} is defined, it will be executed
-% instead of loading \file{\meta{class}.\meta{normX}}.
-% \end{enumerate}
-%
-% Notice that there is no reason to use \ALaTeX{} unless you create a
-% nonstandard metaclass. The standard metaclass emulates standard \LaTeX{}
-% because the user should have to take active steps to get nonstandard output.
-% If you modify this file, please change the |\fileinfo| declaration near the
-% end.
-%
-% \section{The game of the name}
-%
-% You may understand the \word{A} in \ALaTeX{} to stand for \word{alternate} or
-% \word{abstract}, or to be the definite article, which emphasizes that fact
-% that when you process with \ALaTeX{}, you are seeing just one of an infinite
-% number of possibile presentations of your document's content.
-%
-% You may pronounce \ALaTeX{} however you like, of course.
-%
-% \section{A sampler of applications}
-%
-% \ALaTeX{} is a powerful tool, but newly born. Sophisticated applications
-% have neither been conceived nor implemented. The author would appreciate
-% hearing from you.
-%
-% \ALaTeX{} is potentially useful in situations where without \ALaTeX{} one
-% would need to alter the source in a way that affects its presentation but not
-% its content. For example, without \ALaTeX{} you must modify the source to
-% change the paper size or font characteristics of the typeset document.
-% \ALaTeX{} allows you to make this kind of change by altering the typesetting
-% procedure instead of the source itself.
-%
-% You can use \ALaTeX{} to specify options to package and classes or even to
-% load packages. You can invoke debugging or profiling code.
-%
-% Since the metaclass can control the style of a document, a system of files
-% could be arranged in which there exist companion files for sources, which
-% would function like style sheets. Common hierarchical path searching
-% mechanisms would permit cascading styles with a flexible inheritance scheme
-% at the levels of site, user, directory, and individual source.
-%
-% \section{The future}
-%
-% I envision removing most of the decisions embodied in the preamble and in
-% package and class options from the source file to the invocation of the
-% processing run. The decisions might be specified on the command line or in
-% files separate from the source that are managed by a convenient interface.
-% Is not an analogous development occurring as style sheets are brought to
-% HTML?
-%
-% Since the choices a user would typically make via \ALaTeX{} are likely to be
-% few and from among a small number of known alternatives, it is easy to
-% imagine a convenient user interface for the common options. Such a front end
-% written \TeX{} would have the advantage of being \%100 portable. A graphical
-% interface could be integrated in an existing front end which manages a broad
-% array of \TeX-related tasks.
-%
-% If metaclasses become tricky, a |\tracingmetaclasses| command might be
-% warranted.
-%
-% \StopEventually{}
-%
-% \section{Version control}
-%
-% \begin{macro}{\fileinfo}
-% \begin{macro}{\fileversion}
-% \begin{macro}{\filedate}
-% \begin{macro}{\docdate}
-% \begin{macro}{\PPOptArg}
-% First we take care of the business of keeping track of the version of this
-% document.
-% \begin{macrocode}
-%<*metaclass>
-\def\fileinfo{standard ALaTeX metaclass}
-\def\fileversion{v1.0}
-\def\filedate{1996/01/24}
-\def\docdate{1996/01/24}
-\edef\PPOptArg{\filedate\space \fileversion\space \fileinfo}
-\ProvidesFile{metaclas.cfg}[\PPOptArg]
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Emulate \LaTeX{} (the default)}
-%
-% \begin{macro}{\documentclass}
-% \begin{macro}{\mc@load@class}
-% The following |\documentclass| command behaves exactly like \LaTeX's. It
-% looks a little different here because we've already read the three arguments.
-% \begin{macrocode}
-\def\documentclass{%
- \let\documentclass\@twoclasseserror
- \if@compatibility\else\let\usepackage\RequirePackage\fi
- \mc@load@class}
-\def\mc@load@class{%
- \edef\reserved@a{%
- \noexpand\@fileswithoptions
- \noexpand\@clsextension
- [\mc@class@options]{\mc@class@name}[\mc@class@version]}%
- \reserved@a}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Privelege alternate extensions}
-%
-% \begin{macro}{\alt@cls@extension}
-% \begin{macro}{\documentclass}
-% To enable divergences from standard \LaTeX{} of the first kind only,
-% uncomment the following four definitions in this section and ensure that the
-% definitions in following sections are commented out. Please also change the
-% definition of |\fileinfo| above.
-% \begin{macrocode}
-% \def\alt@cls@extension{acl}
-% \def\documentclass{%
-% \let\documentclass\@twoclasseserror
-% \if@compatibility\else\let\usepackage\RequirePackage\fi
-% \IfFileExists{\mc@class@name.\alt@cls@extension}
-% {\let\mc@extension\alt@cls@extension
-% \mc@load@class
-% \def\mc@extension{\@currext}}
-% {\mc@load@class}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\mc@extension}
-% \begin{macro}{\@onefilewithoptions}
-% A lot of code here for two tiny changes of |\@currext| to |\mc@extension|.
-% The file with the alternate extension masquerades as one with the normal
-% extension in every way except the actual filename.
-% \begin{macrocode}
-% \def\mc@extension{\@currext}
-% \def\@onefilewithoptions#1[#2][#3]#4{%
-% \@pushfilename
-% \xdef\@currname{#1}%
-% \global\let\@currext#4%
-% \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
-% \let\CurrentOption\@empty
-% \@reset@ptions
-% \makeatletter
-% \def\reserved@a{%
-% \@ifl@aded\@currext{#1}%
-% {\@if@ptions\@currext{#1}{#2}{}%
-% {\@latex@error
-% {Option clash for \@cls@pkg\space #1}%
-% {The package #1 has already been loaded
-% with options:\MessageBreak
-% \space\space[\@ptionlist{#1.\@currext}]\MessageBreak
-% There has now been an attempt to load it
-% with options\MessageBreak
-% \space\space[#2]\MessageBreak
-% Adding the line:\MessageBreak
-% \space\space\string\usepackage
-% [\@ptionlist{#1.\@currext},#2]{#1}\MessageBreak
-% to your document may fix this.\MessageBreak
-% Try typing \space <return> \space to proceed.}}}%
-% {\@pass@ptions\@currext{#2}{#1}%
-% \global\expandafter
-% \let\csname ver@\@currname.\@currext\endcsname\@empty
-% \InputIfFileExists
-% {\@currname.\mc@extension}%
-% {}%
-% {\@missingfileerror\@currname\mc@extension}%
-% \let\@unprocessedoptions\@@unprocessedoptions
-% \csname\@currname.\@currext-h@@k\endcsname
-% \expandafter\let\csname\@currname.\@currext-h@@k\endcsname
-% \@undefined
-% \@unprocessedoptions}
-% \@ifl@ter\@currext{#1}{#3}{}%
-% {\@latex@warning@no@line
-% {You have requested,\on@line,
-% version\MessageBreak
-% `#3' of \@cls@pkg\space #1,\MessageBreak
-% but only version\MessageBreak
-% `\csname ver@#1.\@currext\endcsname'\MessageBreak
-% is available}}%
-% \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi
-% \@popfilename
-% \@reset@ptions}%
-% \reserved@a}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{Pass control to a macro}
-%
-% \begin{macro}{\documentclass}
-% To enable divergences from standard \LaTeX{} of the second kind only,
-% uncomment the following definition and ensure that all definitions in the
-% next and previous sections are commented out. Please also change the
-% definition of |\fileinfo| above. You must define |\dc@|\meta{class} in your
-% \file{metaclass.cfg} or before the |\documentclass| command in your document,
-% if you want to define it at all.
-% \begin{macrocode}
-% \def\documentclass{%
-% \let\documentclass\@twoclasseserror
-% \if@compatibility\else\let\usepackage\RequirePackage\fi
-% \@ifundefined{dc@\mc@class@name}
-% {\mc@load@class}
-% {\@nameuse{dc@\mc@class@name}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \section{First extension then macro}
-%
-% \begin{macro}{\documentclass}
-% To enable divergences from standard \LaTeX{} of both the first and second
-% kinds, uncomment the following definition as well as the definitions of
-% |\alt@cls@extension|, |\mc@extension|, and |\@onefilewithoptions| above.
-% Please also change the definition of |\fileinfo| above.
-% \begin{macrocode}
-% \def\documentclass{%
-% \let\documentclass\@twoclasseserror
-% \if@compatibility\else\let\usepackage\RequirePackage\fi
-% \IfFileExists{\mc@class@name.\alt@cls@extension}
-% {\let\mc@extension\alt@cls@extension
-% \mc@load@class
-% \def\mc@extension{\@currext}}
-% {\@ifundefined{dc@\mc@class@name}
-% {\mc@load@class}
-% {\@nameuse{dc@\mc@class@name}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Actually do something}
-%
-% So far we've just defined a command called |\documentclass|. It's time to
-% use it. It's probably best if this remains at the end of the (extracted)
-% file.
-% \begin{macrocode}
-\documentclass
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</metaclass>
-% \end{macrocode}
-%
-% \appendix
-% \section{Perverse cases}
-% \label{perverse}
-%
-% \ALaTeX{} as distributed produces \ext{dvi} files identical to ones that
-% \LaTeX{} produces from the same source. Differences are conceivable
-% only in the following perverse cases.
-% \begin{enumerate}
-% \item The document contains \TeX{} code that depends upon the exact
-% definitions or undefined state of the macros
-% \begin{quote}\raggedright
-% |\ALaTeX|, |\documentclass|, |\mc@documentclass|,
-% |\mc@@documentclass|, |\mc@class@options|, |\mc@class@name|,
-% |\mc@class@version|, and |\mc@load@class|.
-% \end{quote}
-% \item Processing the document requires the (almost trivial) internal
-% resources consumed by defining the above macros and loading the metaclass
-% file.
-% \item There is unfriendly code in the source before the |\documentclass|
-% command. Normally only harmless comments and \env{filecontents}
-% environments will precede the |\documentclass| command, but other code is
-% possible, that would cause the \ALaTeX's output to differ from \LaTeX's.
-% \item The arguments to |\documentclass| are very unusual, for example, they
-% change catcodes or have complicated expansions. \ALaTeX{} scans the
-% arguments to |\documentclass| slightly differently than \LaTeX{} does.
-% \end{enumerate}
-% No one should have to worry about these cases, and if they come up the
-% problem should be obvious.
-%
-% \section{Kernel Patch}
-%
-% This is the code that patches the \LaTeX{} kernel.
-%
-% \begin{macrocode}
-%<*alatex>
-\def\fileinfo{ALaTeX patch to LaTeX kernel}
-\def\fileversion{v1.0}
-\def\filedate{1996/01/24}
-\def\docdate{1996/01/24}
-\edef\PPOptArg{\filedate\space \fileversion\space \fileinfo}
-\ProvidesFile{metaclas.cfg}[\PPOptArg]
-
-\makeatletter
-% \end{macrocode}
-%
-% This is \ALaTeX, so make sure to announce it, and that it's nonstandard. We
-% don't want to change the |\fmtversion|. We want \ALaTeX{} to masquerade as
-% \LaTeX{} to the programs but not the users.
-%
-% This startup banner may be further modified by the code in |ltfinal.dtx| if a
-% patch file is present.
-% \begin{macrocode}
-\everyjob{\typeout{ALaTeX\space<\fmtversion\space R1> (NOT STANDARD LATEX)}}
-\immediate\write16{ALaTeX\space<\fmtversion\space R1> (NOT STANDARD LATEX)}
-% \end{macrocode}
-%
-% \begin{macro}{\ALaTeX}
-% Provide a logo.
-% \begin{macrocode}
-\DeclareRobustCommand{\ALaTeX}
- {A\LaTeX}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\documentclass}
-% \begin{macro}{\mc@documentclass}
-% \begin{macro}{\mc@@documentclass}
-% \begin{macro}{\mc@class@options}
-% \begin{macro}{\mc@class@name}
-% \begin{macro}{\mc@class@version}
-% If the file |metaclas.cfg| exists in the search path, then the
-% |\documentclass| command reads its three arguments (two are optional) into
-% variables, and passes control to that file. If there is no such file, then
-% we proceed just as in \LaTeX. Since |\documentstyle| loads some code then
-% calls |\documentclass|, 2.09 documents also fall under the control of the
-% metaclass mechanism.
-% \begin{macrocode}
-\def\documentclass{%
- \IfFileExists{metaclas.cfg}
- {\@ifnextchar[%]
- {\mc@documentclass}
- {\mc@documentclass[]}}
- {\let\documentclass\@twoclasseserror
- \if@compatibility\else\let\usepackage\RequirePackage\fi
- \@fileswithoptions\@clsextension}}
-
-\def\mc@documentclass[#1]#2{%
- \@ifnextchar[%]
- {\mc@@documentclass{#1}{#2}}
- {\mc@@documentclass{#1}{#2}[]}}
-
-\def\mc@@documentclass#1#2[#3]{%
- \def\mc@class@options{#1}%
- \def\mc@class@name{#2}%
- \def\mc@class@version{#3}%
- \makeatletter
- \input{metaclas.cfg}%
- \makeatother}
-
-\@onlypreamble\documentclass
-\@onlypreamble\mc@documentclass
-\@onlypreamble\mc@@documentclass
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% Dump the format.
-% \begin{macrocode}
-\makeatother
-\dump
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</alatex>
-% \end{macrocode}
-%
-% \Finale