Mercurial > cgi-bin > hgwebdir.cgi > VMS > 0__Writings > kshalle
changeset 59:7bc474513431
change style to acm
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Tue, 26 Jun 2012 12:48:44 +0200 |
| parents | 2db21884dc2e |
| children | 74775fd41630 |
| files | 0__Papers/Holistic_Model/Perf_Tune/latex/Holistic_Perf_Tuning.pdf 0__Papers/Holistic_Model/Perf_Tune/latex/Holistic_Perf_Tuning.tex 0__Papers/Holistic_Model/Perf_Tune/latex/sigplanconf.cls |
| diffstat | 3 files changed, 1316 insertions(+), 286 deletions(-) [+] |
line diff
1.1 Binary file 0__Papers/Holistic_Model/Perf_Tune/latex/Holistic_Perf_Tuning.pdf has changed
2.1 --- a/0__Papers/Holistic_Model/Perf_Tune/latex/Holistic_Perf_Tuning.tex Wed Jun 20 15:17:14 2012 -0700 2.2 +++ b/0__Papers/Holistic_Model/Perf_Tune/latex/Holistic_Perf_Tuning.tex Tue Jun 26 12:48:44 2012 +0200 2.3 @@ -1,277 +1,33 @@ 2.4 -%&latex 2.5 -%%---------------------------------------------------------------------- 2.6 -%% ieeepes_skel.tex 2.7 -%% 2.8 -%% Skeleton file for papers for the IEEE Power Engineering Society using 2.9 -%% package ieeepes. 2.10 -%% 2.11 -%% Not copyrighted. Copy this file to a different name and fill in your 2.12 -%% text. 2.13 -%% 2.14 -%% Volker Kuhlmann 2.15 -%% c/o EEE Dept 2.16 -%% University of Canterbury 2.17 -%% Private Bag 4800 2.18 -%% Christchurch, New Zealand 2.19 -%% Email: KUHLMAV@ELEC.CANTERBURY.AC.NZ 2.20 -%% 2.21 -% 1.3 13Apr99 Updated for ieeepes 4.0. 2.22 -% 1.2 16Nov95 Fixed discussion, closure. Added summary. 2.23 -% 1.1 12Nov95 Finished first release. 2.24 -% 1.02 09Nov95 Option PStimes. 2.25 -% 1.0 07Nov95 Created. 2.26 -%%---------------------------------------------------------------------- 2.27 - 2.28 +%----------------------------------------------------------------------------- 2.29 +% 2.30 +% Template for sigplanconf LaTeX Class 2.31 +% 2.32 +% Name: sigplanconf-template.tex 2.33 +% 2.34 +% Purpose: A template for sigplanconf.cls, which is a LaTeX 2e class 2.35 +% file for SIGPLAN conference proceedings. 2.36 +% 2.37 +% Guide: Refer to "Author's Guide to the ACM SIGPLAN Class," 2.38 +% sigplanconf-guide.pdf 2.39 +% 2.40 +% Author: Paul C. Anagnostopoulos 2.41 +% Windfall Software 2.42 +% 978 371-2316 2.43 +% paul@windfall.com 2.44 +% 2.45 +% Created: 15 February 2005 2.46 +% 2.47 +%----------------------------------------------------------------------------- 2.48 2.49 -\documentclass[conference]{IEEEtran} 2.50 + 2.51 +\documentclass[preprint]{sigplanconf} 2.52 + 2.53 +% The following \documentclass options may be useful: 2.54 % 2.55 -%\usepackage{makeidx,geometry,amssymb,graphicx,calc,ifthen} 2.56 +% 10pt To set in 10-point type instead of 9-point. 2.57 +% 11pt To set in 11-point type instead of 9-point. 2.58 +% authoryear To obtain author/year citation style instead of numeric. 2.59 \usepackage{amssymb,graphicx,calc,ifthen,subfig,dblfloatfix,fixltx2e} 2.60 -% 2.61 - 2.62 -% *** CITATION PACKAGES *** 2.63 -% 2.64 -%\usepackage{cite} 2.65 -% cite.sty was written by Donald Arseneau 2.66 -% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package 2.67 -% \cite{} output to follow that of IEEE. Loading the cite package will 2.68 -% result in citation numbers being automatically sorted and properly 2.69 -% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using 2.70 -% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's 2.71 -% \cite will automatically add leading space, if needed. Use cite.sty's 2.72 -% noadjust option (cite.sty V3.8 and later) if you want to turn this off. 2.73 -% cite.sty is already installed on most LaTeX systems. Be sure and use 2.74 -% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does 2.75 -% not currently provide for hyperlinked citations. 2.76 -% The latest version can be obtained at: 2.77 -% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ 2.78 -% The documentation is contained in the cite.sty file itself. 2.79 - 2.80 - 2.81 - 2.82 - 2.83 - 2.84 - 2.85 -% *** GRAPHICS RELATED PACKAGES *** 2.86 -% 2.87 - 2.88 -\usepackage[pdftex]{graphicx} 2.89 - \ifCLASSINFOpdf 2.90 - 2.91 - % declare the path(s) where your graphic files are 2.92 - % \graphicspath{{../pdf/}{../jpeg/}} 2.93 - % and their extensions so you won't have to specify these with 2.94 - % every instance of \includegraphics 2.95 - % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} 2.96 -\else 2.97 - % or other class option (dvipsone, dvipdf, if not using dvips). graphicx 2.98 - % will default to the driver specified in the system graphics.cfg if no 2.99 - % driver is specified. 2.100 - % \usepackage[dvips]{graphicx} 2.101 - % declare the path(s) where your graphic files are 2.102 - % \graphicspath{{../eps/}} 2.103 - % and their extensions so you won't have to specify these with 2.104 - % every instance of \includegraphics 2.105 - % \DeclareGraphicsExtensions{.eps} 2.106 -\fi 2.107 -% graphicx was written by David Carlisle and Sebastian Rahtz. It is 2.108 -% required if you want graphics, photos, etc. graphicx.sty is already 2.109 -% installed on most LaTeX systems. The latest version and documentation can 2.110 -% be obtained at: 2.111 -% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ 2.112 -% Another good source of documentation is "Using Imported Graphics in 2.113 -% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or 2.114 -% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ 2.115 -% 2.116 -% latex, and pdflatex in dvi mode, support graphics in encapsulated 2.117 -% postscript (.eps) format. pdflatex in pdf mode supports graphics 2.118 -% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure 2.119 -% that all non-photo figures use a vector format (.eps, .pdf, .mps) and 2.120 -% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats 2.121 -% which can result in "jaggedy"/blurry rendering of lines and letters as 2.122 -% well as large increases in file sizes. 2.123 -% 2.124 -% You can find documentation about the pdfTeX application at: 2.125 -% http://www.tug.org/applications/pdftex 2.126 - 2.127 - 2.128 - 2.129 - 2.130 - 2.131 -% *** MATH PACKAGES *** 2.132 -% 2.133 -%\usepackage[cmex10]{amsmath} 2.134 -% A popular package from the American Mathematical Society that provides 2.135 -% many useful and powerful commands for dealing with mathematics. If using 2.136 -% it, be sure to load this package with the cmex10 option to ensure that 2.137 -% only type 1 fonts will utilized at all point sizes. Without this option, 2.138 -% it is possible that some math symbols, particularly those within 2.139 -% footnotes, will be rendered in bitmap form which will result in a 2.140 -% document that can not be IEEE Xplore compliant! 2.141 -% 2.142 -% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 2.143 -% thus preventing page breaks from occurring within multiline equations. Use: 2.144 -%\interdisplaylinepenalty=2500 2.145 -% after loading amsmath to restore such page breaks as IEEEtran.cls normally 2.146 -% does. amsmath.sty is already installed on most LaTeX systems. The latest 2.147 -% version and documentation can be obtained at: 2.148 -% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ 2.149 - 2.150 - 2.151 - 2.152 - 2.153 - 2.154 -% *** SPECIALIZED LIST PACKAGES *** 2.155 -% 2.156 -%\usepackage{algorithmic} 2.157 -% algorithmic.sty was written by Peter Williams and Rogerio Brito. 2.158 -% This package provides an algorithmic environment fo describing algorithms. 2.159 -% You can use the algorithmic environment in-text or within a figure 2.160 -% environment to provide for a floating algorithm. Do NOT use the algorithm 2.161 -% floating environment provided by algorithm.sty (by the same authors) or 2.162 -% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated 2.163 -% algorithm float types and packages that provide these will not provide 2.164 -% correct IEEE style captions. The latest version and documentation of 2.165 -% algorithmic.sty can be obtained at: 2.166 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ 2.167 -% There is also a support site at: 2.168 -% http://algorithms.berlios.de/index.html 2.169 -% Also of interest may be the (relatively newer and more customizable) 2.170 -% algorithmicx.sty package by Szasz Janos: 2.171 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ 2.172 - 2.173 - 2.174 - 2.175 - 2.176 -% *** ALIGNMENT PACKAGES *** 2.177 -% 2.178 -%\usepackage{array} 2.179 -% Frank Mittelbach's and David Carlisle's array.sty patches and improves 2.180 -% the standard LaTeX2e array and tabular environments to provide better 2.181 -% appearance and additional user controls. As the default LaTeX2e table 2.182 -% generation code is lacking to the point of almost being broken with 2.183 -% respect to the quality of the end results, all users are strongly 2.184 -% advised to use an enhanced (at the very least that provided by array.sty) 2.185 -% set of table tools. array.sty is already installed on most systems. The 2.186 -% latest version and documentation can be obtained at: 2.187 -% http://www.ctan.org/tex-archive/macros/latex/required/tools/ 2.188 - 2.189 - 2.190 -%\usepackage{mdwmath} 2.191 -%\usepackage{mdwtab} 2.192 -% Also highly recommended is Mark Wooding's extremely powerful MDW tools, 2.193 -% especially mdwmath.sty and mdwtab.sty which are used to format equations 2.194 -% and tables, respectively. The MDWtools set is already installed on most 2.195 -% LaTeX systems. The lastest version and documentation is available at: 2.196 -% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ 2.197 - 2.198 - 2.199 -% IEEEtran contains the IEEEeqnarray family of commands that can be used to 2.200 -% generate multiline equations as well as matrices, tables, etc., of high 2.201 -% quality. 2.202 - 2.203 - 2.204 -%\usepackage{eqparbox} 2.205 -% Also of notable interest is Scott Pakin's eqparbox package for creating 2.206 -% (automatically sized) equal width boxes - aka "natural width parboxes". 2.207 -% Available at: 2.208 -% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ 2.209 - 2.210 - 2.211 - 2.212 - 2.213 - 2.214 -% *** SUBFIGURE PACKAGES *** 2.215 -%\usepackage[tight,footnotesize]{subfig} 2.216 -% subfigure.sty was written by Steven Douglas Cochran. This package makes it 2.217 -% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE 2.218 -% work, it is a good idea to load it with the tight package option to reduce 2.219 -% the amount of white space around the subfigures. subfigure.sty is already 2.220 -% installed on most LaTeX systems. The latest version and documentation can 2.221 -% be obtained at: 2.222 -% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ 2.223 -% subfigure.sty has been superceeded by subfig.sty. 2.224 - 2.225 - 2.226 - 2.227 -%\usepackage[caption=false]{caption} 2.228 -%\usepackage[font=footnotesize]{subfig} 2.229 -% subfig.sty, also written by Steven Douglas Cochran, is the modern 2.230 -% replacement for subfigure.sty. However, subfig.sty requires and 2.231 -% automatically loads Axel Sommerfeldt's caption.sty which will override 2.232 -% IEEEtran.cls handling of captions and this will result in nonIEEE style 2.233 -% figure/table captions. To prevent this problem, be sure and preload 2.234 -% caption.sty with its "caption=false" package option. This is will preserve 2.235 -% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 2.236 -% (recommended due to many improvements over 1.2) of subfig.sty supports 2.237 -% the caption=false option directly: 2.238 -%\usepackage[caption=false,font=footnotesize]{subfig} 2.239 -% 2.240 -% The latest version and documentation can be obtained at: 2.241 -% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ 2.242 -% The latest version and documentation of caption.sty can be obtained at: 2.243 -% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ 2.244 - 2.245 - 2.246 - 2.247 - 2.248 -% *** FLOAT PACKAGES *** 2.249 -% 2.250 -%\usepackage{fixltx2e} 2.251 -% fixltx2e, the successor to the earlier fix2col.sty, was written by 2.252 -% Frank Mittelbach and David Carlisle. This package corrects a few problems 2.253 -% in the LaTeX2e kernel, the most notable of which is that in current 2.254 -% LaTeX2e releases, the ordering of single and double column floats is not 2.255 -% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a 2.256 -% single column figure to be placed prior to an earlier double column 2.257 -% figure. The latest version and documentation can be found at: 2.258 -% http://www.ctan.org/tex-archive/macros/latex/base/ 2.259 - 2.260 - 2.261 - 2.262 -%\usepackage{stfloats} 2.263 -% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e 2.264 -% the ability to do double column floats at the bottom of the page as well 2.265 -% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in 2.266 -% LaTeX2e). It also provides a command: 2.267 -%\fnbelowfloat 2.268 -% to enable the placement of footnotes below bottom floats (the standard 2.269 -% LaTeX2e kernel puts them above bottom floats). This is an invasive package 2.270 -% which rewrites many portions of the LaTeX2e float routines. It may not work 2.271 -% with other packages that modify the LaTeX2e float routines. The latest 2.272 -% version and documentation can be obtained at: 2.273 -% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ 2.274 -% Documentation is contained in the stfloats.sty comments as well as in the 2.275 -% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE 2.276 -% does not allow \baselineskip to stretch. Authors submitting work to the 2.277 -% IEEE should note that IEEE rarely uses double column equations and 2.278 -% that authors should try to avoid such use. Do not be tempted to use the 2.279 -% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does 2.280 -% not format its papers in such ways. 2.281 - 2.282 - 2.283 - 2.284 - 2.285 - 2.286 -% *** PDF, URL AND HYPERLINK PACKAGES *** 2.287 -% 2.288 -%\usepackage{url} 2.289 -% url.sty was written by Donald Arseneau. It provides better support for 2.290 -% handling and breaking URLs. url.sty is already installed on most LaTeX 2.291 -% systems. The latest version can be obtained at: 2.292 -% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ 2.293 -% Read the url.sty source comments for usage information. Basically, 2.294 -% \url{my_url_here}. 2.295 - 2.296 - 2.297 - 2.298 - 2.299 - 2.300 -% *** Do not adjust lengths that control margins, column widths, etc. *** 2.301 -% *** Do not use packages that alter fonts (such as pslatex). *** 2.302 -% There should be no need to do such things with IEEEtran.cls V1.6 and later. 2.303 -% (Unless specifically asked to do so by the journal or conference you plan 2.304 -% to submit to, of course. ) 2.305 2.306 2.307 % correct bad hyphenation here 2.308 @@ -284,21 +40,26 @@ 2.309 \bibliographystyle{plain} 2.310 % 2.311 2.312 +\conferenceinfo{WXYZ '05}{date, City.} 2.313 +\copyrightyear{2005} 2.314 +\copyrightdata{[to be supplied]} 2.315 + 2.316 +\titlebanner{banner above paper title} % These are ignored unless 2.317 +\preprintfooter{short description of paper} % 'preprint' option specified. 2.318 + 2.319 2.320 %MOIRAI: MOdel for Integrated Runtime Analysis through Instrumentation 2.321 \title{Integrated Performance Tuning Using Semantic Information Collected by Instrumenting the Language Runtime} 2.322 2.323 -\author{ 2.324 - Nina Engelhardt\\ 2.325 - TU Berlin 2.326 -\and 2.327 - Sean Halle\\ 2.328 - Open Source Research Institute 2.329 -\and 2.330 - Ben Juurlink\\ 2.331 - TU Berlin 2.332 -} 2.333 - 2.334 +\authorinfo{Nina Engelhardt} 2.335 + {TU Berlin} 2.336 + {nengel@mailbox.tu-berlin.de} 2.337 +\authorinfo{Sean Halle} 2.338 + {Open Source Research Institute} 2.339 + {Email1} 2.340 +\authorinfo{Ben Juurlink} 2.341 + {TU Berlin} 2.342 + {b.juurlink@tu-berlin.de} 2.343 2.344 2.345 % This \maketitle command is required from ieeepes version 4.0, to make 2.346 @@ -341,10 +102,6 @@ 2.347 2.348 We start with refresher on performance tuning and an overview of previous approaches in section \ref{sec:related}. We shall usage of our visualizations through a case study in section \ref{sec:casestudy}, and then expand on the model behind it in section \ref{sec:theory}. Section \ref{sec:Implementation} will tie the model to implementation details. Finally, we will conclude in section \ref{sec:conclusion}. 2.349 2.350 - 2.351 - 2.352 - 2.353 - 2.354 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2.355 \section{Background and Related Work} 2.356 \label{sec:related}
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/0__Papers/Holistic_Model/Perf_Tune/latex/sigplanconf.cls Tue Jun 26 12:48:44 2012 +0200 3.3 @@ -0,0 +1,1273 @@ 3.4 +%----------------------------------------------------------------------------- 3.5 +% 3.6 +% LaTeX Class/Style File 3.7 +% 3.8 +% Name: sigplanconf.cls 3.9 +% 3.10 +% Purpose: A LaTeX 2e class file for SIGPLAN conference proceedings. 3.11 +% This class file supercedes acm_proc_article-sp, 3.12 +% sig-alternate, and sigplan-proc. 3.13 +% 3.14 +% Author: Paul C. Anagnostopoulos 3.15 +% Windfall Software 3.16 +% 978 371-2316 3.17 +% paul [atsign] windfall.com 3.18 +% 3.19 +% Created: 12 September 2004 3.20 +% 3.21 +% Revisions: See end of file. 3.22 +% 3.23 +% This work is licensed under the Creative Commons Attribution License. 3.24 +% To view a copy of this license, visit 3.25 +% http://creativecommons.org/licenses/by/3.0/ 3.26 +% or send a letter to Creative Commons, 171 2nd Street, Suite 300, 3.27 +% San Francisco, California, 94105, U.S.A. 3.28 +% 3.29 +%----------------------------------------------------------------------------- 3.30 + 3.31 + 3.32 +\NeedsTeXFormat{LaTeX2e}[1995/12/01] 3.33 +\ProvidesClass{sigplanconf}[2011/11/08 v2.5 ACM SIGPLAN Proceedings] 3.34 + 3.35 +% The following few pages contain LaTeX programming extensions adapted 3.36 +% from the ZzTeX macro package. 3.37 + 3.38 +% Token Hackery 3.39 +% ----- ------- 3.40 + 3.41 + 3.42 +\def \@expandaftertwice {\expandafter\expandafter\expandafter} 3.43 +\def \@expandafterthrice {\expandafter\expandafter\expandafter\expandafter 3.44 + \expandafter\expandafter\expandafter} 3.45 + 3.46 +% This macro discards the next token. 3.47 + 3.48 +\def \@discardtok #1{}% token 3.49 + 3.50 +% This macro removes the `pt' following a dimension. 3.51 + 3.52 +{\catcode `\p = 12 \catcode `\t = 12 3.53 + 3.54 +\gdef \@remover #1pt{#1} 3.55 + 3.56 +} % \catcode 3.57 + 3.58 +% This macro extracts the contents of a macro and returns it as plain text. 3.59 +% Usage: \expandafter\@defof \meaning\macro\@mark 3.60 + 3.61 +\def \@defof #1:->#2\@mark{#2} 3.62 + 3.63 +% Control Sequence Names 3.64 +% ------- -------- ----- 3.65 + 3.66 + 3.67 +\def \@name #1{% {\tokens} 3.68 + \csname \expandafter\@discardtok \string#1\endcsname} 3.69 + 3.70 +\def \@withname #1#2{% {\command}{\tokens} 3.71 + \expandafter#1\csname \expandafter\@discardtok \string#2\endcsname} 3.72 + 3.73 +% Flags (Booleans) 3.74 +% ----- ---------- 3.75 + 3.76 +% The boolean literals \@true and \@false are appropriate for use with 3.77 +% the \if command, which tests the codes of the next two characters. 3.78 + 3.79 +\def \@true {TT} 3.80 +\def \@false {FL} 3.81 + 3.82 +\def \@setflag #1=#2{\edef #1{#2}}% \flag = boolean 3.83 + 3.84 +% IF and Predicates 3.85 +% -- --- ---------- 3.86 + 3.87 +% A "predicate" is a macro that returns \@true or \@false as its value. 3.88 +% Such values are suitable for use with the \if conditional. For example: 3.89 +% 3.90 +% \if \@oddp{\x} <then-clause> \else <else-clause> \fi 3.91 + 3.92 +% A predicate can be used with \@setflag as follows: 3.93 +% 3.94 +% \@setflag \flag = {<predicate>} 3.95 + 3.96 +% Here are the predicates for TeX's repertoire of conditional 3.97 +% commands. These might be more appropriately interspersed with 3.98 +% other definitions in this module, but what the heck. 3.99 +% Some additional "obvious" predicates are defined. 3.100 + 3.101 +\def \@eqlp #1#2{\ifnum #1 = #2\@true \else \@false \fi} 3.102 +\def \@neqlp #1#2{\ifnum #1 = #2\@false \else \@true \fi} 3.103 +\def \@lssp #1#2{\ifnum #1 < #2\@true \else \@false \fi} 3.104 +\def \@gtrp #1#2{\ifnum #1 > #2\@true \else \@false \fi} 3.105 +\def \@zerop #1{\ifnum #1 = 0\@true \else \@false \fi} 3.106 +\def \@onep #1{\ifnum #1 = 1\@true \else \@false \fi} 3.107 +\def \@posp #1{\ifnum #1 > 0\@true \else \@false \fi} 3.108 +\def \@negp #1{\ifnum #1 < 0\@true \else \@false \fi} 3.109 +\def \@oddp #1{\ifodd #1\@true \else \@false \fi} 3.110 +\def \@evenp #1{\ifodd #1\@false \else \@true \fi} 3.111 +\def \@rangep #1#2#3{\if \@orp{\@lssp{#1}{#2}}{\@gtrp{#1}{#3}}\@false \else 3.112 + \@true \fi} 3.113 +\def \@tensp #1{\@rangep{#1}{10}{19}} 3.114 + 3.115 +\def \@dimeqlp #1#2{\ifdim #1 = #2\@true \else \@false \fi} 3.116 +\def \@dimneqlp #1#2{\ifdim #1 = #2\@false \else \@true \fi} 3.117 +\def \@dimlssp #1#2{\ifdim #1 < #2\@true \else \@false \fi} 3.118 +\def \@dimgtrp #1#2{\ifdim #1 > #2\@true \else \@false \fi} 3.119 +\def \@dimzerop #1{\ifdim #1 = 0pt\@true \else \@false \fi} 3.120 +\def \@dimposp #1{\ifdim #1 > 0pt\@true \else \@false \fi} 3.121 +\def \@dimnegp #1{\ifdim #1 < 0pt\@true \else \@false \fi} 3.122 + 3.123 +\def \@vmodep {\ifvmode \@true \else \@false \fi} 3.124 +\def \@hmodep {\ifhmode \@true \else \@false \fi} 3.125 +\def \@mathmodep {\ifmmode \@true \else \@false \fi} 3.126 +\def \@textmodep {\ifmmode \@false \else \@true \fi} 3.127 +\def \@innermodep {\ifinner \@true \else \@false \fi} 3.128 + 3.129 +\long\def \@codeeqlp #1#2{\if #1#2\@true \else \@false \fi} 3.130 + 3.131 +\long\def \@cateqlp #1#2{\ifcat #1#2\@true \else \@false \fi} 3.132 + 3.133 +\long\def \@tokeqlp #1#2{\ifx #1#2\@true \else \@false \fi} 3.134 +\long\def \@xtokeqlp #1#2{\expandafter\ifx #1#2\@true \else \@false \fi} 3.135 + 3.136 +\long\def \@definedp #1{% 3.137 + \expandafter\ifx \csname \expandafter\@discardtok \string#1\endcsname 3.138 + \relax \@false \else \@true \fi} 3.139 + 3.140 +\long\def \@undefinedp #1{% 3.141 + \expandafter\ifx \csname \expandafter\@discardtok \string#1\endcsname 3.142 + \relax \@true \else \@false \fi} 3.143 + 3.144 +\def \@emptydefp #1{\ifx #1\@empty \@true \else \@false \fi}% {\name} 3.145 + 3.146 +\let \@emptylistp = \@emptydefp 3.147 + 3.148 +\long\def \@emptyargp #1{% {#n} 3.149 + \@empargp #1\@empargq\@mark} 3.150 +\long\def \@empargp #1#2\@mark{% 3.151 + \ifx #1\@empargq \@true \else \@false \fi} 3.152 +\def \@empargq {\@empargq} 3.153 + 3.154 +\def \@emptytoksp #1{% {\tokenreg} 3.155 + \expandafter\@emptoksp \the#1\@mark} 3.156 + 3.157 +\long\def \@emptoksp #1\@mark{\@emptyargp{#1}} 3.158 + 3.159 +\def \@voidboxp #1{\ifvoid #1\@true \else \@false \fi} 3.160 +\def \@hboxp #1{\ifhbox #1\@true \else \@false \fi} 3.161 +\def \@vboxp #1{\ifvbox #1\@true \else \@false \fi} 3.162 + 3.163 +\def \@eofp #1{\ifeof #1\@true \else \@false \fi} 3.164 + 3.165 + 3.166 +% Flags can also be used as predicates, as in: 3.167 +% 3.168 +% \if \flaga <then-clause> \else <else-clause> \fi 3.169 + 3.170 + 3.171 +% Now here we have predicates for the common logical operators. 3.172 + 3.173 +\def \@notp #1{\if #1\@false \else \@true \fi} 3.174 + 3.175 +\def \@andp #1#2{\if #1% 3.176 + \if #2\@true \else \@false \fi 3.177 + \else 3.178 + \@false 3.179 + \fi} 3.180 + 3.181 +\def \@orp #1#2{\if #1% 3.182 + \@true 3.183 + \else 3.184 + \if #2\@true \else \@false \fi 3.185 + \fi} 3.186 + 3.187 +\def \@xorp #1#2{\if #1% 3.188 + \if #2\@false \else \@true \fi 3.189 + \else 3.190 + \if #2\@true \else \@false \fi 3.191 + \fi} 3.192 + 3.193 +% Arithmetic 3.194 +% ---------- 3.195 + 3.196 +\def \@increment #1{\advance #1 by 1\relax}% {\count} 3.197 + 3.198 +\def \@decrement #1{\advance #1 by -1\relax}% {\count} 3.199 + 3.200 +% Options 3.201 +% ------- 3.202 + 3.203 + 3.204 +\@setflag \@authoryear = \@false 3.205 +\@setflag \@blockstyle = \@false 3.206 +\@setflag \@copyrightwanted = \@true 3.207 +\@setflag \@explicitsize = \@false 3.208 +\@setflag \@mathtime = \@false 3.209 +\@setflag \@natbib = \@true 3.210 +\@setflag \@ninepoint = \@true 3.211 +\newcount{\@numheaddepth} \@numheaddepth = 3 3.212 +\@setflag \@onecolumn = \@false 3.213 +\@setflag \@preprint = \@false 3.214 +\@setflag \@reprint = \@false 3.215 +\@setflag \@tenpoint = \@false 3.216 +\@setflag \@times = \@false 3.217 + 3.218 +% Note that all the dangerous article class options are trapped. 3.219 + 3.220 +\DeclareOption{9pt}{\@setflag \@ninepoint = \@true 3.221 + \@setflag \@explicitsize = \@true} 3.222 + 3.223 +\DeclareOption{10pt}{\PassOptionsToClass{10pt}{article}% 3.224 + \@setflag \@ninepoint = \@false 3.225 + \@setflag \@tenpoint = \@true 3.226 + \@setflag \@explicitsize = \@true} 3.227 + 3.228 +\DeclareOption{11pt}{\PassOptionsToClass{11pt}{article}% 3.229 + \@setflag \@ninepoint = \@false 3.230 + \@setflag \@explicitsize = \@true} 3.231 + 3.232 +\DeclareOption{12pt}{\@unsupportedoption{12pt}} 3.233 + 3.234 +\DeclareOption{a4paper}{\@unsupportedoption{a4paper}} 3.235 + 3.236 +\DeclareOption{a5paper}{\@unsupportedoption{a5paper}} 3.237 + 3.238 +\DeclareOption{authoryear}{\@setflag \@authoryear = \@true} 3.239 + 3.240 +\DeclareOption{b5paper}{\@unsupportedoption{b5paper}} 3.241 + 3.242 +\DeclareOption{blockstyle}{\@setflag \@blockstyle = \@true} 3.243 + 3.244 +\DeclareOption{cm}{\@setflag \@times = \@false} 3.245 + 3.246 +\DeclareOption{computermodern}{\@setflag \@times = \@false} 3.247 + 3.248 +\DeclareOption{executivepaper}{\@unsupportedoption{executivepaper}} 3.249 + 3.250 +\DeclareOption{indentedstyle}{\@setflag \@blockstyle = \@false} 3.251 + 3.252 +\DeclareOption{landscape}{\@unsupportedoption{landscape}} 3.253 + 3.254 +\DeclareOption{legalpaper}{\@unsupportedoption{legalpaper}} 3.255 + 3.256 +\DeclareOption{letterpaper}{\@unsupportedoption{letterpaper}} 3.257 + 3.258 +\DeclareOption{mathtime}{\@setflag \@mathtime = \@true} 3.259 + 3.260 +\DeclareOption{natbib}{\@setflag \@natbib = \@true} 3.261 + 3.262 +\DeclareOption{nonatbib}{\@setflag \@natbib = \@false} 3.263 + 3.264 +\DeclareOption{nocopyrightspace}{\@setflag \@copyrightwanted = \@false} 3.265 + 3.266 +\DeclareOption{notitlepage}{\@unsupportedoption{notitlepage}} 3.267 + 3.268 +\DeclareOption{numberedpars}{\@numheaddepth = 4} 3.269 + 3.270 +\DeclareOption{numbers}{\@setflag \@authoryear = \@false} 3.271 + 3.272 +%%%\DeclareOption{onecolumn}{\@setflag \@onecolumn = \@true} 3.273 + 3.274 +\DeclareOption{preprint}{\@setflag \@preprint = \@true} 3.275 + 3.276 +\DeclareOption{reprint}{\@setflag \@reprint = \@true} 3.277 + 3.278 +\DeclareOption{times}{\@setflag \@times = \@true} 3.279 + 3.280 +\DeclareOption{titlepage}{\@unsupportedoption{titlepage}} 3.281 + 3.282 +\DeclareOption{twocolumn}{\@setflag \@onecolumn = \@false} 3.283 + 3.284 +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} 3.285 + 3.286 +\ExecuteOptions{9pt,indentedstyle,times} 3.287 +\@setflag \@explicitsize = \@false 3.288 +\ProcessOptions 3.289 + 3.290 +\if \@onecolumn 3.291 + \if \@notp{\@explicitsize}% 3.292 + \@setflag \@ninepoint = \@false 3.293 + \PassOptionsToClass{11pt}{article}% 3.294 + \fi 3.295 + \PassOptionsToClass{twoside,onecolumn}{article} 3.296 +\else 3.297 + \PassOptionsToClass{twoside,twocolumn}{article} 3.298 +\fi 3.299 +\LoadClass{article} 3.300 + 3.301 +\def \@unsupportedoption #1{% 3.302 + \ClassError{proc}{The standard '#1' option is not supported.}} 3.303 + 3.304 +% This can be used with the 'reprint' option to get the final folios. 3.305 + 3.306 +\def \setpagenumber #1{% 3.307 + \setcounter{page}{#1}} 3.308 + 3.309 +\AtEndDocument{\label{sigplanconf@finalpage}} 3.310 + 3.311 +% Utilities 3.312 +% --------- 3.313 + 3.314 + 3.315 +\newcommand{\setvspace}[2]{% 3.316 + #1 = #2 3.317 + \advance #1 by -1\parskip} 3.318 + 3.319 +% Document Parameters 3.320 +% -------- ---------- 3.321 + 3.322 + 3.323 +% Page: 3.324 + 3.325 +\setlength{\hoffset}{-1in} 3.326 +\setlength{\voffset}{-1in} 3.327 + 3.328 +\setlength{\topmargin}{1in} 3.329 +\setlength{\headheight}{0pt} 3.330 +\setlength{\headsep}{0pt} 3.331 + 3.332 +\if \@onecolumn 3.333 + \setlength{\evensidemargin}{.75in} 3.334 + \setlength{\oddsidemargin}{.75in} 3.335 +\else 3.336 + \setlength{\evensidemargin}{.75in} 3.337 + \setlength{\oddsidemargin}{.75in} 3.338 +\fi 3.339 + 3.340 +% Text area: 3.341 + 3.342 +\newdimen{\standardtextwidth} 3.343 +\setlength{\standardtextwidth}{42pc} 3.344 + 3.345 +\if \@onecolumn 3.346 + \setlength{\textwidth}{40.5pc} 3.347 +\else 3.348 + \setlength{\textwidth}{\standardtextwidth} 3.349 +\fi 3.350 + 3.351 +\setlength{\topskip}{8pt} 3.352 +\setlength{\columnsep}{2pc} 3.353 +\setlength{\textheight}{54.5pc} 3.354 + 3.355 +% Running foot: 3.356 + 3.357 +\setlength{\footskip}{30pt} 3.358 + 3.359 +% Paragraphs: 3.360 + 3.361 +\if \@blockstyle 3.362 + \setlength{\parskip}{5pt plus .1pt minus .5pt} 3.363 + \setlength{\parindent}{0pt} 3.364 +\else 3.365 + \setlength{\parskip}{0pt} 3.366 + \setlength{\parindent}{12pt} 3.367 +\fi 3.368 + 3.369 +\setlength{\lineskip}{.5pt} 3.370 +\setlength{\lineskiplimit}{\lineskip} 3.371 + 3.372 +\frenchspacing 3.373 +\pretolerance = 400 3.374 +\tolerance = \pretolerance 3.375 +\setlength{\emergencystretch}{5pt} 3.376 +\clubpenalty = 10000 3.377 +\widowpenalty = 10000 3.378 +\setlength{\hfuzz}{.5pt} 3.379 + 3.380 +% Standard vertical spaces: 3.381 + 3.382 +\newskip{\standardvspace} 3.383 +\setvspace{\standardvspace}{5pt plus 1pt minus .5pt} 3.384 + 3.385 +% Margin paragraphs: 3.386 + 3.387 +\setlength{\marginparwidth}{36pt} 3.388 +\setlength{\marginparsep}{2pt} 3.389 +\setlength{\marginparpush}{8pt} 3.390 + 3.391 + 3.392 +\setlength{\skip\footins}{8pt plus 3pt minus 1pt} 3.393 +\setlength{\footnotesep}{9pt} 3.394 + 3.395 +\renewcommand{\footnoterule}{% 3.396 + \hrule width .5\columnwidth height .33pt depth 0pt} 3.397 + 3.398 +\renewcommand{\@makefntext}[1]{% 3.399 + \noindent \@makefnmark \hspace{1pt}#1} 3.400 + 3.401 +% Floats: 3.402 + 3.403 +\setcounter{topnumber}{4} 3.404 +\setcounter{bottomnumber}{1} 3.405 +\setcounter{totalnumber}{4} 3.406 + 3.407 +\renewcommand{\fps@figure}{tp} 3.408 +\renewcommand{\fps@table}{tp} 3.409 +\renewcommand{\topfraction}{0.90} 3.410 +\renewcommand{\bottomfraction}{0.30} 3.411 +\renewcommand{\textfraction}{0.10} 3.412 +\renewcommand{\floatpagefraction}{0.75} 3.413 + 3.414 +\setcounter{dbltopnumber}{4} 3.415 + 3.416 +\renewcommand{\dbltopfraction}{\topfraction} 3.417 +\renewcommand{\dblfloatpagefraction}{\floatpagefraction} 3.418 + 3.419 +\setlength{\floatsep}{18pt plus 4pt minus 2pt} 3.420 +\setlength{\textfloatsep}{18pt plus 4pt minus 3pt} 3.421 +\setlength{\intextsep}{10pt plus 4pt minus 3pt} 3.422 + 3.423 +\setlength{\dblfloatsep}{18pt plus 4pt minus 2pt} 3.424 +\setlength{\dbltextfloatsep}{20pt plus 4pt minus 3pt} 3.425 + 3.426 +% Miscellaneous: 3.427 + 3.428 +\errorcontextlines = 5 3.429 + 3.430 +% Fonts 3.431 +% ----- 3.432 + 3.433 + 3.434 +\if \@times 3.435 + \renewcommand{\rmdefault}{ptm}% 3.436 + \if \@mathtime 3.437 + \usepackage[mtbold,noTS1]{mathtime}% 3.438 + \else 3.439 +%%% \usepackage{mathptm}% 3.440 + \fi 3.441 +\else 3.442 + \relax 3.443 +\fi 3.444 + 3.445 +\if \@ninepoint 3.446 + 3.447 +\renewcommand{\normalsize}{% 3.448 + \@setfontsize{\normalsize}{9pt}{10pt}% 3.449 + \setlength{\abovedisplayskip}{5pt plus 1pt minus .5pt}% 3.450 + \setlength{\belowdisplayskip}{\abovedisplayskip}% 3.451 + \setlength{\abovedisplayshortskip}{3pt plus 1pt minus 2pt}% 3.452 + \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}} 3.453 + 3.454 +\renewcommand{\tiny}{\@setfontsize{\tiny}{5pt}{6pt}} 3.455 + 3.456 +\renewcommand{\scriptsize}{\@setfontsize{\scriptsize}{7pt}{8pt}} 3.457 + 3.458 +\renewcommand{\small}{% 3.459 + \@setfontsize{\small}{8pt}{9pt}% 3.460 + \setlength{\abovedisplayskip}{4pt plus 1pt minus 1pt}% 3.461 + \setlength{\belowdisplayskip}{\abovedisplayskip}% 3.462 + \setlength{\abovedisplayshortskip}{2pt plus 1pt}% 3.463 + \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}} 3.464 + 3.465 +\renewcommand{\footnotesize}{% 3.466 + \@setfontsize{\footnotesize}{8pt}{9pt}% 3.467 + \setlength{\abovedisplayskip}{4pt plus 1pt minus .5pt}% 3.468 + \setlength{\belowdisplayskip}{\abovedisplayskip}% 3.469 + \setlength{\abovedisplayshortskip}{2pt plus 1pt}% 3.470 + \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}} 3.471 + 3.472 +\renewcommand{\large}{\@setfontsize{\large}{11pt}{13pt}} 3.473 + 3.474 +\renewcommand{\Large}{\@setfontsize{\Large}{14pt}{18pt}} 3.475 + 3.476 +\renewcommand{\LARGE}{\@setfontsize{\LARGE}{18pt}{20pt}} 3.477 + 3.478 +\renewcommand{\huge}{\@setfontsize{\huge}{20pt}{25pt}} 3.479 + 3.480 +\renewcommand{\Huge}{\@setfontsize{\Huge}{25pt}{30pt}} 3.481 + 3.482 +\else\if \@tenpoint 3.483 + 3.484 +\relax 3.485 + 3.486 +\else 3.487 + 3.488 +\relax 3.489 + 3.490 +\fi\fi 3.491 + 3.492 +% Abstract 3.493 +% -------- 3.494 + 3.495 + 3.496 +\renewenvironment{abstract}{% 3.497 + \section*{Abstract}% 3.498 + \normalsize}{% 3.499 + } 3.500 + 3.501 +% Bibliography 3.502 +% ------------ 3.503 + 3.504 + 3.505 +\renewenvironment{thebibliography}[1] 3.506 + {\section*{\refname 3.507 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% 3.508 + \list{\@biblabel{\@arabic\c@enumiv}}% 3.509 + {\settowidth\labelwidth{\@biblabel{#1}}% 3.510 + \leftmargin\labelwidth 3.511 + \advance\leftmargin\labelsep 3.512 + \@openbib@code 3.513 + \usecounter{enumiv}% 3.514 + \let\p@enumiv\@empty 3.515 + \renewcommand\theenumiv{\@arabic\c@enumiv}}% 3.516 + \bibfont 3.517 + \clubpenalty4000 3.518 + \@clubpenalty \clubpenalty 3.519 + \widowpenalty4000% 3.520 + \sfcode`\.\@m} 3.521 + {\def\@noitemerr 3.522 + {\@latex@warning{Empty `thebibliography' environment}}% 3.523 + \endlist} 3.524 + 3.525 +\if \@natbib 3.526 + 3.527 +\if \@authoryear 3.528 + \typeout{Using natbib package with 'authoryear' citation style.} 3.529 + \usepackage[authoryear,square]{natbib} 3.530 + \bibpunct{[}{]}{;}{a}{}{,} % Change citation separator to semicolon, 3.531 + % eliminate comma between author and year. 3.532 + \let \cite = \citep 3.533 +\else 3.534 + \typeout{Using natbib package with 'numbers' citation style.} 3.535 + \usepackage[numbers,sort&compress,square]{natbib} 3.536 +\fi 3.537 +\setlength{\bibsep}{3pt plus .5pt minus .25pt} 3.538 + 3.539 +\fi 3.540 + 3.541 +\def \bibfont {\small} 3.542 + 3.543 +% Categories 3.544 +% ---------- 3.545 + 3.546 + 3.547 +\@setflag \@firstcategory = \@true 3.548 + 3.549 +\newcommand{\category}[3]{% 3.550 + \if \@firstcategory 3.551 + \paragraph*{Categories and Subject Descriptors}% 3.552 + \@setflag \@firstcategory = \@false 3.553 + \else 3.554 + \unskip ;\hspace{.75em}% 3.555 + \fi 3.556 + \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}} 3.557 + 3.558 +\def \@category #1#2#3[#4]{% 3.559 + {\let \and = \relax 3.560 + #1 [\textit{#2}]% 3.561 + \if \@emptyargp{#4}% 3.562 + \if \@notp{\@emptyargp{#3}}: #3\fi 3.563 + \else 3.564 + :\space 3.565 + \if \@notp{\@emptyargp{#3}}#3---\fi 3.566 + \textrm{#4}% 3.567 + \fi}} 3.568 + 3.569 +% Copyright Notice 3.570 +% --------- ------ 3.571 + 3.572 + 3.573 +\def \ftype@copyrightbox {8} 3.574 +\def \@toappear {} 3.575 +\def \@permission {} 3.576 +\def \@reprintprice {} 3.577 + 3.578 +\def \@copyrightspace {% 3.579 + \@float{copyrightbox}[b]% 3.580 + \vbox to 1in{% 3.581 + \vfill 3.582 + \parbox[b]{20pc}{% 3.583 + \scriptsize 3.584 + \if \@preprint 3.585 + [Copyright notice will appear here 3.586 + once 'preprint' option is removed.]\par 3.587 + \else 3.588 + \@toappear 3.589 + \fi 3.590 + \if \@reprint 3.591 + \noindent Reprinted from \@conferencename, 3.592 + \@proceedings, 3.593 + \@conferenceinfo, 3.594 + pp.~\number\thepage--\pageref{sigplanconf@finalpage}.\par 3.595 + \fi}}% 3.596 + \end@float} 3.597 + 3.598 +\long\def \toappear #1{% 3.599 + \def \@toappear {#1}} 3.600 + 3.601 +\toappear{% 3.602 + \noindent \@permission \par 3.603 + \vspace{2pt} 3.604 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 3.605 + \noindent Copyright \copyright\ \@copyrightyear\ ACM \@copyrightdata 3.606 + \dots \@reprintprice\par} 3.607 + 3.608 +\newcommand{\permission}[1]{% 3.609 + \gdef \@permission {#1}} 3.610 + 3.611 +\permission{% 3.612 + Permission to make digital or hard copies of all or 3.613 + part of this work for personal or classroom use is granted without 3.614 + fee provided that copies are not made or distributed for profit or 3.615 + commercial advantage and that copies bear this notice and the full 3.616 + citation on the first page. To copy otherwise, to republish, to 3.617 + post on servers or to redistribute to lists, requires prior specific 3.618 + permission and/or a fee.} 3.619 + 3.620 +% Here we have some alternate permission statements and copyright lines: 3.621 + 3.622 +\newcommand{\ACMCanadapermission}{% 3.623 + \permission{% 3.624 + Copyright \@copyrightyear\ Association for Computing Machinery. 3.625 + ACM acknowledges that 3.626 + this contribution was authored or co-authored by an affiliate of the 3.627 + National Research Council of Canada (NRC). 3.628 + As such, the Crown in Right of 3.629 + Canada retains an equal interest in the copyright, however granting 3.630 + nonexclusive, royalty-free right to publish or reproduce this article, 3.631 + or to allow others to do so, provided that clear attribution 3.632 + is also given to the authors and the NRC.}} 3.633 + 3.634 +\newcommand{\ACMUSpermission}{% 3.635 + \permission{% 3.636 + Copyright \@copyrightyear\ Association for 3.637 + Computing Machinery. ACM acknowledges that 3.638 + this contribution was authored or co-authored 3.639 + by a contractor or affiliate 3.640 + of the U.S. Government. As such, the Government retains a nonexclusive, 3.641 + royalty-free right to publish or reproduce this article, 3.642 + or to allow others to do so, for Government purposes only.}} 3.643 + 3.644 +\newcommand{\authorpermission}{% 3.645 + \permission{% 3.646 + Copyright is held by the author/owner(s).} 3.647 + \toappear{% 3.648 + \noindent \@permission \par 3.649 + \vspace{2pt} 3.650 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 3.651 + ACM \@copyrightdata.}} 3.652 + 3.653 +\newcommand{\Sunpermission}{% 3.654 + \permission{% 3.655 + Copyright is held by Sun Microsystems, Inc.}% 3.656 + \toappear{% 3.657 + \noindent \@permission \par 3.658 + \vspace{2pt} 3.659 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 3.660 + ACM \@copyrightdata.}} 3.661 + 3.662 +\newcommand{\USpublicpermission}{% 3.663 + \permission{% 3.664 + This paper is authored by an employee(s) of the United States 3.665 + Government and is in the public domain.}% 3.666 + \toappear{% 3.667 + \noindent \@permission \par 3.668 + \vspace{2pt} 3.669 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 3.670 + ACM \@copyrightdata.}} 3.671 + 3.672 +\newcommand{\reprintprice}[1]{% 3.673 + \gdef \@reprintprice {#1}} 3.674 + 3.675 +\reprintprice{\$10.00} 3.676 + 3.677 +\newcommand{\authorversion}[4]{% 3.678 + \permission{% 3.679 + Copyright \copyright\ ACM, #1. This is the author's version of the work. 3.680 + It is posted here by permission of ACM for your personal use. 3.681 + Not for redistribution. The definitive version was published in 3.682 + #2, #3, http://doi.acm.org/10.1145/#4.}} 3.683 + 3.684 +% Enunciations 3.685 +% ------------ 3.686 + 3.687 + 3.688 +\def \@begintheorem #1#2{% {name}{number} 3.689 + \trivlist 3.690 + \item[\hskip \labelsep \textsc{#1 #2.}]% 3.691 + \itshape\selectfont 3.692 + \ignorespaces} 3.693 + 3.694 +\def \@opargbegintheorem #1#2#3{% {name}{number}{title} 3.695 + \trivlist 3.696 + \item[% 3.697 + \hskip\labelsep \textsc{#1\ #2}% 3.698 + \if \@notp{\@emptyargp{#3}}\nut (#3).\fi]% 3.699 + \itshape\selectfont 3.700 + \ignorespaces} 3.701 + 3.702 +% Figures 3.703 +% ------- 3.704 + 3.705 + 3.706 +\@setflag \@caprule = \@true 3.707 + 3.708 +\long\def \@makecaption #1#2{% 3.709 + \addvspace{4pt} 3.710 + \if \@caprule 3.711 + \hrule width \hsize height .33pt 3.712 + \vspace{4pt} 3.713 + \fi 3.714 + \setbox \@tempboxa = \hbox{\@setfigurenumber{#1.}\nut #2}% 3.715 + \if \@dimgtrp{\wd\@tempboxa}{\hsize}% 3.716 + \noindent \@setfigurenumber{#1.}\nut #2\par 3.717 + \else 3.718 + \centerline{\box\@tempboxa}% 3.719 + \fi} 3.720 + 3.721 +\newcommand{\nocaptionrule}{% 3.722 + \@setflag \@caprule = \@false} 3.723 + 3.724 +\def \@setfigurenumber #1{% 3.725 + {\rmfamily \bfseries \selectfont #1}} 3.726 + 3.727 +% Hierarchy 3.728 +% --------- 3.729 + 3.730 + 3.731 +\setcounter{secnumdepth}{\@numheaddepth} 3.732 + 3.733 +\newskip{\@sectionaboveskip} 3.734 +\setvspace{\@sectionaboveskip}{10pt plus 3pt minus 2pt} 3.735 + 3.736 +\newskip{\@sectionbelowskip} 3.737 +\if \@blockstyle 3.738 + \setlength{\@sectionbelowskip}{0.1pt}% 3.739 +\else 3.740 + \setlength{\@sectionbelowskip}{4pt}% 3.741 +\fi 3.742 + 3.743 +\renewcommand{\section}{% 3.744 + \@startsection 3.745 + {section}% 3.746 + {1}% 3.747 + {0pt}% 3.748 + {-\@sectionaboveskip}% 3.749 + {\@sectionbelowskip}% 3.750 + {\large \bfseries \raggedright}} 3.751 + 3.752 +\newskip{\@subsectionaboveskip} 3.753 +\setvspace{\@subsectionaboveskip}{8pt plus 2pt minus 2pt} 3.754 + 3.755 +\newskip{\@subsectionbelowskip} 3.756 +\if \@blockstyle 3.757 + \setlength{\@subsectionbelowskip}{0.1pt}% 3.758 +\else 3.759 + \setlength{\@subsectionbelowskip}{4pt}% 3.760 +\fi 3.761 + 3.762 +\renewcommand{\subsection}{% 3.763 + \@startsection% 3.764 + {subsection}% 3.765 + {2}% 3.766 + {0pt}% 3.767 + {-\@subsectionaboveskip}% 3.768 + {\@subsectionbelowskip}% 3.769 + {\normalsize \bfseries \raggedright}} 3.770 + 3.771 +\renewcommand{\subsubsection}{% 3.772 + \@startsection% 3.773 + {subsubsection}% 3.774 + {3}% 3.775 + {0pt}% 3.776 + {-\@subsectionaboveskip} 3.777 + {\@subsectionbelowskip}% 3.778 + {\normalsize \bfseries \raggedright}} 3.779 + 3.780 +\newskip{\@paragraphaboveskip} 3.781 +\setvspace{\@paragraphaboveskip}{6pt plus 2pt minus 2pt} 3.782 + 3.783 +\renewcommand{\paragraph}{% 3.784 + \@startsection% 3.785 + {paragraph}% 3.786 + {4}% 3.787 + {0pt}% 3.788 + {\@paragraphaboveskip} 3.789 + {-1em}% 3.790 + {\normalsize \bfseries \if \@times \itshape \fi}} 3.791 + 3.792 +\renewcommand{\subparagraph}{% 3.793 + \@startsection% 3.794 + {subparagraph}% 3.795 + {4}% 3.796 + {0pt}% 3.797 + {\@paragraphaboveskip} 3.798 + {-1em}% 3.799 + {\normalsize \itshape}} 3.800 + 3.801 +% Standard headings: 3.802 + 3.803 +\newcommand{\acks}{\section*{Acknowledgments}} 3.804 + 3.805 +\newcommand{\keywords}{\paragraph*{Keywords}} 3.806 + 3.807 +\newcommand{\terms}{\paragraph*{General Terms}} 3.808 + 3.809 +% Identification 3.810 +% -------------- 3.811 + 3.812 + 3.813 +\def \@conferencename {} 3.814 +\def \@conferenceinfo {} 3.815 +\def \@copyrightyear {} 3.816 +\def \@copyrightdata {[to be supplied]} 3.817 +\def \@proceedings {[Unknown Proceedings]} 3.818 + 3.819 + 3.820 +\newcommand{\conferenceinfo}[2]{% 3.821 + \gdef \@conferencename {#1}% 3.822 + \gdef \@conferenceinfo {#2}} 3.823 + 3.824 +\newcommand{\copyrightyear}[1]{% 3.825 + \gdef \@copyrightyear {#1}} 3.826 + 3.827 +\let \CopyrightYear = \copyrightyear 3.828 + 3.829 +\newcommand{\copyrightdata}[1]{% 3.830 + \gdef \@copyrightdata {#1}} 3.831 + 3.832 +\let \crdata = \copyrightdata 3.833 + 3.834 +\newcommand{\proceedings}[1]{% 3.835 + \gdef \@proceedings {#1}} 3.836 + 3.837 +% Lists 3.838 +% ----- 3.839 + 3.840 + 3.841 +\setlength{\leftmargini}{13pt} 3.842 +\setlength\leftmarginii{13pt} 3.843 +\setlength\leftmarginiii{13pt} 3.844 +\setlength\leftmarginiv{13pt} 3.845 +\setlength{\labelsep}{3.5pt} 3.846 + 3.847 +\setlength{\topsep}{\standardvspace} 3.848 +\if \@blockstyle 3.849 + \setlength{\itemsep}{1pt} 3.850 + \setlength{\parsep}{3pt} 3.851 +\else 3.852 + \setlength{\itemsep}{1pt} 3.853 + \setlength{\parsep}{3pt} 3.854 +\fi 3.855 + 3.856 +\renewcommand{\labelitemi}{{\small \centeroncapheight{\textbullet}}} 3.857 +\renewcommand{\labelitemii}{\centeroncapheight{\rule{2.5pt}{2.5pt}}} 3.858 +\renewcommand{\labelitemiii}{$-$} 3.859 +\renewcommand{\labelitemiv}{{\Large \textperiodcentered}} 3.860 + 3.861 +\renewcommand{\@listi}{% 3.862 + \leftmargin = \leftmargini 3.863 + \listparindent = 0pt} 3.864 +%%% \itemsep = 1pt 3.865 +%%% \parsep = 3pt} 3.866 +%%% \listparindent = \parindent} 3.867 + 3.868 +\let \@listI = \@listi 3.869 + 3.870 +\renewcommand{\@listii}{% 3.871 + \leftmargin = \leftmarginii 3.872 + \topsep = 1pt 3.873 + \labelwidth = \leftmarginii 3.874 + \advance \labelwidth by -\labelsep 3.875 + \listparindent = \parindent} 3.876 + 3.877 +\renewcommand{\@listiii}{% 3.878 + \leftmargin = \leftmarginiii 3.879 + \labelwidth = \leftmarginiii 3.880 + \advance \labelwidth by -\labelsep 3.881 + \listparindent = \parindent} 3.882 + 3.883 +\renewcommand{\@listiv}{% 3.884 + \leftmargin = \leftmarginiv 3.885 + \labelwidth = \leftmarginiv 3.886 + \advance \labelwidth by -\labelsep 3.887 + \listparindent = \parindent} 3.888 + 3.889 +% Mathematics 3.890 +% ----------- 3.891 + 3.892 + 3.893 +\def \theequation {\arabic{equation}} 3.894 + 3.895 +% Miscellaneous 3.896 +% ------------- 3.897 + 3.898 + 3.899 +\newcommand{\balancecolumns}{% 3.900 + \vfill\eject 3.901 + \global\@colht = \textheight 3.902 + \global\ht\@cclv = \textheight} 3.903 + 3.904 +\newcommand{\nut}{\hspace{.5em}} 3.905 + 3.906 +\newcommand{\softraggedright}{% 3.907 + \let \\ = \@centercr 3.908 + \leftskip = 0pt 3.909 + \rightskip = 0pt plus 10pt} 3.910 + 3.911 +% Program Code 3.912 +% ------- ---- 3.913 + 3.914 + 3.915 +\newcommand{\mono}[1]{% 3.916 + {\@tempdima = \fontdimen2\font 3.917 + \texttt{\spaceskip = 1.1\@tempdima #1}}} 3.918 + 3.919 +% Running Heads and Feet 3.920 +% ------- ----- --- ---- 3.921 + 3.922 + 3.923 +\def \@preprintfooter {} 3.924 + 3.925 +\newcommand{\preprintfooter}[1]{% 3.926 + \gdef \@preprintfooter {#1}} 3.927 + 3.928 +\if \@preprint 3.929 + 3.930 +\def \ps@plain {% 3.931 + \let \@mkboth = \@gobbletwo 3.932 + \let \@evenhead = \@empty 3.933 + \def \@evenfoot {\scriptsize 3.934 + \rlap{\textit{\@preprintfooter}}\hfil 3.935 + \thepage \hfil 3.936 + \llap{\textit{\@formatyear}}}% 3.937 + \let \@oddhead = \@empty 3.938 + \let \@oddfoot = \@evenfoot} 3.939 + 3.940 +\else\if \@reprint 3.941 + 3.942 +\def \ps@plain {% 3.943 + \let \@mkboth = \@gobbletwo 3.944 + \let \@evenhead = \@empty 3.945 + \def \@evenfoot {\scriptsize \hfil \thepage \hfil}% 3.946 + \let \@oddhead = \@empty 3.947 + \let \@oddfoot = \@evenfoot} 3.948 + 3.949 +\else 3.950 + 3.951 +\let \ps@plain = \ps@empty 3.952 +\let \ps@headings = \ps@empty 3.953 +\let \ps@myheadings = \ps@empty 3.954 + 3.955 +\fi\fi 3.956 + 3.957 +\def \@formatyear {% 3.958 + \number\year/\number\month/\number\day} 3.959 + 3.960 +% Special Characters 3.961 +% ------- ---------- 3.962 + 3.963 + 3.964 +\DeclareRobustCommand{\euro}{% 3.965 + \protect{\rlap{=}}{\sf \kern .1em C}} 3.966 + 3.967 +% Title Page 3.968 +% ----- ---- 3.969 + 3.970 + 3.971 +\@setflag \@addauthorsdone = \@false 3.972 + 3.973 +\def \@titletext {\@latex@error{No title was provided}{}} 3.974 +\def \@subtitletext {} 3.975 + 3.976 +\newcount{\@authorcount} 3.977 + 3.978 +\newcount{\@titlenotecount} 3.979 +\newtoks{\@titlenotetext} 3.980 + 3.981 +\def \@titlebanner {} 3.982 + 3.983 +\renewcommand{\title}[1]{% 3.984 + \gdef \@titletext {#1}} 3.985 + 3.986 +\newcommand{\subtitle}[1]{% 3.987 + \gdef \@subtitletext {#1}} 3.988 + 3.989 +\newcommand{\authorinfo}[3]{% {names}{affiliation}{email/URL} 3.990 + \global\@increment \@authorcount 3.991 + \@withname\gdef {\@authorname\romannumeral\@authorcount}{#1}% 3.992 + \@withname\gdef {\@authoraffil\romannumeral\@authorcount}{#2}% 3.993 + \@withname\gdef {\@authoremail\romannumeral\@authorcount}{#3}} 3.994 + 3.995 +\renewcommand{\author}[1]{% 3.996 + \@latex@error{The \string\author\space command is obsolete; 3.997 + use \string\authorinfo}{}} 3.998 + 3.999 +\newcommand{\titlebanner}[1]{% 3.1000 + \gdef \@titlebanner {#1}} 3.1001 + 3.1002 +\renewcommand{\maketitle}{% 3.1003 + \pagestyle{plain}% 3.1004 + \if \@onecolumn 3.1005 + {\hsize = \standardtextwidth 3.1006 + \@maketitle}% 3.1007 + \else 3.1008 + \twocolumn[\@maketitle]% 3.1009 + \fi 3.1010 + \@placetitlenotes 3.1011 + \if \@copyrightwanted \@copyrightspace \fi} 3.1012 + 3.1013 +\def \@maketitle {% 3.1014 + \begin{center} 3.1015 + \@settitlebanner 3.1016 + \let \thanks = \titlenote 3.1017 + {\leftskip = 0pt plus 0.25\linewidth 3.1018 + \rightskip = 0pt plus 0.25 \linewidth 3.1019 + \parfillskip = 0pt 3.1020 + \spaceskip = .7em 3.1021 + \noindent \LARGE \bfseries \@titletext \par} 3.1022 + \vskip 6pt 3.1023 + \noindent \Large \@subtitletext \par 3.1024 + \vskip 12pt 3.1025 + \ifcase \@authorcount 3.1026 + \@latex@error{No authors were specified for this paper}{}\or 3.1027 + \@titleauthors{i}{}{}\or 3.1028 + \@titleauthors{i}{ii}{}\or 3.1029 + \@titleauthors{i}{ii}{iii}\or 3.1030 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{}{}\or 3.1031 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{}\or 3.1032 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}\or 3.1033 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 3.1034 + \@titleauthors{vii}{}{}\or 3.1035 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 3.1036 + \@titleauthors{vii}{viii}{}\or 3.1037 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 3.1038 + \@titleauthors{vii}{viii}{ix}\or 3.1039 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 3.1040 + \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{}{}\or 3.1041 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 3.1042 + \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{xi}{}\or 3.1043 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 3.1044 + \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{xi}{xii}% 3.1045 + \else 3.1046 + \@latex@error{Cannot handle more than 12 authors}{}% 3.1047 + \fi 3.1048 + \vspace{1.75pc} 3.1049 + \end{center}} 3.1050 + 3.1051 +\def \@settitlebanner {% 3.1052 + \if \@andp{\@preprint}{\@notp{\@emptydefp{\@titlebanner}}}% 3.1053 + \vbox to 0pt{% 3.1054 + \vskip -32pt 3.1055 + \noindent \textbf{\@titlebanner}\par 3.1056 + \vss}% 3.1057 + \nointerlineskip 3.1058 + \fi} 3.1059 + 3.1060 +\def \@titleauthors #1#2#3{% 3.1061 + \if \@andp{\@emptyargp{#2}}{\@emptyargp{#3}}% 3.1062 + \noindent \@setauthor{40pc}{#1}{\@false}\par 3.1063 + \else\if \@emptyargp{#3}% 3.1064 + \noindent \@setauthor{17pc}{#1}{\@false}\hspace{3pc}% 3.1065 + \@setauthor{17pc}{#2}{\@false}\par 3.1066 + \else 3.1067 + \noindent \@setauthor{12.5pc}{#1}{\@false}\hspace{2pc}% 3.1068 + \@setauthor{12.5pc}{#2}{\@false}\hspace{2pc}% 3.1069 + \@setauthor{12.5pc}{#3}{\@true}\par 3.1070 + \relax 3.1071 + \fi\fi 3.1072 + \vspace{20pt}} 3.1073 + 3.1074 +\def \@setauthor #1#2#3{% {width}{text}{unused} 3.1075 + \vtop{% 3.1076 + \def \and {% 3.1077 + \hspace{16pt}} 3.1078 + \hsize = #1 3.1079 + \normalfont 3.1080 + \centering 3.1081 + \large \@name{\@authorname#2}\par 3.1082 + \vspace{5pt} 3.1083 + \normalsize \@name{\@authoraffil#2}\par 3.1084 + \vspace{2pt} 3.1085 + \textsf{\@name{\@authoremail#2}}\par}} 3.1086 + 3.1087 +\def \@maybetitlenote #1{% 3.1088 + \if \@andp{#1}{\@gtrp{\@authorcount}{3}}% 3.1089 + \titlenote{See page~\pageref{@addauthors} for additional authors.}% 3.1090 + \fi} 3.1091 + 3.1092 +\newtoks{\@fnmark} 3.1093 + 3.1094 +\newcommand{\titlenote}[1]{% 3.1095 + \global\@increment \@titlenotecount 3.1096 + \ifcase \@titlenotecount \relax \or 3.1097 + \@fnmark = {\ast}\or 3.1098 + \@fnmark = {\dagger}\or 3.1099 + \@fnmark = {\ddagger}\or 3.1100 + \@fnmark = {\S}\or 3.1101 + \@fnmark = {\P}\or 3.1102 + \@fnmark = {\ast\ast}% 3.1103 + \fi 3.1104 + \,$^{\the\@fnmark}$% 3.1105 + \edef \reserved@a {\noexpand\@appendtotext{% 3.1106 + \noexpand\@titlefootnote{\the\@fnmark}}}% 3.1107 + \reserved@a{#1}} 3.1108 + 3.1109 +\def \@appendtotext #1#2{% 3.1110 + \global\@titlenotetext = \expandafter{\the\@titlenotetext #1{#2}}} 3.1111 + 3.1112 +\newcount{\@authori} 3.1113 + 3.1114 +\iffalse 3.1115 +\def \additionalauthors {% 3.1116 + \if \@gtrp{\@authorcount}{3}% 3.1117 + \section{Additional Authors}% 3.1118 + \label{@addauthors}% 3.1119 + \noindent 3.1120 + \@authori = 4 3.1121 + {\let \\ = ,% 3.1122 + \loop 3.1123 + \textbf{\@name{\@authorname\romannumeral\@authori}}, 3.1124 + \@name{\@authoraffil\romannumeral\@authori}, 3.1125 + email: \@name{\@authoremail\romannumeral\@authori}.% 3.1126 + \@increment \@authori 3.1127 + \if \@notp{\@gtrp{\@authori}{\@authorcount}} \repeat}% 3.1128 + \par 3.1129 + \fi 3.1130 + \global\@setflag \@addauthorsdone = \@true} 3.1131 +\fi 3.1132 + 3.1133 +\let \addauthorsection = \additionalauthors 3.1134 + 3.1135 +\def \@placetitlenotes { 3.1136 + \the\@titlenotetext} 3.1137 + 3.1138 +% Utilities 3.1139 +% --------- 3.1140 + 3.1141 + 3.1142 +\newcommand{\centeroncapheight}[1]{% 3.1143 + {\setbox\@tempboxa = \hbox{#1}% 3.1144 + \@measurecapheight{\@tempdima}% % Calculate ht(CAP) - ht(text) 3.1145 + \advance \@tempdima by -\ht\@tempboxa % ------------------ 3.1146 + \divide \@tempdima by 2 % 2 3.1147 + \raise \@tempdima \box\@tempboxa}} 3.1148 + 3.1149 +\newbox{\@measbox} 3.1150 + 3.1151 +\def \@measurecapheight #1{% {\dimen} 3.1152 + \setbox\@measbox = \hbox{ABCDEFGHIJKLMNOPQRSTUVWXYZ}% 3.1153 + #1 = \ht\@measbox} 3.1154 + 3.1155 +\long\def \@titlefootnote #1#2{% 3.1156 + \insert\footins{% 3.1157 + \reset@font\footnotesize 3.1158 + \interlinepenalty\interfootnotelinepenalty 3.1159 + \splittopskip\footnotesep 3.1160 + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM 3.1161 + \hsize\columnwidth \@parboxrestore 3.1162 +%%% \protected@edef\@currentlabel{% 3.1163 +%%% \csname p@footnote\endcsname\@thefnmark}% 3.1164 + \color@begingroup 3.1165 + \def \@makefnmark {$^{#1}$}% 3.1166 + \@makefntext{% 3.1167 + \rule\z@\footnotesep\ignorespaces#2\@finalstrut\strutbox}% 3.1168 + \color@endgroup}} 3.1169 + 3.1170 +% LaTeX Modifications 3.1171 +% ----- ------------- 3.1172 + 3.1173 +\def \@seccntformat #1{% 3.1174 + \@name{\the#1}% 3.1175 + \@expandaftertwice\@seccntformata \csname the#1\endcsname.\@mark 3.1176 + \quad} 3.1177 + 3.1178 +\def \@seccntformata #1.#2\@mark{% 3.1179 + \if \@emptyargp{#2}.\fi} 3.1180 + 3.1181 +% Revision History 3.1182 +% -------- ------- 3.1183 + 3.1184 + 3.1185 +% Date Person Ver. Change 3.1186 +% ---- ------ ---- ------ 3.1187 + 3.1188 +% 2004.09.12 PCA 0.1--5 Preliminary development. 3.1189 + 3.1190 +% 2004.11.18 PCA 0.5 Start beta testing. 3.1191 + 3.1192 +% 2004.11.19 PCA 0.6 Obsolete \author and replace with 3.1193 +% \authorinfo. 3.1194 +% Add 'nocopyrightspace' option. 3.1195 +% Compress article opener spacing. 3.1196 +% Add 'mathtime' option. 3.1197 +% Increase text height by 6 points. 3.1198 + 3.1199 +% 2004.11.28 PCA 0.7 Add 'cm/computermodern' options. 3.1200 +% Change default to Times text. 3.1201 + 3.1202 +% 2004.12.14 PCA 0.8 Remove use of mathptm.sty; it cannot 3.1203 +% coexist with latexsym or amssymb. 3.1204 + 3.1205 +% 2005.01.20 PCA 0.9 Rename class file to sigplanconf.cls. 3.1206 + 3.1207 +% 2005.03.05 PCA 0.91 Change default copyright data. 3.1208 + 3.1209 +% 2005.03.06 PCA 0.92 Add at-signs to some macro names. 3.1210 + 3.1211 +% 2005.03.07 PCA 0.93 The 'onecolumn' option defaults to '11pt', 3.1212 +% and it uses the full type width. 3.1213 + 3.1214 +% 2005.03.15 PCA 0.94 Add at-signs to more macro names. 3.1215 +% Allow margin paragraphs during review. 3.1216 + 3.1217 +% 2005.03.22 PCA 0.95 Implement \euro. 3.1218 +% Remove proof and newdef environments. 3.1219 + 3.1220 +% 2005.05.06 PCA 1.0 Eliminate 'onecolumn' option. 3.1221 +% Change footer to small italic and eliminate 3.1222 +% left portion if no \preprintfooter. 3.1223 +% Eliminate copyright notice if preprint. 3.1224 +% Clean up and shrink copyright box. 3.1225 + 3.1226 +% 2005.05.30 PCA 1.1 Add alternate permission statements. 3.1227 + 3.1228 +% 2005.06.29 PCA 1.1 Publish final first edition of guide. 3.1229 + 3.1230 +% 2005.07.14 PCA 1.2 Add \subparagraph. 3.1231 +% Use block paragraphs in lists, and adjust 3.1232 +% spacing between items and paragraphs. 3.1233 + 3.1234 +% 2006.06.22 PCA 1.3 Add 'reprint' option and associated 3.1235 +% commands. 3.1236 + 3.1237 +% 2006.08.24 PCA 1.4 Fix bug in \maketitle case command. 3.1238 + 3.1239 +% 2007.03.13 PCA 1.5 The title banner only displays with the 3.1240 +% 'preprint' option. 3.1241 + 3.1242 +% 2007.06.06 PCA 1.6 Use \bibfont in \thebibliography. 3.1243 +% Add 'natbib' option to load and configure 3.1244 +% the natbib package. 3.1245 + 3.1246 +% 2007.11.20 PCA 1.7 Balance line lengths in centered article 3.1247 +% title (thanks to Norman Ramsey). 3.1248 + 3.1249 +% 2009.01.26 PCA 1.8 Change natbib \bibpunct values. 3.1250 + 3.1251 +% 2009.03.24 PCA 1.9 Change natbib to use the 'numbers' option. 3.1252 +% Change templates to use 'natbib' option. 3.1253 + 3.1254 +% 2009.09.01 PCA 2.0 Add \reprintprice command (suggested by 3.1255 +% Stephen Chong). 3.1256 + 3.1257 +% 2009.09.08 PCA 2.1 Make 'natbib' the default; add 'nonatbib'. 3.1258 +% SB Add 'authoryear' and 'numbers' (default) to 3.1259 +% control citation style when using natbib. 3.1260 +% Add \bibpunct to change punctuation for 3.1261 +% 'authoryear' style. 3.1262 + 3.1263 +% 2009.09.21 PCA 2.2 Add \softraggedright to the thebibliography 3.1264 +% environment. Also add to template so it will 3.1265 +% happen with natbib. 3.1266 + 3.1267 +% 2009.09.30 PCA 2.3 Remove \softraggedright from thebibliography. 3.1268 +% Just include in the template. 3.1269 + 3.1270 +% 2010.05.24 PCA 2.4 Obfuscate author's email address. 3.1271 + 3.1272 +% 2011.11.08 PCA 2.5 Add copyright notice to this file. 3.1273 +% Remove 'sort' option from natbib when using 3.1274 +% 'authoryear' style. 3.1275 +% Add the \authorversion command. 3.1276 +
