summaryrefslogtreecommitdiff
path: root/texmf-dist/doc/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2017-05-01 18:57:46 +0900
committerNorbert Preining <norbert@preining.info>2017-05-01 18:57:46 +0900
commit11ed52a4a8d75f0b00e81db3fab3007841679924 (patch)
treee943b526c5ac908739ac66447758aba72f51a074 /texmf-dist/doc/latex
parentf1760ea85be17e19f8d256ae285dbc68744dfe3e (diff)
add acmtrans
Diffstat (limited to 'texmf-dist/doc/latex')
-rw-r--r--texmf-dist/doc/latex/acmtrans/acmtr.bib116
-rw-r--r--texmf-dist/doc/latex/acmtrans/acmtr2e.pdfbin0 -> 180516 bytes
-rw-r--r--texmf-dist/doc/latex/acmtrans/acmtr2e.tex1000
3 files changed, 1116 insertions, 0 deletions
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
--- /dev/null
+++ b/texmf-dist/doc/latex/acmtrans/acmtr2e.pdf
Binary files 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}
+
+
+
+
+