From 11ed52a4a8d75f0b00e81db3fab3007841679924 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 1 May 2017 18:57:46 +0900 Subject: add acmtrans --- texmf-dist/doc/latex/acmtrans/acmtr.bib | 116 ++++ texmf-dist/doc/latex/acmtrans/acmtr2e.pdf | Bin 0 -> 180516 bytes texmf-dist/doc/latex/acmtrans/acmtr2e.tex | 1000 +++++++++++++++++++++++++++++ 3 files changed, 1116 insertions(+) create mode 100644 texmf-dist/doc/latex/acmtrans/acmtr.bib create mode 100644 texmf-dist/doc/latex/acmtrans/acmtr2e.pdf create mode 100644 texmf-dist/doc/latex/acmtrans/acmtr2e.tex (limited to 'texmf-dist/doc') diff --git a/texmf-dist/doc/latex/acmtrans/acmtr.bib b/texmf-dist/doc/latex/acmtrans/acmtr.bib new file mode 100644 index 00000000..9d6d9735 --- /dev/null +++ b/texmf-dist/doc/latex/acmtrans/acmtr.bib @@ -0,0 +1,116 @@ +% acmtr.bib +% $Header: acmtr.bib,v 1.3 96/01/30 14:27:43 boyland Exp $ + +@mastersthesis{ko94, +author = "Jacob Kornerup", +title = "Mapping Powerlists onto Hypercubes", +school = "The University of Texas at Austin", +note = "(In preparation)", +year = "1994"} +%month = "dec",} + +@PhdThesis{gerndt:89, + author = "Michael Gerndt", + title = "Automatic Parallelization for Distributed-Memory + Multiprocessing Systems", + school = "University of Bonn", + year = 1989, + address = "Bonn, Germany", + month = dec +} + +@article{6:1:1, +author = "J. E. {Archer, Jr.} and R. Conway and F. B. Schneider", +title = "User recovery and reversal in interactive systems", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "6", +number = "1", +month = jan, +year = 1984, +pages = "1--19"} + +@article{7:1:137, +author = "D. D. Dunlop and V. R. Basili", +title = "Generalizing specifications for uniformly implemented loops", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "7", +number = "1", +month = jan, +year = 1985, +pages = "137--158"} + +@article{7:2:183, +author = "J. Heering and P. Klint", +title = "Towards monolingual programming environments", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "7", +number = "2", +month = apr, +year = 1985, +pages = "183--213"} + +@book{knuth:texbook, +author = "Donald E. Knuth", +title = "The {\TeX{}book}", +publisher = "Addison-Wesley", +address = "Reading, Mass.", +year = 1984} + +@article{6:3:380, +author = "E. Korach and D. Rotem and N. Santoro", +title = "Distributed algorithms for finding centers and medians in networks", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "6", +number = "3", +month = jul, +year = 1984, +pages = "380--401"} + +@book{lamport:latex, +author = "Leslie Lamport", +title = "\it {\LaTeX}: A Document Preparation System", +publisher = "Addison-Wesley", +address = "Reading, Mass.", +year = 1986} + +@article{7:3:359, +author = "F. Nielson", +title = "Program transformations in a denotational setting", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "7", +number = "3", +month = jul, +year = 1985, +pages = "359--379"} + +%testing +@article{test, +author = "F. Nielson", +title = "Program transformations in a denotational setting", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "7", +number = "3", +month = jul, +year = 1986, +pages = "359--379"} + + +@inproceedings{reid:scribe, +author = "Brian K. Reid", +title = "A high-level approach to computer document formatting", +booktitle = "Proceedings of the Seventh Annual Symposium on Principles of + Programming Languages", +month = jan, +year = 1980, +publisher = "ACM", +address = "New York", +pages = "24--31"} + + + + + + + + + diff --git a/texmf-dist/doc/latex/acmtrans/acmtr2e.pdf b/texmf-dist/doc/latex/acmtrans/acmtr2e.pdf new file mode 100644 index 00000000..dc70cf0d Binary files /dev/null and b/texmf-dist/doc/latex/acmtrans/acmtr2e.pdf differ diff --git a/texmf-dist/doc/latex/acmtrans/acmtr2e.tex b/texmf-dist/doc/latex/acmtrans/acmtr2e.tex new file mode 100644 index 00000000..f6dd45ba --- /dev/null +++ b/texmf-dist/doc/latex/acmtrans/acmtr2e.tex @@ -0,0 +1,1000 @@ +% acmtr.tex +% revised 1/20/97 +% $Header: acmtr.tex,v 1.5 2/14/96 11:07:57 boyland Exp $ + +\documentclass[hyperref]{acmtrans2e} +\usepackage[pdfmark]{hyperref} + +%&t&{\tt #}& +%&v&\verb|#|& + +\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + +\firstfoot{ACM Transactions on Document Formatting, + Vol.\ 8, No.\ 1, January 1999, Pages \pages.} + +\runningfoot{ACM Transactions on Document Formatting, + Vol.\ 8, No.\ 1, January 1999.} + +\markboth{Leslie Lamport et al.}{Preparing Articles for the ACM Transactions} + +\title{Preparing Articles for the ACM Transactions +with \LaTeX} +\author{LESLIE LAMPORT\\Digital Equipment Corporation\\ +ANDREW W. APPEL\\Princeton University \and +JOHN TANG BOYLAND\\University of California, Berkeley} +\begin{abstract} +The \LaTeX\ {\tt acmtrans} document style formats articles in +the style of the ACM transactions. Users who have prepared their +document with \LaTeX\ can, with very little effort, produce +camera-ready copy for these journals. +%Then the ACM production department +%will re-typeset from scratch anyway, introducing typographical errors. +\end{abstract} + +\category{D.2.7}{Software Engineering}{Distribution and Main\-ten\-ance}% +[documentation] + +\category{H.4.0}{Information Systems Applications}{General} + +\category{I.7.2}{Text Processing}{Document Preparation}[languages \and + photocomposition] + +\terms{Documentation, Languages} + +\keywords{Document preparation, publications, typesetting} + +\begin{document} + +\setcounter{page}{111} + +\begin{bottomstuff} +Author's address: L. Lamport, System Research Center, +Digital Equipment Corporation, 130 Lytton Ave., Palo Alto, CA 94301.\newline +Start of a second footnote ... +\permission +\copyright\ 1999 ACM 0164-0925/99/0100-0111 \$00.75 +\end{bottomstuff} +\maketitle + +\section{Introduction} + +This article is a description of the \LaTeX\ {\tt acmtrans} document +style for typesetting articles in the format of the ACM +transactions---{\em Transactions on Programming Languages and +Systems}, {\em Transactions on Database Systems}, etc. It has, of +course, been typeset using this document style, so it is a +self-illustrating article. The reader is assumed to be familiar +with \LaTeX, as described by~\citeN{lamport:latex}. + +This document also describes the {\tt acmtrans} bibliography style. + +\LaTeX\ is a document preparation system +implemented as a macro package in Donald Knuth's +\TeX\ typesetting system~\cite{knuth:texbook}. It is based +upon the premise that the user should describe the logical structure of +his document and not how the document is to be formatted. Formatting +is under the direction of a {\em document style} chosen by the user. +The user can dramatically change the way the document is formatted by +simply choosing a different document style. The idea of separating the +logical structure from the formatting comes from Brian Reid's {\em +Scribe\/} system~\cite{reid:scribe}. + + +It is impossible to provide predefined logical structures to handle all +situations that may arise in a document, so users must sometimes make +their own formatting decisions. \LaTeX\ provides a number of features +to assist in this task and, if necessary, the user can call upon the +full power of \TeX, which is probably the most powerful typesetting +system currently available. However, very little user formatting is +necessary for the majority of documents that appear in journals such as +the ACM transactions. Consequently, it is quite easy to convert +an existing \LaTeX\ input file to the {\tt acmtrans} style. + +\section{The Title Page} + +\subsection{The Title, Author(s), and Abstract} + +Following order is mandatory to generate a correct title page: + +\begin{verbatim} + \documentstyle{acmtrans} + \markboth{}{} + \title{} + \author{} + \begin{abstract} ... \end{abstract} + \category{}{}{} + \terms{} + \keywords{} + \begin{document} + \begin{bottomstuff} ... \end{bottomstuff} + \maketitle +\end{verbatim} + +\subsubsection{Title and Author} +The \LaTeX\ \verb|\title| and \verb|\author| declarations and the +\verb|\maketitle| command are employed as usual. However, the user +must format the author a little differently to match the ACM standard. +The following example \cite{6:1:1} illustrates most features: +\begin{quote} +\begin{verbatim} +\author{JAMES E. ARCHER, JR.\\ Rational Machines + \and RICHARD CONWAY and FRED B. SCHNEIDER \\ + Cornell University} +\end{verbatim} +\end{quote} +Note that authors' names are in uppercase letters, authors are +separated from their affiliation by a \verb|\\| command, multiple +authors with the same affiliation are separated by ``and'' (or commas +and ``and'' if there are more than two), and authors with different +affiliations are separated by an \verb|\and| command. The following +example \cite{6:3:380} shows what to do if there are more than +two affiliations: +\begin{quote} +\begin{verbatim} +\author{E. KORACH \\ IBM Israel \\ + D. ROTEM \\ University of Waterloo + \and N. SANTORO \\ Carleton University} +\end{verbatim} +\end{quote} +In both the title and the author, you may have to insert \verb|\\| +commands if lines need to be broken. + +\subsubsection{Abstract} +The abstract is typed as usual with the {\tt abstract} environment. +However, this environment must come before the \verb|\maketitle| +command. + + +\subsection{Content Indicators and Keywords} + +The content indicators and keywords are entered with \LaTeX\ +declarations. The CR categories are indicated with \verb|\category| +declarations. The first CR category of this article, appearing +right below the abstract, was entered with the following command: +\begin{quote} +\begin{verbatim} +\category{D.2.7}{Software Engineering}{Distribution and + Maintenance}[Documentation] +\end{verbatim} +\end{quote} +Note that the last argument (which contains the subject descriptors) +is optional, since some categories have none. Multiple subject descriptors +are separated by \verb|\and| commands, as in the last category of +this article: +\begin{quote} +\begin{verbatim} +\category{I.7.2}{Text Processing}{Document Preparation} + [Languages \and Photocomposition] +\end{verbatim} +\end{quote} +Use a separate \verb|\category| declaration for each CR category; +they will be listed in the order that the commands appear. The +\verb|\category| commands must precede the \verb|\maketitle| +command. + +The General Terms are declared with a (single) \verb|\terms| +command as in the one for this article: +\begin{quote} +\begin{verbatim} +\terms{Documentation, Languages} +\end{verbatim} +\end{quote} +The \verb|\terms| declaration must come before the \verb|\maketitle| +command. The terms {\it must} be chosen from the following list: +\begin{quote} +Algorithms; +Design; +Documentation; +Economics; +Experimentation; +Human factors; +Languages; +Legal aspects; +Management; +Measurement; +Performance; +Reliability; +Security; +Standardization; +Theory; +Verification; +\end{quote} +The general terms are +orthogonal to the Categories, at least theoretically, and so +may be applied to any elements of the classification tree. + +Think of them as `perspectives' from which any topic may +be approached. Thus you could use {\em Theory} or {\em Performance} for an +article about {\em C.2.1 Distributed Networks}. However, +some of these general terms actually slide over into +content areas. Thus {\em Legal aspects} is a general term +applicable to any category, but also an entire node in the tree, +{\em K.5}, devoted to {\em Legal aspects of computing,} with many sub-topics. + +So, though perhaps not perfect, the General Terms are most useful +in online searches when used in combination with categories. + +The ``Additional Keywords and Phrases'' item on the title page +is provided by the \verb|\keywords| declaration, {\bf listed alphabetically\/}. +For this article, +they were produced by the following command: +\begin{quote} +\begin{verbatim} +\keywords{Document preparation, publications, typesetting} +\end{verbatim} +\end{quote} +There is no prescribed list of ``additional keywords;'' use any that +you want. + +\subsection{The Bottom of the Title Page} + +The bottom of the article's title page contains acknowledgment of +support, the author(s) address(es), a ``permission to copy'' statement, +and a line containing a copyright symbol (\copyright) and a mysterious +number. This is all entered with a {\tt bottomstuff} environment; +there must be no blank line after the \verb|\begin{bottomstuff}| +command. The permission to copy statement is produced by the +\verb|\permission| command. + +\subsection{The Page Headers} + +\verb|\markboth{}{}| generates the left- and right-page headers. The first +argument is the author's name(s): + +\begin{itemize} +\item If there is one author, then use author's full name (ex. Leslie Lamport); +\item If there are two authors, then abbreviate each author's first name + (L.~Lamport and A.~Appel); +\item If there are more than two authors, then the format is Leslie Lamport et al. +\end{itemize} + +The second argument of \verb|markboth| is the title; +if the title is too long, +contract it by omitting subtitles and phrases, not by abbreviating words. + + +\section{Ordinary Text} + +Most of the body of the text is typed just as in an ordinary +document. This section lists the differences. + +\subsection{Lists} + +\subsubsection{Enumeration and Itemization} + +Let's begin with enumeration. +\begin{longenum} +\item The ACM style has two different formats for +itemized lists, which I will call the {\em long\/} and {\em short\/} +formats. The long format is generally used when the individual items +are more than two or three lines long, but ACM has been inconsistent in +their choice of format, sometimes using the long format for lists whose +items are all one or two lines long and the short format for lists of +long items. This list is an example of the long format. + +\item The ordinary {\tt enumerate} environment +produces the short format. For the long format, use the +{\tt longenum} environment. +\begin{enumerate}\itemindent 10pt +\item This inner enumeration uses the short format. +\item It was produced using \LaTeX's ordinary {\tt enumerate} + environment. +\item ACM has no standard for enumerations nested more than + two levels deep, so the {\tt acmtrans} style does not + handle them well. +\end{enumerate} +\end{longenum} + +Itemized lists are similar to enumerated ones. +\begin{longitem} +\item As with enumerations, there is a long and a short +format for itemized lists. This list is in the long format. + +\item The long format is produced by the {\tt longitem} +environment. The ordinary {\tt itemize} environment +uses the short format. +\begin{itemize} +\item This is an itemized list using the short format. + +\item It was produced with the {\tt itemize} environment +that is used in ordinary \LaTeX\ input. +\end{itemize} +\end{longitem} + +It is interesting to observe that the style of tick mark used +for an itemization changed around 1985 from an en dash +(--) to an em dash (---). % jtb: changed! + +\subsubsection{Descriptions} + +A list is a sequence of displayed text elements, called items, each +composed of the following two elements: +\begin{describe}{{\em item body\/}:} +\item[{\em label\/}:] +A marker that identifies or sets off the item. It +is a number in an enumerated list and a tick mark in an itemized list. + +\item[{\em item body\/}:] The text of the item. It is usually ordinary prose, +but sometimes consists of an equation, a program statement, etc. + +Or another paragraph, which will be indented like normal paragraphs. +\end{describe} + +When the labels of a list are names rather than numbers or tick marks, +the list is called a {\em description\/} list. +The ACM style +has both long and short description lists. The above list is a short +description list; the bodies of all the items are indented enough to +accommodate the widest label. +The following list is a long description list. +The {\tt acmtrans} style provides both kinds of description lists: +\begin{description} +\item[short] +The {\tt describe} environment +%that works the +%same as the {\tt description} environment except that it +takes an argument, which should be the same as the argument of the \verb|\item| +command that produces the widest label. Thus, the above description +list was begun with the command +\begin{quote} +\begin{verbatim} +\begin{describe}{{\em item body\/}:} +\end{verbatim} +\end{quote} + +A description label is often emphasized in some way; in this example I +used the \LaTeX\ \verb|\em| command, italicized the label. The ACM +appears to have no standard convention for formatting the labels of a +description list, so the {\tt describe} environment leaves the label +formatting up to you. An \verb|\hfill| command can be used to produce +a label like ``{\em gnu \hfill --\/}'' where {\em gnu\/} is flush left +against the margin and the ``--'' is aligned flush right next to the +item body. + +\item[long] +The standard \LaTeX\ {\tt description} environment produces a long +description list. It italicizes the labels, and puts a period after +them, which seems to be what is done in the ACM transactions. +\end{description} + +\subsection{Theorems, Etc.} + +%\newtheorem{theorem}{Theorem}[subsection] +%\begin{theorem} +%testing section counter +%\end{theorem} + +\LaTeX\ provides a single class of theorem-like environments, which are +defined with the \verb|\newtheorem| command. The ACM transactions +style divides this class into two subclasses that are formatted +differently. The first class includes theorems, corollaries, lemmas, +and propositions. It is produced with the \verb|\newtheorem| command. +Such a theorem-like environment is often followed by a proof, for which +the {\tt acmtrans} style provides a {\tt proof} environment. + +\newtheorem{subtheorem}{Theorem}[subsection] +\begin{subtheorem} +Notice that theorems are numbered inside the nearest section\newline subsection. +\end{subtheorem} + +When listing within the theorem environment, this style will now produce +roman parantheses. Thank you David Sands. + +\begin{proof} +This theorem is an instance of {\tt subtheorem}, theorems nested in +subsections. +\end{proof} + + +The second subclass of theorem-like environments includes ones for +definitions, examples, and remarks. These environments are defined +with the \verb|\newdef| command, which works the same as +\verb|\newtheorem|. Here +is an example of such an environment. + +\newdef{subexample}[subtheorem]{Definition} + +\begin{subexample} +This is an example of a Definition, typed with an {\tt subexample} +environment defined with \verb|\newdef|. +As you can see theorems are italicized and definitions are not. +\end{subexample} + +\newtheorem{subproperty}[subtheorem]{Property} + +Sometimes theorem-like environments are numbered in unusual ways, or +are identified by a name. Consider the following example +from~\citeN{7:3:359}. +\begin{subproperty}[{\rm Ca}] +Let syn $\in$ Syn, occ $\in$ Occ be maximal and sta $\in$ Sta. Then +Tcol\/{\rm [[}syn\/{\rm ]]} occ sta\hspace{-2pt} $\downarrow\!1$ $=$ +Tsto\/{\rm [[}syn\/{\rm ]]} sta. +\end{subproperty} +\begin{proof}[of Property {\rm Ca}] +By straightforward structural induction, and is \linebreak +omitted. +\end{proof} +It was obtained by giving optional arguments to the +{\tt property} environment (defined with \verb|\newtheorem|) +and the {\tt proof} environment and was typed as follows. +\begin{quote} +\begin{verbatim} +\begin{subproperty}[{\rm Ca}] Let ... \end{subproperty} +\begin{proof}[of Property {\rm Ca}] By straightforward ... +\end{verbatim} +\end{quote} +Notice that the optional argument to the {\tt property} environment +suppresses the automatic numbering. If a null optional argument +were given to this environment by typing ``{\tt []}'', then +it would have produced the label ``{\sc Property.}'' This is +how unnumbered theorems, etc.\ are produced. + +Environments defined by \verb|\newdef| use the optional +argument the same way as those defined by \verb|\newtheorem|. + +\vskip10pt +With this definition + +\begin{verbatim} + \newtheorem{secthm}{Theorem}[section] +\end{verbatim} +\noindent +one can solve the counter problems and counter and label problems for +theorems, lemmas and definitions etc. + +With the above definition and with the following variations +\begin{verbatim} + \newdef{secdefn}[secthm]{Definition} or + \newdef{seclem}[secthm]{Lemma} or + \newdef{sectheo}{secthm]{Theorem} etc. +\end{verbatim} +\noindent +one can achieve +\begin{enumerate} +\item correct counters in definitions, theorems etc. in \verb|\section| environment. +For example, to generate ``Definition 4.1.''; without the above two definitions, it produces ``Definition 4.0.1.'' and +\item correct counter and label associated with definitions, theorems etc. in any environment (section or subsection). For example, +\begin{verbatim} + \begin{secdefn}[\thesecthm\ (label)] + text text text + \end{secdefn} +\end{verbatim} +produces the correct definition counter + correct placement of the period as in +``Definition 3.1 (label).''. +\end{enumerate} + +\subsection{Overfull hbox - Stretching/filling one horizontal line} + +To solve a line break due to ``Overfull \verb|\hbox|'', here is a plain \TeX\ +solution; here \verb|\hsize| is the default setting of acmtrans.sty: + +\begin{center} +\verb|\hbox to \hsize{line sentence to be stretched}| +\end{center} + +This can be used in a list environment as well but \verb|\hsize| declared to a reduce +dimension: + +\begin{verbatim} + \hbox{\vbox{\hsize = less than the default setting + \hbox to \hsize{line sentence to be stretched}}} +\end{verbatim} + +\subsection{Programs} + +Good formatting of programs requires a knowledge of their semantics, +and is beyond the scope of a document production system. While +``pretty printers'' are useful for handling the many pages of a real +program, the short examples that are published in articles should be +formatted by hand to improve their clarity. The \LaTeX\ {\tt tabbing} +environment makes the formatting of programs relatively easy, +especially if the user defines commands for his particular language +constructs. +One may also use the {\tt verbatim} environment. + +The ACM transactions style requires that programs be formatted with +different size fonts, depending upon whether they appear in the text or +in a figure, but that is handled by the figure macro which +automatically sets the correct font size. +%The {\tt acmtrans} style provides a {\tt program} +%environment that is exactly the same as the standard {\tt tabbing} +%environment except for the size of the fonts it uses. This environment +%should be used for formatting programs, whether they appear in the +%running text or in a figure. +Moreover, programs in running text should be indented two ems +on each side (as provided by the {\tt quote} environment), and +programs in regular figures should be centered. +(Programs in ``narrow figures'' (q.v.) are left or right justified +automatically). + +Here is an example of a program: +\begin{quote} +\begin{tabbing} +{\bf type} date =\\ +\hspace*{1em}\= {\bf record} \= day: 1\,.\,.\,31;\+\+\\ + month: 1\,.\,.\,12;\\ + year: integer \-\\ + {\bf end} \-\\ +{\bf var} mybirth, today : date;\\ +{\bf var} myage : integer; +\end{tabbing} +\end{quote} +Figure~\ref{fig:prog} shows how the same program looks in a figure. +\begin{figure} +\centerline{\parbox{104pt}{% it's safe to overestimate the size here +\begin{tabbing} +{\bf type} date =\\ +\hspace*{1em}\= {\bf record} \= day: 1\,.\,.\,31;\+\+\\ + month: 1\,.\,.\,12;\\ + year: integer \-\\ + {\bf end} \-\\ +{\bf var} mybirth, today : date;\\ +{\bf var} myage : integer; +\end{tabbing}}} +\caption{An example of a program centered in a figure} +\label{fig:prog} +\end{figure} + +%The ACM standard calls for the program to start flush at the left +%margin, with each new level of nesting indented by a distance of one +%em, and with the continuation of broken lines indented two ems. However, +%this standard is not applied consistently. + +In addition to formatting programs, the {\tt tabbing} environment may be +used for similar displayed material such as BNF syntax specifications +and rewrite rules. + +\subsection{User-specified Formatting} + +If \LaTeX\ does not provide a particular text structure, the user must +define it himself and specify how it is to be formatted. This is most +easily done by defining the new structure in terms of existing ones; +the \LaTeX\ {\tt list} and {\tt trivlist} environments are useful +tools. However, it is occasionally necessary for the user to provide +explicit formatting commands. + +The best guide to how something should be formatted is what has been +done in the ACM transactions. While horizontal spacing tends to depend +strongly upon the particular text, there is a standard amount of +vertical space used to set off text. The ordinary \LaTeX\ +\verb|\medskip| command produces a vertical space of the appropriate +size. + +\section{Figures and Tables} + +\subsection{Figures} + +The ordinary \LaTeX\ {\tt figure} environment works as usual. +Figure~\ref{fig:ordinary}, which is Figure~6 of \citeN{7:3:359}, a bogus reference, +\begin{figure} +\centering +\(\begin{array}{c|ccc} + & \bot & F & T \\ +\hline +\bot & \bot & \bot & T \\ +F & \bot & F & T \\ +T & \bot & T & T +\end{array}\) +\caption{The truth table for the parallel-or.} +\label{fig:ordinary} +\end{figure} +was produced in this way. +Note that figures should never appear in the text or at the bottom of +a page. (If you use the figure placement optional argument, use only +\verb"t" or \verb"p" or both; do not use \verb"h" or \verb"b"). + +Some figures (and tables) have no caption except for the figure number. +For such figures (and tables), one uses a \verb|\nocaption| command, +which has no argument, instead of the \verb|\caption| command. + +\begin{narrowfig}{3in} +\begin{tabbing} +{\bf type} date =\\ +\hspace*{1em}\= {\bf record} \= day: 1\,.\,.\,31;\+\+\\ + month: 1\,.\,.\,12;\\ + year: integer \-\\ + {\bf end} \-\\ +{\bf var} mybirth, today : date;\\ +{\bf var} myage : integer; +\end{tabbing} +\caption{An example of a program displayed in a figure.} +\label{fig:narrow} +\end{narrowfig} + +In addition to this method of formatting figures, the ACM transactions +also uses figures with side captions, as in Figure~\ref{fig:narrow}. +Such a figure is produced with the {\tt narrowfig} environment. This +environment has a single mandatory argument, which is the width of the +figure. +Note that if the figure is generated by {\tt tabbing} or {\tt +tabular}, one can safely overestimate the size. +It works just like the ordinary {\tt figure} environment, +except it must contain only one \verb|\caption| or \verb|\nocaption| +command, which must come after the figure itself. + +The {\tt narrowfig} environment should obviously not be used unless the +figure is narrow enough to leave a reasonable amount of space beside it +for the caption. The ACM seems to have no consistent policy for choosing +which style of figure to employ. + +\subsection{Tables} + +The ordinary \LaTeX\ {\tt table} environment can be used, but it +requires the user to add formatting commands to match the ACM +transactions style. This formatting is performed automatically +if the {\tt acmtable} environment is used instead, producing +the result shown in Table~\ref{tab:table}, which shows the same +table displayed in Figure~\ref{fig:ordinary}. +\begin{acmtable}{100pt} +\centering +\(\begin{array}{c|ccc} + & \bot & F & T \\ +\hline +\bot & \bot & \bot & T \\ +F & \bot & F & T \\ +T & \bot & T & T +\end{array}\) +\caption{The truth table for the parallel-or.} +\label{tab:table} +\end{acmtable} +This environment has a mandatory argument that equals the width +of the table---more precisely, it specifies the width of the rules +above and below the table. There must be only one +\verb|\caption| or \verb|\nocaption| +command, which must come after the text of the table. +(Even though the table caption is printed above the table, the +\verb|\caption| command comes after the table in the input file.) + + +\section{The End of the Document} + +\subsection{Appendix} + +The appendix (if the article has one) should precede the +acknowledgments (if any) and bibliography. +If the appendix isn't broken into separate sections, +then you should add the following commands after the \verb|\appendix| +command: +\begin{quote} +\begin{verbatim} +\section*{APPENDIX} +\setcounter{section}{1} +\end{verbatim} +\end{quote} +Setting the counter is necessary so that numbered subsections and +theorems will have the names ``A.{\em N\/}'' in the text. + +For an article with multiple appendices, one begins +the appendix with an \verb|\appendix| followed by +\verb|\section*{APPENDIX}|, and then starts each +appendix with an ordinary \verb|\section| command. + +Information about electronic appendices is given in +Section~\ref{sec:elecappendix} and in the Appendix. + +\subsection{Acknowledgments} + +An optional acknowledgments section follows all the text of the +article, including any appendices. It is produced with the +{\tt acks} environment. (Since I can never remember how many +{\em e\/}'s there are in {\em acknowledgments}, it seemed +like an abbreviation was in order for the environment name. +One may also spell out the name as {\tt acknowledgments}). +Sometimes, there is just a single acknowledgment. +This may be given using the {\tt ack} or {\tt acknowledgment} +environment. + +\subsection{Bibliography} + +The bibliography follows the acknowledgments, and is the last +significant body of text in the article. It is produced by the usual +\LaTeX\ commands. + +In 1993 the ACM changed bibliography styles, from numerical citations [13] +to author's name and year \cite{7:3:359}. +The user is encouraged to let \LaTeX\ produce his bibliography +with the \verb|\bibliography| command, letting \BibTeX\ handle the +formatting of the entries. +The \verb|acmtrans.sty| +bibliography style file now generates citations in this format. +Put +\begin{quote} +\begin{verbatim} +\bibliographystyle{acmtrans} +\end{verbatim} +\end{quote} +between the \verb|\begin{document}| and the \verb|\end{document}|. + +The conventional \verb|\cite| command will generate citations as usual in +\LaTeX. +Note that the style file automatically omits repeating author +names~\cite{7:3:359,test}. +If you mention the work explicitly in your prose, you should use +\verb|\citeN| command. This command generates for example, \citeN{7:3:359} +discusses denotational program transformations. Or, you use +\verb|\citeyear| and say that Nielson \citeyear{7:3:359} discusses +them. +The command \verb|\shortcite| is an alias for \verb|\citeyear|. +Either command may be used in cases where one refers to multiple +works (of the same authors!). +For example, \verb|Nielson~\shortcite{7:3:359,test}| generates +Nielson~\shortcite{7:3:359,test}. +%To generate author~[year1; year2], give the author's name and then use +%the command \verb|\citeNN{year1,year2}|, +%which generates ``Nielson~\citeNN{7:3:359,test}.'' + +More variations of \verb|\cite| are discussed in comments in the +\verb|acmtrans.sty| file. Here are some {\bf examples} on how to get + +\begin{enumerate} +\item{Appel [1996]} $\rightarrow$ using either \verb|\citeN| or \verb|\citeyear| +\item{[Kempe 1879]} $\rightarrow$ \verb|\cite{kempe79}| +\item{Appel [1995; 1996]} $\rightarrow$ \verb|\shortcite{ref1-key,ref2-key}| +\item{Fil\'e [1981a; 1981b]} $\rightarrow$ \verb|Fil\'{e}~\shortcite{engelfriet/file:81sweep,|\\ +\hbox{}\kern.2in\verb|engelfriet/file:81passes}| or simply \verb|\shortcite{ref1-key, ref2-key}| +\item{[Appel and Shao 1992; Shao and Appel 1994]} $\rightarrow$ +\verb|\cite{appel-zhong-lsc92,|\\ +\hbox{}\kern3.5in\verb|shao94:clo}| +\item{Chow and Harrison [1992; 1994]} $\rightarrow$ + Chow~and~Harrison~[\verb|\citeyearNP{CH-popl92};| + \hbox{}\kern2in\verb|\citeyearNP{CH-iccl94}|] +\item{[Chow and Harrison 1992; 1994; Cousot and Cousot 1984]} $\rightarrow$ +\verb|[\citeNP{CH-popl92};|\\ + \hbox{}\kern1.7in \verb|\citeyearNP{CH-iccl94}; \citeNP{CC-apct77}]| +\item{[Cytron et al. 1991]} $\rightarrow$ \verb|\cite{cytron-et-al-toplas91}| +\item{Briggs et al. [1994]} $\rightarrow$ \verb|\citeN{briggs-cooper-torczon-toplas94}| or +\item{Duri et al. [1993]} $\rightarrow$ \verb|Duri~et~al.~\citeyear{DBDS-sigsoft93}| +\item{[Chaitin 1982; Chaitin et al. 1981]} $\rightarrow$ \verb|\cite{chaitin-pldi82,chaitin-et-al-cl81}| +\item{[Alblas 1991; Deransart et al. 1988; Knuth 1868]} $\rightarrow$ +\verb|\cite{alblas:91intro,| +\hbox{}\kern1in\verb|deransart/jourdan/lorho:88ag,knuth:68semantics}| +\item{[Gary and Johnson 1979]} $\rightarrow$ \verb|\cite{garey-johnson-bk79}| +\item{[Brand and Zafiropulo 1983; Gouda et al. 1984;1987]} $\rightarrow$ \newline +\verb|[\citeNP{brand83}; \citeNP{gouda84};\citeyearNP{gouda87}]| +\end{enumerate} +\noindent +The list will be updated as we find unique cases. + +\subsection{Received Date} + +An ACM transactions article ends with the dates that the article and its +revised versions were received and the date it was accepted for +publication. In the {\tt acmtrans} document style, this information is +produced with the {\tt received} environment. Type the body of the +environment just as it should appear in the printed version. +(Note that only \verb"Received" and the months should be capitalized, +the entries should be separated by semicolons, +and the whole ``sentence'' should {\em not} be terminated by a period.) +You can get these dates from the editor-in-chief. + +\section{Running Heads and Feet} + +The running foot of all but the title page of the article is declared +with the \linebreak +\verb|\runningfoot| command. It contains the name of the +journal, volume, number, and date. The foot for the title page +contains this information plus the page numbers. It is declared +with the \verb|\firstfoot| command. + +The \verb|\pages| command prints the page numbers of the article, +producing something like ``123--132''. It is implemented with the +\LaTeX\ \verb|\pageref| command, so it will not produce the correct +page numbers the first time the file is run through \LaTeX, or if the +number of the first or last page has changed since the last time. + +The default page style for the {\tt acmtrans} style is {\tt +myheadings}. Thus, a \verb|\markboth| command is used to set the +running heads. The left head contains the author's name (or authors' +names) and the right head contains the title. For long titles, +some contraction of the title is used. + +{\bf +At present, the ACM prefers to strip in their own running heads and +feet, so it is unnecessary to worry about them when producing +camera-ready copy. +} + +\section{Interacting with ACM's Production Staff} + +After your article is accepted, format your document and send +a Postscript file to the editor-in-chief. An ACM copy editor will +mark up a paper copy and send it back to you for corrections. +If there are just a few corrections, they may be sent to you by e-mail. +Iterate this process until the copy editor is satisfied (it may take +one or two iterations). + +Then print your final camera-ready copy on a 1200-dpi phototypesetter +(or a 600-dpi laser printer, if you must) and mail it to ACM. + +If you are using a laser printer for your final camera-ready copy, +you may enjoy using special paper designed for this purpose (it gives +a sharper image on a whiter background). One such paper +(manufactured by Hammermill Papers) is: +\begin{verse} + Hammermill Laser Plus (Featuring Wax Holdout)\\ + 8$\frac{1}{2}$x11--12M--S24/60\\ + 10450--5\\ + For Prepress Proofing and Camera-Ready Masters. +\end{verse} + +But the use of special paper is entirely optional; plain white laser-printer +paper is fine. + +\subsection{ACM Copy Editors' Preferences} + +We wish to thank the authors who have mailed to us copies of their page proofs. +From the page proofs (and explicit requests from ACM), here is a list of items most +frequently marked up by the copy editors. + +\begin{description}\itemindent\labelsep % that is, no indentation +\item[\bf Center] Displayed items like figures, pieces of program codes, and equations. Equation numbers to appear right flushed. Remember to add a period if the displayed equation ends in a sentence. +\item[\bf Fonts] Following items in regular Roman font: +\begin{itemize} +\item such words like et al., e.g., i.e., ad hoc, and bona fide, and +\item the body of the definition environment. +\end{itemize} +\item[\bf Etc] No double period when a sentence ends with ``etc.'' +\item[\bf Figure] Spell out the word ``figure'' when using in a sentence, as in Figure 1. +Use a period as in ``Fig. 1.'' and not a colon as in ``Fig. 1:'' +\item[\bf Contractions] Avoid the use of contractions; for example, use +{\em do not} instead of {\em don't}. +(If you prefer to use contractions to avoid +stuffiness, you'll have to tell the copy editor explicitly after you +get the marked-up proofs.) +\item[\bf Conference References] Please use {\it 4th International Conf. on +Document Formatting}, not {\it Fourth International Conference ...}; that +is, do not spell out the number. +\item[\bf Journal References] Figure~\ref{fig:abbrev} gives common journal abbreviations; there is a duplicate list in the acmtrans.bst file for your convenience. Using the {\it abbreviation} feature of \BibTeX\ for journal +names (and months!) makes it easy to follow the rules. +\end{description} + +\begin{figure}\noindent +\begin{tabular}{l|l||l|l} +\footnotesize +acmcs&ACM Comput. Surv.&jlp&J. Logic Program.\\ +acmlett&ACM Lett. Program. Lang. Syst.&jcss&J. Comput. Syst. Sci.\\ +acta&Acta Inf.&jsmrp&J. Softw. Maint. Res. Pract.\\ +al&Ada Lett.&jss&J. Syst. Softw.\\ +acr&Adv. Comput. Res.&jlsc&J. Lisp Symb. Comput.\\ +bit&Bit&lpls&Lett. Program. Lang. Syst.\\ +cacm&Commun. ACM&mscs&Math. Struct. Comput. Sci.\\ +cj&Comput. J.&mst&Math. Syst. Theor.\\ +cn&Comput. J.&ngc&New Gen. Comput.\\ +cl&Comput. Lang.&scp&Sci. Comput. Program.\\ +ict&Inf. Contr.&sicomp&SIAM J. Comput.\\ +ieebcs&IEE/BCS Softw. Eng. J.&spe&Softw. Pract. Exper.\\ +ieees&IEEE Softw.&tocs&ACM Trans. Comput. Syst.\\ +ieeese&IEEE Trans. Softw. Eng.&tods&ACM Trans. Database Syst.\\ +ieeetc&IEEE Trans. Comput.&tog&ACM Trans. Graphics\\ +ieeetpds&IEEE Trans. Parall. Distrib. Syst.&toms&ACM Trans. Math. Softw.\\ +ieeetit&IEEE Trans. Inf. Theory&toois&ACM Trans. Office Inf. Syst.\\ +ipl&Inf. Process. Lett.&toplas&ACM Trans. Program. Lang. Syst.\\ +icp&Inf. Comput.&tcs&Theor. Comput. Sci.\\ +ist&Inf. Softw. Tech.&tr&Tech. Rep.\\ +ijsa&Int. J. Supercomput. Appl.&jf&J. Funct. Program.\\ +ijpp&Int. J. Parallel Program.&jlc&J. Logic and Comput.\\ +\end{tabular} +\caption{Common journal abbreviations.} +\label{fig:abbrev} +\end{figure} + +The best method of +reducing the number of copy editorial markups is by using a recent ACM journal +as a guide to typesetting your article. + +\section{Electronic Appendices} +\label{sec:elecappendix} + +Because of severe constraints on how many pages it can print, +{\it ACM Transactions on Programming Languages and Systems} (TOPLAS) +accepts some articles with {\it electronic appendices:} appendices +in Postscript format that will not appear in the printed article but +will be available separately. If your article is accepted with an +electronic appendix, you should put an appendix header where the +appendix normally belongs (before the ``acknowledgments''). +The body of the electronic appendix should be given after the +references. +The \verb|appendixhead| command is given +\begin{quote} +{\tt \verb|\|appendixhead\{{\it journal}\}\{{\it article-id}\}} +\end{quote} +where {\it journal} is the name of the journal (e.g. {\tt toplas} or +{\tt todf}), and +{\it article-id} is a number given to you by the Editor. +The result of \verb|\appendixhead| looks like this:\footnote{% +See the end of this document for the remainder of the explanation of +electronic appendices} + +\appendix +\section*{ONLINE-ONLY APPENDICES} +\setcounter{secnumbookdepth}{-1} +% \begin{NoHyper} +\section{Splitting off the electronic appendix} +\section{Single appendix} +\section{Multiple appendices} +% \end{NoHyper} +\setcounter{secnumbookdepth}{3} + +\appendixhead{Appendix A is}{appendix}{http://www.acm.org/toplas} + +\begin{acks} +We wish to thank Howard Trickey for providing the now-obsolete +version of the {\tt acmtrans} +bibliography style, and for giving advice on creating the new one; +Rebecca Davies for helping to adapt +Glenn Paulley's ``Chicago'' bibliography +style to fit the new ACM style; +and Marilyn Salmansohn and George Criscione for providing information +on the official ACM transactions style. +\end{acks} + +\bibliographystyle{acmtrans} +\bibliography{acmtr} +\begin{received} +Received February 1986; +November 1993; +accepted January 1996 +\end{received} + +elecappendix{http://www.acm.org/toplas}{1998}{ACM Transactions on Document Formatting, + Vol.~8, No.~1, January 1999, Pages \pages.}{ +\copyright\ 1999 ACM 0164-0925/98/0100-0208A \$5.00} + +The contents of the electronic appendix is written after the references +and the ``received'' environment. +The electronic appendix is started +by an \verb|\elecappendix| command that takes two +required arguments: +\begin{quote} +{\tt \verb|\|elecappendix\{{\it year}\}\{{\it ref\/}\}} +\end{quote} +where +{\it year} is the year of appearance (or, if this not known, the year +of acceptance), necessary for the copyright notice, and +{\it ref\/} is a sentence provided by the Editor describing the +publication reference +information regarding your article. + +\section{Splitting off the electronic appendix} + +If you have an electronic appendix, only the main body of the +article, up through and including the description of how to obtain +the electronic appendix, will be printed in the journal. + +It will be necessary to split your dvi or Postscript file into +two parts: one to be printed, the other to be available by +FTP. Please split your Postscript into two separate postscript files +using {\tt dvipages} or {\tt pslpr} and +email them separately to the Editor. + +Note that the pages of the appendix are numbered A-1, A-2, etc. +so as not to interfere with the normal journal pagination. + +\section{Single Appendix} + +When an article has a single electronic appendix, then after +the \verb|\elecappendix| command, type the following. +\begin{quote} +\begin{verbatim} +\setcounter{section}{1} +\end{verbatim} +\end{quote} +If the text starts immediately, add a \verb|\medskip| to set off the +text from the horizontal rule created by \verb|\elecappendix|. + +\section{Multiple appendices} + +For an article with multiple electronic appendices, one begins +the appendix with an \verb|\elecappendix| +command, then starts each +appendix with an ordinary \verb|\section| command. Lower levels of +sectioning are produced by the ordinary sectioning commands. + +\end{document} + + + + + -- cgit v1.2.3