|
1 % ACMCONF DOCUMENT STYLE - Updated 17 August 1995. |
|
2 % |
|
3 % This is a patched version of the 5 April 1993 release. No stylistic changes |
|
4 % have been made; it should produce output identical to the 1993 release if |
|
5 % that release worked properly on your system. A LaTeX2e patch has been added |
|
6 % for systems having problems with the section header font. There is also a |
|
7 % macro for producing an ACM copyright notice and a box with reprint info. |
|
8 % |
|
9 % If you get an error message similar to |
|
10 % |
|
11 % ! Undefined control sequence. |
|
12 % l.165 \font\ninsfb = cmssbx10\@ptscale |
|
13 % |
|
14 % then see the comments beginning on line 173 (look for "DIAGNOSTICS"). |
|
15 %----------------------------------------------------------------------- |
|
16 % Modification of Traub/Shivers version by Kevin Theobald, McGill |
|
17 % University. New version has automatic copyright space, option |
|
18 % for box around "to appear" entry, and style option to indent |
|
19 % first paragraph after subheadings. Released 5 April 1993. |
|
20 % |
|
21 % To use: install in reachable directory (one contained in TEXINPUTS |
|
22 % environment variable); use \documentstyle[<options>]{acmconf} |
|
23 %----------------------------------------------------------------------- |
|
24 % adapted from ARTICLE document style by Ken Traub |
|
25 % Hacked for [preprint] option by Olin Shivers 4/91 |
|
26 % ARTICLE DOCUMENT STYLE -- Released 16 March 1988 |
|
27 % for LaTeX version 2.09 |
|
28 % Copyright (C) 1988 by Leslie Lamport |
|
29 |
|
30 %%% ACMCONF is a document style for producing two-column camera-ready pages for |
|
31 %%% ACM conferences, according to ACM specifications. The main features of |
|
32 %%% this style are: |
|
33 %%% |
|
34 %%% 1) Two columns. |
|
35 %%% 2) Side and top margins of 4.5pc, bottom margin of 6pc, column gutter of |
|
36 %%% 2pc, hence columns are 20pc wide and 55.5pc tall. (6pc = 1in, approx) |
|
37 %%% 3) First page has title information, and an extra 6pc of space at the |
|
38 %%% bottom of the first column for the ACM copyright notice. |
|
39 %%% 4) Text is 9pt on 10pt baselines; titles (except main) are 9pt bold. |
|
40 %%% |
|
41 %%% This document style supports a [preprint] style option that allows |
|
42 %%% you to run off a copy for a preprint -- with page numbers, "to |
|
43 %%% appear" information, and so forth. This is documented below. |
|
44 %%% |
|
45 %%% This document style also supports a [secindent] style option which |
|
46 %%% causes paragraphs following (sub)section heads to be indented like |
|
47 %%% the others. (Added by KBT) |
|
48 %%% |
|
49 %%% Finally, the macro \acmcopy{y} (y is year, e.g., 1995) prints the text of |
|
50 %%% an ACM copyright notice. This is useful for making a copy of the paper on |
|
51 %%% the author's FTP site (ACM requires a copyright notice). (Added by KBT) |
|
52 %%% |
|
53 %%% There are a few restrictions you must observe: |
|
54 %%% |
|
55 %%% 1) You cannot change the font size; ACM wants you to use 9pt. |
|
56 %%% 3) You must start your paper with the \maketitle command. Prior to the |
|
57 %%% \maketitle you must have \title and \author commands. If you have a |
|
58 %%% \date command it will be ignored; no date appears on the paper, since |
|
59 %%% the proceedings will have a date on the front cover. |
|
60 %%% 4) Marginal paragraphs, tables of contents, lists of figures and tables, |
|
61 %%% and page headings are all forbidden. |
|
62 %%% 5) The `figure' environment will produce a figure one column wide; if you |
|
63 %%% want one that is two columns wide, use `figure*'. |
|
64 %%% |
|
65 %%% Page Headings: |
|
66 %%% Normally, \pagestyle commands are ignored --- pages have no headings or |
|
67 %%% numbers. ACM will number the pages for you when they are inserted into the |
|
68 %%% proceedings (you should put page numbers on the BACK of each page, in |
|
69 %%% light pencil, in case someone drops your paper on the floor). |
|
70 %%% |
|
71 %%% If the [preprint] option is present, then \pagestyle commands are obeyed, |
|
72 %%% and the default is \pagestyle{plain}. All pages (including the first) |
|
73 %%% are numbered. (This is useful if you want to make a reprint version |
|
74 %%% of your paper, with page numbering identical to the conference |
|
75 %%% proceedings. In such a case, you may need to insert the command |
|
76 %%% \setcounter{page}{...} before \maketitle.) The [twoside] option is |
|
77 %%% also useful when using headers. |
|
78 %%% |
|
79 %%% Copyright Space: |
|
80 %%% This style automatically leaves 1" blank space at the bottom of page 1/ |
|
81 %%% column 1. This space can optionally be filled with some text using the |
|
82 %%% \toappear{...} command. If used, this command must be BEFORE the \maketitle |
|
83 %%% command. If this command is defined AND [preprint] is on, then the |
|
84 %%% space is filled with the {...} text (at the bottom); otherwise, it is |
|
85 %%% blank. If you use \toappearbox{...} instead of \toappear{...} then a |
|
86 %%% box will be drawn around the text (if [preprint] is on). |
|
87 %%% |
|
88 %%% A typical usage looks like this: |
|
89 %%% \toappear{To appear in the Ninth AES Conference on Medievil Lithuanian |
|
90 %%% Embalming Technique, June 1991, Alfaretta, Georgia.} |
|
91 %%% This will be included in the preprint, and left out of the conference |
|
92 %%% version. |
|
93 %%% |
|
94 %%% Acmconf defines two useful conditionals. |
|
95 %%% - \ifacmconf{true-stuff}{false-stuff} |
|
96 %%% expands to true-stuff. |
|
97 %%% - \ifpreprint true-stuff \else else-stuff \fi |
|
98 %%% expands to true-stuff if the [preprint] option is being used, |
|
99 %%% otherwise it expands to else-stuff. |
|
100 %%% \ifacmconf is a latex command; \ifpreprint is a real latex conditional. |
|
101 %%% |
|
102 %%% WARNING: |
|
103 %%% Some dvi-ps converters heuristically allow chars to drift from their |
|
104 %%% true positions a few pixels. This loses noticeably with the 9pt sans-serif |
|
105 %%% bold font used for section headers. You turn this hackery off in our |
|
106 %%% dvi-ps converters with the -e option: |
|
107 %%% dvips -e 0 foo.dvi >foo.ps |
|
108 |
|
109 \typeout{Document Style `acmconf' <22 May 89>. Hacked 4/91 by} |
|
110 \typeout{ shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca} |
|
111 \typeout{Bugs to theobald@cs.mcgill.ca} |
|
112 |
|
113 \def\acmcopy#1{Copyright \copyright {#1} by the Association for Computing |
|
114 Machinery, Inc. Permission to make digital or hard copies of part or all of |
|
115 this work for personal or classroom use is granted without fee provided that |
|
116 copies are not made or distributed for profit or direct commercial advantage |
|
117 and that copies bear this notice and the full citation on the first page. |
|
118 Copyrights for components of this work owned by others than ACM must be |
|
119 honored. Abstracting with credit is permitted. To copy otherwise, to |
|
120 republish, to post on servers, or to redistribute to lists, requires prior |
|
121 specific permission and/or a fee. Request permissions from Publications |
|
122 Dept., ACM Inc., fax +1 (212) 869-0481, or (permissions@acm.org).} |
|
123 |
|
124 \newif\if@acmconf\@acmconftrue |
|
125 \long\def\ifacmconf#1#2{\if@acmconf#1\else#2\fi} |
|
126 |
|
127 \newif\ifpreprint |
|
128 \def\ds@preprint{\preprinttrue} |
|
129 \def\ds@twoside{\@twosidetrue \@mparswitchtrue} |
|
130 \def\ds@secindent{\def\@afterindentfalse{\@afterindenttrue}} |
|
131 |
|
132 % |
|
133 % The following macro added 8/17/95 by KBT. Use to make box above title with |
|
134 % name of proceedings and/or copyright notice. This box is created only if |
|
135 % [preprint] is on. Use: \coverbox{vert. pos.}{horiz. pos.}{box width}{text} |
|
136 % Creates box with officially zero dimension, so does not affect layout. |
|
137 % |
|
138 \def\coverbox#1#2#3#4{\ifpreprint{\makebox[0pt][l]{\raisebox{#1}[0pt][0pt]{\hspace*{#2}\fbox{\parbox{#3}{#4}}}}}\else{}\fi} |
|
139 |
|
140 \@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf' |
|
141 document style.}\@eha} |
|
142 \@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf' |
|
143 document style.}\@eha} |
|
144 \@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf' |
|
145 document style.}\@eha} |
|
146 |
|
147 \@options |
|
148 |
|
149 \lineskip 1pt % \lineskip is 1pt for all font sizes. |
|
150 \normallineskip 1pt |
|
151 \def\baselinestretch{1} |
|
152 |
|
153 \def\@normalsize{\@setsize\normalsize{10pt}\ixpt\@ixpt |
|
154 \abovedisplayskip 9pt plus2pt minus4.5pt% |
|
155 \belowdisplayskip \abovedisplayskip |
|
156 \abovedisplayshortskip \z@ plus3pt% |
|
157 \belowdisplayshortskip 5.4pt plus3pt minus3pt% |
|
158 \let\@listi\@listI} % Setting of \@listi added 9 Jun 87 |
|
159 |
|
160 \def\small{\@setsize\small{9pt}\viiipt\@viiipt |
|
161 \abovedisplayskip 7.6pt plus 3pt minus 4pt% |
|
162 \belowdisplayskip \abovedisplayskip |
|
163 \abovedisplayshortskip \z@ plus2pt% |
|
164 \belowdisplayshortskip 3.6pt plus2pt minus 2pt |
|
165 \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 |
|
166 \topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt |
|
167 \itemsep \parsep}} |
|
168 |
|
169 \def\footnotesize{\@setsize\footnotesize{8pt}\viipt\@viipt |
|
170 \abovedisplayskip 6.4pt plus 2pt minus 4pt% |
|
171 \belowdisplayskip \abovedisplayskip |
|
172 \abovedisplayshortskip \z@ plus 1pt% |
|
173 \belowdisplayshortskip 2.7pt plus 1pt minus 2pt |
|
174 \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 |
|
175 \topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt |
|
176 \itemsep \parsep}} |
|
177 |
|
178 \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} |
|
179 \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} |
|
180 \def\large{\@setsize\large{13.6pt}\xipt\@xipt} |
|
181 \def\Large{\@setsize\Large{16pt}\xiipt\@xiipt} |
|
182 \def\LARGE{\@setsize\LARGE{18pt}\xivpt\@xivpt} |
|
183 \def\huge{\@setsize\huge{22pt}\xviipt\@xviipt} |
|
184 \def\Huge{\@setsize\Huge{25pt}\xxpt\@xxpt} |
|
185 |
|
186 %%% Patch for LaTeX-2e (LaTeX 2.09 compatibility mode) |
|
187 %%% The line \font\ninsfb = cmssbx10\@ptscale9 is replaced by |
|
188 \expandafter\ifx\csname fontseries\endcsname\relax |
|
189 \font\ninsfb = cmssbx10\@ptscale9 |
|
190 \else |
|
191 \def\ninsfb{\fontfamily{cmss}\fontseries{bx}\fontshape{n} |
|
192 \fontsize{9}{\f@baselineskip}\selectfont} |
|
193 \fi |
|
194 %%% End patch for LaTeX-2e |
|
195 \def\@acmtitlestyle{\normalsize\ninsfb} |
|
196 %%% |
|
197 %%% DIAGNOSTICS: |
|
198 %%% The ten lines above (the patch and the \def\@acmtitlestyle command) will |
|
199 %%% cause problems if your printer doesn't have the 9pt. bold sans-serif font. |
|
200 %%% If this is a problem, try commenting out those lines and uncommenting one |
|
201 %%% of the following alternatives. (It is best to try them in order until |
|
202 %%% finding one that works; the earlier alternatives cause less change.) |
|
203 %%% |
|
204 %%% ALTERNATIVE 1: (works if your system has the same font in 10pt.) |
|
205 %%% \font\tensfb = cmssbx10 |
|
206 %%% \def\@acmtitlestyle{\normalsize\tensfb} |
|
207 %%% ALTERNATIVE 2: |
|
208 %%% \def\@acmtitlestyle{\normalsize\ninbf} |
|
209 %%% ALTERNATIVE 3: |
|
210 %%% \def\@acmtitlestyle{\normalsize\tenbf} |
|
211 |
|
212 \normalsize % Choose the normalsize font. |
|
213 |
|
214 \oddsidemargin 4.5pc |
|
215 \evensidemargin 4.5pc |
|
216 \advance\oddsidemargin by -1in % Correct for LaTeX gratuitousness |
|
217 \advance\evensidemargin by -1in % Correct for LaTeX gratuitousness |
|
218 \marginparwidth 0pt % Margin pars are not allowed. |
|
219 \marginparsep 11pt % Horizontal space between outer margin and |
|
220 % marginal note |
|
221 |
|
222 % Top of page: |
|
223 \topmargin 4.5pc % Nominal distance from top of page to top of |
|
224 % box containing running head. |
|
225 \advance\topmargin by -1in % Correct for LaTeX gratuitousness |
|
226 \headheight 0pt % Height of box containing running head. |
|
227 \headsep 0pt % Space between running head and text. |
|
228 % Bottom of page: |
|
229 \footskip 30pt % Distance from baseline of box containing foot |
|
230 % to baseline of last line of text. |
|
231 \footheight 12pt % Height of box containing running foot. |
|
232 |
|
233 %% Must redefine the top margin so there's room for headers and |
|
234 %% page numbers if you are using the preprint option. Footers |
|
235 %% are OK as is. Olin. |
|
236 \advance\topmargin by -37pt % Leave 37pt above text for headers |
|
237 \headheight 12pt % Height of box containing running head. |
|
238 \headsep 25pt % Space between running head and text. |
|
239 |
|
240 \textheight 666pt % 9 1/4 column height |
|
241 \textwidth 42pc % Width of text line. |
|
242 % For two-column mode: |
|
243 \columnsep 2pc % Space between columns |
|
244 \columnseprule 0pt % Width of rule between columns. |
|
245 \hfuzz 1pt % Allow some variation in column width, otherwise it's |
|
246 % too hard to typeset in narrow columns. |
|
247 |
|
248 \footnotesep 5.6pt % Height of strut placed at the beginning of every |
|
249 % footnote = height of normal \footnotesize strut, |
|
250 % so no extra space between footnotes. |
|
251 |
|
252 \skip\footins 8.1pt plus 4pt minus 2pt % Space between last line of text and |
|
253 % top of first footnote. |
|
254 \floatsep 11pt plus 2pt minus 2pt % Space between adjacent floats moved |
|
255 % to top or bottom of text page. |
|
256 \textfloatsep 18pt plus 2pt minus 4pt % Space between main text and floats |
|
257 % at top or bottom of page. |
|
258 \intextsep 11pt plus 2pt minus 2pt % Space between in-text figures and |
|
259 % text. |
|
260 \@maxsep 18pt % The maximum of \floatsep, |
|
261 % \textfloatsep and \intextsep (minus |
|
262 % the stretch and shrink). |
|
263 \dblfloatsep 11pt plus 2pt minus 2pt % Same as \floatsep for double-column |
|
264 % figures in two-column mode. |
|
265 \dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column |
|
266 % floats. |
|
267 \@dblmaxsep 18pt % The maximum of \dblfloatsep and |
|
268 % \dbltexfloatsep. |
|
269 \@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be |
|
270 % 0pt plus ...) |
|
271 \@fpsep 8pt plus 2fil % Space between floats on float page/column. |
|
272 \@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be |
|
273 % 0pt plus ... ) |
|
274 \@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) |
|
275 \@dblfpsep 8pt plus 2fil % Space between floats on float page. |
|
276 \@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be |
|
277 % 0pt plus ... ) |
|
278 \marginparpush 5pt % Minimum vertical separation between two marginal |
|
279 % notes. |
|
280 |
|
281 \parskip 0pt plus 1pt % Extra vertical space between paragraphs. |
|
282 \parindent 13.5pt % Width of paragraph indentation. |
|
283 %\topsep 8pt plus 2pt minus 4pt % Extra vertical space, in addition to |
|
284 % \parskip, added above and below list and |
|
285 % paragraphing environments. |
|
286 \partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to |
|
287 % \parskip and \topsep, added when user |
|
288 % leaves blank line before environment. |
|
289 %\itemsep 4pt plus 2pt minus 1pt % Extra vertical space, in addition to |
|
290 % \parskip, added between list items. |
|
291 % See \@listI for values of \topsep and \itemsep |
|
292 |
|
293 \@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] |
|
294 \@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] |
|
295 \@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] |
|
296 |
|
297 \@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. |
|
298 \@endparpenalty -\@lowpenalty % After a list or paragraph environment. |
|
299 \@itempenalty -\@lowpenalty % Between list items. |
|
300 |
|
301 % \clubpenalty % 'Club line' at bottom of page. |
|
302 % \widowpenalty % 'Widow line' at top of page. |
|
303 % \displaywidowpenalty % Math display widow line. |
|
304 % \predisplaypenalty % Breaking before a math display. |
|
305 % \postdisplaypenalty % Breaking after a math display. |
|
306 % \interlinepenalty % Breaking at a line within a paragraph. |
|
307 % \brokenpenalty % Breaking after a hyphenated line. |
|
308 |
|
309 \def\part{\par % New paragraph |
|
310 \addvspace{4ex} % Adds vertical space above title. |
|
311 \@afterindentfalse % Suppresses indent in first paragraph. Change |
|
312 \secdef\@part\@spart}% to \@afterindenttrue to have indent. |
|
313 |
|
314 \def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 |
|
315 \refstepcounter{part} % THEN step part counter |
|
316 \addcontentsline{toc}{part}{\thepart % add toc line |
|
317 \hspace{1em}#1}\else % ELSE add unnumbered line |
|
318 \addcontentsline{toc}{part}{#1}\fi % FI |
|
319 { \parindent 0pt \raggedright |
|
320 \ifnum \c@secnumdepth >\m@ne% IF secnumdepth > -1 |
|
321 \Large \bf Part \thepart % THEN Print 'Part' and |
|
322 \par \nobreak % number in \Large boldface. |
|
323 \fi % FI |
|
324 \huge \bf % Select \huge boldface. |
|
325 #2\markboth{}{}\par } % Print title and set heading marks null. |
|
326 \nobreak % TeX penalty to prevent page break. |
|
327 \vskip 3ex % Space between title and text. |
|
328 \@afterheading % Routine called after part and |
|
329 } % section heading. |
|
330 |
|
331 \def\@spart#1{{\parindent 0pt \raggedright |
|
332 \huge \bf |
|
333 #1\par} % Title. |
|
334 \nobreak % TeX penalty to prevent page break. |
|
335 \vskip 3ex % Space between title and text. |
|
336 \@afterheading % Routine called after part and |
|
337 } % section heading. |
|
338 |
|
339 \def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus |
|
340 -.2ex}{2.3ex plus .2ex}{\@acmtitlestyle}} |
|
341 \def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus |
|
342 -.2ex}{1.5ex plus .2ex}{\@acmtitlestyle}} |
|
343 \def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus |
|
344 -1ex minus -.2ex}{1.5ex plus .2ex}{\@acmtitlestyle}} |
|
345 \def\paragraph{\@startsection |
|
346 {paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\@acmtitlestyle}} |
|
347 \def\subparagraph{\@startsection |
|
348 {subparagraph}{4}{\parindent}{3.25ex plus 1ex minus |
|
349 .2ex}{-1em}{\@acmtitlestyle}} |
|
350 |
|
351 \setcounter{secnumdepth}{3} |
|
352 |
|
353 \def\appendix{\par |
|
354 \setcounter{section}{0} |
|
355 \setcounter{subsection}{0} |
|
356 \def\thesection{\Alph{section}}} |
|
357 |
|
358 \leftmargini 22.5pt |
|
359 \leftmarginii 19.8pt % > \labelsep + width of '(m)' |
|
360 \leftmarginiii 16.8pt % > \labelsep + width of 'vii.' |
|
361 \leftmarginiv 15.3pt % > \labelsep + width of 'M.' |
|
362 \leftmarginv 9pt |
|
363 \leftmarginvi 9pt |
|
364 |
|
365 \leftmargin\leftmargini |
|
366 \labelsep 4.5pt |
|
367 \labelwidth\leftmargini\advance\labelwidth-\labelsep |
|
368 % \parsep 4pt plus 2pt minus 1pt (Removed 9 Jun 87) |
|
369 |
|
370 % \@listI defines top level and \@listi values of |
|
371 % \leftmargin, \topsep, \parsep, and \itemsep |
|
372 % (Added 9 Jun 87) |
|
373 \def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt% |
|
374 \topsep 7.2pt plus 2pt minus 4pt% |
|
375 \itemsep 3.6pt plus 2pt minus 1pt} |
|
376 |
|
377 \let\@listi\@listI |
|
378 \@listi |
|
379 |
|
380 \def\@listii{\leftmargin\leftmarginii |
|
381 \labelwidth\leftmarginii\advance\labelwidth-\labelsep |
|
382 \topsep 3.6pt plus 2pt minus 1pt |
|
383 \parsep 1.8pt plus 0.9pt minus 0.9pt |
|
384 \itemsep \parsep} |
|
385 |
|
386 \def\@listiii{\leftmargin\leftmarginiii |
|
387 \labelwidth\leftmarginiii\advance\labelwidth-\labelsep |
|
388 \topsep 1.8pt plus 0.9pt minus 0.9pt |
|
389 \parsep \z@ \partopsep 1pt plus 0pt minus 1pt |
|
390 \itemsep \topsep} |
|
391 |
|
392 \def\@listiv{\leftmargin\leftmarginiv |
|
393 \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} |
|
394 |
|
395 \def\@listv{\leftmargin\leftmarginv |
|
396 \labelwidth\leftmarginv\advance\labelwidth-\labelsep} |
|
397 |
|
398 \def\@listvi{\leftmargin\leftmarginvi |
|
399 \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} |
|
400 |
|
401 \def\labelenumi{\theenumi.} |
|
402 \def\theenumi{\arabic{enumi}} |
|
403 |
|
404 \def\labelenumii{(\theenumii)} |
|
405 \def\theenumii{\alph{enumii}} |
|
406 \def\p@enumii{\theenumi} |
|
407 |
|
408 \def\labelenumiii{\theenumiii.} |
|
409 \def\theenumiii{\roman{enumiii}} |
|
410 \def\p@enumiii{\theenumi(\theenumii)} |
|
411 |
|
412 \def\labelenumiv{\theenumiv.} |
|
413 \def\theenumiv{\Alph{enumiv}} |
|
414 \def\p@enumiv{\p@enumiii\theenumiii} |
|
415 |
|
416 \def\labelitemi{$\bullet$} |
|
417 \def\labelitemii{\bf --} |
|
418 \def\labelitemiii{$\ast$} |
|
419 \def\labelitemiv{$\cdot$} |
|
420 |
|
421 \def\verse{\let\\=\@centercr |
|
422 \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent |
|
423 \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} |
|
424 \let\endverse\endlist |
|
425 |
|
426 \def\quotation{\list{}{\listparindent 1.5em |
|
427 \itemindent\listparindent |
|
428 \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]} |
|
429 \let\endquotation=\endlist |
|
430 |
|
431 \def\quote{\list{}{\rightmargin\leftmargin}\item[]} |
|
432 \let\endquote=\endlist |
|
433 |
|
434 \def\descriptionlabel#1{\hspace\labelsep \bf #1} |
|
435 \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin |
|
436 \let\makelabel\descriptionlabel}} |
|
437 |
|
438 \let\enddescription\endlist |
|
439 |
|
440 %\newdimen\descriptionmargin |
|
441 %\descriptionmargin=3em |
|
442 |
|
443 \def\theequation{\arabic{equation}} |
|
444 |
|
445 % \jot = 3pt % Extra space added between lines of an eqnarray environment |
|
446 |
|
447 % The macro \@eqnnum defines how equation numbers are to appear in equations. |
|
448 % |
|
449 % \def\@eqnnum{(\theequation)} |
|
450 % |
|
451 |
|
452 % Changed pagenum to 1, so margins work right in twoside option. |
|
453 % It's not clear to me that this environment is useful for acmconf.sty |
|
454 % anyway. -Olin |
|
455 \def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn |
|
456 \else \newpage \fi \thispagestyle{empty}\c@page\@ne} |
|
457 |
|
458 \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi \c@page\@ne} |
|
459 |
|
460 \arraycolsep 4.5pt % Half the space between columns in an array environment. |
|
461 \tabcolsep 5.4pt % Half the space between columns in a tabular environment. |
|
462 \arrayrulewidth .4pt % Width of rules in array and tabular environment. |
|
463 \doublerulesep 1.8pt % Space between adjacent rules in array or tabular env. |
|
464 |
|
465 \tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) |
|
466 |
|
467 \skip\@mpfootins = \skip\footins |
|
468 |
|
469 \fboxsep = 2.7pt % Space left between box and text by \fbox and \framebox. |
|
470 \fboxrule = .4pt % Width of rules in box made by \fbox and \framebox. |
|
471 |
|
472 \newcounter{part} |
|
473 \newcounter {section} |
|
474 \newcounter {subsection}[section] |
|
475 \newcounter {subsubsection}[subsection] |
|
476 \newcounter {paragraph}[subsubsection] |
|
477 \newcounter {subparagraph}[paragraph] |
|
478 |
|
479 \def\thepart{\Roman{part}} % Roman numeral part numbers. |
|
480 \def\thesection {\arabic{section}} |
|
481 \def\thesubsection {\thesection.\arabic{subsection}} |
|
482 \def\thesubsubsection {\thesubsection .\arabic{subsubsection}} |
|
483 \def\theparagraph {\thesubsubsection.\arabic{paragraph}} |
|
484 \def\thesubparagraph {\theparagraph.\arabic{subparagraph}} |
|
485 |
|
486 \def\@pnumwidth{1.55em} |
|
487 \def\@tocrmarg {2.55em} |
|
488 \def\@dotsep{4.5} |
|
489 \setcounter{tocdepth}{3} |
|
490 |
|
491 \def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not |
|
492 allowed in the `acmconf' document style.}\@eha} |
|
493 |
|
494 \def\l@part#1#2{\addpenalty{\@secpenalty} |
|
495 \addvspace{2.25em plus 1pt} % space above part line |
|
496 \begingroup |
|
497 \@tempdima 3em % width of box holding part number, used by |
|
498 \parindent \z@ \rightskip \@pnumwidth %% \numberline |
|
499 \parfillskip -\@pnumwidth |
|
500 {\large \bf % set line in \large boldface |
|
501 \leavevmode % TeX command to enter horizontal mode. |
|
502 #1\hfil \hbox to\@pnumwidth{\hss #2}}\par |
|
503 \nobreak % Never break after part entry |
|
504 \endgroup} |
|
505 |
|
506 \def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break |
|
507 \addvspace{1.0em plus 1pt} % space above toc entry |
|
508 \@tempdima 1.5em % width of box holding section number |
|
509 \begingroup |
|
510 \parindent \z@ \rightskip \@pnumwidth |
|
511 \parfillskip -\@pnumwidth |
|
512 \bf % Boldface. |
|
513 \leavevmode % TeX command to enter horizontal mode. |
|
514 \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to |
|
515 \hskip -\leftskip %% 25 Jan 88 change to \numberline |
|
516 #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par |
|
517 \endgroup} |
|
518 |
|
519 |
|
520 \def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} |
|
521 \def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} |
|
522 \def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} |
|
523 \def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} |
|
524 |
|
525 \def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not |
|
526 allowed in the `acmconf' document style.}\@eha} |
|
527 |
|
528 \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} |
|
529 |
|
530 \def\listoftables{\@latexerr{\listoftables: Lists of tables are not |
|
531 allowed in the `acmconf' document style.}\@eha} |
|
532 \let\l@table\l@figure |
|
533 |
|
534 |
|
535 \def\thebibliography#1{\section*{References\@mkboth |
|
536 {REFERENCES}{REFERENCES}}\list |
|
537 {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth |
|
538 \advance\leftmargin\labelsep |
|
539 \usecounter{enumi}} |
|
540 \def\newblock{\hskip .11em plus .33em minus .07em} |
|
541 \sloppy\clubpenalty4000\widowpenalty4000 |
|
542 \sfcode`\.=1000\relax} |
|
543 |
|
544 \let\endthebibliography=\endlist |
|
545 |
|
546 % \def\@biblabel#1{[#1]\hfill} % Produces the label for a \bibitem[...] |
|
547 % command. |
|
548 % \def\@cite#1{[#1]} % Produces the output of the \cite command. |
|
549 |
|
550 \newif\if@restonecol |
|
551 |
|
552 \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi |
|
553 \columnseprule \z@ |
|
554 \columnsep 35pt\twocolumn[\section*{Index}] |
|
555 \@mkboth{INDEX}{INDEX}\thispagestyle{empty}\parindent\z@ |
|
556 \parskip\z@ plus .3pt\relax\let\item\@idxitem} |
|
557 |
|
558 \def\@idxitem{\par\hangindent 40pt} |
|
559 |
|
560 \def\subitem{\par\hangindent 40pt \hspace*{20pt}} |
|
561 |
|
562 \def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} |
|
563 |
|
564 \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} |
|
565 |
|
566 \def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} |
|
567 |
|
568 \def\footnoterule{\kern-3\p@ |
|
569 \hrule width .4\columnwidth |
|
570 \kern 2.6\p@} % The \hrule has default height of .4pt . |
|
571 |
|
572 \long\def\@makefntext#1{\parindent 1em\noindent |
|
573 \hbox to 1.8em{\hss$^{\@thefnmark}$}#1} |
|
574 |
|
575 \setcounter{topnumber}{2} |
|
576 \def\topfraction{.7} |
|
577 \setcounter{bottomnumber}{1} |
|
578 \def\bottomfraction{.3} |
|
579 \setcounter{totalnumber}{3} |
|
580 \def\textfraction{.2} |
|
581 \def\floatpagefraction{.5} |
|
582 \setcounter{dbltopnumber}{2} |
|
583 \def\dbltopfraction{.7} |
|
584 \def\dblfloatpagefraction{.5} |
|
585 |
|
586 \long\def\@makecaption#1#2{ |
|
587 \vskip 10pt |
|
588 \setbox\@tempboxa\hbox{#1: #2} |
|
589 \ifdim \wd\@tempboxa >\hsize % IF longer than one line: |
|
590 #1: #2\par % THEN set as ordinary paragraph. |
|
591 \else % ELSE center. |
|
592 \hbox to\hsize{\hfil\box\@tempboxa\hfil} |
|
593 \fi} |
|
594 |
|
595 \newcounter{figure} |
|
596 \def\thefigure{\@arabic\c@figure} |
|
597 |
|
598 \def\fps@figure{tbp} |
|
599 \def\ftype@figure{1} |
|
600 \def\ext@figure{lof} |
|
601 \def\fnum@figure{Figure \thefigure} |
|
602 \def\figure{\@float{figure}} |
|
603 \let\endfigure\end@float |
|
604 \@namedef{figure*}{\@dblfloat{figure}} |
|
605 \@namedef{endfigure*}{\end@dblfloat} |
|
606 |
|
607 \newcounter{table} |
|
608 \def\thetable{\@arabic\c@table} |
|
609 |
|
610 \def\fps@table{tbp} |
|
611 \def\ftype@table{2} |
|
612 \def\ext@table{lot} |
|
613 \def\fnum@table{Table \thetable} |
|
614 \def\table{\@float{table}} |
|
615 \let\endtable\end@float |
|
616 \@namedef{table*}{\@dblfloat{table}} |
|
617 \@namedef{endtable*}{\end@dblfloat} |
|
618 |
|
619 \def\maketitle{\par |
|
620 \begingroup |
|
621 \def\thefootnote{\fnsymbol{footnote}} |
|
622 \def\@makefnmark{\hbox |
|
623 to 0pt{$^{\@thefnmark}$\hss}} |
|
624 \if@twocolumn |
|
625 \twocolumn[\@maketitle] |
|
626 \else \newpage |
|
627 \global\@topnum\z@ % Prevents figures from going at top of page. |
|
628 % \@maketitle \fi\thispagestyle{empty}\@thanks |
|
629 \@maketitle \fi\@thanks |
|
630 \endgroup |
|
631 \setcounter{footnote}{0} |
|
632 \let\maketitle\relax |
|
633 \let\@maketitle\relax |
|
634 \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax |
|
635 \@copyrightspace} |
|
636 |
|
637 \newbox\@acmtitlebox |
|
638 \def\@maketitle{\newpage |
|
639 \null |
|
640 \setbox\@acmtitlebox\vbox{% |
|
641 \vskip 2em % Vertical space above title. |
|
642 \begin{center} |
|
643 {\LARGE \@title \par} % Title set in \LARGE size. |
|
644 \vskip 1.5em % Vertical space after title. |
|
645 {\large % each author set in \large, in a |
|
646 \lineskip .5em % tabular environment |
|
647 \begin{tabular}[t]{c}\@author |
|
648 \end{tabular}\par} |
|
649 \vskip 1.5em % Vertical space after author. |
|
650 \end{center}} |
|
651 \dimen0=\ht\@acmtitlebox |
|
652 \advance\dimen0 by -14.5pc\relax % Increased space for title box -- KBT |
|
653 \unvbox\@acmtitlebox |
|
654 \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi} |
|
655 |
|
656 \def\abstract{\if@twocolumn |
|
657 \section*{Abstract} |
|
658 \else \small |
|
659 \begin{center} |
|
660 {\bf Abstract\vspace{-.5em}\vspace{0pt}} |
|
661 \end{center} |
|
662 \quotation |
|
663 \fi} |
|
664 |
|
665 \def\endabstract{\if@twocolumn\else\endquotation\fi} |
|
666 |
|
667 %%% This section (written by KBT) handles the 1" box in the lower left |
|
668 %%% corner of the left column of the first page by creating a picture, |
|
669 %%% and inserting the predefined string at the bottom (with a negative |
|
670 %%% displacement to offset the space allocated for a non-existent |
|
671 %%% caption). |
|
672 %%% |
|
673 \def\ftype@copyrightbox{8} |
|
674 \def\@copyrightspace{ |
|
675 \@float{copyrightbox}[b] |
|
676 \begin{center} |
|
677 \setlength{\unitlength}{1pc} |
|
678 \begin{picture}(20,2.8) |
|
679 \ifpreprint \put(0,-0.95){\@toappear} \else \fi |
|
680 \end{picture} |
|
681 \end{center} |
|
682 \end@float} |
|
683 |
|
684 \def\@toappear{} % Default setting blank - commands below change this. |
|
685 \def\toappear#1{\def\@toappear{\parbox[b]{20pc}{#1}}} |
|
686 \def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}} |
|
687 |
|
688 \def\marginpar{\@latexerr{The \marginpar command is not allowed in the |
|
689 `acmconf' document style.}\@eha} |
|
690 |
|
691 \mark{{}{}} % Initializes TeX's marks |
|
692 |
|
693 %% Headings are ignored unless the [preprint] option is in force. |
|
694 \ifpreprint |
|
695 \if@twoside |
|
696 \def\ps@headings{ |
|
697 \def\@oddfoot{} |
|
698 \def\@evenfoot{} |
|
699 \def\@evenhead{\rm\thepage\hfil \sl \leftmark} |
|
700 \def\@oddhead{\hbox{}\sl \rightmark \hfil\rm\thepage} |
|
701 \def\sectionmark##1{\markboth {\uppercase{\ifnum\c@secnumdepth>\z@ |
|
702 \thesection \hskip 1em\relax \fi ##1}}{}} |
|
703 \def\subsectionmark##1 |
|
704 {\markright {\ifnum \c@secnumdepth >\@ne \thesubsection |
|
705 \hskip 1em\relax \fi ##1}}} |
|
706 |
|
707 \else |
|
708 \def\ps@headings{ |
|
709 \def\@oddfoot{} |
|
710 \def\@evenfoot{} |
|
711 \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage} |
|
712 \def\sectionmark##1{\markright{\uppercase{\ifnum \c@secnumdepth >\z@ |
|
713 \thesection\hskip 1em\relax \fi ##1}}}} |
|
714 \fi |
|
715 |
|
716 \def\ps@myheadings{\def\@oddhead{\hbox{}\sl\rightmark \hfil\rm\thepage}% |
|
717 \def \@evenhead{\rm \thepage\hfil\sl\leftmark\hbox{}}% |
|
718 \def\@oddfoot{}% |
|
719 \def\@evenfoot{}% |
|
720 \def\sectionmark##1{}% |
|
721 \def\subsectionmark##1{}} |
|
722 |
|
723 \else % preprint off -- all \pagestyle commands ==> \pagestyle{empty}. |
|
724 \let\ps@plain\ps@empty |
|
725 \let\ps@headings\ps@empty |
|
726 \let\ps@myheadings\ps@empty |
|
727 \fi |
|
728 |
|
729 \def\today{\ifcase\month\or |
|
730 January\or February\or March\or April\or May\or June\or |
|
731 July\or August\or September\or October\or November\or December\fi |
|
732 \space\number\day, \number\year} |
|
733 |
|
734 \ps@plain |
|
735 \pagenumbering{arabic} % Arabic page numbers |
|
736 \twocolumn % Double column. |
|
737 \raggedbottom % Ragged bottom |