Update LuaTeX testfiles for ^@ change
[latex2e.git] / trunk / base / proc.dtx
blobc67c4344b545c701164f9a7653c5604b99ccb332
1 % \iffalse meta-comment
3 % Copyright 1993-2016
4 % The LaTeX3 Project and any individual authors listed elsewhere
5 % in this file.
7 % This file is part of the LaTeX base system.
8 % -------------------------------------------
10 % It may be distributed and/or modified under the
11 % conditions of the LaTeX Project Public License, either version 1.3c
12 % of this license or (at your option) any later version.
13 % The latest version of this license is in
14 %    http://www.latex-project.org/lppl.txt
15 % and version 1.3c or later is part of all distributions of LaTeX
16 % version 2005/12/01 or later.
18 % This file has the LPPL maintenance status "maintained".
20 % The list of all files belonging to the LaTeX base distribution is
21 % given in the file `manifest.txt'. See also `legal.txt' for additional
22 % information.
24 % The list of derived (unpacked) files belonging to the distribution
25 % and covered by LPPL is defined by the unpacking scripts (with
26 % extension .ins) which are part of the distribution.
28 % \fi
30 % \iffalse
31 % Copyright (C) 1991,1992 by Leslie Lamport \and
32 % Copyright (C) 1994,1995 by the \LaTeX3 project \and Johannes Braams
34 % \changes{v1.1}{1994/01/25}{Made `proc' a document class and provide
35 %    a .sty file for compatibility mode}
36 % \changes{v1.2}{1994/01/26}{Removed the setting of a number of
37 %    variables that became superfluous by passing the twocolumn option
38 %    to the article class}
39 % \changes{v1.3}{1994/03/01}{Moved driver further up; added overview
40 %    of docstrip modules; added \cs{CheckSum}, \cs{StopEventually} and
41 %    \cs{Finale}}
42 % \changes{v1.3e}{1994/05/22}{Use new warning and error commands}
43 % \changes{v1.3f}{1994/05/26}{Inserted missing 'v's in \cs{changes}
44 %    entries}
45 % \changes{v1.3f}{1994/05/26}{Moved identification and driver to the
46 %    front of the file; these sections now no longer print}
48 % \subsection{Identification}
50 %    This document class can only be used with \LaTeXe, so it is made
51 %    sure that an appropriate message is displayed when another \TeX{}
52 %    format is used.
53 % \changes{v1.3l}{1995/11/30}{Added date of \LaTeX\ format to argument
54 %    of \cs{NeedsTeXFormat}}
55 %    \begin{macrocode}
56 %<+class|style>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
57 %    \end{macrocode}
59 %    Announce the document class and its version.
60 % \changes{v1.3c}{1994/04/15}{Added missing / guard}
61 % \changes{v1.3d}{1994/05/01}{Removed the use of variables such as
62 %    \cs{fileversion}}
63 % \changes{v1.3b}{1994/03/16}{Removed use of \cs{wlog}, no longer
64 %    needed}
65 % \changes{v1.3f}{1994/05/26}{Removed \cs{typeout} from .sty file;
66 %    changed description}
67 % \changes{v1.3h}{1994/05/26}{The second argument to \cs{ProvidesFile}
68 %    wasn't closed in the driver and the style file}
70 %    \begin{macrocode}
71 %<*driver>
72 \ProvidesFile{proc.drv}
73 %</driver>
74 %<+class>\ProvidesClass{proc}
75 %<+style>\ProvidesFile{proc.sty}
76               [2014/09/29 v1.3l
77 %<+class>               Standard LaTeX document class]
78 %<+style>               LaTeX 2.09 compatibility style option `proc']
79 %    \end{macrocode}
81 % \subsection{The documentation driver file}
83 %    This bit of code contains the documentation driver file for
84 %    \TeX{}, i.e., the file that will produce the documentation you
85 %    are currently reading. It can be extracted from this file by the
86 %    {\sc docstrip} program.
87 %    \begin{macrocode}
88 %<*driver>
90 \documentclass{ltxdoc}
91 \GetFileInfo{proc.drv}
92 \begin{document}
93 \newcommand\Lopt[1]{\textsf {#1}}
94 \DocInput{proc.dtx}
95 \end{document}
96 %</driver>
97 %    \end{macrocode}
98 % \fi
100 % \title{Producing proceedings articles with \LaTeXe\thanks
101 %    {File version \fileversion, dated \filedate}}
103 % \author{%
104 %  Johannes Braams\and
105 %  David Carlisle\and
106 %  Alan Jeffrey\and
107 %  Leslie Lamport\and
108 %  Frank Mittelbach\and
109 %  Chris Rowley\and
110 %  Rainer Sch\"opf}
112 % \date{\filedate}
114 % \MaintainedByLaTeXTeam{latex}
115 % \maketitle
117 % \section{Description}
119 %    This \LaTeXe\ document class is designed to produce camera-ready
120 %    conference proceedings. It is based upon the document class
121 %    \texttt{article}, but modifies some of its layout decisions.
122 %    It also adds one command.
124 %    For compatibility with \LaTeX2.09 a \texttt{.sty} version is
125 %    provided because \texttt{proc} used to be a style file. The
126 %    \texttt{.sty} file can \emph{not} be used as a package however.
128 % \DescribeMacro\copyrightspace
129 %    The |\copyrightspace| command is used to produce a blank space in
130 %    the first column where a copyright notice belongs.  Note that it
131 %    should appear after any |\footnote| commands that produce
132 %    footnotes for the first column.
134 % \StopEventually{}
136 % \section{The {\sc docstrip} modules}
138 % The following modules are used in the implementation to direct
139 % {\sc docstrip} in generating the external files:
140 % \begin{center}
141 % \begin{tabular}{ll}
142 %   class   & produce the proc document class\\
143 %   sty     & produce proc.sty for compatibility mode\\
144 %   driver  & produce a documentation driver file \\
145 % \end{tabular}
146 % \end{center}
148 % \section{Implementation}
150 %    In this case a check is needed to see wether \LaTeXe\ runs in
151 %    compatibility mode.
152 % \changes{v1.3i}{1994/05/27}{Added missing docstrip guard}
153 %    \begin{macrocode}
154 %<*style>
155 \if@compatibility
156 %    \end{macrocode}
157 %    In this case processing silently continues, but in the |\else|
158 %    case a warning is issued and reading of this file stops.
159 %    \begin{macrocode}
160 \else
161   \ClassWarningNoLine{proc}{^^J\@spaces%
162     You requested the use of `proc' as a package^^J\@spaces%
163     but it has been turned into a document class.^^J\@spaces%
164     Please change your file to use `proc' as a class.^^J}
165   \expandafter\endinput
167 %</style>
168 %    \end{macrocode}
170 %    Paper sizes smaller than A4 are not supported.
171 %    \begin{macrocode}
172 %<*class>
173 \DeclareOption{a5paper}
174     {\ClassError{proc}{Option `a5paper' not supported}{}}
175 \DeclareOption{b5paper}
176     {\ClassError{proc}{Option `b5paper' not supported}{}}
177 %    \end{macrocode}
179 %    Also the \Lopt{onecolumn} option is disabled in this document
180 %    class.
181 %    \begin{macrocode}
182 \DeclareOption{onecolumn}%
183     {\ClassError{proc}{Option `onecolumn' not supported}{}}
184 %    \end{macrocode}
186 %    Proceedings articles never have separate titlepages, therefore
187 %    this option is disabled.
188 %    \begin{macrocode}
189 \DeclareOption{titlepage}%
190     {\ClassError{proc}{Option `titlepage' not supported}{}}
191 %    \end{macrocode}
193 %    Always print in two column mode.
194 %    \begin{macrocode}
195 \PassOptionsToClass{twocolumn}{article}
196 %    \end{macrocode}
198 %    Any other options are passed on to the article class on which
199 %    this document class is based.
200 %    \begin{macrocode}
201 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
202 %    \end{macrocode}
204 %    Now we can process the options
205 %    \begin{macrocode}
206 \ProcessOptions
207 %    \end{macrocode}
209 %    and load the article document class.
210 %    \begin{macrocode}
211 \LoadClass{article}
212 %</class>
213 %    \end{macrocode}
215 % \section{Document Layout}
217 %    Proceedings articles have a different layout than normal
218 %    articles. Therefore some of the layout parameters are given
219 %    different values here.
221 % \subsection{Page Layout}
223 % \subsubsection{Vertical spacing}
225 % \begin{macro}{\footskip}
226 %    The distance from the baseline of the box which contains the
227 %    running footer to the baseline of last line of text is controlled
228 %    by the |\footskip|.
229 %    \begin{macrocode}
230 %<*class|style>
231 \setlength\footskip{75\p@}
232 %    \end{macrocode}
233 % \end{macro}
235 % \subsubsection{The dimension of text}
237 % \begin{macro}{\textwidth}
238 %    When \LaTeXe\ runs in compatibility mode it has to be made sure
239 %    that the dimensions of the printed area are not different from
240 %    what the user was used to see.
242 %    \begin{macrocode}
243 \if@compatibility
244   \setlength\textwidth{6.75in}
245 \else
246   \setlength\textwidth{\paperwidth}
247   \addtolength\textwidth{-126\p@}
248   \@settopoint\textwidth
250 %    \end{macrocode}
252 %    Here the width of the text a little is modified to be a whole
253 %    number of points.
254 %    \begin{macrocode}
255 \if@compatibility
256 \else
257   \@settopoint\textwidth
259 %    \end{macrocode}
260 % \end{macro}
262 % \begin{macro}{\textheight}
263 %    Now that we have computed the width of the text, we have to take
264 %    care of the height. The |\textheight| is the height of text
265 %    (including footnotes and figures, excluding running head and
266 %    foot).
268 %    \begin{macrocode}
269 \if@compatibility
270   \setlength\textheight{9in}
271 \else
272   \ifcase\@ptsize
273     \setlength\textheight{53\baselineskip}
274   \or
275     \setlength\textheight{47\baselineskip}
276   \or
277     \setlength\textheight{44\baselineskip}
278   \fi
280 %    \end{macrocode}
282 %    The first line on the page has a height of |\topskip|.
283 %    \begin{macrocode}
284 \advance\textheight by \topskip
285 %    \end{macrocode}
286 % \end{macro}
288 % \subsubsection{Margins}
290 % \begin{macro}{\oddsidemargin}
291 % \begin{macro}{\evensidemargin}
292 %    The width of the text is quite large, therefore the margins
293 %    have a negative width.
294 %    \begin{macrocode}
295 \setlength\oddsidemargin{-10\p@}
296 \setlength\evensidemargin{-10\p@}
297 %    \end{macrocode}
298 % \end{macro}
299 % \end{macro}
301 % \begin{macro}{\marginparwidth}
302 %    Because we have such a large |\textwidth| there is no real room
303 %    for notes in the margins.
304 %    \begin{macrocode}
305 \setlength\marginparwidth {\z@}
306 %    \end{macrocode}
307 % \end{macro}
309 % \begin{macro}{\topmargin}
310 %    The |\topmargin| is the distance between the top of `the
311 %    printable area' --which is 1 inch below the top of the paper--
312 %    and the top of the box which contains the running head.
313 %    \begin{macrocode}
314 \setlength\topmargin{-47\p@}
315 %    \end{macrocode}
316 % \end{macro}
318 % \begin{macro}{\columnsep}
319 %    Proceedings articles are always set in |\twocolumn| mode,
320 %    therefore the distance between the two columns  (|\columnsep|)is
321 %    set to a non zero value.
322 %    \begin{macrocode}
323 \setlength\columnsep{.375in}
324 %    \end{macrocode}
325 % \end{macro}
327 % \subsection{The page style}
329 %    The user can use |\markright| (or |\markboth|) to put an
330 %    identification in the lower left side of the page.  The page
331 %    number is printed in the lower right side of the page.
333 %    This works as long as he doesn't use either |\pagestyle| or
334 %    |\thispagestyle| commands.
335 % \changes{v1.3f}{1994/05/26}{changed \cs{rm} to
336 %    \cs{normalfont}\cs{rmfamily}}
337 % \changes{v1.3j}{1995/05/26}{Removed \cs{rmfamily} (PR 1578)}
338 %    \begin{macrocode}
339 \let\@oddhead\@empty
340 \let\@evenhead\@empty
341 \def\@oddfoot{\normalfont\rightmark \hfil
342               \pagename{} \thepage}
343 \def\@evenfoot{\@oddfoot}
344 %    \end{macrocode}
347 % \section{Document Markup}
349 % \subsection{The title}
351 % \begin{macro}{\maketitle}
352 % \changes{v1.3k}{1995/07/18}{Modify footnote handling (PR 1735)}
353 %    The definition of |\maketitle| here is basically the same as the
354 %    one in the document class \texttt{article}, but the pagestyle is
355 %    \emph{not} set to \texttt{plain}.
357 %    \begin{macrocode}
358 \def\maketitle{\par
359  \begingroup
360    \renewcommand\thefootnote{\fnsymbol{footnote}}%
361     \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
362      \long\def\@makefntext##1{\parindent 1em\noindent
363              \hb@xt@1.8em{%
364                  \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
365 %    \end{macrocode}
366 %    This document class always uses two column mode but the title is
367 %    set to the full width of the text.
368 %    \begin{macrocode}
369    \twocolumn[\@maketitle]%
370    \@thanks
371  \endgroup
372  \setcounter{footnote}{0}%
373  \let\maketitle\relax
374  \let\@maketitle\relax
375  \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
376 %    \end{macrocode}
377 % \end{macro}
379 % \begin{macro}{\@maketitle}
380 %    This macro takes care of formatting the title information.
382 %    The information is set inside |\vbox| with a width of
383 %    |\textwidth| and a height of 2.25in. The text is vertically and
384 %    horizontally centered.
385 %    \begin{macrocode}
386 \def\@maketitle{%
387   \vbox to 2.25in{%
388     \hsize\textwidth
389     \linewidth\hsize
390     \vfil
391     \centering
392     {\LARGE \@title \par}
393     \vskip 2em
394     {\large \begin{tabular}[t]{c}\@author \end{tabular}\par}
395     \vfil}}
396 %    \end{macrocode}
397 % \end{macro}
399 % \begin{macro}{\copyrightspace}
400 %    The |\copyrightspace| command is used to produce a blank space in
401 %    the first column where a copyright notice belongs.  It works by
402 %    producing a blank footnote of the appropriate size.
404 %    \begin{macrocode}
405 \def\copyrightspace{%
406   \footnotetext[0]{\mbox{}\vrule \@height 97\p@ \@width \z@}}
407 %    \end{macrocode}
408 % \end{macro}
410 % \subsection{Modifying environments}
412 % \subsubsection{Abstract}
414 % \begin{macro}{\abstract}
415 %    For this document class the definition of the abstract
416 %    environment is quit simple.
418 %    \begin{macrocode}
419 \renewenvironment{abstract}%
420   {\section*{\abstractname}}
421   {\par}
422 %    \end{macrocode}
423 % \end{macro}
425 % \section{Initialization}
427 % \subsection{Words}
429 % \begin{macro}{\pagename}
430 %    This document class is for documents prepared in the English
431 %    language. To prepare a version for another language, one English
432 %    word must be replaced.  It is defined below in a command name.
433 %    \begin{macrocode}
434 \newcommand\pagename{Page}
435 %</class|style>
436 %    \end{macrocode}
437 % \end{macro}
439 % \Finale
441 \endinput