% LaTeX document style for X Technical Conference papers.
% $XConsortium: xconf.sty,v 3.0 93/11/18 12:25:53 gildea Exp $

% Based on the ``Guidelines for Authors'' for the 8th Annual
% X Technical Conference, by O'Reilly & Associates.

% Use with LaTeX version 2.09:
% \documentstyle{xconf}
% See xconf-samp.tex for a sample paper using these macros.

% Copyright (c) 1991,1992,1993 by the Massachusetts Institute of Technology
%
% Permission to use, copy, modify, and distribute this software and its
% documentation for any purpose and without fee is hereby granted, provided 
% that the above copyright notice appear in all copies and that both that 
% copyright notice and this permission notice appear in supporting 
% documentation, and that the name of M.I.T. not be used in advertising
% or publicity pertaining to distribution of the software without specific, 
% written prior permission. M.I.T. makes no representations about the 
% suitability of this software for any purpose.  It is provided "as is"
% without express or implied warranty.
%
% By Stephen Gildea, MIT X Consortium, November 1991
% Updated for 93 conference, Sep 92
% Updated for 94 conference, Nov 93

% force 12pt option, which also has 14.5 leading
\xdef\@optionlist{12pt\ifx\@optionlist\@empty \else ,\@optionlist\fi}

\input article.sty		%xconf papers look much like articles

\newdimen \titleheight
\newdimen \titleauthorheight
\newdimen \titlewidth


%%%%%% Variables section %%%%%%

% These variables affect the placement of various items on the page.

% If your printer does not position the text correctly on the paper
% and you can't fix it any other way, you can use the \voffset and
% \hoffset commands to move the text.  For example, to move everything
% down 1/4 inch, add this:
% \voffset=.25in

% Margins:
% 1 column, 6.5" wide, 9" deep
% Left/right margins: 1"
% Top/bottom margins: 1"
\textwidth 6.5in
\textheight 9in
\oddsidemargin 0in
\topmargin 0in

% Title positioning:
\titleheight 2.5in		%includes title and optional subtitle
\titlewidth 5.5in

%Abstract is this far down
\titleauthorheight 3.5in

%%%%%% end of variables section %%%%%%

%no running headers
\headheight 0pt
\headsep 0pt

% Section spacing:
% for 1st level heading (A Heads), use \section
% for 2nd level heading (B Heads), use \subsection
% for 3rd level heading (C Heads), use \subsubsection
\setcounter{secnumdepth}{0}	%no section numbers
\def\section{\@startsection{section}{1}{\z@}{6.5pt}{1pt}%
   {\sectionfont}}
\def\subsection{\@startsection{subsection}{2}{\z@}{2.5pt}{1pt}%
   {\subsectionfont}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{2.5pt}{1pt}%
   {\subsubsectionfont}}

% Paragraph Formatting:
\parskip=5.5pt
\parindent=0pt

\advance\titleauthorheight-\parskip  %undo \parskip between title and Abstract

% Additional font sizes:
% Only italic and roman faces are supported in these sizes.
\def\@size#1pt{ at #1pt}

% need 28pt for the title
\font\twegit = ptmri \@size28pt
\font\twegrm = ptmr \@size28pt
\def\xxviiipt{\def\prm{\fam\z@\twegrm}\def\pit{\fam\itfam\twegit}%
  \textfont\itfam\twegit}
\def\@xxviiipt{}

% need 16pt for A heads
\font\sxtnit = ptmri \@size16pt
\font\sxtnrm = ptmr \@size16pt
\def\xvipt{\def\prm{\fam\z@\sxtnrm}\def\pit{\fam\itfam\sxtnit}%
  \textfont\itfam\sxtnit}
\def\@xvipt{}

% Fonts:
\def\titlefont{\@setsize\titlefont{30pt}\xxviiipt\@xxvpt \it}
\def\subtitlefont{\@setsize\subtitlefont{24pt}\xxpt\@xxpt \it}
\def\authorfont{\@setsize\authorfont{16pt}\xivpt\@xivpt \it}
\def\sectionfont{\@setsize\sectionfont{18pt}\xvipt\@xviipt \it}
\def\subsectionfont{\@setsize\subsectionfont{16pt}\xivpt\@xivpt \it}
\def\subsubsectionfont{\@setsize\subsubsectionfont{14pt}\xiipt\@xiipt \it}
\def\captionfont{\subsubsectionfont}
\def\affiliationfont{\@setsize\affiliationfont{12pt}\xpt\@xpt \it}

% Titles:
\newif\if@subtitle \@subtitlefalse
\def\subtitle#1{\gdef\@subtitle{#1}\@subtitletrue}

\def\maketitle{{\centering
  \vbox to \titleauthorheight{%box for title and author
    \hbox to \hsize{%
      \hfil
      %box for title
      \hbox to \titlewidth{{\hsize=\titlewidth
	\hfil
	\vbox to \titleheight{%
	  \vfil
	  \vbox{\titlefont\@title}
	  \if@subtitle\vfil\vbox{\subtitlefont\@subtitle}\fi
	  \vfil}%
	\hfil}}%
      \hfil}%close the title box
    \vfil\vbox{\authorfont\@author}\vfil}}}

% Author Affiliation Info:
% define a new float type that floats to the bottom
\def\fps@auth@rinfo{b}
\def\ftype@auth@rinfo{4}	%types 1 and 2 are used by article.sty
\def\auth@rinfo{\@float{auth@rinfo}}
\let\endauth@rinfo\end@float

\def\authorfootnote#1{\begin{auth@rinfo}\footnoterule
  \affiliationfont #1\end{auth@rinfo}}

%push footnotes to the bottom of the page
\textfloatsep 20pt plus 1fil minus 4pt

% Abstract:
% Redefine the existing abstract environment.
% Like \section but without the normal section spacing above.
\def\abstract{\@startsection{section}{1}{\z@}{\z@}{1pt}%
   {\sectionfont}{Abstract}}
\def\endabstract{\par}

% Author biography (the last section):
\def\biography{\section{Author Information}}

% Captions:
% this is a variation of the command in article.sty to use \captionfont
\long\def\@makecaption#1#2{\captionfont
 \vskip 10pt 
 \setbox\@tempboxa\hbox{#1: #2}
 \ifdim \wd\@tempboxa >\hsize #1: #2\par \else \hbox
to\hsize{\hfil\box\@tempboxa\hfil} 
 \fi}

% Page numbers:
% Page numbers should appear outside the text box.  This is only to
% help the production people collate the paper correctly; a different
% number will appear in the proceedings.
\def\@oddfoot{\hfil \rm\thepage}

% end of xconf.sty
