Producing proceedings articles with L^{A}TEX 2ε^{∗}

Johannes Braams  David Carlisle  Alan Jeffrey
Leslie Lamport  Frank Mittelbach  Chris Rowley

Rainer Schöpf

1995/11/30

1 Description

This L^{A}TEX 2ε document class is designed to produce camera-ready conference proceedings. It is based upon the document class article, but modifies some of its layout decisions. It also adds one command.

For compatibility with L^{A}TEX2.09 a .sty version is provided because proc used to be a style file. The .sty file can not be used as a package however.

\copyrightspace The \copyrightspace command is used to produce a blank space in the first column where a copyright notice belongs. Note that it should appear after any \footnote commands that produce footnotes for the first column.

2 The docstrip modules

The following modules are used in the implementation to direct docstrip in generating the external files:

class produce the proc document class
sty  produce proc.sty for compatibility mode
driver produce a documentation driver file

3 Implementation

In this case a check is needed to see wether L^{A}TEX 2ε runs in compatibility mode.

1 ⟨∗style⟩

 2 \if@compatibility

In this case processing silently continues, but in the \else case a warning is issued and reading of this file stops.

 3 \else

∗File version v1.3l, dated 1995/11/30

 4 \ClassWarningNoLine{proc}{^^J\@spaces%
 5  You requested the use of `proc' as a package^^J\@spaces%
 6  but it has been turned into a document class.^^J\@spaces%
 7  Please change your file to use `proc' as a class.^^J}
 8 \expandafter\endinput
 9 \fi

10 ⟨/style⟩

Paper sizes smaller than A4 are not supported.

11 ⟨∗class⟩

12 \DeclareOption{a5paper}
13  {\ClassError{proc}{Option `a5paper' not supported}{}}
14 \DeclareOption{b5paper}
15  {\ClassError{proc}{Option `b5paper' not supported}{}}

Also the onecolumn option is disabled in this document class.

16 \DeclareOption{onecolumn}%
17  {\ClassError{proc}{Option `onecolumn' not supported}{}}

Proceedings articles never have separate titlepages, therefore this option is disabled.

18 \DeclareOption{titlepage}%
19  {\ClassError{proc}{Option `titlepage' not supported}{}}

Always print in two column mode.

20 \PassOptionsToClass{twocolumn}{article}

Any other options are passed on to the article class on which this document class is based.

21 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}

Now we can process the options

22 \ProcessOptions

and load the article document class.

23 \LoadClass{article}

24 ⟨/class⟩

4 Document Layout

Proceedings articles have a different layout than normal articles. Therefore some of the layout parameters are given different values here.

4.1 Page Layout

4.1.1 Vertical spacing

\footskip The distance from the baseline of the box which contains the running footer to the baseline of last line of text is controlled by the \footskip.

25 ⟨∗class | style⟩

26 \setlength\footskip{75\p@}

4.1.2 The dimension of text

\textwidth When L^{A}TEX 2ε runs in compatibility mode it has to be made sure that the dimensions of the printed area are not different from what the user was used to see.

27 \if@compatibility
28 \setlength\textwidth{6.75in}
29 \else
30 \setlength\textwidth{\paperwidth}
31 \addtolength\textwidth{-126\p@}
32 \@settopoint\textwidth
33 \fi

Here the width of the text a little is modified to be a whole number of points.

34 \if@compatibility
35 \else
36 \@settopoint\textwidth
37 \fi

\textheight Now that we have computed the width of the text, we have to take care of the height. The \textheight is the height of text (including footnotes and figures, excluding running head and foot).

38 \if@compatibility
39 \setlength\textheight{9in}
40 \else
41 \ifcase\@ptsize
42  \setlength\textheight{53\baselineskip}
43 \or
44  \setlength\textheight{47\baselineskip}
45 \or
46  \setlength\textheight{44\baselineskip}
47 \fi
48 \fi

The first line on the page has a height of \topskip.

49 \advance\textheight by \topskip

4.1.3 Margins

\oddsidemargin \evensidemargin The width of the text is quite large, therefore the margins have a negative width.

50 \setlength\oddsidemargin{-10\p@}
51 \setlength\evensidemargin{-10\p@}

\marginparwidth Because we have such a large \textwidth there is no real room for notes in the margins.

52 \setlength\marginparwidth {\z@}

\topmargin The \topmargin is the distance between the top of ‘the printable area’ –which is 1 inch below the top of the paper– and the top of the box which contains the running head.

53 \setlength\topmargin{-47\p@}

\columnsep Proceedings articles are always set in \twocolumn mode, therefore the distance between the two columns (\columnsep)is set to a non zero value.

54 \setlength\columnsep{.375in}

4.2 The page style

The user can use \markright (or \markboth) to put an identification in the lower left side of the page. The page number is printed in the lower right side of the page.

This works as long as he doesn’t use either \pagestyle or \thispagestyle comands.

55 \let\@oddhead\@empty
56 \let\@evenhead\@empty
57 \def\@oddfoot{\normalfont\rightmark \hfil
58  \pagename{} \thepage}
59 \def\@evenfoot{\@oddfoot}

5 Document Markup

5.1 The title

\maketitle The defintion of \maketitle here is basically the same as the one in the document class article, but the pagestyle is not set to plain.

60 \def\maketitle{\par
61 \begingroup
62 \renewcommand\thefootnote{\fnsymbol{footnote}}%
63  \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
64  \long\def\@makefntext##1{\parindent 1em\noindent
65  \hb@xt@1.8em{%
66  \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%

This document class always uses two column mode but the title is set to the full width of the text.

67 \twocolumn[\@maketitle]%
68 \@thanks
69 \endgroup
70 \setcounter{footnote}{0}%
71 \let\maketitle\relax
72 \let\@maketitle\relax
73 \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}

\@maketitle This macro takes care of formatting the title information.

The information is set inside \vbox with a width of \textwidth and a hight of 2.25in. The text is vertically and hirizontally centered.

74 \def\@maketitle{%
75 \vbox to 2.25in{%
76  \hsize\textwidth
77  \linewidth\hsize
78  \vfil
79  \centering
80  {\LARGE \@title \par}
81  \vskip 2em
82  {\large \begin{tabular}[t]{c}\@author \end{tabular}\par}
83  \vfil}}

\copyrightspace The \copyrightspace command is used to produce a blank space in the first column where a copyright notice belongs. It works by producing a blank footnote of the appropriate size.

84 \def\copyrightspace{%
85 \footnotetext[0]{\mbox{}\vrule \@height 97\p@ \@width \z@}}

5.2 Modifying environments

5.2.1 Abstract

\abstract For this document class the definition of the abstract environment is quit simple.

86 \renewenvironment{abstract}%
87 {\section*{\abstractname}}
88 {\par}

6 Initialization

6.1 Words

\pagename This document class is for documents prepared in the English language. To prepare a version for another language, one English word must be replaced. It is defined below in a command name.

89 \newcommand\pagename{Page}

90 ⟨/class | style⟩

Change History

v1.3f

General: changed \rm to

      \normalfont\rmfamily . . . . . . 4

v1.3i

General: Added missing docstrip guard . . . . . . . . . . . . . . . . . . . 1 v1.3j

General: Removed \rmfamily (PR 1578) . . . . . . . . . . . . . . . . . . . 4 v1.3k

\maketitle: Modify footnote handling (PR 1735) . . . . . . . . . . . 4

Index

Numbers written in italic refer to the page where the corresponding entry is described, the ones underlined to the code line of the definition, the rest to the code lines where the entry is used.

Symbols

\@author . . . . . . . 73, 82 \@empty . . . . . . . . 55, 56

\@evenfoot . . . . . . . 59
\@evenhead . . . . . . . 56

\@height . . . . . . . . . 85

\@makefnmark . . . . . . 63
\@makefntext . . . . . . 64
\@maketitle . . 67, 72, \underline{74}

\@oddfoot . . . . . . 57, 59 \@oddhead . . . . . . . . 55 \@ptsize . . . . . . . . . 41

\@settopoint . . . . 32, 36

\@spaces . . . . . . . . . 4–6

\@textsuperscript 63, 66

\@thanks . . . . . . . 68, 73

\@thefnmark . . . . . 63, 66

\@title . . . . . . . . 73, 80 \@width . . . . . . . . . . 85

A

\abstract . . . . . . . . \underline{86}

\abstractname . . . . . 87
\addtolength . . . . . . 31

\advance . . . . . . . . . 49

B

\baselineskip 42, 44, 46

\begin . . . . . . . . . . . 82

\begingroup . . . . . . . 61

C

\centering . . . . . . . 79
\ClassError 13, 15, 17, 19
\ClassWarningNoLine . 4
\columnsep . . . . . . . \underline{54}
\copyrightspace . . 1, \underline{84}
\CurrentOption . . . . 21

D

                          \DeclareOption . . . .

. 12, 14, 16, 18, 21 \def . . . . . . . . 57, 59,

60, 63, 64, 74, 84

E \else . . . . . 3, 29, 35, 40 \end . . . . . . . . . . . . . 82 \endgroup . . . . . . . . 69 \endinput . . . . . . . . . 8

                          \evensidemargin . . . \underline{50}
                          \expandafter . . . . . . . 8

F \fi … 9, 33, 37, 47, 48 \fnsymbol . . . . . . . . 62

                          \footnotetext . . . . . 85

\footskip . . . . . . . . \underline{25}

G \gdef . . . . . . . . . . . . 73

H \hb@xt@ . . . . . . . . . . 65 \hfil . . . . . . . . . . . . 57 \hsize . . . . . . . . . 76, 77 \hss . . . . . . . . . . . . . 66

I

                          \if@compatibility .

. . . . . 2, 27, 34, 38 \ifcase . . . . . . . . . . 41

L \LARGE . . . . . . . . . . . 80 \large . . . . . . . . . . . 82 \let . . . . . . 55, 56, 71–73

                          \linewidth . . . . . . . 77

                                                   \LoadClass . . . . . . . 23

\long . . . . . . . . . . . . 64

M

                                                   \maketitle . . . . . . . \underline{60}
                                                   \marginparwidth . . . \underline{52}

\mbox . . . . . . . . . . . . 85

N

                                                   \newcommand . . . . . . . 89

\noindent . . . . . . . . 64

                                                   \normalfont . . 57, 63, 66

O

                                                   \oddsidemargin . . . . \underline{50}

\or . . . . . . . . . . . 43, 45

P \p@ 26, 31, 50, 51, 53, 85 \pagename . . . . . . 58, \underline{89}

                                                   \paperwidth . . . . . . . 30

\par . . . . . 60, 80, 82, 88

                                                   \parindent . . . . . . . 64
                                                   \PassOptionsToClass

. . . . . . . . . 20, 21

                                                   \ProcessOptions . . . 22

R \relax . . . . . . . . . 71–73

                                                   \renewcommand . . . . . 62
                                                   \renewenvironment . 86
                                                   \rightmark . . . . . . . 57

\rlap . . . . . . . . . . . . 63

S \section . . . . . . . . . 87

                                                   \setcounter . . . . . . . 70
                                                   \setlength . . . . . . .

. 26, 28, 30, 39, 42, 44, 46, 50–54

T

\textheight . . . . . . . \underline{38}
\textwidth . . . . . \underline{27}, 76

\thanks . . . . . . . . . . 73

\thefootnote . . . . . . 62

\thepage . . . . . . . . . 58

                          \topmargin . . . . . . . \underline{53}

\topskip . . . . . . . . . 49

                          \twocolumn . . . . . . . 67

V \vbox . . . . . . . . . . . . 75 \vfil . . . . . . . . . . 78, 83 \vrule . . . . . . . . . . . 85 \vskip . . . . . . . . . . . 81

Z \z@ . . . . . . . . . . . 52, 85