summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/acmconf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/acmconf
Initial commit
Diffstat (limited to 'macros/latex/contrib/acmconf')
-rw-r--r--macros/latex/contrib/acmconf/Makefile146
-rw-r--r--macros/latex/contrib/acmconf/README67
-rw-r--r--macros/latex/contrib/acmconf/THIS-IS-VERSION-1.31
-rw-r--r--macros/latex/contrib/acmconf/acmconf.dtx2016
-rw-r--r--macros/latex/contrib/acmconf/acmconf.ins121
-rw-r--r--macros/latex/contrib/acmconf/acmconf.pdfbin0 -> 96012 bytes
6 files changed, 2351 insertions, 0 deletions
diff --git a/macros/latex/contrib/acmconf/Makefile b/macros/latex/contrib/acmconf/Makefile
new file mode 100644
index 0000000000..a1de5fd122
--- /dev/null
+++ b/macros/latex/contrib/acmconf/Makefile
@@ -0,0 +1,146 @@
+# Makefile for the LaTeX2e class `acmconf'
+# Copyright (C)1999, Dr. Juergen Vollmer, all rights reserved.
+# Dr. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe, Germany
+# Juergen.Vollmer@acm.org
+# $Id: Makefile,v 1.18 2000/05/18 17:14:51 vollmer Exp $
+
+BASE = acmconf
+VERSION = 1.3
+V_DATE = May 18, 2000
+VV_DATE = 2000/05/18
+
+DVIPS = dvips
+XDVI = xdvi
+GZIP = gzip
+LATEX = latex
+BIBTEX = bibtex
+MAKEINDEX = makeindex
+GV = gv
+
+# some command to print DVI files
+PRINT = print -2
+
+#-------- user configuration section
+TEX_DIR = /usr/lib/teTeX/texmf
+CLS_DIR = $(TEX_DIR)/tex/latex/misc
+STY_DIR = $(TEX_DIR)/tex/latex/misc
+CFG_DIR = $(TEX_DIR)/tex/latex/config
+DOC_DIR = $(TEX_DIR)/doc/latex/acmconf
+SRC_DIR = $(TEX_DIR)/source/latex/acmconf
+#-------- end of user configuration section
+
+DATE = `date +%Y-%m-%d`
+DATE2 = `date +%Y/%m/%d`
+TAR_BAK = $(BASE)-$(DATE)-backup.tar.gz
+TAR_SRC = $(BASE)-$(DATE)-source.tar.gz
+TAR_DIST = $(BASE)-$(VERSION).tar.gz
+EX = --exclude "*.o" --exclude core --exclude "*.tar.gz" --exclude "*~" \
+ --exclude "*.a"
+EXrcs = $(EX) --exclude "*/RCS/*" --exclude "*/RCS"
+
+.PHONY: all print clean realclean diff backup src-tar
+
+all: $(BASE).cls $(BASE).ps test clean
+
+print: $(BASE).cls
+ for f in prepare submit accept publish print pubform; \
+ do \
+ $(LATEX) $$f ; \
+ $(BIBTEX) $$f ; \
+ $(LATEX) $$f ; \
+ $(PRINT) $$f.dvi; \
+ done
+ $(LATEX) acmconf.dtx
+ $(LATEX) acmconf.dtx
+ $(PRINT) acmconf.ins
+
+%.cls: %.dtx
+ $(LATEX) $*.ins
+
+%.dvi: %.dtx
+ $(LATEX) $*.dtx
+ makeindex -s gind.ist -o $*.ind $*.idx
+ makeindex -s gglo.ist -o $*.gls $*.glo
+ $(LATEX) $*.dtx
+
+%.dvi: %.tex
+ $(LATEX) $*.tex
+ $(LATEX) $*.tex
+
+%.ps: %.dvi
+ $(DVIPS) -o $*.ps $*.dvi
+
+test: $(BASE).cls
+ for f in prepare submit accept publish print pubform ; \
+ do \
+ $(LATEX) $$f ; \
+ $(BIBTEX) $$f ; \
+ $(LATEX) $$f ; \
+ $(XDVI) $$f.dvi; \
+ done
+ @echo
+ @echo "=============================================="
+ @echo
+ @echo "now some errors should occur"
+ @echo
+ $(LATEX) -interaction="nonstopmode" error.tex
+
+install: $(BASE).cls $(BASE).dvi $(BASE).ps
+ [ -d $(TEX_DIR) ] || mkdir $(TEX_DIR)
+ [ -d $(DOC_DIR) ] || mkdir $(DOC_DIR)
+ [ -d $(SRC_DIR) ] || mkdir $(SRC_DIR)
+ [ -d $(CLS_DIR) ] || mkdir $(CLS_DIR)
+ cp $(BASE).cls $(CLS_DIR)
+ cp $(BASE).sty $(STY_DIR)
+ cp $(BASE).dtx $(DOC_DIR)
+ cp $(BASE).dvi $(DOC_DIR)
+ cp $(BASE).ps $(DOC_DIR)
+ cp $(BASE).ins $(SRC_DIR)
+ cp README $(SRC_DIR)
+ cp THIS-IS-VERSION-$(VERSION) $(SRC_DIR)
+
+uninstall:
+ rm -f $(CLS_DIR)/$(BASE).sty
+ rm -fr $(DOC_DIR)
+ rm -fr $(SRC_DIR)
+
+clean:
+ -rm -f core *~
+ -rm -f *.log *.aux *.lof *.lot *.toc
+ -rm -f *.idx *.ind *.glo *.gls *.ilg
+ -rm -f *.blg *.bbl
+
+realclean: clean
+ -rm -f *.sty *.cls *.ps *.dvi *.cfg
+ -rm -f prepare.tex submit.tex accept.tex publish.tex print.tex
+ -rm -f error.tex body.eps pubform.tex pubform.bib
+
+src-tar:
+ $(MAKE) realclean
+ @cd ..; tar $(EXrcs) -czvf $(BASE)/$(TAR_SRC) $(BASE)
+
+dist:
+ rm -f THIS-IS-VERSION-*
+ co -l $(BASE).dtx $(BASE).ins README Makefile
+ @rm -f .xxx; cp $(BASE).dtx .xxx
+ @sed < .xxx -e 's/\(^% \\date{\).*}/\1$(V_DATE); Version $(VERSION)}/'\
+ -e 's|\(^ *\\ProvidesClass{$(BASE)}\)\[.*\]|\1[$(VV_DATE) v$(VERSION) ACM Conference Papers]|' \
+ > $(BASE).dtx
+ @rm -f .xxx; cp $(BASE).ins .xxx
+ @sed < .xxx -e 's/\(Version:\) *[0-9]*\.[0-9]*.*}/\1 $(VERSION); $(V_DATE)}/' \
+ > $(BASE).ins
+ @rm -f .xxx; cp README .xxx
+ @sed < .xxx -e 's/\(Version:\) *[0-9]*\.[0-9]*.*$$/\1 $(VERSION); $(V_DATE)/' \
+ > README
+ V=`echo $(VERSION)-$(VV_DATE) | sed -e 's|\.|-|g' -e's|/|-|g'`; \
+ ci -u -N"VERSION-$$V" -m"Distribution" \
+ $(BASE).ins $(BASE).dtx Makefile README
+ - $(MAKE) realclean all
+ @echo "VERSION $(VERSION) DATE=$(V_DATE)" > THIS-IS-VERSION-$(VERSION)
+ @cd ..; tar $(EXrcs) -czvf $(BASE)/$(TAR_DIST) \
+ $(BASE)/$(BASE).ins \
+ $(BASE)/$(BASE).dtx \
+ $(BASE)/Makefile \
+ $(BASE)/README \
+ $(BASE)/THIS-IS-VERSION-$(VERSION)
+ rm -f .xxx
diff --git a/macros/latex/contrib/acmconf/README b/macros/latex/contrib/acmconf/README
new file mode 100644
index 0000000000..8e5e4f9dae
--- /dev/null
+++ b/macros/latex/contrib/acmconf/README
@@ -0,0 +1,67 @@
+
+ This directory contains the LaTeX2e class `acmconf'.
+ Version: 1.3; May 18, 2000
+
+This class is used to typeset articles to be published in the proceedings
+of ACM (Association for Computing Machinery) conferences and workshops.
+
+The layout produced by the `acmconf' class is based on the description
+contained in www.acm.org/sigs/pubs/proceed/pubform.doc.
+
+Copyright (C) 1999, Dr. Juergen Vollmer
+ Viktoriastrasse 15, D-76133 Karlsruhe, Germany
+ Juergen.Vollmer@acm.org
+License:
+ This program can be redistributed and/or modified under the terms
+ of the LaTeX Project Public License Distributed from CTAN
+ archives in directory macros/latex/base/lppl.txt; either
+ version 1 of the License, or any later version.
+
+ If you find this software useful, please send me a postcard.
+
+To make the class "selfcontained", it contains also the `flushend'
+package, which balances columns on last page in twocolumn mode.
+This package is Copyright 1997 Sigitas Tolusis, VTeX Ltd.,
+Akademijos 4, Vilnius, Lithuania e-mail sigitas@vtex.lt.
+It is shipped together with his permission.
+
+This package consists of 5 files:
+ acmconf.ins
+ acmconf.dtx
+ README
+ THIS-IS-VERSION-x.y
+ Makefile
+
+To extract the `acmconf.cls' and the `flushend.sty' files as well as
+the example files:
+ unpack and call make (Unix)
+
+Or do it manually:
+ latex acmconf.ins
+ creates the following files:
+ acmconf.cls, flushend.sty
+ prepare.tex, submit.tex, accept.tex
+ publish.tex, print.tex, error.tex, body.eps
+ pubform.tex, pubform.bib
+
+ typeset user documentation
+ latex acmconf.dtx
+ If you want to see the documentation of the code, search in the
+ `acmconf.dtx' file the line containing `\OnlyDescription' and
+ remove the % in front of that command.
+
+ typeset examples
+ latex prepare.tex
+ latex submit.tex
+ latex accept.tex
+ latex publish.tex
+ latex print.tex
+ latex error.tex
+ latex pubform.tex; bibtex pubform; latex pubform.tex
+
+To install:
+ Edit the `Makefile' and `make install' or
+ move `acmconf.cls' and `flushend.sty' to a place where your
+ LaTeX system will find it.
+
+$Id: README,v 1.15 2000/05/18 17:14:51 vollmer Exp $
diff --git a/macros/latex/contrib/acmconf/THIS-IS-VERSION-1.3 b/macros/latex/contrib/acmconf/THIS-IS-VERSION-1.3
new file mode 100644
index 0000000000..31c536bca7
--- /dev/null
+++ b/macros/latex/contrib/acmconf/THIS-IS-VERSION-1.3
@@ -0,0 +1 @@
+VERSION 1.3 DATE=May 18, 2000
diff --git a/macros/latex/contrib/acmconf/acmconf.dtx b/macros/latex/contrib/acmconf/acmconf.dtx
new file mode 100644
index 0000000000..e1eaf16365
--- /dev/null
+++ b/macros/latex/contrib/acmconf/acmconf.dtx
@@ -0,0 +1,2016 @@
+%\iffalse
+%<*class>
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% `acmconf' class to use with LaTeX2e.
+%%
+%% This class is used to typeset articles to be published in the proceedings
+%% of the ACM (Association for Computing Machinery) conferences and workshops.
+%%
+%% Copyright (C) 1999, Dr. Juergen Vollmer
+%% Viktoriastrasse 15, D-76133 Karlsruhe, Germany
+%% Juergen.Vollmer@acm.org
+%% License:
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% If you find this software useful, please send me a postcard.
+%%
+%% $Id: acmconf.dtx,v 1.19 2000/05/18 17:14:51 vollmer Exp $
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%</class>
+%\fi
+%
+%%
+%\iffalse
+%% to test the checksum, uncomment \OnlyDescription
+%% in the driver
+%%\fi
+%%
+% \CheckSum{1307}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+% \DoNotIndex{\begin,\CodelineIndex,\CodelineNumbered,\def,\DisableCrossrefs}
+% \DoNotIndex{\DocInput,\documentclass,\EnableCrossrefs,\end,\GetFileInfo}
+% \DoNotIndex{\NeedsTeXFormat,\OnlyDescription,\RecordChanges,\usepackage}
+% \DoNotIndex{\ProvidesClass,\ProvidesPackage,\ProvidesFile,\RequirePackage}
+% \DoNotIndex{\LoadClass,\PassOptionsToClass,\PassOptionsToPackage}
+% \DoNotIndex{\DeclareOption,\CurrentOption,\ProcessOptions,\ExecuteOptions}
+% \DoNotIndex{\AtEndOfClass,\AtEndOfPackage,\AtBeginDocument,\AtEndDocument}
+% \DoNotIndex{\InputIfFileExists,\IfFileExists,\ClassError,\PackageError}
+% \DoNotIndex{\if,\else,\fi,\emph,\footnotesize,\footrulewidth,\let}
+% \DoNotIndex{\newcount,\newif,\number,\or,\parindent,\plainfootrulewidth}
+% \DoNotIndex{\PrintChanges,\PrintIndex,\relax,\setlength,\space}
+% \DoNotIndex{\the,\textwidth,\thepage,\newcommand,\texttt,\verb,\vfill}
+% \DoNotIndex{\input,\newpage,\setcounter,\newcounter,\\,\ ,\typeout,\today}
+%
+% \changes{v1.3}{2000-05-18}{Avoid superfluous spaces. Thanks to
+% Henning Niss \texttt{(hniss@diku.dk)}}
+% \changes{v1.2}{1999-11-05}{Added the box and nobox options.}
+% \changes{v1.1}{1999-06-16}{Adopted to rules as given shown in the file
+% pubform.tex}
+% \changes{v1.0}{1999-05-30}{The initial version.}
+%
+% \title{The \texttt{acmconf} Class\\--\\
+% Typesetting Papers for Proceedings of the ACM
+% }
+% \author{Dr.~J{\"u}rgen Vollmer\\
+% Viktoriastra{\ss}e 15\\
+% D-76133 Karlsruhe, Germany\\
+% {\small Juergen.Vollmer@acm.org}}
+% \date{May 18, 2000; Version 1.3}
+%
+% \maketitle
+%
+% \MakeShortVerb{\'}
+% \newcommand{\Meta}[1]{\{\meta{#1}\}}
+%
+% \begin{abstract}
+% This class is used to typeset articles to be published in the proceedings
+% of ACM (Association for Computing Machinery) conferences and workshops.
+% \end{abstract}
+%
+% \section{Introduction}
+% %%%%%%%%%%%%%%%%%%%%%%%
+%
+% The purpose of this class is to make the proceedings of the ACM
+% to look more similar.
+% The 'acmconf' class is an extension (or restriction as one sees) of the
+% standard 'article' class.
+% The text is typeset within two columns, the page bounds (width and height)
+% are predefined and should not be modified.
+% You may use all stuff of the 'article' class in the 'acmconf' class.
+% (E.g.~'\title', '\author', '\maketitle', '\section', '\tabular', etc.
+% Please have a look to the examples shipped with this class).
+%
+% The layout produced by the 'acmconf' class is based on the description
+% contained in \texttt{www.acm.org/sigs/pubs/proceed/pubform.doc}\footnote{It
+% follows this document concerning fonts and sizes, etc., but some
+% distances (e.g.\ before and after section heads), are taken unchanged form
+% the 'article' class, which results in differences to the file
+% \texttt{pubform.doc}.}. For the specification of the layout, have a look into
+% the file \texttt{pubform.tex} (with is the \LaTeX2e-variant of
+% \texttt{pubform.doc}).
+%
+% The page \texttt{www.acm.org/sigs/pubs/proceed/template.html} contains
+% the \emph{ACM SIG Proceedings Templates} for some other word processors.
+%
+% Besides the layout, this class offers some support in managing the
+% process of preparing, submitting, and publishing the paper.
+% The basic idea is that a paper is in one of the following five "states":
+% \begin{enumerate}
+% \item First the paper is in \emph{preparation}, then it will be
+% \item \emph{submitted} to the conference chair.
+% \item It may be \emph{accepted}, but is not yet published in the proceedings,
+% \item then it must be typeset for the \emph{publication} in the proceedings,
+% and sometimes you need a
+% \item \emph{printout} of the published paper.
+% \end{enumerate}
+%
+% These states are indicated by the options passed to the class.
+% Changing the option from one state to the next should not modify the
+% printed result except for foot- and head lines (i.e.~each page should
+% contain the same material on the same position on the page).
+% The options are 'prepare', 'submit', 'accept', 'publish' and 'print'.
+% In the text we speak of the \emph{prepared}, \emph{submitted},
+% \emph{accepted}, \emph{published} or \emph{printed} text, as an
+% abbreviation, that text was processed by \LaTeX\ with the corresponding
+% option.
+%
+% Depending on the state, the head- and foot line of a page are filled
+% with various informations (see below). Except for 'publish' the foot line
+% contains the page number, starting with one.
+%
+% Depending on the state, some macros must be used to define important
+% informations (e.g.~the conference name must be given always, while
+% the copyright notice must be given only when the 'publish' or 'print'
+% option is used. Warnings will be emitted, if they are missing.
+%
+% You may give conditional text depending on the option, using the
+% '\If...' commands shown below. Using them may cause different results when
+% printing the text.
+%
+% \section{Thanks}
+% %%%%%%%%%%%%%%%%
+%
+% The initial layout of this class was based on the former \LaTeX-style file,
+% which states:\\
+% \emph{Adapted from ARTICLE document style by Ken Traub.
+% Hacked for [preprint] option by Olin Shivers 4/91.
+% Fixed up for LaTeX version 2e by Peter Lee 10/94 (with
+% help from Simon Peyton Jones).}
+%
+% The 'flushend'-package of Sigitas Tolu\v sis \texttt{sigitas@vtex.lt} is
+% used to balance the columns on the last page of the paper. It is
+% \emph{Copyright 1997 Sigitas Tolu\v sis, VTeX Ltd., Akademijos 4,
+% Vilnius, Lithuania}. Its ``home'' is
+% \texttt{www.vtex.lt/tex/download/macros/flushend.sty}.
+%
+% The 'flushend'-package is distributed with the permisssion of
+% Sigitas Tolu\v sis together with the 'acmconf' class. It is stored
+% in the separate file \texttt{flushend.sty}.
+%
+% \section{User Interface}
+% %%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \subsection{Options}
+%
+% All except the following options of the 'article' class are allowed
+% by 'acmconf'.
+% \begin{itemize}\setlength{\itemsep}{0cm}
+% \item '10pt'
+% \item '11pt'
+% \item '12pt'
+% \end{itemize}
+%
+% \noindent
+% New options for 'acmconf' are:
+% \begin{center}
+% \begin{tabular}{|l|p{0.75\textwidth}|}\hline
+% 'prepare' & Paper in preparation (default option). \\
+% 'submit' & Typeset paper for submission. \\
+% 'accept' & Typeset accepted paper. \\
+% 'publish' & Typeset accepted paper for publishing in the
+% proceedings. \\
+% 'print' & Typeset the published paper for printing separate
+% from from the proceedings. \\
+% 'box' & Place a box around the copyright notice (default). \\
+% 'nobox' & Do not place a box around the copyright notice. \\
+% \hline
+% \end{tabular}
+% \end{center}
+%
+% \subsection{Commands}
+% %%%%%%%%%%%%%%%%%%%%%
+%
+% Additionally to the options, the following commands (macros) and environments% may be used:
+%
+% \begin{itemize}\setlength{\itemsep}{0cm}
+% \item \DescribeMacro{\ConferenceName}
+% '\ConferenceName'\Meta{ConferenceName}\\
+% defines the full name of the conference.
+%
+% \item \DescribeMacro{\ConferenceShortName}
+% '\ConferenceShortName'\Meta{ConferenceShortName}\\
+% defines the abbreviation of the conference name.
+%
+% \item \DescribeMacro{\TheConferenceName}
+% '\TheConferenceName' is the full name of the conference, defined by
+% '\ConferenceName'.
+%
+% \item \DescribeMacro{\TheConferenceShortName}
+% '\TheConferenceShortName' is the full name of the conference,
+% defined by '\ConferenceShortName'.
+%
+% \item \DescribeMacro{\PrepareText}
+% '\PrepareText'\Meta{PrepareText}\\
+% \meta{PrepareText} is printed on top of a first page
+% of a prepared paper. Default: \\
+% \emph{Intended for submission to the \meta{ConferenceName}}
+%
+% \item \DescribeMacro{\SubmitText}
+% '\SubmitText'\Meta{SubmitText}\\
+% \meta{SubmitText} is printed on top of a first page
+% of a submitted paper. Default: \\
+% \emph{Submitted to the \meta{ConferenceName}}
+%
+% \item \DescribeMacro{\AcceptText}
+% '\AcceptText'\Meta{AcceptText}\\
+% \meta{AcceptText} is printed on top of a first page
+% of an accepted paper. Default: \\
+% \emph{Accepted for the \meta{ConferenceName}}
+%
+% \item \DescribeMacro{\PrintText}
+% '\PrintText'\Meta{PrintText}\\
+% \meta{PrintText} is printed on top of a first page
+% of a prepared paper. Default: \\
+% \emph{Published in the Proceedings of the \meta{ConferenceName},
+% pages \meta{Published\-Page\-From}--\meta{Published\-Page\-To}}
+%
+% \item \DescribeMacro{\PublishedPageFrom}
+% '\PublishedPageFrom'\Meta{PublishedPageFrom}
+%
+% \item \DescribeMacro{\PublishedPageTo}
+% '\PublishedPageTo'\Meta{PublishedPageTo}\\
+% The published paper is printed in the proceedings from page
+% \meta{Published\-Page\-From} to page \meta{Published\-Page\-To}.
+%
+% \item \DescribeMacro{\CopyrightText}
+% '\CopyrightText'\Meta{CopyrightText}\\
+% \meta{CopyrightText} must be given for the accepted, published and
+% printed paper. It may be given for the prepared and submitted paper.
+% It is printed below the left column on the first page.
+%
+% \item \DescribeMacro{\IfPrepare}
+% '\IfPrepare'\Meta{then}\Meta{else} executes \meta{then},
+% if the 'prepare' option was given, otherwise executes \meta{else}.
+%
+% \item \DescribeMacro{\IfSubmit}
+% '\IfSubmit'\Meta{then}\Meta{else} executes \meta{then},
+% if the 'submit' option was given, otherwise executes \meta{else}.
+%
+% \item \DescribeMacro{\IfAccept}
+% '\IfAccept'\Meta{then}\Meta{else} executes \meta{then},
+% if the 'accept' option was given, otherwise executes \meta{else}.
+%
+% \item \DescribeMacro{\IfPublish}
+% '\IfPublish'\Meta{then}\Meta{else} executes \meta{then},
+% if the 'publish' option was given, otherwise executes \meta{else}.
+%
+% \item \DescribeMacro{\IfPrint}
+% '\IfPrint'\Meta{then}\Meta{else} executes \meta{then},
+% if the 'print' option was given, otherwise executes \meta{else}.
+%
+% \item \DescribeMacro{\Author}
+% '\Author'\Meta{Author}\\
+% is used to typeset the auther(s) in the title.
+%
+% \item \DescribeMacro{\Address}
+% '\Address'\Meta{Address}\\
+% is used to typeset the authors postal address in the title.
+%
+% \item \DescribeMacro{\Phone}
+% '\Phone'\Meta{Phone}\\
+% is used to typeset the authors phone number in the title.
+%
+% \item \DescribeMacro{\Email}
+% '\Email'\Meta{Email}\\
+% is used to typeset the authors email address in the title.
+%
+% '\Author', '\Address', '\Phone', and '\Email' should be used only
+% withing the standard '\author'-command, used to produce the title
+% section of the paper
+%
+% The first given \meta{Author} is printed with
+% the \meta{ConferenceShortName} and the '\date' in the foot line of
+% the submitted paper\footnote{To ease the job of the referee,
+% in case a thunderstorm visits his office.}.
+% \item \DescribeEnv{keywords}
+% The 'keywords' environment has no parameters and should follow the
+% 'abstract' environment.
+% It is used to give some keywords of the article.
+% \end{itemize}
+%
+% All macros above except '\If...', '\ConferenceName', '\ConferenceShortName',
+% '\Author', '\Address', and '\Email' must be given in the preamble of the
+% document.
+%
+% \DescribeMacro{\subsubsubsection}
+% \DescribeMacro{\subsubsubsubsection}
+% The following two section commands are defined additionally:\\
+% '\subsubsubsection' and '\subsubsubsubsection'. They may be used as the other
+% '\section'-commands.
+%
+% \DescribeMacro{\tableofcontents}
+% \DescribeMacro{\listoffigures}
+% \DescribeMacro{\listoftables}
+% \DescribeMacro{\pagestyle}
+% The following commands provided by the 'article' class
+% are not allowed in 'acmconf',
+% except when preparing the text:
+% '\tableofcontents', '\listoffigures', '\listoftables', and '\pagestyle'.
+%
+% \subsection{Commands of the \texttt{flushend}-package}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The 'flushend' package of Sigitas Tolu\v sis \texttt{sigitas@vtex.lt} is
+% used to balance the columns on the last page of the paper.
+% It is loaded automatically by the 'acmconf' class.
+% It offers the following commands:
+% \begin{itemize}\setlength{\itemsep}{0cm}
+% \item \DescribeMacro{\flushend}
+% '\flushend'\\
+% Switches on column balancing at last. This is the default.
+% \item \DescribeMacro{\raggedend}
+% '\raggedend'\\
+% Switches off column balancing at last page.
+% \item \DescribeMacro{\atColsBreak}
+% '\atColsBreak'\Meta{text}\\
+% Adds \meta{text} in place of original column break
+% (without balancing). Example: '\atColsBreak{\vskip-2pt}'.
+%\item \DescribeMacro{\showcolsendrule}
+% '\showcolsendrule'\\
+% Adds rule to the bottom of columns (just for debugging).
+% \end{itemize}
+
+% \subsection{Predefined Stuff}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% 'acmconf' defines the following things, which should not be overwritten
+% by the user:
+% \begin{itemize}\setlength{\itemsep}{0cm}
+% \item The paper is set in twocolumn-mode. The columns on the last page
+% are balanced.
+% \item The '\normalfont' size is 9pt with a '\baselineskip' of 9pt and a
+% '\baselinestretch' of 1.2.
+% \item The page size and some distances.
+% \item The layout of '\section', '\subsection', '\subsubsection',
+% '\paragraph', and '\subparagraph'.
+% \end{itemize}
+%
+% \section{Example}
+% %%%%%%%%%%%%%%%%%
+% \begin{verbatim}
+% \documentclass[print]{acmconf}
+% \ConferenceName{1.~Conference on Designing a \LaTeX2e Class for
+% Typesetting ACM Papers, Hawaii 2000}
+% \ConferenceShortName{CONF-2000}
+% \CopyrightText{\copyright ACM 2000, .....}
+% \PublishedPageFrom{123}
+% \PublishedPageTo{456}
+% \begin{document}
+% \date{May 18, 2000; Version 1.3}
+% \title{A New Intuitionistic Proof of Usability\\
+% of the Recommended Style File for the ACM Conference Papers}
+% \author{\Author{J\"urgen Vollmer}\\
+% \Address{Karlsruhe}\\
+% \Email{Juergen.Vollmer@acm.org}\\
+% \and
+% \Author{Mickey Mouse}\\
+% \Address{Enthausen University}\\
+% \Email{Mickey.Mouse@entenhausen.org}
+% }
+% \maketitle
+% \begin{abstract}
+% This document demonstrates how to use the \LaTeX2e \verb|acmconf|
+% ....
+% \end{abstract}
+%
+% \begin{keywords}
+% \LaTeX2e, ACM proceedings
+% \end{keyowrds}
+% \section{Introduction}
+% To understand this file read the \emph{source} and not the typeset
+% ....
+% \end{document}
+% \end{verbatim}
+%
+% \section{Copyright and License}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \begin{tabular}{ll}
+% Copyright (\copyright) 1999, & Dr.~J\"urgen Vollmer, Karlsruhe, Germany\\
+% & \texttt{Juergen.Vollmer@acm.org} \\
+% \end{tabular}
+%
+% This program can be redistributed and/or modified under the terms
+% of the \LaTeX Project Public License Distributed from CTAN
+% archives in directory 'macros/latex/base/lppl.txt'; either
+% version 1 of the License, or any later version.
+%
+% \medskip\noindent
+% If you find this software useful, please send me a postcard.
+%
+% \bigskip
+% The 'flushend'-package is Copyright (\copyright) 1997,
+% Sigitas Tolu\v sis, VTeX Ltd., Akademijos 4,Vilnius, Lithuania.
+% \texttt{sigitas@vtex.lt}.
+%
+%
+% \StopEventually{}
+%
+% \section{The Documentation Driver File}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The next bit of code contains the documentation driver file for
+% \TeX{}, i.e., the file that will produce the documentation you are
+% currently reading. It will be extracted from this file by the
+% \texttt{docstrip} program.
+% \begin{macrocode}
+%<*driver>
+\documentclass[a4paper]{article} \usepackage{doc}
+\OnlyDescription
+\RecordChanges
+\EnableCrossrefs
+\CodelineIndex
+\begin{document}
+\DocInput{acmconf.dtx}
+\PrintChanges
+\setcounter{IndexColumns}{2}
+\PrintIndex
+\end{document}
+%</driver>
+% \end{macrocode}
+%
+% \section{The Implementation}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The information xxx given by the user is stored in the macro \@AcmConfxxx.
+%
+% What do we need, and who we are:
+% \begin{macrocode}
+%<*class>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{acmconf}[2000/05/18 v1.3 ACM Conference Papers]
+% \end{macrocode}
+%
+% Declare some flags to store which options have been given. Their value
+% is by default "false".
+% \begin{macrocode}
+\newif\if@AcmConfPrepare@
+\newif\if@AcmConfSubmit@
+\newif\if@AcmConfAccept@
+\newif\if@AcmConfPublish@
+\newif\if@AcmConfPrint@
+\newif\if@AcmConfBox@
+% \end{macrocode}
+%
+% Declare the options. We set the flags so, that only one flag is true, and
+% all others are false.
+% \begin{macrocode}
+\DeclareOption{prepare}{
+ \@AcmConfPrepare@true
+ \@AcmConfSubmit@false
+ \@AcmConfAccept@false
+ \@AcmConfPublish@false
+ \@AcmConfPrint@false
+}
+\DeclareOption{submit}{
+ \@AcmConfPrepare@false
+ \@AcmConfSubmit@true
+ \@AcmConfAccept@false
+ \@AcmConfPublish@false
+ \@AcmConfPrint@false
+}
+\DeclareOption{accept}{
+ \@AcmConfPrepare@false
+ \@AcmConfSubmit@false
+ \@AcmConfAccept@true
+ \@AcmConfPublish@false
+ \@AcmConfPrint@false
+}
+\DeclareOption{publish}{
+ \@AcmConfPrepare@false
+ \@AcmConfSubmit@false
+ \@AcmConfAccept@false
+ \@AcmConfPublish@true
+ \@AcmConfPrint@false
+}
+\DeclareOption{print}{
+ \@AcmConfPrepare@false
+ \@AcmConfSubmit@false
+ \@AcmConfAccept@false
+ \@AcmConfPublish@false
+ \@AcmConfPrint@true
+}
+\DeclareOption{box}{
+ \@AcmConfBox@true
+}
+\DeclareOption{nobox}{
+ \@AcmConfBox@false
+}
+% \end{macrocode}
+%
+% The point size and the 'landscape' options are forbidden:
+% \begin{macrocode}
+\DeclareOption{10pt}{
+ \ClassWarningNoLine{acmconf}{%
+ The `10pt' option is not allowed in the `acmconf' class}
+ \OptionNotUsed
+}
+\DeclareOption{11pt}{
+ \ClassWarningNoLine{acmconf}{%
+ The `11pt' option is not allowed in the `acmconf' class}
+ \OptionNotUsed
+}
+\DeclareOption{12pt}{
+ \ClassWarningNoLine{acmconf}{%
+ The `12pt' option is not allowed in the `acmconf' class}
+ \OptionNotUsed
+}
+\DeclareOption{landscape}{
+ \ClassWarningNoLine{acmconf}{%
+ The `landscape' option is not allowed in the `acmconf' class}
+ \OptionNotUsed
+}
+% \end{macrocode}
+%
+% Pass all other options to our base class, i.e.~'article'.
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+% \end{macrocode}
+%
+% Use these default options:
+% \begin{macrocode}
+\ExecuteOptions{prepare,box}
+% \end{macrocode}
+%
+% Process the user options.
+% \begin{macrocode}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+% Load our base class and tell it, we want the twocolumn layout, with balanced
+% column on the last page.
+% \begin{macrocode}
+\LoadClass[twocolumn]{article}
+\RequirePackage{flushend}
+% \end{macrocode}
+%
+% \begin{macro}{\IfPrepare}
+% \begin{macro}{\IfSubmit}
+% \begin{macro}{\IfAccept}
+% \begin{macro}{\IfPublish}
+% \begin{macro}{\IfIfPrint}
+% Define the conditional text macros.
+% \begin{macrocode}
+\newcommand{\IfPrepare}[2]{\if@AcmConfPrepare@#1\else#2\fi}
+\newcommand{\IfSubmit}[2]{\if@AcmConfSubmit@#1\else#2\fi}
+\newcommand{\IfAccept}[2]{\if@AcmConfAccept@#1\else#2\fi}
+\newcommand{\IfPublish}[2]{\if@AcmConfPublish@#1\else#2\fi}
+\newcommand{\IfPrint}[2]{\if@AcmConfPrint@#1\else#2\fi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ConferenceName}
+% \begin{macro}{\TheConferenceName}
+% \begin{macro}{\ConferenceShortName}
+% \begin{macro}{\TheConferenceShortName}
+% \begin{macro}{\PublishedPageFrom}
+% \begin{macro}{\PublishedPageTo}
+% Define the macros to store the information about the paper.
+% \begin{macrocode}
+\def\@AcmConfConferenceName{}
+\def\@AcmConfConferenceShortName{}
+\def\@AcmConfPublishedPageFrom{}
+\def\@AcmConfPublishedPageTo{}
+\newcommand{\ConferenceName}[1]{
+ \def\@AcmConfConferenceName{#1}
+}
+\newcommand{\TheConferenceName}{%
+ \@AcmConfConferenceName
+}
+\newcommand{\ConferenceShortName}[1]{
+ \def\@AcmConfConferenceShortName{#1}
+}
+\newcommand{\TheConferenceShortName}{
+ \@AcmConfConferenceShortName
+}
+\newcommand{\PublishedPageFrom}[1]{
+ \def\@AcmConfPublishedPageFrom{#1}
+}
+\newcommand{\PublishedPageTo}[1]{
+ \def\@AcmConfPublishedPageTo{#1}
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% Define the default texts to be printed on top of the first page.
+% \begin{macrocode}
+\def\@AcmConfPrepareText{
+ Intended for submission to the \emph{\@AcmConfConferenceName}
+}
+\def\@AcmConfSubmitText{
+ Submitted to the \emph{\@AcmConfConferenceName}
+}
+\def\@AcmConfAcceptText{
+ Accepted for the \emph{\@AcmConfConferenceName}
+}
+\def\@AcmConfPrintText{
+ Published in the Proceedings of the \emph{\@AcmConfConferenceName},
+ pages \@AcmConfPublishedPageFrom--\@AcmConfPublishedPageTo
+}
+% \end{macrocode}
+%
+% There is no default text for the copyright.
+% \begin{macrocode}
+\def\@AcmConfCopyrightText{}
+% \end{macrocode}
+%
+% \begin{macro}{\PrepareText}
+% \begin{macro}{\SubmitText}
+% \begin{macro}{\AcceptText}
+% \begin{macro}{\PrintText}
+% \begin{macro}{\CopyrightText}
+% The user may redefine these defaults by using:
+% \begin{macrocode}
+\newcommand{\PrepareText}[1]{\def\@AcmConfPrepareText{#1}}
+\newcommand{\SubmitText}[1]{\def\@AcmConfSubmitText{#1}}
+\newcommand{\AcceptText}[1]{\def\@AcmConfAcceptText{#1}}
+\newcommand{\PrintText}[1]{\def\@AcmConfPrintText{#1}}
+\newcommand{\CopyrightText}[1]{\def\@AcmConfCopyrightText{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@AcmConfCopyrightSpace}
+% The copyright text will be printed below the first column on first page.
+% If the copyright should not be printed, the space must be allocated too,
+% but should be empty. The text is placed into a new defined float.
+% \begin{macrocode}
+\newcommand{\AcmConfBox}[1]{%
+ \if@AcmConfBox@
+ \framebox[\columnwidth]{#1}
+ \else
+ \parbox{\columnwidth}{#1}
+ \fi
+}
+\newcommand{\@AcmConfCopyrightSpace}{
+ \def\ftype@AcmConfCopyrightBox{8}
+ \@float{AcmConfCopyrightBox}[b]
+ \AcmConfBox{
+ \parbox[t][1.5in][t]{\columnwidth}{%
+ \IfPrepare{\ifx\@AcmConfCopyrightText\empty
+ \copyright-Notice
+ \else
+ \@AcmConfCopyrightText
+ \fi}{}
+ \IfSubmit{\ifx\@AcmConfCopyrightText\empty
+ \copyright-Notice
+ \else
+ \@AcmConfCopyrightText
+ \fi}{}
+ \IfAccept{\@AcmConfCopyrightText}{}
+ \IfPublish{\@AcmConfCopyrightText}{}
+ \IfPrint{\@AcmConfCopyrightText}{}
+ }
+ }
+ \end@float
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\date}
+% \begin{macro}{\@AcmConfDate}
+% \begin{macro}{\@AcmConfDateCmd}
+% Since we want to print the date given by the user in the foot line of a
+% submitted paper, we have to store the argument from the '\date' command given
+% by the user. Therefore we redefine '\date'. The redefinition stores the
+% argument as a side effect, and calls the original '\date'. If the user does
+% not call '\date', we use '\today'. The date is stored in '\@AcmConfDate'.
+% \begin{macrocode}
+\def\@AcmConfDate{\today}
+\let\@AcmConfDateCmd\date
+\renewcommand{\date}[1]{
+ \@AcmConfDateCmd{#1}
+ \def\@AcmConfDate{#1}
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@AcmConfFirstAuthor}
+% Store the first author given with '\Author'.
+% \begin{macrocode}
+\def\@AcmConfFirstAuthor{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\maketitle}
+% \begin{macro}{\@AcmConfMaketitle}
+% '\maketitle' is redefined, so that additionally the copyright text (contained
+% in the '\@AcmConfCopyrightSpace' float box) is printed below the first
+% column, as well as the ``status''-text above the title.
+% '\@AcmConfMaketitle' stores the original '\maketitle'.
+% \begin{macrocode}
+\let\@AcmConfMaketitle\maketitle
+\renewcommand{\maketitle}{
+ \@AcmConfMaketitle
+ \@AcmConfCopyrightSpace
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@maketitle}
+% Definition of the specific layout of ACM\'{}s conference title. The
+% \meta{PrepareText}, \meta{SubmitText}, or \meta{PrintText} is printed
+% over the title, if required. '\@maketitle' is called by '\maketitle' (via our
+% '\@AcmConfMaketitle'), as defined in article.
+% \begin{macrocode}
+\renewcommand{\@maketitle}{
+% \end{macrocode}
+%
+% \begin{macro}{\Author}
+% Define font etc.\ how the author, etc.\ should be printed.
+% Store the first author for later usage.
+% \begin{macrocode}
+ \newcommand{\Author}[1]{%
+ \LARGE\sffamily ##1%
+ \ifx\@AcmConfFirstAuthor\empty
+ \gdef\@AcmConfFirstAuthor{##1}
+ \fi
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Address}
+% \begin{macro}{\Phone}
+% \begin{macro}{\Email}
+% \begin{macrocode}
+ \newcommand{\Address}[1]{\large\sffamily ##1}
+ \newcommand{\Phone}[1]{\large\sffamily ##1}
+ \newcommand{\Email}[1]{\LARGE\sffamily ##1}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\and}
+% Add '@{}' in the tabular column definition, so that no space is around
+% the columns in the table used to typeset the author.
+% \begin{macrocode}
+ \def\and{
+ \end{tabular}
+ \hskip 1em \@plus.17fil
+ \begin{tabular}[t]{@{}c@{}}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% The following is stolen form 'article.cls':
+% \begin{macrocode}
+ \newpage
+ \null
+% \end{macrocode}
+% Show the various texts above the title.
+% \begin{macrocode}
+ \IfPublish{}{
+ \hfill
+ \parbox[t][0mm][t]{0.9\textwidth}{
+ \vspace*{-10mm}
+ \IfPrepare{\@AcmConfPrepareText}{}
+ \IfSubmit{\@AcmConfSubmitText}{}
+ \IfAccept{\@AcmConfAcceptText}{}
+ \IfPrint{\@AcmConfPrintText}{}
+ \vspace{1mm}\hrule
+ }
+ \hfill
+ \vspace*{-5mm}
+ }
+% \end{macrocode}
+% Create the title.
+% \begin{macrocode}
+ \parbox[t][14pc][t]{\textwidth}{
+ \vskip 2em % Vertical space above title.
+ \begin{center}
+ {\sffamily\bfseries\Huge \@title \par}
+ \vskip 1.5em % Vertical space after title.
+ {\lineskip .5em % tabular environment
+ \noindent
+ \begin{tabular}[t]{@{}c@{}}\@author
+ \end{tabular}\par
+ }
+ \vskip 1.5em % Vertical space after author.
+ \end{center}
+ \vfill
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tableofcontents}
+% \begin{macro}{\listoffigures}
+% \begin{macro}{\listoftables}
+% \begin{macro}{\pagestyle}
+% These command are allowed in acmconf only for prepared papers.
+% \begin{macrocode}
+\IfPrepare{}{
+ \renewcommand{\tableofcontents}{
+ \ClassError{acmconf}{%
+ \protect\tableofcontents\space is not
+ allowed in the `acmconf' class except with option `prepare'}{}
+ }
+ \renewcommand{\listoffigures}{
+ \ClassError{acmconf}{%
+ \protect\listoffigures\space is not
+ allowed in the `acmconf' class except with option `prepare'}{}
+ }
+ \renewcommand{\listoftables}{
+ \ClassError{acmconf}{%
+ \protect\listoftables\space is not
+ allowed in the `acmconf' class except with option `prepare'}{}
+ }
+ \renewcommand{\pagestyle}[1]{
+ \ClassError{acmconf}{%
+ \protect\pagestyle\space is not
+ allowed in the `acmconf' class except with option `prepare'}{}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% Set some sizes and length.
+% 'classes.dtx' states: ``All margin dimensions are measured from a point one
+% inch from the top and lefthand side of the page.''. Hence we define:
+% \begin{macrocode}
+\setlength{\voffset}{-1in}
+\setlength{\hoffset}{-1in}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\setlength{\textwidth}{7in}
+\setlength{\textheight}{9.25in}
+\setlength{\topmargin}{1in}
+\setlength{\topskip}{9pt}
+\setlength{\oddsidemargin}{0.75in}
+\setlength{\evensidemargin}{0.75in}
+\setlength{\footskip}{.35in}
+\setlength{\columnsep}{.83cm}
+\setlength{\columnseprule}{0pt}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\setlength{\headheight}{9pt}
+\setlength{\headsep}{20pt}
+% \end{macrocode}
+%
+% No margins.
+% \begin{macrocode}
+\setlength{\marginparwidth}{0in}
+\setlength{\marginparsep}{0in}
+% \end{macrocode}
+
+% Font sizes, based on: '9pt.sty' 17-Apr-90 Patrick van der Smagt.\\
+% We use as baseline skip the font size multipiled with 1.2.
+% \begin{macrocode}
+\def\normalsize{%
+ \@setfontsize\normalsize{9}{10.8}%
+ \abovedisplayskip 8pt plus2pt minus4pt%
+ \belowdisplayskip\abovedisplayskip%
+ \abovedisplayshortskip \z@ plus3pt%
+ \belowdisplayshortskip 5pt plus3pt minus3pt%
+ \let\@listi\@listI%
+}
+\def\small{%
+ \@setfontsize\small{8}{9.6}%
+ \abovedisplayskip 7.5pt plus 3pt minus 4pt%
+ \belowdisplayskip\abovedisplayskip%
+ \abovedisplayshortskip \z@ plus2pt%
+ \belowdisplayshortskip 4pt plus2pt minus 2pt%
+ \def\@listi{%
+ \leftmargin\leftmargini%
+ \topsep 3pt plus 2pt minus 2pt%
+ \parsep 2pt plus 1pt minus 1pt%
+ \itemsep \parsep%
+ }%
+}
+\def\footnotesize{\@setfontsize\normalsize{9}{10.8}} % \normalsize
+\def\scriptsize{\@setfontsize\scriptsize{6}{7.2}}
+\def\tiny{\@setfontsize\tiny{5}{6}}
+\def\large{\@setfontsize\large{10}{12}}
+\def\Large{\@setfontsize\Large{11}{13.2}}
+\def\LARGE{\@setfontsize\LARGE{12}{14.4}}
+\def\huge{\@setfontsize\huge{14}{16.8}}
+\def\Huge{\@setfontsize\Huge{20.4}{24.48}}
+% \end{macrocode}
+
+% \begin{macro}{keywords}
+% The 'keywords' environment ist just another 'section*'
+% \begin{macrocode}
+\newenvironment{keywords}{\section*{KEYWORDS}}{}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{secnumdepth}
+% (Re)define the layout of the sectioning commands. We want numbering for
+% all '\section' copmmands, i.e.\ up to level 5.
+% \begin{macrocode}
+\setcounter{secnumdepth}{5}
+\setcounter{tocdepth}{5}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\abstractname}
+% \begin{macro}{\refname}
+% The section title should be in upper case. Using '\MakeUppercase'
+% results in some error, when a '\pagesyle{headings}' is given.
+% It seems that '\MakeUppercase' can not be used twice. Hence we use
+% '\uppercase'. Due to this we have to define the '\abstractname' and the
+% '\refmane' in uppercase explicitly.
+% \begin{macrocode}
+\renewcommand{\abstractname}{ABSTRACT}
+\renewcommand{\refname}{REFERENCES}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+
+% \begin{macro}{\section}
+% \begin{macro}{\subsection}
+% \begin{macro}{\subsubsection}
+% \begin{macro}{\subsubsubsection}
+% \begin{macro}{\subsubsubsubsection}
+% \begin{macro}{\paragraph}
+% \begin{macro}{\subparagraph}
+% Define the layout of the section headers, and define two more sectioning
+% commands.
+% \begin{macrocode}
+\renewcommand{\section}{
+ \@startsection{section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\LARGE\bfseries\uppercase}%
+}
+\renewcommand{\subsection}{
+ \@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\LARGE\bfseries}%
+}
+\renewcommand{\subsubsection}{
+ \@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\Large\itshape}%
+}
+\newcommand{\subsubsubsection}{
+ \@startsection{subsubsubsection}{4}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\Large\itshape}%
+}
+\newcommand{\subsubsubsubsection}{
+ \@startsection{subsubsubsubsection}{5}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\Large\itshape}%
+}
+\renewcommand{\paragraph}{
+ \@startsection{paragraph}{6}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}%
+}
+\renewcommand{\subparagraph}{
+ \@startsection{subparagraph}{7}{%
+ \parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\sffamily\bfseries}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% Things needed for page headings:
+% \begin{macrocode}
+\newcommand{\subsubsubsectionmark}[1]{}
+\newcommand{\subsubsubsubsectionmark}[1]{}
+% \end{macrocode}
+%
+% The required counters:
+% \begin{macrocode}
+\newcounter{subsubsubsection}[subsubsection]
+\newcounter{subsubsubsubsection}[subsubsubsection]
+\renewcommand{\thesubsubsubsection}{%
+ \thesubsubsection .\@arabic\c@subsubsubsection%
+}
+\renewcommand{\thesubsubsubsubsection}{%
+ \thesubsubsubsection .\@arabic\c@subsubsubsubsection%
+}
+% \end{macrocode}
+%
+% Stuff needed by the table of contents, c.f.\ 'classes.dtx'.
+% \begin{macrocode}
+\newcommand{\l@subsubsubsection}{\@dottedtocline{4}{3.8em}{3.8em}}
+\newcommand{\l@subsubsubsubsection}{\@dottedtocline{5}{3.8em}{4.2em}}
+\renewcommand{\l@paragraph}{\@dottedtocline{6}{7.0em}{4.1em}}
+\renewcommand{\l@subparagraph}{\@dottedtocline{7}{10em}{5em}}
+% \end{macrocode}
+%
+% Give the user a hint, in which state he is typesetting his text.
+% \begin{macrocode}
+\IfPrepare{\typeout{**** Paper in preparation ****}}{}
+\IfSubmit{\typeout{**** Sumbitted paper ****}}{}
+\IfAccept{\typeout{**** Accepted paper ****}}{}
+\IfPublish{\typeout{**** Published in proceedings ****}}{}
+\IfPrint{\typeout{**** Published paper printed outside
+ proceedings ****}}{}
+% \end{macrocode}
+%
+% Check that the user has given all required information, depending on the
+% options he gave.
+% \begin{macrocode}
+\AtBeginDocument{
+ \normalsize
+ \ifx\@AcmConfConferenceShortName\empty
+ \ClassError{acmconf}{%
+ You have not specified a conference short name.
+ \MessageBreak
+ Use \protect\ConferenceShortName\space in the preamble}{}
+ \fi
+ \ifx\@AcmConfConferenceName\empty
+ \ClassError{acmconf}{%
+ You have not specified a conference name.
+ \MessageBreak
+ Use \protect\ConferenceName\space in the preamble}{}
+ \fi
+ \IfSubmit{
+ \def\@oddfoot{\parbox{0.3\textwidth}{\@AcmConfFirstAuthor,
+ \@AcmConfDate}
+ \hfill
+ \thepage
+ \hfill
+ \parbox{0.3\textwidth}{\hfill
+ \@AcmConfConferenceShortName}
+ }
+ }{}
+ \IfAccept{
+ \def\@oddfoot{\hfill\thepage\hfill}
+ \ifx\@AcmConfCopyrightText\empty
+ \ClassError{acmconf}{%
+ You have not specified the copyright notice
+ \MessageBreak
+ Use \protect\CopyrightText\space in the preamble}{}
+ \fi
+ }{}
+ \IfPublish{
+ \let\ps@plain\ps@empty
+ \let\ps@headings\ps@empty
+ \let\ps@myheadings\ps@empty
+ \def\@oddfoot{}
+ \ifx\@AcmConfCopyrightText\empty
+ \ClassError{acmconf}{%
+ You have not specified the copyright notice
+ \MessageBreak
+ Use \protect\CopyrightText\space in the preamble}{}
+ \fi
+ }{}
+ \IfPrint{
+ \def\@oddfoot{\hfill\thepage\hfill}
+ \ifx\@AcmConfCopyrightText\empty
+ \ClassError{acmconf}{%
+ You have not specified the copyright notice
+ \MessageBreak
+ Use \protect\CopyrightText\space in the preamble}{}
+ \fi
+ \ifx\@AcmConfPublishedPageFrom\empty
+ \ClassError{acmconf}{%
+ You have not specified the start page of the publication
+ \MessageBreak
+ Use \protect\PublishedPageFrom\space in the preamble}{}
+ \fi
+ \ifx\@AcmConfPublishedPageTo\empty
+ \ClassError{acmconf}{%
+ You have not specified the end page of the publication
+ \MessageBreak
+ Use \protect\PublishedPageTo\space in the preamble}{}
+ \fi
+ }{}
+}
+% \end{macrocode}
+%
+% Check that the '\Author' command has been used. Done by testing
+% '\@AcmConfFirstAuthor'.
+% \begin{macrocode}
+\AtEndDocument{
+ \IfSubmit{
+ \ifx\@AcmConfFirstAuthor\empty
+ \ClassError{acmconf}{%
+ You have not specified the name of the (first) author.
+ \MessageBreak
+ Use \protect\Author to typeset the author(s) of the paper.
+ }{}
+ \fi
+ }{}
+}
+%</class>
+% \end{macrocode}
+%
+% \section{Test files}
+% %%%%%%%%%%%%%%%%%%%%
+% \begin{macrocode}
+%<*prepare>
+
+\documentclass[prepare]{acmconf}
+\pagestyle{headings}
+%</prepare>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*submit>
+
+\documentclass[nobox,submit]{acmconf}
+\CopyrightText{\copyright 1999, J\"urgen Vollmer, et.al.,
+ used with the \texttt{nobox} option.
+}
+%</submit>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*accept>
+
+\documentclass[box,accept]{acmconf}
+\CopyrightText{\copyright ACM 2000, ....., used with the \texttt{box} option.}
+%</accept>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*publish>
+
+\documentclass[publish]{acmconf}
+\CopyrightText{\copyright ACM 2000, ....., default: with box}
+%</publish>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*print>
+
+\documentclass[print]{acmconf}
+\CopyrightText{\copyright ACM 2000, .....}
+\PublishedPageFrom{123}
+\PublishedPageTo{456}
+%</print>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*error>
+
+\documentclass[print]{acmconf}
+
+%% LaTeXing this file should produce some errors.
+
+\pagestyle{headings}
+
+%</error>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*body>
+\IfFileExists{graphicx.sty}{\usepackage{graphicx}}{}
+%</body>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*head>
+\ConferenceName{1. Conference on Designing a \LaTeX2e Class for
+ Typesetting ACM Papers, Hawaii 2000}
+\ConferenceShortName{CONF-2000}
+%</head>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*body>
+
+\def\XX{More text should follow, but keep in mind that a limit of 6
+ pages has been set, including figures and references. More text
+ should follow, but keep in mind that a limit of 6 pages has been
+ set, including figures and references. More text should follow, but
+ keep in mind that a limit of 6 pages has been set, including figures
+ and references. More text should follow, but keep in mind that a
+ limit of 6 pages has been set, including figures and references.
+ \par
+}
+
+\begin{document}
+\date{31. December 1999}
+\title{A New Intuitionistic Proof of Usability\\
+ of the Recommended Style File for the ACM Conference Papers}
+\author{\Author{J\"urgen Vollmer\thanks{Happy \LaTeX{}ing}}\\
+ \Address{Karlsruhe}\\
+ \Email{Juergen.Vollmer@acm.org}\\
+ \and
+ \Author{Mickey Mouse}\\
+ \Address{Enthausen University}\\
+ \Email{Mickey.Mouse@entenhausen.org}
+ }
+\maketitle
+
+\begin{abstract}
+ This document demonstrates how to use the \LaTeX2e \verb|acmconf|
+ class by exhibiting itself as an example. You are expected to be
+ familiar with~\cite{Lam94}. The best way to use this file is to use
+ it as a template, i.e., replace the prose in it by your
+ own\footnote{And may use footnotes.}.
+\end{abstract}
+
+\begin{keywords}
+\LaTeX2e-class, ACM proceedings
+\end{keywords}
+
+\section{Introduction}
+To understand this file read the \emph{source} and not the typeset
+version. If you are reading this in the typeset version you might as
+well stop --- it is not supposed to make sense.
+
+\section{The Story Begins\ldots}
+A real article is supposed to have some deep results and good
+explanations. That, however, is your job and not mine so you should
+replace this text with something more appropriate\footnote{Another a
+ footnote}..
+
+\section{Some often used \LaTeX\ commands}
+
+\subsection{\texttt{emph}, etc.}
+Text may be set as \emph{emph}.\\
+Text may be set as \texttt{texttt}.\\
+Text may be set as \underline{unterline}.\\
+Text may be set as \textbf{textbf}.\\
+Text may be set as \textrm{textrm}.\\
+Text may be set as {\tiny tiny}.\\
+Text may be set as {\scriptsize scriptsize}.\\
+Text may be set as {\footnotesize footnotesize}.\\
+Text may be set as {\normalfont normalsize}.\\
+Text may be set as {\large large}.\\
+Text may be set as {\Large Large}.\\
+Text may be set as {\LARGE LARGE}.\\
+Text may be set as {\huge huge}.\\
+Text may be set as {\Huge Huge}.\\
+Text may have$^{\textrm{super}}$ and$_{\textrm{sub}}$scripts.
+
+\subsection{\texttt{itemize}}
+\begin{itemize}
+\item More text should follow, but keep in mind that a limit of 6
+ pages has been set, including figures and references. More text
+ should follow, but keep in mind that a limit of 6 pages has been
+ set, including figures and references.
+\item More text should follow, but keep in mind that a limit of 6
+ pages has been set, including figures and references. More text
+ should follow, but keep in mind that a limit of 6 pages has been
+ set, including figures and references.
+\end{itemize}
+
+\subsection{\texttt{enumerate}}
+\begin{enumerate}
+\item More text should follow, but keep in mind that a limit of 6
+ pages has been set, including figures and references. More text
+ should follow, but keep in mind that a limit of 6 pages has been
+ set, including figures and references.
+\item More text should follow, but keep in mind that a limit of 6
+ pages has been set, including figures and references. More text
+ should follow, but keep in mind that a limit of 6 pages has been
+ set, including figures and references.
+\end{enumerate}
+
+\subsection{\texttt{description}}
+\begin{description}
+\item[Foo] More text should follow, but keep in mind that a limit of 6
+ pages has been set, including figures and references. More text
+ should follow, but keep in mind that a limit of 6 pages has been
+ set, including figures and references.
+\item[Bar] More text should follow, but keep in mind that a limit of 6
+ pages has been set, including figures and references. More text
+ should follow, but keep in mind that a limit of 6 pages has been
+ set, including figures and references.
+\end{description}
+
+\subsection{\texttt{center} and \texttt{tabular}}
+\begin{center}
+\begin{tabular}{|l|c|r|}\hline
+left & center & right \\\hline\hline
+AAAAAAAA & BBBBBBBB & CCCCCCCC \\
+AAAAAAAA & BBBBBBBB & CCCCCCCC \\\cline{3-3}
+AAAAAAAA & BBBBBBBB & CCCCCCCC \\\cline{2-2}
+AAAAAAAA & BBBBBBBB & CCCCCCCC \\\cline{1-2}
+AAAAAAAA & BBBBBBBB & CCCCCCCC \\\hline
+AAAAAAAA & BBBBBBBB & CCCCCCCC \\\hline
+1 & \multicolumn{2}{|c|}{2} \\\hline
+\end{tabular}
+\end{center}
+
+\subsection{\texttt{figure} and Postscript pictures}
+Have a look to to figure~\ref{fig-1} and~\ref{fig-2}.
+
+\begin{figure}
+\hrule
+Nice Postscript, isn't it?
+\begin{center}
+\IfFileExists{graphicx.sty}{
+ \includegraphics{body.eps}
+}{
+ Sorry, package \texttt{graphicx} not present.
+}
+\end{center}
+
+Same, a little bit smaller:
+\begin{center}
+\IfFileExists{graphicx.sty}{
+ \includegraphics[scale=.5]{body.eps}
+ }{
+ Sorry, package \texttt{graphicx} not present.
+}
+\end{center}
+\caption{\label{fig-1}This is a nice floating figure}
+\hrule
+\end{figure}
+
+\begin{figure*}
+\hrule
+This figure uses both columns, using \texttt{figure*}
+\begin{center}
+\IfFileExists{graphicx.sty}{
+ \includegraphics[scale=.5]{body.eps}
+ \hspace{1cm}
+ \includegraphics[scale=.5]{body.eps}
+}{
+ Sorry, package \texttt{graphicx} not present.
+}
+\end{center}
+\caption{\label{fig-2}This is a nice floating figure}
+\hrule
+\end{figure*}
+
+\section{The Story Continues 1}
+
+This is a \verb+\section+.
+
+\XX\XX
+
+\subsection{The Story Continues 2}
+
+This is a \verb+\subsection+.
+
+\XX\XX
+
+\subsubsection{The Story Continues 3}
+
+This is a \verb+\subsubsection+.
+
+\XX\XX
+
+\subsubsubsection{The Story Continues 4}
+
+This is a \verb+\subsubsubsection+.
+
+\XX\XX
+
+\subsubsubsubsection{The Story Continues 5}
+
+This is a \verb+\subsubsubsubsection+.
+
+\XX\XX
+
+\paragraph{The Story Continues 6}
+
+This is a \verb+\paragraph+.
+\XX\XX
+
+\subparagraph{The Story Continues 7}
+This is a \verb+\subparagraph+.
+\XX\XX\XX
+
+\section{Conclusion}
+The end, at last! In this example there really are no results or
+points to summarize but I trust your article has more food for though
+and thus will need a conclusion.
+
+\appendix
+\section{Appendices}
+If you have any, appendices might go here. Note that appendices
+should not be used to circumvent the word count limit.
+
+This is "doing it by hand" --- you might be better off using BibTeX.
+
+\begin{thebibliography}{X}
+\bibitem[1]{Lam94} Leslie Lamport: {\em \LaTeX, A Document
+ Preparation System,} Addison Wesley~1994.
+\end{thebibliography}
+\IfPrepare{
+ \tableofcontents
+ \listoffigures
+ \listoftables
+}{}
+%<*error>
+\tableofcontents
+\listoffigures
+\listoftables
+%</error>
+\end{document}
+%
+%</body>
+% \end{macrocode}
+%
+% \section{The "Official" Description of the Class Layout}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \begin{macrocode}
+%<*pubform>
+\documentclass[submit]{acmconf}
+\usepackage{flushend}
+
+\CopyrightText{LEAVE BLANK THE LAST 3.81 cm
+ (1.5'') OF THE LEFT COLUMN ON THE FIRST PAGE
+ FOR THE COPYRIGHT NOTICE }
+\ConferenceName{1. Conference on Designing a \LaTeX2e Class for
+ Typesetting ACM Papers, Hawaii 2000}
+\ConferenceShortName{CONF-2000}
+
+\begin{document}
+\date{31. December 1999}
+\title{ACM SIG Proceedings Format}
+\author{\Author{1st Author} \\
+ \Address{First author's affiliation} \\
+ \Address{1st line of address} \\
+ \Address{2st line of address} \\
+ \Address{Telephone number, incl.\ country code} \\
+ \Email{1st author's email address} \\
+ \and
+ \Author{2nd Author} \\
+ \Address{First author's affiliation} \\
+ \Address{1st line of address} \\
+ \Address{2st line of address} \\
+ \Address{Telephone number, incl.\ country code} \\
+ \Email{2nd author's email address} \\
+ \and
+ \Author{3rd Author} \\
+ \Address{First author's affiliation} \\
+ \Address{1st line of address} \\
+ \Address{2st line of address} \\
+ \Address{Telephone number, incl.\ country code} \\
+ \Email{3rd author's email address} \\
+ }
+\maketitle
+
+\begin{abstract}
+In this paper, we describe the formatting guidelines for ACM SIG
+Proceedings.
+\end{abstract}
+
+\begin{keywords}
+Guides, instructions, authors kit, conference publications.
+\end{keywords}
+
+\section{Introduction}
+
+The proceedings are the records of the conference. ACM hopes to
+give these conference by-products a single, high-quality appearance.
+To do this, we ask that authors follow some simple guidelines. In
+essence, we ask you to make your paper look exactly like this
+document. The easiest way to do this is simply to down-load a
+template from \cite{template.1999}, and replace the content with
+your own material.
+
+\section{Page Size}
+
+All material on each page should fit within a rectangle of
+18 x 23.5 cm (6" x 9.25"), centered on the page, beginning
+2.54 cm (1") from the top of the page and ending with
+2.54 cm (1") from the bottom. The right and left margins
+should be 1.9 cm (.75''). The text should be in two
+8.45 cm (3.33") columns with a .83 cm (.33") gutter.
+
+\section{Typeset Text}
+
+Prepare your submissions on a typesetter or word processor.
+
+\subsection{Normal or Body Text}
+
+Please use a 9-point Times Roman font, or other Roman font with
+serifs, as close as possible in appearance to Times Roman in
+which these guidelines have been set. The goal is to have a
+9-point text, as you see here. Please use sans-serif or
+non-proportional fonts only for special purposes, such as
+distinguishing source code text. The Press 9-point font available
+to users of Script is a good substitute for Times Roman. If
+Times Roman is not available, try the font named Computer
+Modern Roman. On a Macintosh, use the font named Times.
+Right margins should be justified, not ragged.
+
+\subsection{Title and Authors}
+
+The title (Helvetica 18-point bold), authors' names (Helvetica
+12-point) and affiliations (Helvetica 10-point) run across the full
+width of the page - one column wide. We also recommend phone number
+(Helvetica 10-point) and e-mail address (Helvetica 12-point). See the
+top of this page for three addresses. If only one address is needed,
+center all address text. For two addresses, use two centered tabs, and
+so on. For more than three authors, you may have to
+improvise\footnote{If necessary, you may place some address
+information in a foortone, or in a named section at the end of your
+paper.}
+
+\subsection{First Page Copyright Notice}
+
+Leave 3.81 cm (1.5") of blank space at the bottom of the left
+column of the first page for the copyright notice.
+
+\subsection{Subsequent Pages}
+
+For pages other than the first page, start at the top of the page, and
+continue in double-column format. The two columns on the last page
+should be of equal length.
+
+\subsection{References and Citations}
+
+Footnotes should be Times New Roman 9-point.
+
+Use the standard Communications of the ACM format for references -
+that is, a numbered list at the end of the article, ordered
+alphabetically by first author, and referenced by numbers in
+brackets \cite{anderson.1992}. See the examples of citations at
+the end of this document
+\cite{conger.1995,mackay.1995,schwartz.1995}. Within this template
+file, use the style named references for the text of your citation.
+
+References should be published materials accessible to the public.
+Internal technical reports may be cited only if they are easily
+accessible (i.e. you can give the address to obtain the report within
+your citation) and may be obtained by any reader. Proprietary
+information may not be cited. Private communications should be
+acknowledged, not referenced (e.g., ``[Robertson, personal
+communication]'').
+
+\subsection{Page Numbering, Headers and Footers}
+
+Do not include headers, footers or page numbers in your submission.
+These will be added when the publications are assembled.
+
+\section{Sections}
+
+The heading of a section should be in Times New Roman 12-point bold in
+all-capitals flush left. Sections and subsequent subsections should
+be numbered and flush left.
+
+\subsection{Subsections}
+
+The heading of subsections should be in Times New Roman 12-point bold
+with only the initial letters capitalized. (Note: For subsections and
+subsubsections, a word like the or a is not capitalized unless it is
+the first word of the header.)
+
+\subsubsection{Subsubsections}
+
+The heading for subsubsections should be in Times New Roman 11-point
+italic with initial letters capitalized.
+
+\subsubsubsection{Subsubsubsection}
+
+The heading for subsubsubsections should be in
+Times New Roman 11-point italic with initial letters capitalized.
+
+\subsubsubsubsection{Subsubsubsubsection}
+
+The heading for subsubsubsubsections should be in
+Times New Roman 11-point italic with initial letters capitalized.
+
+\section{Figures/Captions}
+
+Place Tables/Figures/Images in text as close to the reference as
+possible. It may extend across both columns to a maximum width of
+17.78 cm (7'').
+
+Captions should be Times New Roman 9-point bold. They should be
+numbered (e.g., ``Table 1'' or ``Figure 2'') and be centered beneath
+each table, figure or image.
+
+
+\section{Acknowledgments}
+
+Our thanks to ACM SIGCHI for allowing us to modify templates they had
+developed.
+
+\medskip
+
+\bibliographystyle{plain}
+\bibliography{pubform}
+
+Columns on Last Page Should Be Made Equal Length
+\end{document}
+%</pubform>
+% \end{macrocode}
+%
+% \section{The BiB\TeX-Bibliography of the "Official" Description of
+% the Class Layout}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \begin{macrocode}
+%<*bib>
+@TECHREPORT{template.1999,
+AUTHOR = "ACM",
+TITLE = "{ACM} {SIG} {PROCEEDINGS} template",
+INSTITUTION = "ACM",
+ADDRESS = "http://www.acm.org/sigs/
+ pubs/proceed/template.html",
+YEAR = 1999,
+}
+
+@ARTICLE{anderson.1992,
+AUTHOR = "Anderson, R.E",
+TITLE = "Social impacts of computing: Codes of
+ professional ethics",
+JOURNAL = "Social Science Computing Review",
+YEAR = 1992,
+NUMBER = 4,
+VOLUME = 10,
+PAGES = "453--469",
+}
+
+@ARTICLE{conger.1995,
+AUTHOR = "Conger, Sue AND
+ Loch, Karen D.",
+TITLE = "Ethics and computer use",
+JOURNAL = "Communications of the {ACM}",
+VOLUME = 38,
+MONTH = dec,
+YEAR = 1995,
+NUMBER = 12,
+PAGES = "30--32",
+}
+
+@INPROCEEDINGS{mackay.1995,
+AUTHOR = "Mackay, W.E.",
+TITLE = "Ethics, lies and videotape...",
+BOOKTITLE = "Proceedings of {CHI} '95 (Denver CO)",
+PUBLISHER = "ACM Press",
+MONTH = may,
+YEAR = 1995,
+PAGES = "138--145",
+}
+
+@TECHREPORT{schwartz.1995,
+AUTHOR = "Schwartz, M. AND
+ {Task Force on Bias-Free Language}",
+TITLE = "Guidelines for Bias-Free Writing",
+INSTITUTION = "Indiana University",
+PUBLISHER = "Indiana University Press, Bloomington IN",
+YEAR = 1995,
+}
+%</bib>
+% \end{macrocode}
+%
+% \section{A Postscript Picture, Used in the Examples}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \begin{macrocode}
+%<*eps>
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: body.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 1
+%%CreationDate: Tue Jun 1 10:19:01 1999
+%%For: Juergen.Vollmer@acm.org
+%%Orientation: Portrait
+%%BoundingBox: 0 0 101 91
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-172.0 122.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n -1000 2922 m -1000 -1000 l 5333 -1000 l 5333 2922 l cp clip
+ 0.06299 0.06299 sc
+% Polyline
+7.500 slw
+n 2745 900 m 2745 920 l 2747 941 l 2753 964 l 2761 988 l 2772 1014 l
+ 2786 1041 l 2803 1070 l 2822 1101 l 2843 1133 l 2866 1167 l
+ 2892 1201 l 2918 1237 l 2947 1274 l 2976 1312 l 3007 1350 l
+ 3038 1388 l 3070 1427 l 3102 1465 l 3135 1503 l 3167 1540 l
+ 3199 1577 l 3231 1612 l 3262 1646 l 3293 1679 l 3323 1710 l
+ 3352 1739 l 3380 1766 l 3407 1791 l 3434 1813 l 3459 1834 l
+ 3484 1851 l 3508 1867 l 3532 1880 l 3555 1890 l 3581 1899 l
+ 3608 1905 l 3634 1909 l 3662 1910 l 3690 1908 l 3719 1904 l
+ 3748 1899 l 3779 1891 l 3810 1882 l 3842 1871 l 3874 1859 l
+ 3907 1846 l 3939 1831 l 3972 1816 l 4005 1801 l 4037 1784 l
+ 4069 1768 l 4100 1751 l 4129 1734 l 4158 1716 l 4185 1699 l
+ 4209 1681 l 4232 1664 l 4253 1646 l 4271 1628 l 4287 1609 l
+ 4299 1591 l 4309 1571 l 4316 1551 l 4320 1530 l 4321 1509 l
+ 4319 1487 l 4314 1463 l 4306 1438 l 4295 1411 l 4282 1383 l
+ 4266 1354 l 4248 1323 l 4227 1290 l 4205 1257 l 4181 1222 l
+ 4155 1187 l 4127 1151 l 4099 1115 l 4070 1078 l 4041 1041 l
+ 4011 1004 l 3982 967 l 3953 931 l 3924 896 l 3896 861 l
+ 3870 828 l 3844 796 l 3820 765 l 3798 736 l 3777 709 l
+ 3758 683 l 3741 660 l 3726 638 l 3712 618 l 3700 601 l
+ 3690 585 l 3683 574 l 3676 564 l 3670 555 l 3666 547 l
+ 3662 540 l 3659 534 l 3657 529 l 3657 525 l 3657 522 l
+ 3658 519 l 3660 518 l 3663 517 l 3667 516 l 3671 516 l
+ 3676 517 l 3681 518 l 3687 520 l 3693 521 l 3699 524 l
+ 3705 526 l 3711 528 l 3717 531 l 3723 534 l 3728 537 l
+ 3733 540 l 3737 543 l 3740 546 l 3743 549 l 3745 552 l
+ 3746 555 l 3746 557 l 3744 560 l 3742 563 l 3738 566 l
+ 3734 569 l 3727 572 l 3720 575 l 3711 578 l 3701 581 l
+ 3690 585 l 3673 591 l 3654 597 l 3632 603 l 3607 610 l
+ 3579 617 l 3549 625 l 3516 632 l 3480 640 l 3442 648 l
+ 3401 655 l 3359 663 l 3315 671 l 3271 679 l 3225 688 l
+ 3180 696 l 3134 705 l 3089 714 l 3046 723 l 3004 734 l
+ 2964 744 l 2926 755 l 2891 767 l 2860 780 l 2832 794 l
+ 2807 808 l 2786 824 l 2770 841 l 2758 859 l 2749 879 l
+ cp gs col0 s gr
+$F2psEnd
+rs
+%</eps>
+% \end{macrocode}
+%
+% \section{The \texttt{flushend} Package}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% To make the 'acmconf' class "selfcontained", the
+% 'flushend' package is distributed with the permission of
+% Sigitas Tolu\v sis (\texttt{sigitas@vtex.lt}) with this class.
+%
+% \begin{macrocode}
+%<*flushend>
+%% flushend.sty
+%% Copyright 1997 Sigitas Tolu\v sis
+%% VTeX Ltd., Akademijos 4, Vilnius, Lithuania
+%% e-mail sigitas@vtex.lt
+%% http://www.vtex.lt/tex/download/macros/
+%%
+%% This program can redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or (at your option) any later version.
+%%
+%% PURPOSE: Balanced columns on last page in twocolumn mode.
+%%
+%% SHORT DESCRIPTION:
+%%
+%% \flushend (loaded by default)
+%% ---------
+%% Switches on column balancing at last page
+%%
+%% \raggedend
+%% ----------
+%% Switches off column balancing at last page
+%%
+%% \atColsBreak={#1}
+%% ------------------
+%% Adds #1 in place of original column break (without balancing)
+%% Example: \atColsBreak{\vskip-2pt}
+%%
+%% \showcolsendrule
+%% ----------------
+%% Adds rule to the bottom of columns (just for debugging)
+%%
+%% P.S. To stretch right column by #1 add command \vskip-#1 just before
+%% command \end{document}.
+%% TO shrink right column by #1 add command \vskip#1 just before
+%% command \end{document}.
+%% Example: \vskip-10pt
+%% \end{document}
+%%
+%% \changes{1997/05/16}{first version}
+%% \changes{1997/09/09}{support for compatibility with cuted.sty}
+%% \changes{1997/10/01}{\vipersep changed to \stripsep for
+%% compatibility with cuted.sty}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{flushend}[1997/10/01]
+%
+\newbox\@aaa
+\newbox\@ccc
+\@ifundefined{@viper}{\newbox\@viper}{}
+\@ifundefined{hold@viper}{\newbox\hold@viper}{}
+\newtoks\atColsBreak \atColsBreak={}
+\newdimen\@extra@skip \@extra@skip\z@
+\newdimen\@nd@page@rule \@nd@page@rule\z@
+\def\last@outputdblcol{%
+ \if@firstcolumn
+ \global \@firstcolumnfalse
+ \global \setbox\@leftcolumn \box\@outputbox
+ \else
+ \global \@firstcolumntrue
+ \if@lastpage
+ \@tempdima\ht\@leftcolumn
+ \splittopskip\topskip\splitmaxdepth\maxdepth
+ \setbox\@tempboxa\vbox{%
+ \unvbox\@leftcolumn\setbox0\lastbox\unskip%
+ \the\atColsBreak%
+ \unvbox\@outputbox\setbox0\lastbox\unskip}%
+ \@tempdimb .5\ht\@tempboxa%
+ \loop
+ \setbox\@aaa\copy\@tempboxa%
+ \setbox\@ccc\vbox to\@tempdimb{%
+ \vsplit\@aaa to\@tempdimb\vss%
+ \vsplit\@aaa to\@tempdimb}%
+ \wlog{Extra height:\the\ht\@aaa\space when \the\@tempdimb}%
+ \ifvoid\@aaa \else \advance\@tempdimb 1pt \repeat%
+ \loop
+ \setbox\@aaa\copy\@tempboxa%
+ \setbox\@ccc\vbox to\@tempdimb{%
+ \vsplit\@aaa to\@tempdimb\vss}%
+ \wlog{(2)Left:\the\ht\@ccc\space
+ Right:\the\ht\@aaa\space Output:\the\@tempdimb}%
+ \ifdim \ht\@ccc<\ht\@aaa \@tempdimb \the\ht\@aaa \repeat%
+ \wlog{- LAST -^^J
+ Extra skip:\the\@extra@skip^^J
+ Left:\the\ht\@ccc^^JRight:\the\ht\@aaa^^J
+ Output:\the\@tempdimb}%
+ \setbox\@ccc\vbox to\@tempdimb{%
+ \vsplit\@tempboxa to\@tempdimb\vss}%
+ \setbox\@leftcolumn\vbox to\@tempdima{%
+ \vbox to\@tempdimb{\unvbox\@ccc}%
+ \hrule\@height\@nd@page@rule%
+ \vss}%
+ \setbox\@outputbox\vbox to\@tempdima{%
+ \vbox to\@tempdimb{\unvbox\@tempboxa\vfilneg%
+ \vskip\@extra@skip}%
+ \hrule\@height\@nd@page@rule%
+ \vss}%
+ \setbox\@outputbox \vbox {%
+ \hb@xt@\textwidth {%
+ \hb@xt@\columnwidth {%
+ \box\@leftcolumn \hss}%
+ \hfil
+ \vrule \@width\columnseprule
+ \hfil
+ \hb@xt@\columnwidth {%
+ \box\@outputbox \hss}%
+ }%
+ }%
+ \else
+ \setbox\@outputbox \vbox {%
+ \hb@xt@\textwidth {%
+ \hb@xt@\columnwidth {%
+ \box\@leftcolumn \hss}%
+ \hfil
+ \vrule \@width\columnseprule
+ \hfil
+ \hb@xt@\columnwidth {%
+ \box\@outputbox \hss}%
+ }%
+ }%
+ \fi
+ \ifvoid\hold@viper
+ \else
+ \setbox\@outputbox \vbox{\box\hold@viper\box\@outputbox}%
+ \fi
+ \@combinedblfloats
+ \@outputpage
+ \begingroup
+ \@dblfloatplacement
+ \@startdblcolumn
+ \@whilesw\if@fcolmade \fi
+ {\@outputpage
+ \@startdblcolumn}%
+ \ifvoid\@viper
+ \else
+ \global\setbox\@viper\vbox{%
+ \vskip-\stripsep\unvbox\@viper}\@viperoutput
+ \fi
+ \endgroup
+ \fi
+}
+\let\prev@enddocument\enddocument
+\newif\if@lastpage \@lastpagefalse
+\def\enddocument{%
+ \global\@lastpagetrue%
+ \let\@outputdblcol\last@outputdblcol%
+ \prev@enddocument%
+}
+\def\raggedend{%
+ \global\let\enddocument\prev@enddocument%
+}
+\def\flushend{%
+ \gdef\enddocument{%
+ \global\@lastpagetrue%
+ \let\@outputdblcol\last@outputdblcol%
+ \prev@enddocument%
+ }
+ }
+\def\showcolsendrule{\global\@nd@page@rule=.4pt}
+\endinput
+%</flushend>
+% \end{macrocode}
+%
+% \hrule
+% \medskip
+% \centerline{The End}
+%
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \Finale
+\endinput
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/acmconf/acmconf.ins b/macros/latex/contrib/acmconf/acmconf.ins
new file mode 100644
index 0000000000..57e52edaed
--- /dev/null
+++ b/macros/latex/contrib/acmconf/acmconf.ins
@@ -0,0 +1,121 @@
+%% Installation batch file for the `acmconf' class to use with LaTeX2e
+%%
+%% This directory contains the LaTeX2e class `acmconf'.
+%% Version: 1.0; May 30, 1999
+%%
+%% This class is used to typeset articles to be published in the proceedings
+%% of ACM (Association for Computing Machinery) conferences and workshops.
+%%
+%% The layout produced by the `acmconf' class is based on the description
+%% contained in www.acm.org/sigs/pubs/proceed/pubform.doc.
+%%
+%% Copyright (C) 1999, Dr. Juergen Vollmer
+%% Viktoriastrasse 15, D-76133 Karlsruhe, Germany
+%% Juergen.Vollmer@acm.org
+%% License:
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% If you find this software useful, please send me a postcard.
+%%
+%% To make the class "selfcontained", it contains also the `flushend'
+%% package, which balances columns on last page in twocolumn mode.
+%% This package is Copyright 1997 Sigitas Tolusis, VTeX Ltd.,
+%% Akademijos 4, Vilnius, Lithuania e-mail sigitas@vtex.lt.
+%% It is shipped together with his permission.
+%%
+%% This package consists of 5 files:
+%% acmconf.ins
+%% acmconf.dtx
+%% README
+%% THIS-IS-VERSION-x.y
+%% Makefile
+%%
+%% To extract the `acmconf.cls' and the `flushend.sty' files as well as
+%% the example files:
+%% unpack and call make (Unix)
+%%
+%% Or do it manually:
+%% latex acmconf.ins
+%% creates the following files:
+%% acmconf.cls, flushend.sty
+%% prepare.tex, submit.tex, accept.tex
+%% publish.tex, print.tex, error.tex, body.eps
+%% pubform.tex, pubform.bib
+%%
+%% typeset user documentation
+%% latex acmconf.dtx
+%% If you want to see the documentation of the code, search in the
+%% `acmconf.dtx' file the line containing `\OnlyDescription' and
+%% remove the % in fromnt of that command.
+%%
+%% typeset examples
+%% latex prepare.tex
+%% latex submit.tex
+%% latex accept.tex
+%% latex publish.tex
+%% latex print.tex
+%% latex error.tex
+%% latex pubform.tex; bibtex pubform; latex pubform.tex
+%%
+%% To install:
+%% Edit the `Makefile' and `make install' or
+%% move `acmconf.cls' and `flushend.sty' to a place where your
+%% LaTeX system will find it.
+%%
+%% $Id: acmconf.ins,v 1.16 2000/05/18 17:14:51 vollmer Exp $
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\batchfile{acmconf.ins}
+\input docstrip.tex
+
+\Msg{}
+\Msg{***********************************************************}
+\Msg{** Hello to the installation of the `acmconf' class.}
+\Msg{** Version: 1.3; May 18, 2000}
+\Msg{***********************************************************}
+\Msg{}
+
+\edef\AcmConfPs{\perCent!PS-Adobe-2.0 EPSF-2.0}
+
+\generate{
+ \askforoverwritefalse
+ \file{acmconf.cls}{\from{acmconf.dtx}{class}}
+ \file{prepare.tex}{\from{acmconf.dtx}{prepare,head,body}}
+ \file{submit.tex}{\from{acmconf.dtx}{submit,head,body}}
+ \file{accept.tex}{\from{acmconf.dtx}{accept,head,body}}
+ \file{publish.tex}{\from{acmconf.dtx}{publish,head,body}}
+ \file{print.tex}{\from{acmconf.dtx}{print,head,body}}
+ \file{error.tex}{\from{acmconf.dtx}{error,body}}
+ \file{pubform.tex}{\from{acmconf.dtx}{pubform}}
+ \file{pubform.bib}{\from{acmconf.dtx}{bib}}
+ \usepreamble\empty
+ \file{flushend.sty}{\from{acmconf.dtx}{flushend}}
+ \usepreamble\AcmConfPs
+ \usepostamble\empty
+ \file{body.eps}{\from{acmconf.dtx}{eps}}
+}
+
+\Msg{}
+\Msg{***********************************************************}
+\Msg{** To finish the installation move the file `acmconf.cls' and}
+\Msg{** to a place where LaTeX will find it.}
+\Msg{** To Get the documentation: `latex acmconf.dtx'}
+\Msg{** To see an example: `latex prepare.tex'}
+\Msg{** To see an example: `latex submit.tex'}
+\Msg{** To see an example: `latex accept.tex'}
+\Msg{** To see an example: `latex publish.tex'}
+\Msg{** To see an example: `latex print.tex'}
+\Msg{** To see an example: `latex print.tex'}
+\Msg{** To see an example: `latex error.tex'}
+\Msg{** To see an example: `latex pubform.tex'}
+\Msg{** `bibtex pubform'}
+\Msg{** `latex pubform.tex'}
+\Msg{** Happy TeXing}
+\Msg{***********************************************************}
+\Msg{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/acmconf/acmconf.pdf b/macros/latex/contrib/acmconf/acmconf.pdf
new file mode 100644
index 0000000000..6b8d9e7b94
--- /dev/null
+++ b/macros/latex/contrib/acmconf/acmconf.pdf
Binary files differ