Typesetting Articles for the DECUS Proceedings with LaTEX

Barbara N. Beeton American Mathematical Society Providence, Rhode Island

Abstract

The DECUS Proceedings have traditionally been published from copy supplied by the authors, prepared according to rules devised for typewritten material. The power of the computer typesetting language TEX,^{1} through the macro package LaTEX, has now been applied to this task, and a formatting package, named DEPROC, has been submitted to the DECUS Program Library for use by authors who have access to a working TEX system. (The TEX program and related software, created by Donald Knuth of Stanford, are in the public domain.)

This paper presents the important features of the LaTEX implementation of DEPROC and, through examples, shows how it is to be used. Use of DEPROC, which is encouraged, will produce the author’s work, nicely typeset, in the standard Proceedings format. There is a general description of how the package works and of the mechanical requirements for camera copy of Proceedings articles, which will be created on the author’s local output device.

No prior knowledge of TEX or LaTEX is required, but authors using DEPROC will be expected to learn some rudiments, especially if their papers contain special notation or formats such as tables.

The DECUS Proceedings, like the conference proceedings of many other organizations, is rushed to publication as quickly as possible so that the material will reach the conference participants and other interested readers before its value is diminished by time. Reproducing authorprepared copy eliminates the considerable bother and expense of typesetting, proofreading and corrections. The published document should be compact, uniform in appearance, and readable, regardless of the kind or quality of printing device available to the author. For these reasons, instructions to authors have heretofore assumed that nothing more elaborate is available than an ordinary typewriter or dot matrix printer.

To enforce uniformity, the author is provided with “model paper”, on which are printed (in non-reproducing ink) column and page borders, alignment marks, and instructions for placement of title, author, and the other parts of a proceedings article. The dimensions of the model paper are almost always larger than those of the published Proceedings — this permits more text to be packed onto each page, and also improves its appearance or “quality” when photographically reduced, smoothing out the rough edges of letters and symbols generated by a typewriter, dot-matrix printer or other “low-resolution” device.

Within the past few years, advances in laser-printer technology have made good-quality output accessible to a growing number of users, through a widening selection of low-cost output systems based on print engines with 300 dot-per-inch resolution and (relatively) easy-to-use interfaces. Such devices have been attached to most kinds of DEC computers, and drivers now exist to print the output from such programs as Scribe,^{2} TEX and Troff. Most low-end laser printers cannot use paper wider than 8^{1}/_{2}′′, however, so even if both a good composition program and output printer had been available, until now an author would have been discouraged from using them for mechanical reasons.

The editor of the DECUS Proceedings has now agreed to accept typeset copy printed on such a system at 100% on 8^{1}/_{2} × 11′′ paper, provided it conforms to the published format. This article (which has itself been produced by the technique it describes) introduces a package, DEPROC, designed to prepare Proceedings articles using LaTEX.

What is TEX? What is LaTEX?

TEX is a public-domain typesetting language created by Donald Knuth of Stanford University. His original aim was to typeset his own books, in particular The Art of Computer Programming [ACP], with a quality equal to that produced by the best traditional composition methods. The technical content of these books assured that full

1TEX is a trademark of the American Mathematical Society.

2Scribe is a trademark of Unilogic Ltd.

DECSystem-10  DECSYSTEM-20  VAX (Unix)  VAX (VMS)

Allied Linotronic L100, L300P Textset

Textset

Apple LaserWriter Carleton University Textset^{†}

Textset^{†}

Autologic APS-5, Micro-5 Textset Textset

Intergraph^{†} Textset

Canon  Canon

Compugraphic 8400, 8600

Kellerman & Smith

DEC LN01

Univ of Washington Louisiana State U

DEC LN03 DEC Kellerman & Smith

Imagen Stanford Vanderbilt SRI Columbia

Univ of Maryland Kellerman & Smith^{†}

QMS Lasergrafix Textset Univ of Washington GA Technologies Texas A&M Textset

Symbolics Univ of Washington Univ of Washington

UMass

Talaris  Talaris^{†}  Talaris^{†}  Talaris^{†}  Talaris^{†}

Xerox Dover Carnegie-Mellon U

Stanford

Xerox 2700  Ohio State U  Ohio State U

Xerox 9700 Univ of Delaware Univ of Delaware

ACC Textset

† Graphics supported

Figure 1: Computer/output device combinations with TEX interfaces

Information regarding the interfaces shown here can be obtained from the individual listed below for the site. This table and the names of the site contacts were provided by the TEX Users Group.

ACC (Advanced Computer Communications)

Diane Cast, 805-963-9431 Canon (Tokyo) Masaaki Nagashima, (03) 758-2111 Carleton University Neil Holtz, 613-231-7145 Carnegie-Mellon University Howard Gayle,

412-578-3042 Columbia University Frank da Cruz, 212-280-5126 DEC (Digital Equipment Corp) John Sauter,

603-881-2301 GA Technologies Phil Andrews, 619-455-4583 Intergraph Mike Cunningham, 205-772-2000 Kellerman & Smith Barry Smith, 503-222-4234 Louisiana State University Neil Stoltzfus,

504-388-1570 Ohio State University John Gourlay, 614-422-6653 SRI Stanford Talaris Sonny Burkett, 619-587-0787 Texas A&M Bart Childs, 409-845-5470 Textset Bruce Baker, 313-996-3566 University of Delaware Daniel Grim, 302-451-1990 University of Maryland Chris Torek, 301-454-7690 University of Massachusetts Gary Wallace,

413-545-4296 University of Washington Pierre MacKay,

206-543-2386 Vanderbilt University H. Denson Burnum,

615-322-2357 attention was given to the niceties of formatting mathematical expressions, as well as to the structures of documents commonly encountered in technical publishing.

TEX deals with low-level concepts familiar to typesetters — type size, leading, interword spacing and kerning. It does not incorporate directly the structures an author encounters when writing a paper — title, figure references, bibliographic entries. However, TEX is essentially a macro compiler, and provides a full vocabulary of low-level functions that can be manipulated by knowledgeable users to create higher-level packages to support the casual user.

One such macro package is LaTEX. LaTEX [LT] is a powerful document formatter, providing the capability to format books and reports, with functionality similar to that provided by Scribe.

The DEPROC macro package

In order to use this implementation of the DEPROC macro package, the author of a DECUS Proceedings article must have available a working LaTEX system, which presupposes a working TEX system. TEX has been implemented on VAXes and DECsystem-10s and -20s under the standard operating systems. There is also a good selection of output devices available, capable of production output of quality suitable for the Proceedings; Table 1 shows the computer/output device combinations known to the TEX Users Group. (TEX has not, however, been implemented on PDP-11s, since it requires a larger address space than is supported on those machines.)

LaTEX may not be available to all TEX users. (TEX is a very large program by itself, and routinely adding a large macro package can put unwelcome strain on an already overloaded machine. Some system administrators prefer not to give their users that opportunity.) An earlier implementation of DEPROC does not require LaTEX, but only TEX itself; it was described in [DP], and the supporting files are on the Fall ’85 DECUS Program Library tapes for Languages & Tools, Large Systems, and VAX.

The present LaTEX-based version of this macro package is called DEPROC.STY, for “DECUS Proceedings style file”. It is an ordinary ASCII file, and has been submitted to the Spring 86 DECUS Program Library for the same systems listed above.

Some preliminary TEXnical information

An author who intends to use the LaTEX version of DEPROC should preferably have used LaTEX already. Nonetheless, a few basic concepts are worth repeating. (LaTEX is identical to TEX in many ways. The following discussion will specify LaTEX only when there is a difference.)

Spacing

TEX uses different spacing rules in text (paragraphs) and math. Paragraphs are set so that interword spacing is as uniform as possible. Wider spaces are set after punctuation that indicates the ends of sentences (period, ! and ?). Within math, the best traditions for arranging symbols in two dimensions, including proper spacing, are observed. Thus input spacing is largely ignored, except for its functions of separating words and marking the boundaries of certain kinds of expressions. TEX considers multiple spaces in an input file to be equivalent to a single space. The carriage return ⟨cr⟩ and the tab character ⟨tab⟩ are equivalent to ordinary spaces, except in special environments (noted below). And all spaces at the beginning of any line are ignored.

Paragraph breaks

A blank line in the input file indicates a paragraph break. A line is blank if it contains only a ⟨cr⟩ or spaces and a ⟨cr⟩. Multiple blank lines are equivalent to a single blank line. (A paragraph can also be indicated by \par; terms beginning with \ are described below.)

Comments

A comment may be entered on any line; a comment begins with a % sign:

                                                        %  This line contains nothing but a comment.
                                                        \newcommand{\cs}{...}%  explanatory comment
                                                        ... Smythe % ***** check spelling *****

TEX will ignore the % and everything following it, including the ⟨cr⟩. Thus, the space ordinarily indicated by the ⟨cr⟩ will be suppressed, and if a space is really wanted between the last item before a comment and the first item on the next line, it must be input before the %. Conversely, if no space is wanted between the last item on a line and the first item on the next, a % can be used to suppress it intentionally.

Control sequences, also called macros

A “control sequence” cs is an instruction for TEX to perform some action or to produce a particular symbol. A cs begins with a backslash, \. There are two types of cs-es:

– A “control word” consists of \ followed by one or more letters. It is terminated by any non-letter, including a space; multiple spaces follow the usual compression rule, so a special technique (see next paragraph) is required to create an output space after a control word. \TeX is an example of a control word; it produces the TEX logo.

– A “control symbol” consists of \ followed by exactly one non-letter. Since its length is known, no special terminator is required. \& is a control symbol to produce an &. \␣ (\ followed by a space) is an explicit space, to be used where an output space should follow an element input as a control word.

New cs-es can be defined within a document to make input easier or clearer. A few principles governing cs names should be observed carefully.

– Case matters; \csname is not the same as \Csname or \CSName. Try to pick a name that means something to you, and is easy to type.

– Don’t try to redefine an existing cs name unless you really know what you’re doing; results, as they say, “may be unpredictable”.

– Never define or redefine any cs whose name begins with ‘\end’.

To define a new command,

    \newcommand{\csname}{...something...}

If the name has been used before, LaTEX will stop and report an error. If you are really adamant about re-using this name,

    \renewcommand{\csname}{...something...}

will assign it the new meaning.

The control symbols \0,...,\9 always start out undefined, so they are available for transient use without checking.

A cs with arguments is defined by

    \newcommand{\csname}[2]{...#1...{#2}...}

with the number of arguments given in brackets as shown; for details, see [LT].

Math

Mathematical expressions are input between \(...\). Display math is begun and ended with \[...\]. For details of math input, see [LT].

Starting a DECUS Proceedings article

The first step in preparing an article is to create a file. The first two lines in this file should be

    \documentstyle{deproc}
    \begin{document}

This will cause the formatting definitions to be loaded when the file is input to LaTEX.

Next, enter the “top matter”. This consists of such things as the title of the article, the author(s) and their addresses, and the abstract.

Title and authors

For an article with a short title and one author, the input looks like this:

    \title{A One-Line Title}
    \author{Author Name\\
        Author's Organization\\
        City, State}

The double backslashes \\ indicate line breaks. This technique is also used to break up long titles:

                                                        \title{Here We Have a Particularly
                                                            Long Title\\That Can't Possibly
                                                            Fit on a Single Line}

This will be set (in a boldface font slightly larger than text size) as

Here We Have a Particularly Long Title That Can’t Possibly Fit on a Single Line

Notice that the way the lines are broken in the input file is not how they appear in the output — only \\ matters to TEX. Actually, TEX will break long titles into lines short enough to fit on the page, but a multi-line title usually makes more sense to the reader if the author decides where the line breaks should occur.

For multiple authors, the same \author tag is used

                                                     with \and or \And:
                                                        \author{First Author
                                                          \and
                                                            Second Author\\
                                                            Common Organization\\
                                                            City, State}

or

                                                        \author{First Author\\
                                                            First Organization\\
                                                            City, State
                                                          \And
                                                            Second Author\\
                                                            Second Organization\\
                                                            City, State}

and so forth, which will appear thus in the output:

First Author and Second Author Common Organization City, State

or

First Author First Organization City, State

Second Author Second Organization City, State

Authors’ names (the first line, and the first line after \And) are printed in boldface; if an author name is to appear on any other line, begin that line with \bf (the TEX instruction for boldface type).

The title and author of the present paper look like this in the file:

\title{Typesetting Articles for the DECUS
Proceedings with \LaTeX}
\author{Barbara N. Beeton\\
\AMS\\
Providence, Rhode Island}

One item to look at here is \AMS, which becomes American Mathematical Society in the output. This is an example of a “local definition”, something that is not likely to be useful to anyone else, but can save the author a lot of time correcting typing errors. Local definitions that are used throughout an article are best input right after specifying the document style:

\documentstyle{deproc}
\newcommand{\AMS}{American
Mathematical Society}
...
\begin{document}

Abstract

The abstract is the final part of the top matter.

\begin{abstract}
This is a short summary of what
the article is about.
\end{abstract}

The heading “Abstract” is provided automatically; don’t input it. The abstract may contain more than one paragraph. Paragraphs are separated by a blank line or by \par, as usual.

The top matter is now complete. The body of the article follows.

\maketitle

(Text of footnotes to the top matter is given here)

This is the first sentence of article text.
...
\end{document}

The body of the article

An article can start out with text or with a heading. Three levels of headings are provided by DEPROC:

\section{Section heading}
\subsection{Subsection heading}
\subsubsection{Subsubsection heading}

These produce headings (with extra space above and below, not shown here) in the following styles:

Section heading

Subsection heading Subsubsection heading

The first paragraph following a heading will not be indented in the default style. Other paragraphs will be indented a standard amount. To suppress indentation on a single paragraph, precede it by \noindent.

Footnotes

A footnote consists of two parts, the mark and the text. These are usually entered as a unit^{3}:

    ... as a unit\footnote{Like this.}:

This is equivalent to the two statements^{4}

    ... two statements\footnotemark
    \footnotetext{Or this.}

The two-statement form must be used for footnotes in the title or abstract and in “boxed” environments (which will not be explained here; see [LT] for details). In such cases, the \footnotetext should be specified as soon as possible after completion of the special environment.

Footnotes are automatically numbered sequentially starting with 1. Numbers may also be given explicitly, between [...] following the \footnote... command. In most contexts, this is optional, but for footnotes in abstracts or in “boxed” environments, the number must be given for the \footnotetext; the first footnote in this article was produced by the following:

    \maketitle
    \footnotetext[1]{\TeX\ is a trademark
           of the \AMS.}

Footnote numbers can be reset if necessary by

    \resetcounter{footnote}{integer}

Quotations

Short quotations, of less than a paragraph, are set with

    \begin{quote}
    If you can't fix it, ... {\em Button}
    \end{quote}

and look like this:

If you can’t fix it, call it a feature. Button

For longer quotations, use

    \begin{quotation}
    ...
    \end{quotation}

in a similar manner, separating paragraphs with blank lines as usual.

Lists

Itemized and enumerated lists occur in many DECUS Proceedings articles. LaTEX provides automatic counters and up to four levels of nesting. Here is a short example of a two-level itemized list.

3Like this.

4Or this.

– Small figures which can be set in place, i.e., in the same relative position where they occur in the input file

– One-column figures to be set at the top or bottom of the first available column

– Double-column figures to be set at the top or bottom of the first available page

– Full-page figures

Figure 2: Possible figure formats

\begin{itemize}
\item first item
\item second item
\begin{itemize}
\item new level
\item one more
\end{itemize}
\item back a level
\end{itemize}

Here’s what the output looks like, after padding out the text a bit to show how longer items look.

• The first item in this list isn’t particularly interesting, but it has to be long enough to make two lines.

• The second item isn’t either.

∘ Even going to a new level doesn’t add very much excitement to this exercise.

∘ We’ll do one more at this level.

• Then we’ll go back a level to finish things off.

If {enumerate} is specified instead of {itemize}, the items will be numbered — 1, 2,… at the first level, a, b,… at the second level. If the default labels aren’t what you want, an overriding label may be specified, for example, [--] (used in Figure 2). Each item comprises one paragraph; an unlabeled paragraph can be produced by specifying an empty label. Extra space above and below a list is provided automatically.

Figures

Figures come in the sizes, shapes and page locations listed in Figure 2. Not all these formats are supported yet by DEPROC. In particular, two-column figures cannot be placed at the bottom of text pages.

One-column figures

To get a single-column figure, enter

\begin{figure}[loc]

content of figure

    \caption{Caption text}
    \label{label}
    \end{figure}

loc is the location where the figure is to be placed, specified by one to four letters (in the order in which you find the possible locations suitable), as follows:

h here, at the position in the text where the figure is input.

t at the top of a text page.

b at the bottom of a text page.

p on a page of “floats”.

The default loc is tbp; note that figures will not be placed in-line unless h is indicated explicitly. For additional details, see [LT].

Figures are numbered automatically. The optional label is provided to permit references in the text to the figure:

    ... shown in Figure~\ref{label}

To reserve space for figures which will be prepared separately, use the command \vspace{dimension}. Some space is automatically skipped above and below a figure, and also between the figure and the caption, so the dimension given with \vspace should be precisely the height of the item to be pasted in.

Two-column figures

Double-column figures can be placed either at the top of a text page or on a separate page of “floats”. The command syntax is the same as for one-column figures, except that

the “star” notation \begin{figure*}...\end{figure*}

is used.

Full-page figures

Full-page figures are a special case of two-column figures,

specified by \begin{figure*}[p]...\end{figure*}. A

full-page figure will be placed on the first available page. If space is to be reserved for insertion of a separatelyprepared figure, use the \vspace command with a suitably large dimension; 8.5in should be sufficient.

Tables

LaTEX contains powerful table-formatting capabilities. However, since their use is specialized and the rules somewhat complex, specifics are not presented here; see [LT] for details.

Verbatim

Verbatim items are printed in so-called “typewriter” style, using TEX’s \tt font. In-text verbatim items are preceded by the command \verb and enclosed within a pair of identical characters which do not occur within the verbatim string (except a space, a letter, or *), for example, vertical bars |...| or ditto marks "...". Blocks of verbatim code are delimited by

    \begin{verbatim}
    ...
    \end{verbatim}
\begin{verbatim} and \end{verbatim} should be on

lines by themselves. Within verbatim mode, ⟨cr⟩s are obeyed as line breaks, not spaces. An input line that is too long for the current column width will be broken at a space if possible, and the remainder of the line hanging indented on the next output line; since this may change the meaning of the verbatim passage, such passages should be checked with special care in the output. Overlong lines also frequently result in overfull \hboxes, which are listed in the transcript file. To mark overfull \hboxes clearly on the printed output (with black boxes: ), specify

    \documentstyle [draft]{deproc}

at the beginning of your input file. The draft option can easily be removed when you are ready to prepare the final copy.

A passage occurring between \begin{verbatim}... \end{verbatim} is treated as a unit by LaTEX — if it is too long for the vertical space available, it either will be carried over as a unit to the next column or page, or will result in an overfull \vbox, which will be noted only in the transcript of the LaTEX run. In such a case, the best remedy is to break the passage in two, by inserting another

\end{verbatim} \begin{verbatim}.

Verbatim mode is suitable for program listings, indicating keyboarding instructions, file names, and similar uses.

References, bibliography

References in text to items in the bibliography are input as

    \cite{label}
    \cite[text]{label}

where the label is the same as that specified for the item in the bibliography. For a label “ABC”, the reference will be rendered [ABC]. See [LT, pp. 73, 189] for further details.

References may also be made to figures, tables, or anything else for which you have established a label:

    \ref{label}
    \pageref{label}

\pageref is not immediately useful — the page numbers generated by TEX will not be the same as those assigned when the collection is put together in the editorial office. This feature would become useful if it ever becomes possible to submit articles electronically, as LaTEX input files. Before you start to input the reference list, some housekeeping is required — you must decide what you want the list to look like. This is what the input looks like for one of the items in the reference list at the end of this article:

                                                        \bibitem[TB]{TB} Knuth, Donald E., \TB,
                                                            Addison-Wesley and \AMS, 1984.

(\TB and \AMS are among the local definitions for this article.) Default output looks like this:

[TB] Knuth, Donald E., The TEXbook, Addison-Wesley and American Mathematical Society, 1984.

Labels may also be omitted, or numbered sequentially. Begin the reference list with this command:

                                                        \begin{thebibliography}{widest label}

This will generate the References section heading, and establish the item indentation, using the width of the specified label.

If you do not wish to use labels, substitute \omit for the widest label. (The {...} are still required in the context of \bibitem.)

                                                        \bibitem{} Knuth, Donald E., ...

will result in

Knuth, Donald E., The TEXbook, Addison-Wesley and American Mathematical Society, 1984.

Note that \cite cannot be used if references are unlabeled. If your labels are numeric, no labels need be entered — items will automatically be numbered sequentially. However, the widest label must be specified at the beginning of thebibliography environment. The input

                                                        \begin{thebibliography}{99}
                                                        \bibitem{TB} Knuth, Donald E., ...

will now look like this:

[2] Knuth, Donald E., The TEXbook, Addison-Wesley and American Mathematical Society, 1984.

Caveats

DEPROC and this article were created on a DECSYSTEM-20 at the American Mathematical Society, running LaTEX version 2.08 under TEX version 1.3. The AMS installation is standard in all ways.

With one exception, none of the changes to the TEX program since version 1.0 should have any noticeable effect on an article produced with DEPROC. The exception is large, complex tables — tables incorporating many boxes and rules require large amounts of TEX memory. Memory management was radically changed in version 1.3 to make more memory available to the user without actually changing the physical memory allotment. (Otherwise, if you run out of memory, the most likely cause is an input error.)

Although thorough testing has been attempted, no one outside the AMS has tried to use DEPROC yet, so bugs are sure to be found. In fact, the version of DEPROC first placed in the Program Library should best be considered a beta test version. If you find a bug, please communicate it to the author, accompanied by an example which demonstrates the bug as simply as possible. Suggestions for improvements are also welcome. Send everything to

Barbara Beeton

American Mathematical Society

P. O. Box 6248

Providence, RI 02940

References

[DP] Beeton, Barbara, Typesetting articles for the DE-CUS Proceedings with TEX, Proceedings of the Digital Equipment Computer Users Society, USA Spring 1985, 349–356.

[ACP] Knuth, Donald E., The Art of Computer Programming, Addison-Wesley, Vol. 2, second edition, 1981.

[TB] Knuth, Donald E., The TEXbook, Addison-Wesley and American Mathematical Society, 1984.

[LT] Lamport, Leslie, LATEX, A document preparation system, Addison-Wesley, 1985.

[TD] Southall, Richard, First principles of typographic design for document production, TUGboat Vol. 5 (1984), No. 2, 79–90; Corrigenda, Vol. 6 (1985), No. 1, p. 6.

[TUB] TUGboat, the Newsletter of the TEX Users Group, TEX Users Group, c/o American Mathematical Society, P. O. Box 9506, Providence, RI, 02940.