hekeus@18: % NIME-ALTERNATE.CLS - VERSION 2.4.1 hekeus@18: % "COMPATIBLE" WITH THE "ACM_PROC_ARTICLE-SP.CLS" V3.2SP hekeus@18: % Alexander Refsum Jensenius - 27 October 2010 hekeus@18: % Based on SIG-ALTERNATE.CLS - VERSION 2.4 hekeus@18: % Gerald Murray - April 22nd. 2009 samer@0: % samer@0: % ---- Start of 'updates' ---- samer@0: % hekeus@18: % Changed $5 fee to $10 - Gerry hekeus@18: % April 22nd. 2009 - Fixed 'Natbib' incompatibility problem - Gerry hekeus@18: % April 22nd. 2009 - Fixed 'Babel' incompatibility problem - Gerry hekeus@18: % April 22nd. 2009 - Inserted various bug-fixes and improvements - Gerry hekeus@18: % hekeus@18: % To produce Type 1 fonts in the document plus allow for 'normal LaTeX accenting' in the critical areas; hekeus@18: % title, author block, section-heads, confname, etc. etc. hekeus@18: % i.e. the whole purpose of this version update is to NOT resort to 'inelegant accent patches'. hekeus@18: % After much research, three extra .sty packages were added to the the tail (ae, aecompl, aeguill) to solve, hekeus@18: % in particular, the accenting problem(s). We _could_ ask authors (via instructions/sample file) to 'include' these in hekeus@18: % the source .tex file - in the preamble - but if everything is already provided ('behind the scenes' - embedded IN the .cls) hekeus@18: % then this is less work for authors and also makes everything appear 'vanilla'. hekeus@18: % NOTE: all 'patchwork accenting" has been commented out (here) and is no longer 'used' in the sample .tex file (either). hekeus@18: % Gerry June 2007 hekeus@18: % hekeus@18: % Patch for accenting in conference name/location. Gerry May 3rd. 2007 hekeus@18: % Rule widths changed to .5, author count (>6) fixed, roll-back for Type 3 problem. Gerry March 20th. 2007 hekeus@18: % Changes made to 'modernize' the fontnames but esp. for MikTeX users V2.4/2.5 - Nov. 30th. 2006 hekeus@18: % Updated the \email definition to allow for its use inside of 'shared affiliations' - Nov. 30th. 2006 hekeus@18: % Fixed the 'section number depth value' - Nov. 30th. 2006 hekeus@18: % hekeus@18: % Footnotes inside table cells using \minipage (Oct. 2002) hekeus@18: % Georgia fixed bug in sub-sub-section numbering in paragraphs (July 29th. 2002) hekeus@18: % JS/GM fix to vertical spacing before Proofs (July 30th. 2002) samer@0: % samer@0: % Made the Permission Statement / Conference Info / Copyright Info samer@0: % 'user definable' in the source .tex file OR automatic if samer@0: % not specified. samer@0: % hekeus@18: % Allowance made to switch default fonts between those systems using hekeus@18: % normal/modern font names and those using 'Type 1' or 'Truetype' fonts. hekeus@18: % See LINE NUMBER 255 for details. hekeus@18: % Also provided for enumerated/annotated Corollaries 'surrounded' by hekeus@18: % enumerated Theorems (line 848). hekeus@18: % Gerry November 11th. 1999 samer@0: % samer@0: % ---- End of 'updates' ---- samer@0: % hekeus@18: \def\fileversion{v2.4} % for ACM's tracking purposes hekeus@18: \def\filedate{April 22, 2009} % Gerry Murray's tracking data hekeus@18: \def\docdate {Wednesday 22nd. April 2009} % Gerry Murray (with deltas to doc} samer@0: \usepackage{epsfig} samer@0: \usepackage{amssymb} samer@0: \usepackage{amsmath} samer@0: \usepackage{amsfonts} hekeus@18: \usepackage{graphicx} hekeus@18: \usepackage{url} hekeus@18: \usepackage[a4paper]{geometry} hekeus@18: %\usepackage[ hekeus@18: % pdftex, hekeus@18: % colorlinks, hekeus@18: % citecolor=red, hekeus@18: % urlcolor=blue, hekeus@18: % hyperfigures, hekeus@18: % pdfpagelabels=false; hekeus@18: % ]{hyperref} hekeus@18: hekeus@18: % Need this for accents in Arial/Helvetica hekeus@18: %\usepackage[T1]{fontenc} % Gerry March 12, 2007 - causes Type 3 problems (body text) hekeus@18: %\usepackage{textcomp} samer@0: % samer@0: % SIG-ALTERNATE DOCUMENT STYLE samer@0: % G.K.M. Tobin August-October 1999 samer@0: % adapted from ARTICLE document style by Ken Traub, Olin Shivers samer@0: % also using elements of esub2acm.cls samer@0: % HEAVILY MODIFIED, SUBSEQUENTLY, BY GERRY MURRAY 2000 samer@0: % ARTICLE DOCUMENT STYLE -- Released 16 March 1988 samer@0: % for LaTeX version 2.09 samer@0: % Copyright (C) 1988 by Leslie Lamport samer@0: % samer@0: % samer@0: %%% sig-alternate.cls is an 'ALTERNATE' document style for producing samer@0: %%% two-column camera-ready pages for ACM conferences. samer@0: %%% THIS FILE DOES NOT STRICTLY ADHERE TO THE SIGS (BOARD-ENDORSED) samer@0: %%% PROCEEDINGS STYLE. It has been designed to produce a 'tighter' samer@0: %%% paper in response to concerns over page budgets. samer@0: %%% The main features of this style are: samer@0: %%% samer@0: %%% 1) Two columns. samer@0: %%% 2) Side and top margins of 4.5pc, bottom margin of 6pc, column gutter of samer@0: %%% 2pc, hence columns are 20pc wide and 55.5pc tall. (6pc =3D 1in, approx) samer@0: %%% 3) First page has title information, and an extra 6pc of space at the samer@0: %%% bottom of the first column for the ACM copyright notice. samer@0: %%% 4) Text is 9pt on 10pt baselines; titles (except main) are 9pt bold. samer@0: %%% samer@0: %%% samer@0: %%% There are a few restrictions you must observe: samer@0: %%% samer@0: %%% 1) You cannot change the font size; ACM wants you to use 9pt. samer@0: %%% 3) You must start your paper with the \maketitle command. Prior to the samer@0: %%% \maketitle you must have \title and \author commands. If you have a samer@0: %%% \date command it will be ignored; no date appears on the paper, since samer@0: %%% the proceedings will have a date on the front cover. samer@0: %%% 4) Marginal paragraphs, tables of contents, lists of figures and tables, samer@0: %%% and page headings are all forbidden. samer@0: %%% 5) The `figure' environment will produce a figure one column wide; if you samer@0: %%% want one that is two columns wide, use `figure*'. samer@0: %%% samer@0: % samer@0: %%% Copyright Space: samer@0: %%% This style automatically reserves 1" blank space at the bottom of page 1/ samer@0: %%% column 1. This space can optionally be filled with some text using the samer@0: %%% \toappear{...} command. If used, this command must be BEFORE the \maketitle samer@0: %%% command. If this command is defined AND [preprint] is on, then the samer@0: %%% space is filled with the {...} text (at the bottom); otherwise, it is samer@0: %%% blank. If you use \toappearbox{...} instead of \toappear{...} then a samer@0: %%% box will be drawn around the text (if [preprint] is on). samer@0: %%% samer@0: %%% A typical usage looks like this: samer@0: %%% \toappear{To appear in the Ninth AES Conference on Medievil Lithuanian samer@0: %%% Embalming Technique, June 1991, Alfaretta, Georgia.} samer@0: %%% This will be included in the preprint, and left out of the conference samer@0: %%% version. samer@0: %%% samer@0: %%% WARNING: samer@0: %%% Some dvi-ps converters heuristically allow chars to drift from their samer@0: %%% true positions a few pixels. This may be noticeable with the 9pt sans-serif samer@0: %%% bold font used for section headers. samer@0: %%% You may turn this hackery off via the -e option: samer@0: %%% dvips -e 0 foo.dvi >foo.ps samer@0: %%% hekeus@18: \typeout{Document Class 'nime-alternate' <22 November 2011>. Modified hekeus@18: by Georg Essl} hekeus@18: \typeout{Based on 'sig-alternate' by G.K.M. Tobin/Gerry Murray} samer@0: \typeout{Based in part upon document Style `acmconf' <22 May 89>. Hacked 4/91 by} samer@0: \typeout{shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca} samer@0: \typeout{Excerpts were taken from (Journal Style) 'esub2acm.cls'.} samer@0: \typeout{****** Bugs/comments/suggestions/technicalities to Gerry Murray -- murray@hq.acm.org ******} samer@0: \typeout{Questions on the style, SIGS policies, etc. to Adrienne Griscti griscti@acm.org} hekeus@18: hekeus@18: hekeus@18: \oddsidemargin 4pc hekeus@18: \evensidemargin 4pc samer@0: \advance\oddsidemargin by -1in % Correct for LaTeX gratuitousness samer@0: \advance\evensidemargin by -1in % Correct for LaTeX gratuitousness samer@0: \marginparwidth 0pt % Margin pars are not allowed. samer@0: \marginparsep 11pt % Horizontal space between outer margin and samer@0: % marginal note samer@0: samer@0: % Top of page: samer@0: \topmargin 4.5pc % Nominal distance from top of page to top of samer@0: % box containing running head. samer@0: \advance\topmargin by -1in % Correct for LaTeX gratuitousness samer@0: \headheight 0pt % Height of box containing running head. samer@0: \headsep 0pt % Space between running head and text. samer@0: % Bottom of page: samer@0: \footskip 30pt % Distance from baseline of box containing foot samer@0: % to baseline of last line of text. samer@0: \@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e samer@0: \footheight 12pt % Height of box containing running foot. samer@0: samer@0: %% Must redefine the top margin so there's room for headers and samer@0: %% page numbers if you are using the preprint option. Footers samer@0: %% are OK as is. Olin. samer@0: \advance\topmargin by -37pt % Leave 37pt above text for headers samer@0: \headheight 12pt % Height of box containing running head. samer@0: \headsep 25pt % Space between running head and text. samer@0: hekeus@18: %original text height 9'' 1/4 "letter size" \textheight 666pt % 9 1/4 column height hekeus@18: \textheight 716pt % 9 1/4 column height + 0.7 "for A4 pages" hekeus@18: %original text width 7'' "letter size" \textwidth 42pc % Width of text line. hekeus@18: \textwidth 500pt % 7'' Width of text line - 0.2'' "for A4 pages". samer@0: % For two-column mode: samer@0: \columnsep 2pc % Space between columns samer@0: \columnseprule 0pt % Width of rule between columns. samer@0: \hfuzz 1pt % Allow some variation in column width, otherwise it's samer@0: % too hard to typeset in narrow columns. samer@0: samer@0: \footnotesep 5.6pt % Height of strut placed at the beginning of every samer@0: % footnote =3D height of normal \footnotesize strut, samer@0: % so no extra space between footnotes. samer@0: samer@0: \skip\footins 8.1pt plus 4pt minus 2pt % Space between last line of text and samer@0: % top of first footnote. samer@0: \floatsep 11pt plus 2pt minus 2pt % Space between adjacent floats moved samer@0: % to top or bottom of text page. samer@0: \textfloatsep 18pt plus 2pt minus 4pt % Space between main text and floats samer@0: % at top or bottom of page. samer@0: \intextsep 11pt plus 2pt minus 2pt % Space between in-text figures and samer@0: % text. samer@0: \@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e samer@0: \@maxsep 18pt % The maximum of \floatsep, samer@0: % \textfloatsep and \intextsep (minus samer@0: % the stretch and shrink). samer@0: \dblfloatsep 11pt plus 2pt minus 2pt % Same as \floatsep for double-column samer@0: % figures in two-column mode. samer@0: \dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column samer@0: % floats. samer@0: \@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e samer@0: \@dblmaxsep 18pt % The maximum of \dblfloatsep and samer@0: % \dbltexfloatsep. samer@0: \@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be samer@0: % 0pt plus ...) samer@0: \@fpsep 8pt plus 2fil % Space between floats on float page/column. samer@0: \@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be samer@0: % 0pt plus ... ) samer@0: \@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) samer@0: \@dblfpsep 8pt plus 2fil % Space between floats on float page. samer@0: \@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be samer@0: % 0pt plus ... ) samer@0: \marginparpush 5pt % Minimum vertical separation between two marginal samer@0: % notes. samer@0: samer@0: \parskip 0pt plus 1pt % Extra vertical space between paragraphs. samer@0: \parindent 9pt % GM July 2000 / was 0pt - width of paragraph indentation. samer@0: \partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to samer@0: % \parskip and \topsep, added when user samer@0: % leaves blank line before environment. samer@0: samer@0: \@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] samer@0: \@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] samer@0: \@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] samer@0: samer@0: \@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. samer@0: \@endparpenalty -\@lowpenalty % After a list or paragraph environment. samer@0: \@itempenalty -\@lowpenalty % Between list items. samer@0: hekeus@18: %\@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf' hekeus@18: \@namedef{ds@10pt}{\ClassError{The `10pt' option is not allowed in the `acmconf' % January 2008 samer@0: document style.}\@eha} hekeus@18: %\@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf' hekeus@18: \@namedef{ds@11pt}{\ClassError{The `11pt' option is not allowed in the `acmconf' % January 2008 samer@0: document style.}\@eha} hekeus@18: %\@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf' hekeus@18: \@namedef{ds@12pt}{\ClassError{The `12pt' option is not allowed in the `acmconf' % January 2008 samer@0: document style.}\@eha} samer@0: samer@0: \@options samer@0: samer@0: \lineskip 2pt % \lineskip is 1pt for all font sizes. samer@0: \normallineskip 2pt samer@0: \def\baselinestretch{1} samer@0: samer@0: \abovedisplayskip 9pt plus2pt minus4.5pt% samer@0: \belowdisplayskip \abovedisplayskip samer@0: \abovedisplayshortskip \z@ plus3pt% samer@0: \belowdisplayshortskip 5.4pt plus3pt minus3pt% samer@0: \let\@listi\@listI % Setting of \@listi added 9 Jun 87 samer@0: samer@0: \def\small{\@setsize\small{9pt}\viiipt\@viiipt samer@0: \abovedisplayskip 7.6pt plus 3pt minus 4pt% samer@0: \belowdisplayskip \abovedisplayskip samer@0: \abovedisplayshortskip \z@ plus2pt% samer@0: \belowdisplayshortskip 3.6pt plus2pt minus 2pt samer@0: \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 samer@0: \topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt samer@0: \itemsep \parsep}} samer@0: samer@0: \def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt samer@0: \abovedisplayskip 6.4pt plus 2pt minus 4pt% samer@0: \belowdisplayskip \abovedisplayskip samer@0: \abovedisplayshortskip \z@ plus 1pt% samer@0: \belowdisplayshortskip 2.7pt plus 1pt minus 2pt samer@0: \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 samer@0: \topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt samer@0: \itemsep \parsep}} samer@0: samer@0: \newcount\aucount samer@0: \newcount\originalaucount samer@0: \newdimen\auwidth samer@0: \auwidth=\textwidth samer@0: \newdimen\auskip samer@0: \newcount\auskipcount samer@0: \newdimen\auskip samer@0: \global\auskip=1pc samer@0: \newdimen\allauboxes samer@0: \allauboxes=\auwidth samer@0: \newtoks\addauthors samer@0: \newcount\addauflag samer@0: \global\addauflag=0 %Haven't shown additional authors yet samer@0: samer@0: \newtoks\subtitletext samer@0: \gdef\subtitle#1{\subtitletext={#1}} samer@0: samer@0: \gdef\additionalauthors#1{\addauthors={#1}} samer@0: samer@0: \gdef\numberofauthors#1{\global\aucount=#1 hekeus@18: \ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi %g} % 3 OK - Gerry March 2007 samer@0: \global\auskipcount=\aucount\global\advance\auskipcount by 1 samer@0: \global\multiply\auskipcount by 2 samer@0: \global\multiply\auskip by \auskipcount samer@0: \global\advance\auwidth by -\auskip samer@0: \global\divide\auwidth by \aucount} samer@0: samer@0: % \and was modified to count the number of authors. GKMT 12 Aug 1999 samer@0: \def\alignauthor{% % \begin{tabular} samer@0: \end{tabular}% samer@0: \begin{tabular}[t]{p{\auwidth}}\centering}% samer@0: samer@0: % *** NOTE *** NOTE *** NOTE *** NOTE *** samer@0: % If you have 'font problems' then you may need samer@0: % to change these, e.g. 'arialb' instead of "arialbd". samer@0: % Gerry Murray 11/11/1999 samer@0: % *** OR ** comment out block A and activate block B or vice versa. samer@0: % ********************************************** samer@0: % samer@0: % -- Start of block A -- (Type 1 or Truetype fonts) samer@0: %\newfont{\secfnt}{timesbd at 12pt} % was timenrb originally - now is timesbd samer@0: %\newfont{\secit}{timesbi at 12pt} %13 Jan 00 gkmt samer@0: %\newfont{\subsecfnt}{timesi at 11pt} % was timenrri originally - now is timesi samer@0: %\newfont{\subsecit}{timesbi at 11pt} % 13 Jan 00 gkmt -- was times changed to timesbi gm 2/4/2000 samer@0: % % because "normal" is italic, "italic" is Roman samer@0: %\newfont{\ttlfnt}{arialbd at 18pt} % was arialb originally - now is arialbd samer@0: %\newfont{\ttlit}{arialbi at 18pt} % 13 Jan 00 gkmt samer@0: %\newfont{\subttlfnt}{arial at 14pt} % was arialr originally - now is arial samer@0: %\newfont{\subttlit}{ariali at 14pt} % 13 Jan 00 gkmt samer@0: %\newfont{\subttlbf}{arialbd at 14pt} % 13 Jan 00 gkmt samer@0: %\newfont{\aufnt}{arial at 12pt} % was arialr originally - now is arial samer@0: %\newfont{\auit}{ariali at 12pt} % 13 Jan 00 gkmt samer@0: %\newfont{\affaddr}{arial at 10pt} % was arialr originally - now is arial samer@0: %\newfont{\affaddrit}{ariali at 10pt} %13 Jan 00 gkmt samer@0: %\newfont{\eaddfnt}{arial at 12pt} % was arialr originally - now is arial samer@0: %\newfont{\ixpt}{times at 9pt} % was timenrr originally - now is times samer@0: %\newfont{\confname}{timesi at 8pt} % was timenrri - now is timesi samer@0: %\newfont{\crnotice}{times at 8pt} % was timenrr originally - now is times samer@0: %\newfont{\ninept}{times at 9pt} % was timenrr originally - now is times samer@0: samer@0: % ********************************************* samer@0: % -- End of block A -- samer@0: % samer@0: % hekeus@18: % -- Start of block B -- UPDATED FONT NAMES samer@0: % ********************************************* hekeus@18: % Gerry Murray 11/30/2006 hekeus@18: % ********************************************* hekeus@18: \newfont{\secfnt}{ptmb8t at 12pt} hekeus@18: \newfont{\secit}{ptmbi8t at 12pt} %13 Jan 00 gkmt hekeus@18: \newfont{\subsecfnt}{ptmri8t at 11pt} hekeus@18: \newfont{\subsecit}{ptmbi8t at 11pt} % hekeus@18: \newfont{\ttlfnt}{phvb8t at 18pt} hekeus@18: \newfont{\ttlit}{phvbo8t at 18pt} % GM 2/4/2000 hekeus@18: \newfont{\subttlfnt}{phvr8t at 14pt} hekeus@18: \newfont{\subttlit}{phvro8t at 14pt} % GM 2/4/2000 hekeus@18: \newfont{\subttlbf}{phvb8t at 14pt} % 13 Jan 00 gkmt hekeus@18: \newfont{\aufnt}{phvr8t at 12pt} hekeus@18: \newfont{\auit}{phvro8t at 12pt} % GM 2/4/2000 hekeus@18: \newfont{\affaddr}{phvr8t at 10pt} hekeus@18: \newfont{\affaddrit}{phvro8t at 10pt} % GM 2/4/2000 hekeus@18: \newfont{\eaddfnt}{phvr8t at 10pt} % ARJ 5/11/2010 hekeus@18: \newfont{\ixpt}{ptmr8t at 9pt} hekeus@18: \newfont{\confname}{ptmri8t at 8pt} hekeus@18: \newfont{\crnotice}{ptmr8t at 8pt} hekeus@18: \newfont{\ninept}{ptmr8t at 9pt} samer@0: % +++++++++++++++++++++++++++++++++++++++++++++ samer@0: % -- End of block B -- samer@0: hekeus@18: %\def\email#1{{{\eaddfnt{\vskip 4pt#1}}}} hekeus@18: % If we have an email, inside a "shared affiliation" then we need the following instead hekeus@18: \def\email#1{{{\eaddfnt{\par #1}}}} % revised - GM - 11/30/2006 samer@0: hekeus@18: \def\addauthorsection{\ifnum\originalaucount>6 % was 3 - Gerry March 2007 samer@0: \section{Additional Authors}\the\addauthors samer@0: \fi} samer@0: samer@0: \newcount\savesection samer@0: \newcount\sectioncntr samer@0: \global\sectioncntr=1 samer@0: samer@0: \setcounter{secnumdepth}{3} samer@0: samer@0: \def\appendix{\par samer@0: \section*{APPENDIX} samer@0: \setcounter{section}{0} samer@0: \setcounter{subsection}{0} samer@0: \def\thesection{\Alph{section}} } samer@0: samer@0: \leftmargini 22.5pt samer@0: \leftmarginii 19.8pt % > \labelsep + width of '(m)' samer@0: \leftmarginiii 16.8pt % > \labelsep + width of 'vii.' samer@0: \leftmarginiv 15.3pt % > \labelsep + width of 'M.' samer@0: \leftmarginv 9pt samer@0: \leftmarginvi 9pt samer@0: samer@0: \leftmargin\leftmargini samer@0: \labelsep 4.5pt samer@0: \labelwidth\leftmargini\advance\labelwidth-\labelsep samer@0: samer@0: \def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt% samer@0: \topsep 7.2pt plus 2pt minus 4pt% samer@0: \itemsep 3.6pt plus 2pt minus 1pt} samer@0: samer@0: \let\@listi\@listI samer@0: \@listi samer@0: samer@0: \def\@listii{\leftmargin\leftmarginii samer@0: \labelwidth\leftmarginii\advance\labelwidth-\labelsep samer@0: \topsep 3.6pt plus 2pt minus 1pt samer@0: \parsep 1.8pt plus 0.9pt minus 0.9pt samer@0: \itemsep \parsep} samer@0: samer@0: \def\@listiii{\leftmargin\leftmarginiii samer@0: \labelwidth\leftmarginiii\advance\labelwidth-\labelsep samer@0: \topsep 1.8pt plus 0.9pt minus 0.9pt samer@0: \parsep \z@ \partopsep 1pt plus 0pt minus 1pt samer@0: \itemsep \topsep} samer@0: samer@0: \def\@listiv{\leftmargin\leftmarginiv samer@0: \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} samer@0: samer@0: \def\@listv{\leftmargin\leftmarginv samer@0: \labelwidth\leftmarginv\advance\labelwidth-\labelsep} samer@0: samer@0: \def\@listvi{\leftmargin\leftmarginvi samer@0: \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} samer@0: samer@0: \def\labelenumi{\theenumi.} samer@0: \def\theenumi{\arabic{enumi}} samer@0: samer@0: \def\labelenumii{(\theenumii)} samer@0: \def\theenumii{\alph{enumii}} samer@0: \def\p@enumii{\theenumi} samer@0: samer@0: \def\labelenumiii{\theenumiii.} samer@0: \def\theenumiii{\roman{enumiii}} samer@0: \def\p@enumiii{\theenumi(\theenumii)} samer@0: samer@0: \def\labelenumiv{\theenumiv.} samer@0: \def\theenumiv{\Alph{enumiv}} samer@0: \def\p@enumiv{\p@enumiii\theenumiii} samer@0: samer@0: \def\labelitemi{$\bullet$} samer@0: \def\labelitemii{\bf --} samer@0: \def\labelitemiii{$\ast$} samer@0: \def\labelitemiv{$\cdot$} samer@0: samer@0: \def\verse{\let\\=\@centercr samer@0: \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent samer@0: \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} samer@0: \let\endverse\endlist samer@0: samer@0: \def\quotation{\list{}{\listparindent 1.5em samer@0: \itemindent\listparindent samer@0: \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]} samer@0: \let\endquotation=\endlist samer@0: samer@0: \def\quote{\list{}{\rightmargin\leftmargin}\item[]} samer@0: \let\endquote=\endlist samer@0: samer@0: \def\descriptionlabel#1{\hspace\labelsep \bf #1} samer@0: \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin samer@0: \let\makelabel\descriptionlabel}} samer@0: samer@0: \let\enddescription\endlist samer@0: samer@0: \def\theequation{\arabic{equation}} samer@0: samer@0: \arraycolsep 4.5pt % Half the space between columns in an array environment. samer@0: \tabcolsep 5.4pt % Half the space between columns in a tabular environment. hekeus@18: \arrayrulewidth .5pt % Width of rules in array and tabular environment. % (was .4) updated Gerry March 20 2007 samer@0: \doublerulesep 1.8pt % Space between adjacent rules in array or tabular env. samer@0: samer@0: \tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) samer@0: samer@0: \skip\@mpfootins =\skip\footins samer@0: samer@0: \fboxsep =2.7pt % Space left between box and text by \fbox and \framebox. hekeus@18: \fboxrule =.5pt % Width of rules in box made by \fbox and \framebox. % (was .4) updated Gerry March 20 2007 samer@0: samer@0: \def\thepart{\Roman{part}} % Roman numeral part numbers. samer@0: \def\thesection {\arabic{section}} samer@0: \def\thesubsection {\thesection.\arabic{subsection}} samer@0: %\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002 samer@0: %\def\theparagraph {\thesubsubsection.\arabic{paragraph}} % GM 7/30/2002 samer@0: \def\thesubparagraph {\theparagraph.\arabic{subparagraph}} samer@0: samer@0: \def\@pnumwidth{1.55em} samer@0: \def\@tocrmarg {2.55em} samer@0: \def\@dotsep{4.5} samer@0: \setcounter{tocdepth}{3} samer@0: hekeus@18: %\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not hekeus@18: % allowed in the `acmconf' document style.}\@eha} hekeus@18: hekeus@18: \def\tableofcontents{\ClassError{% hekeus@18: \string\tableofcontents\space is not allowed in the `acmconf' document % January 2008 hekeus@18: style}\@eha} samer@0: samer@0: \def\l@part#1#2{\addpenalty{\@secpenalty} samer@0: \addvspace{2.25em plus 1pt} % space above part line samer@0: \begingroup samer@0: \@tempdima 3em % width of box holding part number, used by samer@0: \parindent \z@ \rightskip \@pnumwidth %% \numberline samer@0: \parfillskip -\@pnumwidth samer@0: {\large \bf % set line in \large boldface samer@0: \leavevmode % TeX command to enter horizontal mode. samer@0: #1\hfil \hbox to\@pnumwidth{\hss #2}}\par samer@0: \nobreak % Never break after part entry samer@0: \endgroup} samer@0: samer@0: \def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break samer@0: \addvspace{1.0em plus 1pt} % space above toc entry samer@0: \@tempdima 1.5em % width of box holding section number samer@0: \begingroup samer@0: \parindent \z@ \rightskip \@pnumwidth samer@0: \parfillskip -\@pnumwidth samer@0: \bf % Boldface. samer@0: \leavevmode % TeX command to enter horizontal mode. samer@0: \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to samer@0: \hskip -\leftskip %% 25 Jan 88 change to \numberline samer@0: #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par samer@0: \endgroup} samer@0: samer@0: samer@0: \def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} samer@0: \def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} samer@0: \def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} samer@0: \def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} samer@0: hekeus@18: %\def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not hekeus@18: % allowed in the `acmconf' document style.}\@eha} hekeus@18: hekeus@18: \def\listoffigures{\ClassError{% hekeus@18: \string\listoffigures\space is not allowed in the `acmconf' document % January 2008 hekeus@18: style}\@eha} samer@0: samer@0: \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} samer@0: hekeus@18: %\def\listoftables{\@latexerr{\listoftables: Lists of tables are not hekeus@18: % allowed in the `acmconf' document style.}\@eha} hekeus@18: %\let\l@table\l@figure hekeus@18: hekeus@18: \def\listoftables{\ClassError{% hekeus@18: \string\listoftables\space is not allowed in the `acmconf' document % January 2008 hekeus@18: style}\@eha} hekeus@18: \let\l@table\l@figure samer@0: samer@0: \def\footnoterule{\kern-3\p@ hekeus@18: \hrule width .5\columnwidth % (was .4) updated Gerry March 20 2007 hekeus@18: \kern 2.6\p@} % The \hrule has default height of .4pt % (was .4) updated Gerry March 20 2007 samer@0: % ------ samer@0: \long\def\@makefntext#1{\noindent samer@0: %\hbox to .5em{\hss$^{\@thefnmark}$}#1} % original samer@0: \hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1} % C. Clifton / GM Oct. 2nd. 2002 samer@0: % ------- samer@0: samer@0: \long\def\@maketntext#1{\noindent samer@0: #1} samer@0: samer@0: \long\def\@maketitlenotetext#1#2{\noindent samer@0: \hbox to 1.8em{\hss$^{#1}$}#2} samer@0: samer@0: \setcounter{topnumber}{2} samer@0: \def\topfraction{.7} samer@0: \setcounter{bottomnumber}{1} samer@0: \def\bottomfraction{.3} samer@0: \setcounter{totalnumber}{3} samer@0: \def\textfraction{.2} samer@0: \def\floatpagefraction{.5} samer@0: \setcounter{dbltopnumber}{2} samer@0: \def\dbltopfraction{.7} samer@0: \def\dblfloatpagefraction{.5} samer@0: samer@0: % samer@0: \long\def\@makecaption#1#2{ samer@0: \vskip \baselineskip samer@0: \setbox\@tempboxa\hbox{\textbf{#1: #2}} samer@0: \ifdim \wd\@tempboxa >\hsize % IF longer than one line: samer@0: \textbf{#1: #2}\par % THEN set as ordinary paragraph. samer@0: \else % ELSE center. samer@0: \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par samer@0: \fi} samer@0: samer@0: % samer@0: samer@0: \long\def\@makecaption#1#2{ samer@0: \vskip 10pt samer@0: \setbox\@tempboxa\hbox{\textbf{#1: #2}} samer@0: \ifdim \wd\@tempboxa >\hsize % IF longer than one line: samer@0: \textbf{#1: #2}\par % THEN set as ordinary paragraph. samer@0: \else % ELSE center. samer@0: \hbox to\hsize{\hfil\box\@tempboxa\hfil} samer@0: \fi} samer@0: samer@0: \@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e samer@0: samer@0: \def\fps@figure{tbp} samer@0: \def\ftype@figure{1} samer@0: \def\ext@figure{lof} samer@0: \def\fnum@figure{Figure \thefigure} samer@0: \def\figure{\@float{figure}} hekeus@18: %\let\endfigure\end@float hekeus@18: \def\endfigure{\end@float} % Gerry January 2008 samer@0: \@namedef{figure*}{\@dblfloat{figure}} samer@0: \@namedef{endfigure*}{\end@dblfloat} samer@0: samer@0: \@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e samer@0: samer@0: \def\fps@table{tbp} samer@0: \def\ftype@table{2} samer@0: \def\ext@table{lot} samer@0: \def\fnum@table{Table \thetable} samer@0: \def\table{\@float{table}} hekeus@18: %\let\endtable\end@float hekeus@18: \def\endtable{\end@float} % Gerry January 2008 samer@0: \@namedef{table*}{\@dblfloat{table}} samer@0: \@namedef{endtable*}{\end@dblfloat} samer@0: samer@0: \newtoks\titleboxnotes samer@0: \newcount\titleboxnoteflag samer@0: samer@0: \def\maketitle{\par samer@0: \begingroup samer@0: \def\thefootnote{\fnsymbol{footnote}} samer@0: \def\@makefnmark{\hbox samer@0: to 0pt{$^{\@thefnmark}$\hss}} samer@0: \twocolumn[\@maketitle] samer@0: \@thanks samer@0: \endgroup samer@0: \setcounter{footnote}{0} samer@0: \let\maketitle\relax samer@0: \let\@maketitle\relax samer@0: \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax samer@0: \@copyrightspace} samer@0: samer@0: %% CHANGES ON NEXT LINES samer@0: \newif\if@ll % to record which version of LaTeX is in use samer@0: samer@0: \expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used samer@0: \else% LaTeX2e is used, so set ll to true samer@0: \global\@lltrue samer@0: \fi samer@0: samer@0: \if@ll samer@0: \NeedsTeXFormat{LaTeX2e} hekeus@18: \ProvidesClass{nime-alternate} [2010/10/31 - based on sig-alternate.cls v1.9] samer@0: \RequirePackage{latexsym}% QUERY: are these two really needed? samer@0: \let\dooptions\ProcessOptions samer@0: \else samer@0: \let\dooptions\@options samer@0: \fi samer@0: %% END CHANGES samer@0: samer@0: \def\@height{height} samer@0: \def\@width{width} samer@0: \def\@minus{minus} samer@0: \def\@plus{plus} samer@0: \def\hb@xt@{\hbox to} samer@0: \newif\if@faircopy samer@0: \@faircopyfalse samer@0: \def\ds@faircopy{\@faircopytrue} samer@0: samer@0: \def\ds@preprint{\@faircopyfalse} samer@0: samer@0: \@twosidetrue samer@0: \@mparswitchtrue samer@0: \def\ds@draft{\overfullrule 5\p@} samer@0: %% CHANGE ON NEXT LINE samer@0: \dooptions samer@0: samer@0: \lineskip \p@ samer@0: \normallineskip \p@ samer@0: \def\baselinestretch{1} samer@0: \def\@ptsize{0} %needed for amssymbols.sty samer@0: samer@0: %% CHANGES ON NEXT LINES samer@0: \if@ll% allow use of old-style font change commands in LaTeX2e samer@0: \@maxdepth\maxdepth samer@0: % samer@0: \DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm} samer@0: \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} samer@0: \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} samer@0: \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} samer@0: \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} samer@0: \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} samer@0: \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} samer@0: \DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}} samer@0: \DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}} samer@0: \fi samer@0: % samer@0: \if@ll samer@0: \renewcommand{\rmdefault}{cmr} % was 'ttm' samer@0: % Note! I have also found 'mvr' to work ESPECIALLY well. samer@0: % Gerry - October 1999 samer@0: % You may need to change your LV1times.fd file so that sc is samer@0: % mapped to cmcsc - -for smallcaps -- that is if you decide samer@0: % to change {cmr} to {times} above. (Not recommended) samer@0: \renewcommand{\@ptsize}{} samer@0: \renewcommand{\normalsize}{% samer@0: \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept% samer@0: \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ samer@0: \belowdisplayskip \abovedisplayskip samer@0: \abovedisplayshortskip 6\p@ \@minus 3\p@ samer@0: \belowdisplayshortskip 6\p@ \@minus 3\p@ samer@0: \let\@listi\@listI samer@0: } samer@0: \else samer@0: \def\@normalsize{%changed next to 9 from 10 samer@0: \@setsize\normalsize{9\p@}\ixpt\@ixpt samer@0: \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ samer@0: \belowdisplayskip \abovedisplayskip samer@0: \abovedisplayshortskip 6\p@ \@minus 3\p@ samer@0: \belowdisplayshortskip 6\p@ \@minus 3\p@ samer@0: \let\@listi\@listI samer@0: }% samer@0: \fi samer@0: \if@ll samer@0: \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}} samer@0: \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}} samer@0: \newcommand\large{\@setfontsize\large\@xiipt{14\p@}} samer@0: \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}} samer@0: \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}} samer@0: \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}} samer@0: \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}} samer@0: \else samer@0: \def\scriptsize{\@setsize\scriptsize{8\p@}\viipt\@viipt} samer@0: \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt} samer@0: \def\large{\@setsize\large{14\p@}\xiipt\@xiipt} samer@0: \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt} samer@0: \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt} samer@0: \def\huge{\@setsize\huge{25\p@}\xxpt\@xxpt} samer@0: \def\Huge{\@setsize\Huge{30\p@}\xxvpt\@xxvpt} samer@0: \fi samer@0: \normalsize samer@0: samer@0: % make aubox hsize/number of authors up to 3, less gutter samer@0: % then showbox gutter showbox gutter showbox -- GKMT Aug 99 samer@0: \newbox\@acmtitlebox samer@0: \def\@maketitle{\newpage samer@0: \null samer@0: \setbox\@acmtitlebox\vbox{% samer@0: \baselineskip 20pt samer@0: \vskip 2em % Vertical space above title. samer@0: \begin{center} samer@0: {\ttlfnt \@title\par} % Title set in 18pt Helvetica (Arial) bold size. samer@0: \vskip 1.5em % Vertical space after title. samer@0: %This should be the subtitle. samer@0: {\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi samer@0: {\baselineskip 16pt\aufnt % each author set in \12 pt Arial, in a samer@0: \lineskip .5em % tabular environment samer@0: \begin{tabular}[t]{c}\@author samer@0: \end{tabular}\par} samer@0: \vskip 1.5em % Vertical space after author. samer@0: \end{center}} samer@0: \dimen0=\ht\@acmtitlebox samer@0: \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT samer@0: \unvbox\@acmtitlebox samer@0: \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi} samer@0: samer@0: samer@0: \newcount\titlenotecount samer@0: \global\titlenotecount=0 samer@0: \newtoks\tntoks samer@0: \newtoks\tntokstwo samer@0: \newtoks\tntoksthree samer@0: \newtoks\tntoksfour samer@0: \newtoks\tntoksfive samer@0: samer@0: \def\abstract{ samer@0: \ifnum\titlenotecount>0 % was =1 samer@0: \insert\footins{% samer@0: \reset@font\footnotesize samer@0: \interlinepenalty\interfootnotelinepenalty samer@0: \splittopskip\footnotesep samer@0: \splitmaxdepth \dp\strutbox \floatingpenalty \@MM samer@0: \hsize\columnwidth \@parboxrestore samer@0: \protected@edef\@currentlabel{% samer@0: }% samer@0: \color@begingroup samer@0: \ifnum\titlenotecount=1 samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}% samer@0: \fi samer@0: \ifnum\titlenotecount=2 samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}% samer@0: \fi samer@0: \ifnum\titlenotecount=3 samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}% samer@0: \fi samer@0: \ifnum\titlenotecount=4 samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}% samer@0: \fi samer@0: \ifnum\titlenotecount=5 samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}% samer@0: \@maketntext{% samer@0: \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}% samer@0: \fi samer@0: \color@endgroup} %g} samer@0: \fi samer@0: \setcounter{footnote}{0} samer@0: \section*{ABSTRACT}\normalsize%\ninept samer@0: } samer@0: samer@0: \def\endabstract{\if@twocolumn\else\endquotation\fi} samer@0: samer@0: \def\keywords{\if@twocolumn samer@0: \section*{Keywords} samer@0: \else \small samer@0: \quotation samer@0: \fi} samer@0: samer@0: \def\terms{\if@twocolumn samer@0: \section*{General Terms} samer@0: \else \small samer@0: \quotation samer@0: \fi} samer@0: samer@0: % -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999 samer@0: \newcount\catcount samer@0: \global\catcount=1 samer@0: samer@0: \def\category#1#2#3{% samer@0: \ifnum\catcount=1 samer@0: \section*{Categories and Subject Descriptors} samer@0: \advance\catcount by 1\else{\unskip; }\fi samer@0: \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}% samer@0: } samer@0: samer@0: \def\@category#1#2#3[#4]{% samer@0: \begingroup samer@0: \let\and\relax samer@0: #1 [\textbf{#2}]% samer@0: \if!#4!% samer@0: \if!#3!\else : #3\fi samer@0: \else samer@0: :\space samer@0: \if!#3!\else #3\kern\z@---\hskip\z@\fi samer@0: \textit{#4}% samer@0: \fi samer@0: \endgroup samer@0: } samer@0: % samer@0: samer@0: %%% This section (written by KBT) handles the 1" box in the lower left samer@0: %%% corner of the left column of the first page by creating a picture, samer@0: %%% and inserting the predefined string at the bottom (with a negative samer@0: %%% displacement to offset the space allocated for a non-existent samer@0: %%% caption). samer@0: %%% samer@0: \newtoks\copyrightnotice samer@0: \def\ftype@copyrightbox{8} samer@0: \def\@copyrightspace{ samer@0: \@float{copyrightbox}[b] samer@0: \begin{center} samer@0: \setlength{\unitlength}{1pc} hekeus@18: \begin{picture}(20,5) %Space for copyright notice samer@0: \put(0,-0.95){\crnotice{\@toappear}} samer@0: \end{picture} samer@0: \end{center} samer@0: \end@float} samer@0: samer@0: \def\@toappear{} % Default setting blank - commands below change this. samer@0: \long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}} samer@0: \def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}} samer@0: samer@0: \newtoks\conf samer@0: \newtoks\confinfo samer@0: \def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}} samer@0: samer@0: hekeus@18: %\def\marginpar{\@latexerr{The \marginpar command is not allowed in the hekeus@18: % `acmconf' document style.}\@eha} hekeus@18: hekeus@18: \def\marginpar{\ClassError{% hekeus@18: \string\marginpar\space is not allowed in the `acmconf' document % January 2008 hekeus@18: style}\@eha} samer@0: samer@0: \mark{{}{}} % Initializes TeX's marks samer@0: samer@0: \def\today{\ifcase\month\or samer@0: January\or February\or March\or April\or May\or June\or samer@0: July\or August\or September\or October\or November\or December\fi samer@0: \space\number\day, \number\year} samer@0: samer@0: \def\@begintheorem#1#2{% samer@0: \parskip 0pt % GM July 2000 (for tighter spacing) samer@0: \trivlist samer@0: \item[% samer@0: \hskip 10\p@ samer@0: \hskip \labelsep samer@0: {{\sc #1}\hskip 5\p@\relax#2.}% samer@0: ] samer@0: \it samer@0: } samer@0: \def\@opargbegintheorem#1#2#3{% samer@0: \parskip 0pt % GM July 2000 (for tighter spacing) samer@0: \trivlist samer@0: \item[% samer@0: \hskip 10\p@ samer@0: \hskip \labelsep samer@0: {\sc #1\ #2\ % This mod by Gerry to enumerate corollaries samer@0: \setbox\@tempboxa\hbox{(#3)} % and bracket the 'corollary title' samer@0: \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems samer@0: \hskip 5\p@\relax % if they occur 'around' said corollaries. samer@0: \box\@tempboxa % Gerry - Nov. 1999. samer@0: \fi.}% samer@0: ] samer@0: \it samer@0: } samer@0: \newif\if@qeded samer@0: \global\@qededfalse samer@0: samer@0: % -- original samer@0: %\def\proof{% samer@0: % \vspace{-\parskip} % GM July 2000 (for tighter spacing) samer@0: % \global\@qededfalse samer@0: % \@ifnextchar[{\@xproof}{\@proof}% samer@0: %} samer@0: % -- end of original samer@0: samer@0: % (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002 samer@0: \def\proof{% samer@0: \vspace{-\lastskip}\vspace{-\parsep}\penalty-51% samer@0: \global\@qededfalse samer@0: \@ifnextchar[{\@xproof}{\@proof}% samer@0: } samer@0: samer@0: \def\endproof{% samer@0: \if@qeded\else\qed\fi samer@0: \endtrivlist samer@0: } samer@0: \def\@proof{% samer@0: \trivlist samer@0: \item[% samer@0: \hskip 10\p@ samer@0: \hskip \labelsep samer@0: {\sc Proof.}% samer@0: ] samer@0: \ignorespaces samer@0: } samer@0: \def\@xproof[#1]{% samer@0: \trivlist samer@0: \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]% samer@0: \ignorespaces samer@0: } samer@0: \def\qed{% samer@0: \unskip samer@0: \kern 10\p@ samer@0: \begingroup samer@0: \unitlength\p@ samer@0: \linethickness{.4\p@}% samer@0: \framebox(6,6){}% samer@0: \endgroup samer@0: \global\@qededtrue samer@0: } samer@0: samer@0: \def\newdef#1#2{% samer@0: \expandafter\@ifdefinable\csname #1\endcsname samer@0: {\@definecounter{#1}% samer@0: \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% samer@0: \global\@namedef{#1}{\@defthm{#1}{#2}}% samer@0: \global\@namedef{end#1}{\@endtheorem}% samer@0: }% samer@0: } samer@0: \def\@defthm#1#2{% samer@0: \refstepcounter{#1}% samer@0: \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}% samer@0: } samer@0: \def\@xdefthm#1#2{% samer@0: \@begindef{#2}{\csname the#1\endcsname}% samer@0: \ignorespaces samer@0: } samer@0: \def\@ydefthm#1#2[#3]{% samer@0: \trivlist samer@0: \item[% samer@0: \hskip 10\p@ samer@0: \hskip \labelsep samer@0: {\it #2% hekeus@18: % \savebox\@tempboxa{#3}% hekeus@18: \saveb@x\@tempboxa{#3}% % January 2008 samer@0: \ifdim \wd\@tempboxa>\z@ samer@0: \ \box\@tempboxa samer@0: \fi.% samer@0: }]% samer@0: \ignorespaces samer@0: } samer@0: \def\@begindef#1#2{% samer@0: \trivlist samer@0: \item[% samer@0: \hskip 10\p@ samer@0: \hskip \labelsep samer@0: {\it #1\ \rm #2.}% samer@0: ]% samer@0: } samer@0: \def\theequation{\arabic{equation}} samer@0: samer@0: \newcounter{part} samer@0: \newcounter{section} samer@0: \newcounter{subsection}[section] samer@0: \newcounter{subsubsection}[subsection] samer@0: \newcounter{paragraph}[subsubsection] samer@0: \def\thepart{\Roman{part}} samer@0: \def\thesection{\arabic{section}} samer@0: \def\thesubsection{\thesection.\arabic{subsection}} samer@0: \def\thesubsubsection{\thesubsection.\arabic{subsubsection}} %removed \subsecfnt 29 July 2002 gkmt samer@0: \def\theparagraph{\thesubsubsection.\arabic{paragraph}} %removed \subsecfnt 29 July 2002 gkmt samer@0: \newif\if@uchead samer@0: \@ucheadfalse samer@0: samer@0: %% CHANGES: NEW NOTE samer@0: %% NOTE: OK to use old-style font commands below, since they were samer@0: %% suitably redefined for LaTeX2e samer@0: %% END CHANGES samer@0: \setcounter{secnumdepth}{3} samer@0: \def\part{% samer@0: \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@} samer@0: {4\p@}{\normalsize\@ucheadtrue}% samer@0: } samer@0: \def\section{% samer@0: \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% GM samer@0: {4\p@}{\baselineskip 14pt\secfnt\@ucheadtrue}% samer@0: } samer@0: samer@0: \def\subsection{% samer@0: \@startsection{subsection}{2}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@} samer@0: {4\p@}{\secfnt}% samer@0: } samer@0: \def\subsubsection{% samer@0: \@startsection{subsubsection}{3}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@}% samer@0: {4\p@}{\subsecfnt}% samer@0: } hekeus@18: %\def\paragraph{% hekeus@18: % \vskip 12pt\@startsection{paragraph}{3}{\z@}{6\p@ \@plus \p@}% original hekeus@18: % {-5\p@}{\subsecfnt}% hekeus@18: %} hekeus@18: % If one wants sections, subsections and subsubsections numbered, hekeus@18: % but not paragraphs, one usually sets secnumepth to 3. hekeus@18: % For that, the "depth" of paragraphs must be given correctly hekeus@18: % in the definition (``4'' instead of ``3'' as second argument hekeus@18: % of @startsection): samer@0: \def\paragraph{% hekeus@18: \vskip 12pt\@startsection{paragraph}{4}{\z@}{6\p@ \@plus \p@}% % GM and Wolfgang May - 11/30/06 samer@0: {-5\p@}{\subsecfnt}% samer@0: } samer@0: \let\@period=. samer@0: \def\@startsection#1#2#3#4#5#6{% samer@0: \if@noskipsec %gkmt, 11 aug 99 samer@0: \global\let\@period\@empty samer@0: \leavevmode samer@0: \global\let\@period.% samer@0: \fi samer@0: \par % samer@0: \@tempskipa #4\relax samer@0: \@afterindenttrue samer@0: \ifdim \@tempskipa <\z@ samer@0: \@tempskipa -\@tempskipa samer@0: \@afterindentfalse samer@0: \fi samer@0: \if@nobreak samer@0: \everypar{}% samer@0: \else samer@0: \addpenalty\@secpenalty samer@0: \addvspace\@tempskipa samer@0: \fi samer@0: \parskip=0pt % GM July 2000 (non numbered) section heads samer@0: \@ifstar samer@0: {\@ssect{#3}{#4}{#5}{#6}} samer@0: {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% samer@0: } samer@0: \def\@sect#1#2#3#4#5#6[#7]#8{% samer@0: \ifnum #2>\c@secnumdepth samer@0: \let\@svsec\@empty samer@0: \else samer@0: \refstepcounter{#1}% samer@0: \edef\@svsec{% samer@0: \begingroup samer@0: %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt hekeus@18: \ifnum#2>2 \noexpand#6 \fi samer@0: \csname the#1\endcsname samer@0: \endgroup samer@0: \ifnum #2=1\relax .\fi samer@0: \hskip 1em samer@0: }% samer@0: \fi samer@0: \@tempskipa #5\relax samer@0: \ifdim \@tempskipa>\z@ samer@0: \begingroup samer@0: #6\relax samer@0: \@hangfrom{\hskip #3\relax\@svsec}% samer@0: \begingroup samer@0: \interlinepenalty \@M samer@0: \if@uchead samer@0: \uppercase{#8}% samer@0: \else samer@0: #8% samer@0: \fi samer@0: \par samer@0: \endgroup samer@0: \endgroup samer@0: \csname #1mark\endcsname{#7}% samer@0: \vskip -12pt %gkmt, 11 aug 99 and GM July 2000 (was -14) - numbered section head spacing samer@0: \addcontentsline{toc}{#1}{% samer@0: \ifnum #2>\c@secnumdepth \else samer@0: \protect\numberline{\csname the#1\endcsname}% samer@0: \fi samer@0: #7% samer@0: }% samer@0: \else samer@0: \def\@svsechd{% samer@0: #6% samer@0: \hskip #3\relax samer@0: \@svsec samer@0: \if@uchead samer@0: \uppercase{#8}% samer@0: \else samer@0: #8% samer@0: \fi samer@0: \csname #1mark\endcsname{#7}% samer@0: \addcontentsline{toc}{#1}{% samer@0: \ifnum #2>\c@secnumdepth \else samer@0: \protect\numberline{\csname the#1\endcsname}% samer@0: \fi samer@0: #7% samer@0: }% samer@0: }% samer@0: \fi samer@0: \@xsect{#5}\hskip 1pt hekeus@18: \@afterheading samer@0: \par samer@0: } samer@0: \def\@xsect#1{% samer@0: \@tempskipa #1\relax samer@0: \ifdim \@tempskipa>\z@ samer@0: \par samer@0: \nobreak samer@0: \vskip \@tempskipa samer@0: \@afterheading samer@0: \else samer@0: \global\@nobreakfalse samer@0: \global\@noskipsectrue samer@0: \everypar{% samer@0: \if@noskipsec samer@0: \global\@noskipsecfalse samer@0: \clubpenalty\@M samer@0: \hskip -\parindent samer@0: \begingroup samer@0: \@svsechd samer@0: \@period samer@0: \endgroup samer@0: \unskip samer@0: \@tempskipa #1\relax samer@0: \hskip -\@tempskipa samer@0: \else samer@0: \clubpenalty \@clubpenalty samer@0: \everypar{}% samer@0: \fi samer@0: }% samer@0: \fi samer@0: \ignorespaces samer@0: } samer@0: \def\@trivlist{% samer@0: \@topsepadd\topsep samer@0: \if@noskipsec samer@0: \global\let\@period\@empty samer@0: \leavevmode samer@0: \global\let\@period.% samer@0: \fi samer@0: \ifvmode samer@0: \advance\@topsepadd\partopsep samer@0: \else samer@0: \unskip samer@0: \par samer@0: \fi samer@0: \if@inlabel samer@0: \@noparitemtrue samer@0: \@noparlisttrue samer@0: \else samer@0: \@noparlistfalse samer@0: \@topsep\@topsepadd samer@0: \fi samer@0: \advance\@topsep \parskip samer@0: \leftskip\z@skip samer@0: \rightskip\@rightskip samer@0: \parfillskip\@flushglue samer@0: \@setpar{\if@newlist\else{\@@par}\fi} samer@0: \global\@newlisttrue samer@0: \@outerparskip\parskip samer@0: } samer@0: samer@0: %%% Actually, 'abbrev' works just fine as the default samer@0: %%% Bibliography style. samer@0: samer@0: \typeout{Using 'Abbrev' bibliography style} samer@0: \newcommand\bibyear[2]{% samer@0: \unskip\quad\ignorespaces#1\unskip samer@0: \if#2..\quad \else \quad#2 \fi samer@0: } samer@0: \newcommand{\bibemph}[1]{{\em#1}} samer@0: \newcommand{\bibemphic}[1]{{\em#1\/}} samer@0: \newcommand{\bibsc}[1]{{\sc#1}} samer@0: \def\@normalcite{% samer@0: \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}% samer@0: } samer@0: \def\@citeNB{% samer@0: \def\@cite##1##2{##1\if@tempswa , ##2\fi}% samer@0: } samer@0: \def\@citeRB{% samer@0: \def\@cite##1##2{##1\if@tempswa , ##2\fi]}% samer@0: } samer@0: \def\start@cite#1#2{% samer@0: \edef\citeauthoryear##1##2##3{% samer@0: ###1% samer@0: \ifnum#2=\z@ \else\ ###2\fi samer@0: }% samer@0: \ifnum#1=\thr@@ samer@0: \let\@@cite\@citeyear samer@0: \else samer@0: \let\@@cite\@citenormal samer@0: \fi samer@0: \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}% samer@0: } hekeus@18: %\def\cite{\start@cite23} hekeus@18: \DeclareRobustCommand\cite{\start@cite23} % January 2008 hekeus@18: \def\citeNP{\cite*} % No Parentheses e.g. 5 hekeus@18: %\def\citeA{\start@cite10} hekeus@18: \DeclareRobustCommand\citeA{\start@cite10} % January 2008 samer@0: \def\citeANP{\citeA*} hekeus@18: %\def\shortcite{\start@cite23} hekeus@18: \DeclareRobustCommand\shortcite{\start@cite23} % January 2008 samer@0: \def\shortciteNP{\shortcite*} hekeus@18: %\def\shortciteA{\start@cite20} hekeus@18: \DeclareRobustCommand\shortciteA{\start@cite20} % January 2008 samer@0: \def\shortciteANP{\shortciteA*} hekeus@18: %\def\citeyear{\start@cite30} hekeus@18: \DeclareRobustCommand\citeyear{\start@cite30} % January 2008 samer@0: \def\citeyearNP{\citeyear*} hekeus@18: %\def\citeN{% hekeus@18: \DeclareRobustCommand\citeN{% % January 2008 samer@0: \@citeRB samer@0: \def\citeauthoryear##1##2##3{##1\ [##3% samer@0: \def\reserved@a{##1}% samer@0: \def\citeauthoryear####1####2####3{% samer@0: \def\reserved@b{####1}% samer@0: \ifx\reserved@a\reserved@b samer@0: ####3% samer@0: \else samer@0: \errmessage{Package acmart Error: author mismatch samer@0: in \string\citeN^^J^^J% samer@0: See the acmart package documentation for explanation}% samer@0: \fi samer@0: }% samer@0: }% samer@0: \@ifstar\@citeyear\@citeyear samer@0: } hekeus@18: %\def\shortciteN{% hekeus@18: \DeclareRobustCommand\shortciteN{% % January 2008 samer@0: \@citeRB samer@0: \def\citeauthoryear##1##2##3{##2\ [##3% samer@0: \def\reserved@a{##2}% samer@0: \def\citeauthoryear####1####2####3{% samer@0: \def\reserved@b{####2}% samer@0: \ifx\reserved@a\reserved@b samer@0: ####3% samer@0: \else samer@0: \errmessage{Package acmart Error: author mismatch samer@0: in \string\shortciteN^^J^^J% samer@0: See the acmart package documentation for explanation}% samer@0: \fi samer@0: }% samer@0: }% samer@0: \@ifstar\@citeyear\@citeyear % GM July 2000 samer@0: } hekeus@18: samer@0: \def\@citenormal{% hekeus@18: \@ifnextchar [{\@tempswatrue\@citex;}% hekeus@18: % original {\@tempswafalse\@citex,[]}% was ; Gerry 2/24/00 hekeus@18: {\@tempswafalse\@citex[]}% % GERRY FIX FOR BABEL 3/20/2009 samer@0: } hekeus@18: samer@0: \def\@citeyear{% samer@0: \@ifnextchar [{\@tempswatrue\@citex,}% hekeus@18: % original {\@tempswafalse\@citex,[]}% hekeus@18: {\@tempswafalse\@citex[]}% % GERRY FIX FOR BABEL 3/20/2009 samer@0: } hekeus@18: samer@0: \def\@citex#1[#2]#3{% samer@0: \let\@citea\@empty samer@0: \@cite{% samer@0: \@for\@citeb:=#3\do{% samer@0: \@citea hekeus@18: % original \def\@citea{#1 }% hekeus@18: \def\@citea{#1, }% % GERRY FIX FOR BABEL 3/20/2009 -- SO THAT YOU GET [1, 2] IN THE BODY TEXT samer@0: \edef\@citeb{\expandafter\@iden\@citeb}% samer@0: \if@filesw samer@0: \immediate\write\@auxout{\string\citation{\@citeb}}% samer@0: \fi samer@0: \@ifundefined{b@\@citeb}{% samer@0: {\bf ?}% samer@0: \@warning{% samer@0: Citation `\@citeb' on page \thepage\space undefined% samer@0: }% samer@0: }% samer@0: {\csname b@\@citeb\endcsname}% samer@0: }% samer@0: }{#2}% samer@0: } hekeus@18: %\let\@biblabel\@gobble % Dec. 2008 - Gerry hekeus@18: % ---- hekeus@18: \def\@biblabelnum#1{[#1]} % Gerry's solution #1 - for Natbib -- April 2009 hekeus@18: \let\@biblabel=\@biblabelnum % Gerry's solution #1 - for Natbib -- April 2009 hekeus@18: \def\newblock{\relax} % Gerry Dec. 2008 hekeus@18: % --- samer@0: \newdimen\bibindent samer@0: \setcounter{enumi}{1} samer@0: \bibindent=0em hekeus@18: \def\thebibliography#1{% hekeus@18: \ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi samer@0: \section[References]{% <=== OPTIONAL ARGUMENT ADDED HERE samer@0: {References} % was uppercased but this affects pdf bookmarks (SP/GM October 2004) hekeus@18: % {\vskip -9pt plus 1pt} % GM Nov. 2006 / GM July 2000 (for somewhat tighter spacing) samer@0: \@mkboth{{\refname}}{{\refname}}% samer@0: }% samer@0: \list{[\arabic{enumi}]}{% samer@0: \settowidth\labelwidth{[#1]}% samer@0: \leftmargin\labelwidth samer@0: \advance\leftmargin\labelsep samer@0: \advance\leftmargin\bibindent samer@0: \parsep=0pt\itemsep=1pt % GM July 2000 samer@0: \itemindent -\bibindent samer@0: \listparindent \itemindent samer@0: \usecounter{enumi} samer@0: }% samer@0: \let\newblock\@empty samer@0: \raggedright % GM July 2000 samer@0: \sloppy samer@0: \sfcode`\.=1000\relax samer@0: } samer@0: samer@0: samer@0: \gdef\balancecolumns samer@0: {\vfill\eject samer@0: \global\@colht=\textheight samer@0: \global\ht\@cclv=\textheight samer@0: } samer@0: samer@0: \newcount\colcntr samer@0: \global\colcntr=0 hekeus@18: %\newbox\savebox hekeus@18: \newbox\saveb@x % January 2008 samer@0: samer@0: \gdef \@makecol {% samer@0: \global\advance\colcntr by 1 samer@0: \ifnum\colcntr>2 \global\colcntr=1\fi samer@0: \ifvoid\footins samer@0: \setbox\@outputbox \box\@cclv samer@0: \else samer@0: \setbox\@outputbox \vbox{% samer@0: \boxmaxdepth \@maxdepth samer@0: \@tempdima\dp\@cclv samer@0: \unvbox \@cclv samer@0: \vskip-\@tempdima samer@0: \vskip \skip\footins samer@0: \color@begingroup samer@0: \normalcolor samer@0: \footnoterule samer@0: \unvbox \footins samer@0: \color@endgroup samer@0: }% samer@0: \fi samer@0: \xdef\@freelist{\@freelist\@midlist}% samer@0: \global \let \@midlist \@empty samer@0: \@combinefloats samer@0: \ifvbox\@kludgeins samer@0: \@makespecialcolbox samer@0: \else samer@0: \setbox\@outputbox \vbox to\@colht {% samer@0: \@texttop samer@0: \dimen@ \dp\@outputbox samer@0: \unvbox \@outputbox samer@0: \vskip -\dimen@ samer@0: \@textbottom samer@0: }% samer@0: \fi samer@0: \global \maxdepth \@maxdepth samer@0: } samer@0: \def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn samer@0: \global\advance\titlenotecount by 1 samer@0: \ifnum\titlenotecount=1 samer@0: \raisebox{9pt}{$\ast$} samer@0: \fi samer@0: \ifnum\titlenotecount=2 samer@0: \raisebox{9pt}{$\dagger$} samer@0: \fi samer@0: \ifnum\titlenotecount=3 samer@0: \raisebox{9pt}{$\ddagger$} samer@0: \fi samer@0: \ifnum\titlenotecount=4 samer@0: \raisebox{9pt}{$\S$} samer@0: \fi samer@0: \ifnum\titlenotecount=5 samer@0: \raisebox{9pt}{$\P$} samer@0: \fi samer@0: \@titlenotetext samer@0: }} samer@0: samer@0: \long\def\@titlenotetext#1{\insert\footins{% samer@0: \ifnum\titlenotecount=1\global\tntoks={#1}\fi samer@0: \ifnum\titlenotecount=2\global\tntokstwo={#1}\fi samer@0: \ifnum\titlenotecount=3\global\tntoksthree={#1}\fi samer@0: \ifnum\titlenotecount=4\global\tntoksfour={#1}\fi samer@0: \ifnum\titlenotecount=5\global\tntoksfive={#1}\fi samer@0: \reset@font\footnotesize samer@0: \interlinepenalty\interfootnotelinepenalty samer@0: \splittopskip\footnotesep samer@0: \splitmaxdepth \dp\strutbox \floatingpenalty \@MM samer@0: \hsize\columnwidth \@parboxrestore samer@0: \protected@edef\@currentlabel{% samer@0: }% samer@0: \color@begingroup samer@0: \color@endgroup}} samer@0: samer@0: %%%%%%%%%%%%%%%%%%%%%%%%% samer@0: \ps@plain samer@0: \baselineskip=11pt samer@0: \let\thepage\relax % For NO page numbers - GM Nov. 30th. 1999 and July 2000 samer@0: \def\setpagenumber#1{\global\setcounter{page}{#1}} samer@0: %\pagenumbering{arabic} % Arabic page numbers GM July 2000 samer@0: \twocolumn % Double column. samer@0: \flushbottom % Even bottom -- alas, does not balance columns at end of document samer@0: \pagestyle{plain} samer@0: samer@0: % Need Copyright Year and Copyright Data to be user definable (in .tex file). samer@0: % Gerry Nov. 30th. 1999 samer@0: \newtoks\copyrtyr samer@0: \newtoks\acmcopyr samer@0: \newtoks\boilerplate samer@0: \global\acmcopyr={X-XXXXX-XX-X/XX/XX} % Default - 5/11/2001 *** Gerry hekeus@18: \global\copyrtyr={20XX} % Default - 3/3/2003 *** Gerry samer@0: \def\CopyrightYear#1{\global\copyrtyr{#1}} samer@0: \def\crdata#1{\global\acmcopyr{#1}} samer@0: \def\permission#1{\global\boilerplate{#1}} samer@0: % samer@0: \global\boilerplate={Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.} samer@0: \newtoks\copyrightetc hekeus@18: \global\copyrightetc{Copyright remains with the author(s)} hekeus@18: \toappear{\the\boilerplate\par hekeus@18: {\confname{\the\conf}} \the\confinfo\par \the\copyrightetc.} hekeus@18: %\DeclareFixedFont{\altcrnotice}{OT1}{tmr}{m}{n}{8} % << patch needed for accenting e.g. Montreal - Gerry, May 2007 hekeus@18: %\DeclareFixedFont{\altconfname}{OT1}{tmr}{m}{it}{8} % << patch needed for accenting in italicized confname - Gerry, May 2007 hekeus@18: % hekeus@18: %{\altconfname{{\the\conf}}} {\altcrnotice\the\confinfo\par} \the\copyrightetc.} % << Gerry, May 2007 hekeus@18: % hekeus@18: % The following section (i.e. 3 .sty inclusions) was added in May 2007 so as to fix the problems that many hekeus@18: % authors were having with accents. Sometimes accents would occur, but the letter-character would be of a different hekeus@18: % font. Conversely the letter-character font would be correct but, e.g. a 'bar' would appear superimposed on the hekeus@18: % character instead of, say, an unlaut/diaresis. Sometimes the letter-character would NOT appear at all. hekeus@18: % Using [T1]{fontenc} outright was not an option as this caused 99% of the authors to 'produce' a Type-3 (bitmapped) hekeus@18: % PDF file - useless for production. hekeus@18: % hekeus@18: % For proper (font) accenting we NEED these packages to be part of the .cls file i.e. 'ae', 'aecompl' and 'aeguil' hekeus@18: % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hekeus@18: %% This is file `ae.sty' hekeus@18: \def\fileversion{1.3} hekeus@18: \def\filedate{2001/02/12} hekeus@18: \NeedsTeXFormat{LaTeX2e} hekeus@18: %\ProvidesPackage{ae}[\filedate\space\fileversion\space % GM hekeus@18: % Almost European Computer Modern] % GM - keeping the log file clean(er) hekeus@18: \newif\if@ae@slides \@ae@slidesfalse hekeus@18: \DeclareOption{slides}{\@ae@slidestrue} hekeus@18: \ProcessOptions hekeus@18: \fontfamily{aer} hekeus@18: \RequirePackage[T1]{fontenc} hekeus@18: \if@ae@slides hekeus@18: \renewcommand{\sfdefault}{laess} hekeus@18: \renewcommand{\rmdefault}{laess} % no roman hekeus@18: \renewcommand{\ttdefault}{laett} hekeus@18: \else hekeus@18: \renewcommand{\sfdefault}{aess} hekeus@18: \renewcommand{\rmdefault}{aer} hekeus@18: \renewcommand{\ttdefault}{aett} hekeus@18: \fi hekeus@18: \endinput hekeus@18: %% hekeus@18: %% End of file `ae.sty'. hekeus@18: % hekeus@18: % hekeus@18: \def\fileversion{0.9} hekeus@18: \def\filedate{1998/07/23} hekeus@18: \NeedsTeXFormat{LaTeX2e} hekeus@18: %\ProvidesPackage{aecompl}[\filedate\space\fileversion\space % GM hekeus@18: %T1 Complements for AE fonts (D. Roegel)] % GM -- keeping the log file clean(er) hekeus@18: hekeus@18: \def\@ae@compl#1{{\fontencoding{T1}\fontfamily{cmr}\selectfont\symbol{#1}}} hekeus@18: \def\guillemotleft{\@ae@compl{19}} hekeus@18: \def\guillemotright{\@ae@compl{20}} hekeus@18: \def\guilsinglleft{\@ae@compl{14}} hekeus@18: \def\guilsinglright{\@ae@compl{15}} hekeus@18: \def\TH{\@ae@compl{222}} hekeus@18: \def\NG{\@ae@compl{141}} hekeus@18: \def\ng{\@ae@compl{173}} hekeus@18: \def\th{\@ae@compl{254}} hekeus@18: \def\DJ{\@ae@compl{208}} hekeus@18: \def\dj{\@ae@compl{158}} hekeus@18: \def\DH{\@ae@compl{208}} hekeus@18: \def\dh{\@ae@compl{240}} hekeus@18: \def\@perthousandzero{\@ae@compl{24}} hekeus@18: \def\textperthousand{\%\@perthousandzero} hekeus@18: \def\textpertenthousand{\%\@perthousandzero\@perthousandzero} hekeus@18: \endinput hekeus@18: % hekeus@18: % hekeus@18: %% This is file `aeguill.sty' hekeus@18: % This file gives french guillemets (and not guillemots!) hekeus@18: % built with the Polish CMR fonts (default), WNCYR fonts, the LASY fonts hekeus@18: % or with the EC fonts. hekeus@18: % This is useful in conjunction with the ae package hekeus@18: % (this package loads the ae package in case it has not been loaded) hekeus@18: % and with or without the french(le) package. hekeus@18: % hekeus@18: % In order to get the guillemets, it is necessary to either type hekeus@18: % \guillemotleft and \guillemotright, or to use an 8 bit encoding hekeus@18: % (such as ISO-Latin1) which selects these two commands, hekeus@18: % or, if you use the french package (but not the frenchle package), hekeus@18: % to type << or >>. hekeus@18: % hekeus@18: % By default, you get the Polish CMR guillemets; if this package is loaded hekeus@18: % with the `cm' option, you get the LASY guillemets; with `ec,' you hekeus@18: % get the EC guillemets, and with `cyr,' you get the cyrillic guillemets. hekeus@18: % hekeus@18: % In verbatim mode, you always get the EC/TT guillemets. hekeus@18: % hekeus@18: % The default option is interesting in conjunction with PDF, hekeus@18: % because there is a Type 1 version of the Polish CMR fonts hekeus@18: % and these guillemets are very close in shape to the EC guillemets. hekeus@18: % There are no free Type 1 versions of the EC fonts. hekeus@18: % hekeus@18: % Support for Polish CMR guillemets was kindly provided by hekeus@18: % Rolf Niepraschk in version 0.99 (2000/05/22). hekeus@18: % Bernd Raichle provided extensive simplifications to the code hekeus@18: % for version 1.00. hekeus@18: % hekeus@18: % This package is released under the LPPL. hekeus@18: % hekeus@18: % Changes: hekeus@18: % Date version hekeus@18: % 2001/04/12 1.01 the frenchle and french package are now distinguished. hekeus@18: % hekeus@18: \def\fileversion{1.01} hekeus@18: \def\filedate{2001/04/12} hekeus@18: \NeedsTeXFormat{LaTeX2e} hekeus@18: %\ProvidesPackage{aeguill}[2001/04/12 1.01 % % GM hekeus@18: %AE fonts with french guillemets (D. Roegel)] % GM - keeping the log file clean(er) hekeus@18: %\RequirePackage{ae} % GM May 2007 - already embedded here samer@0: hekeus@18: \newcommand{\@ae@switch}[4]{#4} hekeus@18: \DeclareOption{ec}{\renewcommand\@ae@switch[4]{#1}} hekeus@18: \DeclareOption{cm}{\renewcommand\@ae@switch[4]{#2}} hekeus@18: \DeclareOption{cyr}{\renewcommand\@ae@switch[4]{#3}} hekeus@18: \DeclareOption{pl}{\renewcommand\@ae@switch[4]{#4}} hekeus@18: \ExecuteOptions{pl} hekeus@18: \ProcessOptions hekeus@18: samer@0: % hekeus@18: % Load necessary packages hekeus@18: % hekeus@18: \@ae@switch{% ec hekeus@18: % do nothing hekeus@18: }{% cm hekeus@18: \RequirePackage{latexsym}% GM - May 2007 - already 'mentioned as required' up above hekeus@18: }{% cyr hekeus@18: \RequirePackage[OT2,T1]{fontenc}% hekeus@18: }{% pl hekeus@18: \RequirePackage[OT4,T1]{fontenc}% hekeus@18: } hekeus@18: hekeus@18: % The following command will be compared to \frenchname, hekeus@18: % as defined in french.sty and frenchle.sty. hekeus@18: \def\aeguillfrenchdefault{french}% hekeus@18: hekeus@18: \let\guill@verbatim@font\verbatim@font hekeus@18: \def\verbatim@font{\guill@verbatim@font\ecguills{cmtt}% hekeus@18: \let\guillemotleft\@oguills\let\guillemotright\@fguills} hekeus@18: hekeus@18: \begingroup \catcode`\<=13 \catcode`\>=13 hekeus@18: \def\x{\endgroup hekeus@18: \def\ae@lfguill{<<}% hekeus@18: \def\ae@rfguill{>>}% hekeus@18: }\x hekeus@18: hekeus@18: \newcommand{\ecguills}[1]{% hekeus@18: \def\selectguillfont{\fontencoding{T1}\fontfamily{#1}\selectfont}% hekeus@18: \def\@oguills{{\selectguillfont\symbol{19}}}% hekeus@18: \def\@fguills{{\selectguillfont\symbol{20}}}% hekeus@18: } hekeus@18: hekeus@18: \newcommand{\aeguills}{% hekeus@18: \ae@guills hekeus@18: % We redefine \guillemotleft and \guillemotright hekeus@18: % in order to catch them when they are used hekeus@18: % with \DeclareInputText (in latin1.def for instance) hekeus@18: % We use \auxWARNINGi as a safe indicator that french.sty is used. hekeus@18: \gdef\guillemotleft{\ifx\auxWARNINGi\undefined hekeus@18: \@oguills % neither french.sty nor frenchle.sty hekeus@18: \else hekeus@18: \ifx\aeguillfrenchdefault\frenchname hekeus@18: \ae@lfguill % french.sty hekeus@18: \else hekeus@18: \@oguills % frenchle.sty hekeus@18: \fi hekeus@18: \fi}% hekeus@18: \gdef\guillemotright{\ifx\auxWARNINGi\undefined hekeus@18: \@fguills % neither french.sty nor frenchle.sty hekeus@18: \else hekeus@18: \ifx\aeguillfrenchdefault\frenchname hekeus@18: \ae@rfguill % french.sty hekeus@18: \else hekeus@18: \@fguills % frenchle.sty hekeus@18: \fi hekeus@18: \fi}% hekeus@18: } hekeus@18: hekeus@18: % hekeus@18: % Depending on the class option hekeus@18: % define the internal command \ae@guills hekeus@18: \@ae@switch{% ec hekeus@18: \newcommand{\ae@guills}{% hekeus@18: \ecguills{cmr}}% hekeus@18: }{% cm hekeus@18: \newcommand{\ae@guills}{% hekeus@18: \def\selectguillfont{\fontencoding{U}\fontfamily{lasy}% hekeus@18: \fontseries{m}\fontshape{n}\selectfont}% hekeus@18: \def\@oguills{\leavevmode\nobreak hekeus@18: \hbox{\selectguillfont (\kern-.20em(\kern.20em}\nobreak}% hekeus@18: \def\@fguills{\leavevmode\nobreak hekeus@18: \hbox{\selectguillfont \kern.20em)\kern-.2em)}% hekeus@18: \ifdim\fontdimen\@ne\font>\z@\/\fi}}% hekeus@18: }{% cyr hekeus@18: \newcommand{\ae@guills}{% hekeus@18: \def\selectguillfont{\fontencoding{OT2}\fontfamily{wncyr}\selectfont}% hekeus@18: \def\@oguills{{\selectguillfont\symbol{60}}}% hekeus@18: \def\@fguills{{\selectguillfont\symbol{62}}}} hekeus@18: }{% pl hekeus@18: \newcommand{\ae@guills}{% hekeus@18: \def\selectguillfont{\fontencoding{OT4}\fontfamily{cmr}\selectfont}% hekeus@18: \def\@oguills{{\selectguillfont\symbol{174}}}% hekeus@18: \def\@fguills{{\selectguillfont\symbol{175}}}} hekeus@18: } hekeus@18: hekeus@18: hekeus@18: \AtBeginDocument{% hekeus@18: \ifx\GOfrench\undefined hekeus@18: \aeguills hekeus@18: \else hekeus@18: \let\aeguill@GOfrench\GOfrench hekeus@18: \gdef\GOfrench{\aeguill@GOfrench \aeguills}% hekeus@18: \fi hekeus@18: } hekeus@18: hekeus@18: \endinput hekeus@18: % hekeus@18: