diff -r 0865caafbfe6 -r 3890483c674f Paper/document/acmconf.cls --- a/Paper/document/acmconf.cls Mon Jan 03 16:21:12 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,442 +0,0 @@ -% ACMCONF DOCUMENT CLASS -% adapted from ARTICLE document style by Ken Traub -% Hacked for [preprint] option by Olin Shivers 4/91 -% Fixed up for LaTeX version 2e [compatibility mode] by Peter Lee 10/9 -% (with help from Simon Peyton Jones) -% Converted to a LaTeX2e document class by David A. Berson 11/94 -% -% ARTICLE DOCUMENT STYLE -- Released 16 March 1988 -% for LaTeX version 2.09 -% Copyright (C) 1988 by Leslie Lamport - -% To do: -% - Possibly move the commands related to 9pt size to a file size9.clo -% and write the stuff to unpack both acmconf.cls and size9.clo files -% from a single distribution file. - -%%% ACMCONF is a document class for producing two-column camera-ready pages for -%%% ACM conferences, according to ACM specifications. The main features of -%%% this class are: -%%% -%%% 1) Two columns. -%%% 2) Side and top margins of 4.5pc, bottom margin of 7.5pc, column gutter of -%%% 2pc, hence columns are 20pc wide and 54pc tall. (6pc = 1in, approx) -%%% 3) First page has title information, and an extra 4.5pc of space at the -%%% bottom of the first column for the ACM copyright notice. (You must -%%% use one of the commands \copyrightspace or \toappear{} to obtain this -%%% space.) -%%% 4) Text is 9pt on 10pt baselines; titles are 9pt bold sans-serif. -%%% (The acmconf.sty from which acmconf.cls was derived actually uses -%%% 9pt bold roman for section titles. Functionally, I have left this -%%% as is. I have added a commented out alternate defination of -%%% \acmtitlestyle that uses sans-serif) --DAB -%%% -%%% This document class supports a [preprint] class option that allows you -%%% to run off a copy for a preprint -- with page numbers, "to appear" -%%% information, and so forth. This is documented below. - -%%% There are a few restrictions you must observe: -%%% -%%% 1) You cannot change the font size; ACM wants you to use 9pt. -%%% 3) You must start your paper with the \maketitle command. Prior to the -%%% \maketitle you must have \title and \author commands. If you have a -%%% \date command it will be ignored; no date appears on the paper, since -%%% the proceedings will have a date on the front cover. -%%% Optionally, you may have an \affiliation command with text, such -%%% as company or university name and address, that will be centered -%%% just below the author(s). -%%% 4) Marginal paragraphs, tables of contents, lists of figures and tables, -%%% and page headings are all forbidden. -%%% 5) The `figure' environment will produce a figure one column wide; if you -%%% want one that is two columns wide, use `figure*'. Ditto for the -%%% `table' and `table*' environments. -%%% -%%% Page Headings: -%%% Normally, \pagestyle commands are ignored --- pages have no headings or -%%% numbers. ACM will number the pages for you when they are inserted into the -%%% proceedings (you should put page numbers on the BACK of each page, though, -%%% in case someone drops your paper on the floor). -%%% -%%% If the [preprint] option is present, then \pagestyle commands are obeyed, -%%% and the default is \pagestyle{plain}. The [twoside] option is also -%%% useful when using headers. -%%% -%%% The [draft] and [final] options as used in the article class are also -%%% supported. -%%% -%%% -%%% Copyright Space: -%%% You leave space at the bottom of page 1/column 1 one with the -%%% \copyrightspace command. Alternatively, you can use the -%%% \toappear{...} command. Normally, this turns into an unnumbered -%%% footnote 4.5pc high. If [preprint] is on, then this space is -%%% filled with the {...} text; otherwise, it's blank. You must put -%%% one of these commands in the text of page 1/column 1 *after* all the -%%% other footnotes that go on page1/column 1, of course. -%%% -%%% A typical usage looks like this: -%%% \toappear{To appear in the Ninth AES Conference on Midevil Lithuanian -%%% Embalming Technique, June 1991, Alfaretta, Georgia. -%%% Also available as Technical Report CMU-CS-91-119, -%%% Cranberry Melon School of Cucumber Science.} -%%% This will be included in the preprint, and left out of the conference -%%% version. -%%% -%%% Acmconf defines two useful conditionals. -%%% - \ifacmconf{true-stuff}{false-stuff} -%%% expands to true-stuff. -%%% - \ifpreprint true-stuff \else else-stuff \fi -%%% expands to true-stuff if the [preprint] option is being used, -%%% otherwise it expands to else-stuff. -%%% \ifacmconf is a latex command; \ifpreprint is a real latex conditional. -%%% -%%% WARNING: -%%% Some dvi-ps converters heuristically allow chars to drift from their -%%% true positions a few pixels. This loses noticeably with the 9pt sans-serif -%%% bold font used for section headers. You turn this hackery off in our -%%% dvi-ps converters with the -e option: -%%% dvips -e 0 foo.dvi >foo.ps - -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{acmconf}[1994/11/27 Alternative LaTeX document class] -\typeout{Bugs to berson@cs.pitt.edu} - -% -% Define the conditionals and command for the options. -% -\newif\if@acmconf\@acmconftrue -\long\def\ifacmconf#1#2{\if@acmconf#1\else#2\fi} -\newif\ifpreprint - -% -% Declare and process the options -% -\DeclareOption{draft}{\PassOptionsToClass{draft}{article}} -\DeclareOption{final}{\PassOptionsToClass{final}{article}} -\DeclareOption{twocolumn}{\PassOptionsToClass{twocolumn}{article}} -\DeclareOption{twoside}{\PassOptionsToClass{twoside}{article}} -\DeclareOption{preprint}{\preprintfalse} -%\DeclareOption{preprint}{\preprinttrue} -% -% Let them off with just a warning for any other option -% -\DeclareOption*{\ClassWarningNoLine{acmconf}{Unknown option `\CurrentOption'}} -%\DeclareOption*{\ClassError{acmconf} -% {The `\CurrentOption' option is not supported} -% {Remove the `\CurrentOption' option from the -% \protect\documentclass\space line.}} - -\ExecuteOptions{twocolumn} -\ProcessOptions - -% -% This class simply modifies a few behaviors of the article class, -% so load it now -% -\LoadClass{article} - - -%********************************************************************** -% -% The following commands would normally be in a file such as -% size9.clo for the article class. Since the size isn't really an -% option, I include them here. I have followed the order of the commands -% as found in size10.clo. -% -% I could test for the presence of % the file size9.clo and load it when -% availale, instead of executing these commands. -% - -% -% Set the font sizes and spacing -% -\renewcommand\baselinestretch{1} - -\renewcommand\normalsize{% - \@setfontsize\normalsize\@ixpt\@xpt - \abovedisplayskip 9\p@ \@plus2\p@ \@minus4.5\p@% - \abovedisplayshortskip \z@ \@plus3\p@% - \belowdisplayshortskip 5.4\p@ \@plus3\p@ \@minus3\p@% - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\normalsize -\renewcommand\small{% - \@setfontsize\small\@viiipt{9}% - \abovedisplayskip 7.6\p@ \@plus 3\p@ \@minus 4\p@% - \abovedisplayshortskip \z@ \@plus2\p@% - \belowdisplayshortskip 3.6\p@ \@plus2\p@ \@minus 2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 4\p@ \@plus 2\p@ \@minus 2\p@ - \parsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep} - \belowdisplayskip \abovedisplayskip -} -\renewcommand\footnotesize{% - \@setfontsize\footnotesize\@viipt{8} - \abovedisplayskip 6.4\p@ \@plus 2\p@ \@minus 4\p@% - \abovedisplayshortskip \z@ \@plus 1\p@% - \belowdisplayshortskip 2.7\p@ \@plus 1\p@ \@minus 2\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 3\p@ \@plus 1\p@ \@minus 1\p@ - \parsep 2\p@ \@plus 1\p@ \@minus 1\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8pt}} -\renewcommand\tiny{\@setfontsize\tiny\@vpt{6pt}} -\renewcommand\large{\@setfontsize\large\@xipt{13.6\p@}} -\renewcommand\Large{\@setfontsize\Large\@xiipt{14\p@}} -\renewcommand\LARGE{\@setfontsize\LARGE\@xivpt{18\p@}} -\renewcommand\huge{\@setfontsize\huge\@xviipt{22\p@}} -\renewcommand\Huge{\@setfontsize\Huge\@xxpt{25\p@}} - -\setlength\parindent{13.5\p@} % This is what normally used for one - % column. Should it be 1em for us? -\setlength\headheight{0\p@} -\setlength\headsep{0\p@} -\setlength\headheight{0\p@} -\setlength\headsep{0\p@} -\setlength\footskip{30\p@} -% -% There was no \topskip or \@maxdepth in the original acmconf.sty. -% Thus, we inherit -%\topskip 10pt -%\maxdepth .5\topskip -% from size10.clo loaded via article.cls -% -\setlength\textwidth{42pc} -\setlength\textheight{650\p@} -\setlength\oddsidemargin{4.5pc} -\addtolength\oddsidemargin{-1in} % Correct for LaTeX gratuittousness -\setlength\evensidemargin{4.5pc} -\addtolength\evensidemargin{-1in} % Correct for LaTeX gratuittousness -\setlength\marginparwidth{0\p@} % Margin pars are not allowed. -\setlength\marginparsep{11\p@} -\setlength\marginparpush{5\p@} -\setlength\topmargin{4.5pc} -\addtolength\topmargin{-1in} % Correct for LaTeX gratuitousness -% -% I wonder if these next three lines should only be executed if -% the preprint option is in effect? -- DAB -% -%% Must redefine the top margin so there's room for headers and -%% page numbers if you are using the preprint option. Footers -%% are OK as is. Olin. -\addtolength\topmargin{-37\p@} % Leave 37pt above text for headers -\setlength\headheight{12\p@} -\setlength\headsep{25\p@} - -\setlength\footnotesep{5.6\p@} -\setlength{\skip\footins}{8.1\p@ \@plus 4\p@ \@minus 2\p@} -\setlength\floatsep{11\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\textfloatsep{18\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep{11\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dblfloatsep{11\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\dbltextfloatsep{18\p@ \@plus 2\p@ \@minus 4\p@} -% -% These values will be inherited from the default size10.clo file -% included when we load the base article class. I include them -% here for completeness in case we split out the size9.clo file someday. -% --DAB -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{8\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{8\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} -\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@} -% -% I think that all of these should be renewcommands. I also think -% that \setlength should be used. But, they are not in the size10.clo -% file that I am following. --DAB -% -\renewcommand\@listI{\leftmargin\leftmargini - \parsep 3.6\p@ \@plus 2\p@ \@minus 1\p@% - \topsep 7.2\p@ \@plus 2\p@ \@minus 4\p@% - \itemsep 3.6\p@ \@plus 2\p@ \@minus 1\p@} -\let\@listi\@listI -\@listi -\def\@listii {\leftmargin\leftmarginii - \labelwidth\leftmarginii - \advance\labelwidth-\labelsep - \topsep 3.6\p@ \@plus 2\p@ \@minus 1\p@ - \parsep 1.8\p@ \@plus 0.9\p@ \@minus 0.9\p@ - \itemsep \parsep} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii - \advance\labelwidth-\labelsep - \topsep 1.8\p@ plus 0.9\p@ minus 0.9\p@ - \parsep \z@ - \partopsep 1\p@ plus 0\p@ minus 1\p@ - \itemsep \topsep} -\def\@listiv {\leftmargin\leftmarginiv - \labelwidth\leftmarginiv - \advance\labelwidth-\labelsep} -\def\@listv {\leftmargin\leftmarginv - \labelwidth\leftmarginv - \advance\labelwidth-\labelsep} -\def\@listvi {\leftmargin\leftmarginvi - \labelwidth\leftmarginvi - \advance\labelwidth-\labelsep} -% -% End of the "size9.clo" commands -%********************************************************************** - -% -% here's a few things that I didn't find in either article.cls or -% size10.clo, so I left them here. --DAB -% -\setlength\columnsep{2pc} % Space between columns -\setlength\columnseprule{0\p@} % Width of rule between columns. -\hfuzz 1pt % Allow some variation in column width, otherwise it's - % too hard to typeset in narrow columns. - - -%********************************************************************** -% -% Now we get on with overriding things found in article.cls -% -\setlength\parindent{13.5\p@} - -% -% This command is used to format section headings. The format is the only -% thing that differs between these section commands and the ones in -% article.cls. -% -% Although the original documentation says that sans-serif is supposed to be -% used for section titles, the file as I received uses roman. The -% commented out line implements sans-serif. Be sure to comment out the -% \bfseries line if you switch. -% --DAB -% -\newcommand\@acmtitlestyle{\normalsize\bfseries} -%\newcommand\@acmtitlestyle{\normalsize\sffamily} - -\renewcommand\section{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus .2ex}% - {\@acmtitlestyle}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-3.25ex \@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\@acmtitlestyle}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {-3.25ex \@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\@acmtitlestyle}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% - {3.25ex \@plus 1ex \@minus .2ex}% - {-1em}% - {\@acmtitlestyle}} -\renewcommand\subparagraph{\@startsection{subparagraph}{4}{\parindent}% - {3.25ex \@plus 1ex \@minus .2ex}% - {-1em}% - {\@acmtitlestyle}} - -\setcounter{secnumdepth}{3} - -\setlength\arraycolsep{4.5\p@} -\setlength\tabcolsep{5.4\p@} -\setlength\doublerulesep{1.8\p@} - -\setlength\fboxsep{2.7\p@} -\setlength\fboxrule{.4\p@} - -\def\tableofcontents{\ClassError{acmconf}% - {\protect\tableofcontents: Tables of contents are not allowed in the `acmconf' document class}% - {Remove the \protect\tableofcontents\space command from the file}} - -\def\listoffigures{\ClassError{acmconf}% - {\protect\listoffigures: Lists of figures are not allowed in the `acmconf' document class}% - {Remove the \protect\listoffigures\space command from the file}} - -\def\listoftables{\ClassError{acmconf}% - {\protect\listoftables: Lists of tables are not allowed in the `acmconf' document class}% - {Remove the \protect\listoftables\space command from the file}} -\let\l@table\l@figure - -% -% Added \@makefntext definition so that the mark would not over print -% the beginning of the \thanks text. --DAB -% -\def\maketitle{\par - \begingroup - \def\thefootnote{\fnsymbol{footnote}}% - \def\@makefnmark{\hbox to 0pt{$\m@th^{\@thefnmark}$\hss}}% - \long\def\@makefntext##1{\parindent 1em\noindent - \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}% - \if@twocolumn - \twocolumn[\@maketitle] - \else \newpage - \global\@topnum\z@ % Prevents figures from going at top of page. - \@maketitle \fi - \thispagestyle{plain}\@thanks % UE: Changed {empty} to {plain} - \endgroup - \setcounter{footnote}{0} - \let\maketitle\relax - \let\@maketitle\relax - \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@affili{}\let\thanks\relax} - -% -% extra declarations needed for our version of @maketitle -% -\newbox\@acmtitlebox -\gdef\affili{} -\def\affiliation#1{\gdef\affili{#1}} - -% -% The modified @maketitle -% -\def\@maketitle{\newpage - \null - \setbox\@acmtitlebox\vbox{% - \vskip 2em % Vertical space above title. - \begin{center} - {\LARGE \@title \par} % Title set in \LARGE size. - \vskip 1.5em % Vertical space after title. - {\large % each author set in \large, in a - \lineskip .5em % tabular environment - \begin{tabular}[t]{c}\@author - \end{tabular}\par} - \vskip 1em - \begin{center} - {\large \affili} - \end{center} - \vskip 1.5em % Vertical space after author. - \end{center}} - \dimen0=\ht\@acmtitlebox - \advance\dimen0 by -13.5pc\relax - \unvbox\@acmtitlebox - \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi} - -\long\def\unmarkedfootnote#1{{\long\def\@makefntext##1{##1}\footnotetext{#1}}} - -%% Use one of \copyrightspace or \toappear{To appear in the ACM ...} -\def\copyrightspace{\unmarkedfootnote{\vrule height 4.5pc - width 0in depth 0in}} - -%% \small is bigger than \footnotesize. -\def\toappear#1% - {\ifpreprint \unmarkedfootnote{\vrule height 2.25pc% - depth 2.25pc width 0in% - \parbox{2.8in}{\small #1}}% - \else \copyrightspace \fi} - -%\def\marginpar{\ClassError{acmconf}% -% {The \protect\marginpar command is not allowed in the `acmconf' document class}% -% {Remove the \protect\marginpar\space command from the file}} - -\mark{{}{}} % Initializes TeX's marks - -%% Headings are ignored unless the [preprint] option is in force. -\ifpreprint\else % preprint off -- all \pagestyle commands ==> \pagestyle{empty}. -% \let\ps@plain\ps@empty % UE: Commented this line out - \let\ps@headings\ps@empty - \let\ps@myheadings\ps@empty -\fi - -\raggedbottom % Ragged bottom - -\endinput -%% -%% End of file `acmconf.cls'.