diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:49:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:49:58 +0000 |
commit | 80d94cba0fa1b7d7c6a3052e313a4e9a0d66ba2c (patch) | |
tree | d5c31eff4d1012229c891008e6b198c8101efd0e /Master/texmf-dist | |
parent | 90dc5b73d88518a8e13c52a38b38595511f23596 (diff) |
trunk/Master/texmf-dist/source/latex/acmconf
git-svn-id: svn://tug.org/texlive/trunk@129 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/source/latex/acmconf/Makefile | 146 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/acmconf/acmconf.dtx | 2016 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/acmconf/acmconf.ins | 121 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/acmconf/body.eps | 151 |
4 files changed, 2434 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/acmconf/Makefile b/Master/texmf-dist/source/latex/acmconf/Makefile new file mode 100644 index 00000000000..a1de5fd1226 --- /dev/null +++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/acmconf/acmconf.dtx b/Master/texmf-dist/source/latex/acmconf/acmconf.dtx new file mode 100644 index 00000000000..e1eaf163656 --- /dev/null +++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/acmconf/acmconf.ins b/Master/texmf-dist/source/latex/acmconf/acmconf.ins new file mode 100644 index 00000000000..57e52edaed6 --- /dev/null +++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/acmconf/body.eps b/Master/texmf-dist/source/latex/acmconf/body.eps new file mode 100644 index 00000000000..6a6f60f5dce --- /dev/null +++ b/Master/texmf-dist/source/latex/acmconf/body.eps @@ -0,0 +1,151 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%% +%% to test the checksum, uncomment \OnlyDescription +%% in the driver +%%\fi +%% +%% \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 \~} + +%%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 +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 |