Move a tag
[latex2e.git] / latex2e-20160201 / base / proc.dtx
blobeae2ce335376407220c364c4a6977b0806b4aa98
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
29 % \CheckSum{173}
30 %% \CharacterTable
31 %%  {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
32 %%   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
33 %%   Digits        \0\1\2\3\4\5\6\7\8\9
34 %%   Exclamation   \!     Double quote  \"     Hash (number) \#
35 %%   Dollar        \$     Percent       \%     Ampersand     \&
36 %%   Acute accent  \'     Left paren    \(     Right paren   \)
37 %%   Asterisk      \*     Plus          \+     Comma         \,
38 %%   Minus         \-     Point         \.     Solidus       \/
39 %%   Colon         \:     Semicolon     \;     Less than     \<
40 %%   Equals        \=     Greater than  \>     Question mark \?
41 %%   Commercial at \@     Left bracket  \[     Backslash     \\
42 %%   Right bracket \]     Circumflex    \^     Underscore    \_
43 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
44 %%   Right brace   \}     Tilde         \~}
46 % \iffalse
47 % Copyright (C) 1991,1992 by Leslie Lamport \and
48 % Copyright (C) 1994,1995 by the \LaTeX3 project \and Johannes Braams
50 % \changes{v1.1}{1994/01/25}{Made `proc' a document class and provide
51 %    a .sty file for compatibility mode}
52 % \changes{v1.2}{1994/01/26}{Removed the setting of a number of
53 %    variables that became superfluous by passing the twocolumn option
54 %    to the article class}
55 % \changes{v1.3}{1994/03/01}{Moved driver further up; added overview
56 %    of docstrip modules; added \cs{CheckSum}, \cs{StopEventually} and
57 %    \cs{Finale}}
58 % \changes{v1.3e}{1994/05/22}{Use new warning and error commands}
59 % \changes{v1.3f}{1994/05/26}{Inserted missing 'v's in \cs{changes}
60 %    entries}
61 % \changes{v1.3f}{1994/05/26}{Moved identification and driver to the
62 %    front of the file; these sections now no longer print}
64 % \subsection{Identification}
66 %    This document class can only be used with \LaTeXe, so it is made
67 %    sure that an appropriate message is displayed when another \TeX{}
68 %    format is used.
69 % \changes{v1.3l}{1995/11/30}{Added date of \LaTeX\ format to argument
70 %    of \cs{NeedsTeXFormat}}
71 %    \begin{macrocode}
72 %<+class|style>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
73 %    \end{macrocode}
75 %    Announce the document class and its version.
76 % \changes{v1.3c}{1994/04/15}{Added missing / guard}
77 % \changes{v1.3d}{1994/05/01}{Removed the use of variables such as
78 %    \cs{fileversion}}
79 % \changes{v1.3b}{1994/03/16}{Removed use of \cs{wlog}, no longer
80 %    needed}
81 % \changes{v1.3f}{1994/05/26}{Removed \cs{typeout} from .sty file;
82 %    changed description}
83 % \changes{v1.3h}{1994/05/26}{The second argument to \cs{ProvidesFile}
84 %    wasn't closed in the driver and the style file}
86 %    \begin{macrocode}
87 %<*driver>
88 \ProvidesFile{proc.drv}
89 %</driver>
90 %<+class>\ProvidesClass{proc}
91 %<+style>\ProvidesFile{proc.sty}
92               [2014/09/29 v1.3l
93 %<+class>               Standard LaTeX document class]
94 %<+style>               LaTeX 2.09 compatibility style option `proc']
95 %    \end{macrocode}
97 % \subsection{The documentation driver file}
99 %    This bit of code contains the documentation driver file for
100 %    \TeX{}, i.e., the file that will produce the documentation you
101 %    are currently reading. It can be extracted from this file by the
102 %    {\sc docstrip} program.
103 %    \begin{macrocode}
104 %<*driver>
106 \documentclass{ltxdoc}
107 \GetFileInfo{proc.drv}
108 \begin{document}
109 \newcommand\Lopt[1]{\textsf {#1}}
110 \DocInput{proc.dtx}
111 \end{document}
112 %</driver>
113 %    \end{macrocode}
114 % \fi
116 % \title{Producing proceedings articles with \LaTeXe\thanks
117 %    {File version \fileversion, dated \filedate}}
119 % \author{%
120 %  Johannes Braams\and
121 %  David Carlisle\and
122 %  Alan Jeffrey\and
123 %  Leslie Lamport\and
124 %  Frank Mittelbach\and
125 %  Chris Rowley\and
126 %  Rainer Sch\"opf}
128 % \date{\filedate}
130 % \MaintainedByLaTeXTeam{latex}
131 % \maketitle
133 % \section{Description}
135 %    This \LaTeXe\ document class is designed to produce camera-ready
136 %    conference proceedings. It is based upon the document class
137 %    \texttt{article}, but modifies some of its layout decisions.
138 %    It also adds one command.
140 %    For compatibility with \LaTeX2.09 a \texttt{.sty} version is
141 %    provided because \texttt{proc} used to be a style file. The
142 %    \texttt{.sty} file can \emph{not} be used as a package however.
144 % \DescribeMacro\copyrightspace
145 %    The |\copyrightspace| command is used to produce a blank space in
146 %    the first column where a copyright notice belongs.  Note that it
147 %    should appear after any |\footnote| commands that produce
148 %    footnotes for the first column.
150 % \StopEventually{}
152 % \section{The {\sc docstrip} modules}
154 % The following modules are used in the implementation to direct
155 % {\sc docstrip} in generating the external files:
156 % \begin{center}
157 % \begin{tabular}{ll}
158 %   class   & produce the proc document class\\
159 %   sty     & produce proc.sty for compatibility mode\\
160 %   driver  & produce a documentation driver file \\
161 % \end{tabular}
162 % \end{center}
164 % \section{Implementation}
166 %    In this case a check is needed to see wether \LaTeXe\ runs in
167 %    compatibility mode.
168 % \changes{v1.3i}{1994/05/27}{Added missing docstrip guard}
169 %    \begin{macrocode}
170 %<*style>
171 \if@compatibility
172 %    \end{macrocode}
173 %    In this case processing silently continues, but in the |\else|
174 %    case a warning is issued and reading of this file stops.
175 %    \begin{macrocode}
176 \else
177   \ClassWarningNoLine{proc}{^^J\@spaces%
178     You requested the use of `proc' as a package^^J\@spaces%
179     but it has been turned into a document class.^^J\@spaces%
180     Please change your file to use `proc' as a class.^^J}
181   \expandafter\endinput
183 %</style>
184 %    \end{macrocode}
186 %    Paper sizes smaller than A4 are not supported.
187 %    \begin{macrocode}
188 %<*class>
189 \DeclareOption{a5paper}
190     {\ClassError{proc}{Option `a5paper' not supported}{}}
191 \DeclareOption{b5paper}
192     {\ClassError{proc}{Option `b5paper' not supported}{}}
193 %    \end{macrocode}
195 %    Also the \Lopt{onecolumn} option is disabled in this document
196 %    class.
197 %    \begin{macrocode}
198 \DeclareOption{onecolumn}%
199     {\ClassError{proc}{Option `onecolumn' not supported}{}}
200 %    \end{macrocode}
202 %    Proceedings articles never have separate titlepages, therefore
203 %    this option is disabled.
204 %    \begin{macrocode}
205 \DeclareOption{titlepage}%
206     {\ClassError{proc}{Option `titlepage' not supported}{}}
207 %    \end{macrocode}
209 %    Always print in two column mode.
210 %    \begin{macrocode}
211 \PassOptionsToClass{twocolumn}{article}
212 %    \end{macrocode}
214 %    Any other options are passed on to the article class on which
215 %    this document class is based.
216 %    \begin{macrocode}
217 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
218 %    \end{macrocode}
220 %    Now we can process the options
221 %    \begin{macrocode}
222 \ProcessOptions
223 %    \end{macrocode}
225 %    and load the article document class.
226 %    \begin{macrocode}
227 \LoadClass{article}
228 %</class>
229 %    \end{macrocode}
231 % \section{Document Layout}
233 %    Proceedings articles have a different layout than normal
234 %    articles. Therefore some of the layout parameters are given
235 %    different values here.
237 % \subsection{Page Layout}
239 % \subsubsection{Vertical spacing}
241 % \begin{macro}{\footskip}
242 %    The distance from the baseline of the box which contains the
243 %    running footer to the baseline of last line of text is controlled
244 %    by the |\footskip|.
245 %    \begin{macrocode}
246 %<*class|style>
247 \setlength\footskip{75\p@}
248 %    \end{macrocode}
249 % \end{macro}
251 % \subsubsection{The dimension of text}
253 % \begin{macro}{\textwidth}
254 %    When \LaTeXe\ runs in compatibility mode it has to be made sure
255 %    that the dimensions of the printed area are not different from
256 %    what the user was used to see.
258 %    \begin{macrocode}
259 \if@compatibility
260   \setlength\textwidth{6.75in}
261 \else
262   \setlength\textwidth{\paperwidth}
263   \addtolength\textwidth{-126\p@}
264   \@settopoint\textwidth
266 %    \end{macrocode}
268 %    Here the width of the text a little is modified to be a whole
269 %    number of points.
270 %    \begin{macrocode}
271 \if@compatibility
272 \else
273   \@settopoint\textwidth
275 %    \end{macrocode}
276 % \end{macro}
278 % \begin{macro}{\textheight}
279 %    Now that we have computed the width of the text, we have to take
280 %    care of the height. The |\textheight| is the height of text
281 %    (including footnotes and figures, excluding running head and
282 %    foot).
284 %    \begin{macrocode}
285 \if@compatibility
286   \setlength\textheight{9in}
287 \else
288   \ifcase\@ptsize
289     \setlength\textheight{53\baselineskip}
290   \or
291     \setlength\textheight{47\baselineskip}
292   \or
293     \setlength\textheight{44\baselineskip}
294   \fi
296 %    \end{macrocode}
298 %    The first line on the page has a height of |\topskip|.
299 %    \begin{macrocode}
300 \advance\textheight by \topskip
301 %    \end{macrocode}
302 % \end{macro}
304 % \subsubsection{Margins}
306 % \begin{macro}{\oddsidemargin}
307 % \begin{macro}{\evensidemargin}
308 %    The width of the text is quite large, therefore the margins
309 %    have a negative width.
310 %    \begin{macrocode}
311 \setlength\oddsidemargin{-10\p@}
312 \setlength\evensidemargin{-10\p@}
313 %    \end{macrocode}
314 % \end{macro}
315 % \end{macro}
317 % \begin{macro}{\marginparwidth}
318 %    Because we have such a large |\textwidth| there is no real room
319 %    for notes in the margins.
320 %    \begin{macrocode}
321 \setlength\marginparwidth {\z@}
322 %    \end{macrocode}
323 % \end{macro}
325 % \begin{macro}{\topmargin}
326 %    The |\topmargin| is the distance between the top of `the
327 %    printable area' --which is 1 inch below the top of the paper--
328 %    and the top of the box which contains the running head.
329 %    \begin{macrocode}
330 \setlength\topmargin{-47\p@}
331 %    \end{macrocode}
332 % \end{macro}
334 % \begin{macro}{\columnsep}
335 %    Proceedings articles are always set in |\twocolumn| mode,
336 %    therefore the distance between the two columns  (|\columnsep|)is
337 %    set to a non zero value.
338 %    \begin{macrocode}
339 \setlength\columnsep{.375in}
340 %    \end{macrocode}
341 % \end{macro}
343 % \subsection{The page style}
345 %    The user can use |\markright| (or |\markboth|) to put an
346 %    identification in the lower left side of the page.  The page
347 %    number is printed in the lower right side of the page.
349 %    This works as long as he doesn't use either |\pagestyle| or
350 %    |\thispagestyle| commands.
351 % \changes{v1.3f}{1994/05/26}{changed \cs{rm} to
352 %    \cs{normalfont}\cs{rmfamily}}
353 % \changes{v1.3j}{1995/05/26}{Removed \cs{rmfamily} (PR 1578)}
354 %    \begin{macrocode}
355 \let\@oddhead\@empty
356 \let\@evenhead\@empty
357 \def\@oddfoot{\normalfont\rightmark \hfil
358               \pagename{} \thepage}
359 \def\@evenfoot{\@oddfoot}
360 %    \end{macrocode}
363 % \section{Document Markup}
365 % \subsection{The title}
367 % \begin{macro}{\maketitle}
368 % \changes{v1.3k}{1995/07/18}{Modify footnote handling (PR 1735)}
369 %    The definition of |\maketitle| here is basically the same as the
370 %    one in the document class \texttt{article}, but the pagestyle is
371 %    \emph{not} set to \texttt{plain}.
373 %    \begin{macrocode}
374 \def\maketitle{\par
375  \begingroup
376    \renewcommand\thefootnote{\fnsymbol{footnote}}%
377     \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
378      \long\def\@makefntext##1{\parindent 1em\noindent
379              \hb@xt@1.8em{%
380                  \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
381 %    \end{macrocode}
382 %    This document class always uses two column mode but the title is
383 %    set to the full width of the text.
384 %    \begin{macrocode}
385    \twocolumn[\@maketitle]%
386    \@thanks
387  \endgroup
388  \setcounter{footnote}{0}%
389  \let\maketitle\relax
390  \let\@maketitle\relax
391  \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
392 %    \end{macrocode}
393 % \end{macro}
395 % \begin{macro}{\@maketitle}
396 %    This macro takes care of formatting the title information.
398 %    The information is set inside |\vbox| with a width of
399 %    |\textwidth| and a height of 2.25in. The text is vertically and
400 %    horizontally centered.
401 %    \begin{macrocode}
402 \def\@maketitle{%
403   \vbox to 2.25in{%
404     \hsize\textwidth
405     \linewidth\hsize
406     \vfil
407     \centering
408     {\LARGE \@title \par}
409     \vskip 2em
410     {\large \begin{tabular}[t]{c}\@author \end{tabular}\par}
411     \vfil}}
412 %    \end{macrocode}
413 % \end{macro}
415 % \begin{macro}{\copyrightspace}
416 %    The |\copyrightspace| command is used to produce a blank space in
417 %    the first column where a copyright notice belongs.  It works by
418 %    producing a blank footnote of the appropriate size.
420 %    \begin{macrocode}
421 \def\copyrightspace{%
422   \footnotetext[0]{\mbox{}\vrule \@height 97\p@ \@width \z@}}
423 %    \end{macrocode}
424 % \end{macro}
426 % \subsection{Modifying environments}
428 % \subsubsection{Abstract}
430 % \begin{macro}{\abstract}
431 %    For this document class the definition of the abstract
432 %    environment is quit simple.
434 %    \begin{macrocode}
435 \renewenvironment{abstract}%
436   {\section*{\abstractname}}
437   {\par}
438 %    \end{macrocode}
439 % \end{macro}
441 % \section{Initialization}
443 % \subsection{Words}
445 % \begin{macro}{\pagename}
446 %    This document class is for documents prepared in the English
447 %    language. To prepare a version for another language, one English
448 %    word must be replaced.  It is defined below in a command name.
449 %    \begin{macrocode}
450 \newcommand\pagename{Page}
451 %</class|style>
452 %    \end{macrocode}
453 % \end{macro}
455 % \Finale
457 \endinput