Removing some artifacts from the old latex resume
							parent
							
								
									95de19315d
								
							
						
					
					
						commit
						a42221678e
					
				
											
												Binary file not shown.
											
										
									
								@ -1,803 +0,0 @@
 | 
				
			|||||||
% RESUME DOCUMENT STYLE -- Released 23 Nov 1989
 | 
					 | 
				
			||||||
%    for LaTeX version 2.09
 | 
					 | 
				
			||||||
% Copyright (C) 1988,1989 by Michael DeCorte
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\typeout{Document Style `res' <26 Sep 89>.}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% res.sty
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% \documentstyle{res}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% Copyright (c) 1988 by Michael DeCorte
 | 
					 | 
				
			||||||
% Permission to copy all or part of this work is granted, provided
 | 
					 | 
				
			||||||
% that the copies are not made or distributed for resale, and that
 | 
					 | 
				
			||||||
% the copyright notice and this notice are retained.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% THIS WORK IS PROVIDED ON AN "AS IS" BASIS.  THE AUTHOR PROVIDES NO
 | 
					 | 
				
			||||||
% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK,
 | 
					 | 
				
			||||||
% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS
 | 
					 | 
				
			||||||
% FOR ANY PARTICULAR PURPOSE.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% If you make any improvements, I'd like to hear about them.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% Michael DeCorte
 | 
					 | 
				
			||||||
% P.O. Box 652
 | 
					 | 
				
			||||||
% Potsdam NY 13676
 | 
					 | 
				
			||||||
% mrd@sun.soe.clarkson.edu
 | 
					 | 
				
			||||||
% mrd@clutx.bitnet
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% Changes for LaTeX2e -- Venkat Krishnamurthy (Aug 7, 2001)
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% You can have multiple style options the legal options ones are:
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   centered	the name and address are centered at the top of the
 | 
					 | 
				
			||||||
%		page (default)
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   line	the name is the left with a horizontal line then 
 | 
					 | 
				
			||||||
%		the address to the right
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   overlapped	the section titles overlap the body text (default)
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   margin	the section titles are to the left of the body text
 | 
					 | 
				
			||||||
%		
 | 
					 | 
				
			||||||
%   11pt	use 11 point fonts instead of 10 point fonts
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   12pt	use 12 point fonts instead of 10 point fonts
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
%   Commands
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
%   \Resume	prints the word resume but typeset nicely
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   \newsectionwidth{dimen}
 | 
					 | 
				
			||||||
%		defines the amount of space the labels extend
 | 
					 | 
				
			||||||
%		into the left margin.
 | 
					 | 
				
			||||||
%		DO NOT TRY to change any of the dimensions
 | 
					 | 
				
			||||||
%		yourself.  You will probably confuse the style file.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   \name{text} defines your name
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   \address{text}
 | 
					 | 
				
			||||||
%		defines your address
 | 
					 | 
				
			||||||
%		this can be called twice if you have two addresses
 | 
					 | 
				
			||||||
%		use \\'s to indicate where either line breaks or
 | 
					 | 
				
			||||||
%		comas should go
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   \opening	this prints your name and address at that spot
 | 
					 | 
				
			||||||
%		this is not normally needed, as \begin{resume}
 | 
					 | 
				
			||||||
%		does this but is provided just in case you need
 | 
					 | 
				
			||||||
%		to do something odd
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   \begin{resume} ... \end{resume}
 | 
					 | 
				
			||||||
%		all of the resume should go inside of this
 | 
					 | 
				
			||||||
%		environment
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   \section{text}
 | 
					 | 
				
			||||||
%		This prints 'text' in the left hand margin.
 | 
					 | 
				
			||||||
%		Its exact placement depends on what the style 
 | 
					 | 
				
			||||||
%		options has been set to. (overlapped or margin)
 | 
					 | 
				
			||||||
%		You should use \\ to start a new line.	If the
 | 
					 | 
				
			||||||
%		style option is margin, the \\ is converted
 | 
					 | 
				
			||||||
%		to a space.
 | 
					 | 
				
			||||||
%		To use this in any of the list environments, put
 | 
					 | 
				
			||||||
%		the \section after the \item[] but before the 
 | 
					 | 
				
			||||||
%		text.
 | 
					 | 
				
			||||||
%		Eg.
 | 
					 | 
				
			||||||
%		\begin{itemize}
 | 
					 | 
				
			||||||
%		\item\section{text}
 | 
					 | 
				
			||||||
%		text
 | 
					 | 
				
			||||||
%		\end{itemize}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   \begin{ncolumn}{n} ... \end{ncolumn}
 | 
					 | 
				
			||||||
%		creates a tabular environment with n equally
 | 
					 | 
				
			||||||
%		spaced columns.  Separate columns by & and
 | 
					 | 
				
			||||||
%		end them with \\
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   \begin{position} ... \end{position}
 | 
					 | 
				
			||||||
%		this is used to print a job description.  There should
 | 
					 | 
				
			||||||
%		be only one job description in it.  Information
 | 
					 | 
				
			||||||
%		related to the job (such as title, dates...) will
 | 
					 | 
				
			||||||
%		be printed.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%   \begin{format} ... \end{format}
 | 
					 | 
				
			||||||
%		used to change the default format for the position
 | 
					 | 
				
			||||||
%		environment.  Within it the recognized commands are:
 | 
					 | 
				
			||||||
%		\title{option}
 | 
					 | 
				
			||||||
%		\employer{option}
 | 
					 | 
				
			||||||
%		\location{option}
 | 
					 | 
				
			||||||
%		\dates{option}
 | 
					 | 
				
			||||||
%		\body
 | 
					 | 
				
			||||||
%		\\
 | 
					 | 
				
			||||||
%		where option is one of l,r,c standing for left, right, center.
 | 
					 | 
				
			||||||
%		The format will eventually be used to make several
 | 
					 | 
				
			||||||
%		tabular environments and you are defining the number of columns
 | 
					 | 
				
			||||||
%		and the placement of text within the columns of the tabulars.
 | 
					 | 
				
			||||||
%		Each row is terminated by a \\.  Any number of options can 
 | 
					 | 
				
			||||||
%		be on a line, they will each be set in their own columns.
 | 
					 | 
				
			||||||
%		Any of the options except \body may be left out.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%		Eg.
 | 
					 | 
				
			||||||
%		\begin{format}
 | 
					 | 
				
			||||||
%		\title{l}\employer{r}\\
 | 
					 | 
				
			||||||
%		\dates{r}\\
 | 
					 | 
				
			||||||
%		\body\\
 | 
					 | 
				
			||||||
%		\location{l}\\
 | 
					 | 
				
			||||||
%		\end{format}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%		In this example the title and employer information
 | 
					 | 
				
			||||||
%		are set in 2 columns left justified and right justified
 | 
					 | 
				
			||||||
%		respectively.  Then the date is set right justified.
 | 
					 | 
				
			||||||
%		Then the body is set.  Then the location is set left
 | 
					 | 
				
			||||||
%		justified.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% \employer{text}
 | 
					 | 
				
			||||||
% \title{text}
 | 
					 | 
				
			||||||
% \dates{text}
 | 
					 | 
				
			||||||
% \location{text}
 | 
					 | 
				
			||||||
%		declare text for the next invocation of the position
 | 
					 | 
				
			||||||
%		environment
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% Glue
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% sectionskip	the amount of horizontal before a section
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% Dimensions
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% sectionwidth	the amount that the section titles go in the
 | 
					 | 
				
			||||||
%		left margin
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% resumewidth	the width of the total resume from the left
 | 
					 | 
				
			||||||
%		margin to the right.  Don't use textwidth
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% Definitions
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% sectionfont	the font used to print section titles
 | 
					 | 
				
			||||||
%		use \renewcommand to change it
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% namefont	the font used to print your name
 | 
					 | 
				
			||||||
%		use \renewcommand to change it
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% THINGS TO DO
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% add lm,rm options to format style to allow things to be placed
 | 
					 | 
				
			||||||
% in the left or right margin respectivly
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% add capability so that \body doesn't have to be proceeded (followed)
 | 
					 | 
				
			||||||
% by a \\ allowing part of the description (eg. location) to be the
 | 
					 | 
				
			||||||
% first (last) thing of the body
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% clean up the list building procedures
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% write docs to tell people how to use this
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
 | 
					 | 
				
			||||||
\ProvidesClass{res}[2000/05/19 v1.4b Resume class]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
 | 
					 | 
				
			||||||
%\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\PassOptionsToClass{11pt,12pt}{article}
 | 
					 | 
				
			||||||
\LoadClassWithOptions{article}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\newif\if@line
 | 
					 | 
				
			||||||
\newif\if@margin
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\DeclareOption{line}{\@linetrue}
 | 
					 | 
				
			||||||
\DeclareOption{centered}{\@linefalse}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\DeclareOption{margin}{\@margintrue}
 | 
					 | 
				
			||||||
\DeclareOption{overlapped}{\@marginfalse}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\ExecuteOptions{overlapped,centered}
 | 
					 | 
				
			||||||
\ProcessOptions\relax
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\nofiles	     % resume's don't need .aux files
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\newtoks\tabular@text		    % holds the current list being processed
 | 
					 | 
				
			||||||
\newtoks\tabular@head		    % holds the head tabular list
 | 
					 | 
				
			||||||
\newtoks\tabular@tail		    % holds the tail tabular list
 | 
					 | 
				
			||||||
\newtoks\@ta			    % used by \@append
 | 
					 | 
				
			||||||
\newtoks\undefined@token\undefined@token={}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% prints a centered name with the address centered
 | 
					 | 
				
			||||||
% or the two address on opposite sides of the page
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\@printcentername{\begingroup
 | 
					 | 
				
			||||||
  % print the name centered
 | 
					 | 
				
			||||||
  \leavevmode\hbox to \textwidth{\hfil\@tablebox{\namefont\@name}\hfil}\par
 | 
					 | 
				
			||||||
  \@ifundefined{@addressone}{%
 | 
					 | 
				
			||||||
    % do nothing
 | 
					 | 
				
			||||||
  }{%
 | 
					 | 
				
			||||||
    \@ifundefined{@addresstwo}{
 | 
					 | 
				
			||||||
      % only one address
 | 
					 | 
				
			||||||
      \leavevmode\hbox to \textwidth{\hfil\@tablebox{\@addressone}\hfil}\par
 | 
					 | 
				
			||||||
    }{
 | 
					 | 
				
			||||||
      % two addresses
 | 
					 | 
				
			||||||
      \leavevmode\hbox to \textwidth{\@tablebox{\@addressone}\hfil
 | 
					 | 
				
			||||||
				     \@tablebox{\@addresstwo}}\par
 | 
					 | 
				
			||||||
    }%
 | 
					 | 
				
			||||||
  }%
 | 
					 | 
				
			||||||
\endgroup}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% this is used to print the name and address at the top of
 | 
					 | 
				
			||||||
% the page with a hline in between
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\namefont{\large\bf}
 | 
					 | 
				
			||||||
\def\@linename{\begingroup
 | 
					 | 
				
			||||||
  \def\\{, }
 | 
					 | 
				
			||||||
  {\namefont\@name}
 | 
					 | 
				
			||||||
  \vskip 2pt
 | 
					 | 
				
			||||||
  \fullline
 | 
					 | 
				
			||||||
  \vskip 2pt
 | 
					 | 
				
			||||||
  % where do you live?
 | 
					 | 
				
			||||||
  \@ifundefined{@addressone}{%
 | 
					 | 
				
			||||||
    % do nothing
 | 
					 | 
				
			||||||
  }{%
 | 
					 | 
				
			||||||
    \leavevmode\hbox to \textwidth
 | 
					 | 
				
			||||||
      {\hfill\vbox{\hbox{\@addressone}
 | 
					 | 
				
			||||||
		   \hbox{\@addresstwo}
 | 
					 | 
				
			||||||
		  }%
 | 
					 | 
				
			||||||
      }\par
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
\endgroup}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% HEADINGS:
 | 
					 | 
				
			||||||
% There are two types of headings:
 | 
					 | 
				
			||||||
% 1) one with the name centered and the address centered or
 | 
					 | 
				
			||||||
%    in the left and right side if there are two address
 | 
					 | 
				
			||||||
% 2) one where the name is in the upper left corner 
 | 
					 | 
				
			||||||
%    the a line accross the paper
 | 
					 | 
				
			||||||
%    then the address all on one line in the right corner
 | 
					 | 
				
			||||||
%    the second address will be directly below the first if defined
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\let\print@name\relax
 | 
					 | 
				
			||||||
\def\ds@centered{\ifx\print@name\relax\let\print@name\@printcentername\fi}
 | 
					 | 
				
			||||||
\def\ds@line{\ifx\print@name\relax\let\print@name\@linename\fi}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% Use this to set the sectionwidth.
 | 
					 | 
				
			||||||
% It adjust the width of the text as well as the hoffset
 | 
					 | 
				
			||||||
% You probably shouldn't touch any of the size paramaters
 | 
					 | 
				
			||||||
% unless you really understand all of this but it is not
 | 
					 | 
				
			||||||
% hard.  Either way, it can only be executed once
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\sectionfont{\bf}
 | 
					 | 
				
			||||||
\newdimen\sectionwidth
 | 
					 | 
				
			||||||
\newskip\sectionskip
 | 
					 | 
				
			||||||
\newdimen\resumewidth
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\resumewidth=6.5in
 | 
					 | 
				
			||||||
\sectionskip=3.5ex plus 1ex minus -.2ex % values stolen from LaTeX
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\def\newsectionwidth#1{%
 | 
					 | 
				
			||||||
		     \sectionwidth=#1
 | 
					 | 
				
			||||||
		     \textwidth=\resumewidth
 | 
					 | 
				
			||||||
		     \advance\textwidth-\sectionwidth
 | 
					 | 
				
			||||||
		     \hsize=\textwidth
 | 
					 | 
				
			||||||
		     \hoffset=\sectionwidth
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% This is for sectiontitles that are entirely in the left margin.
 | 
					 | 
				
			||||||
% multiline sectiontitles are permited and will be broken by
 | 
					 | 
				
			||||||
% \TeX{} to fit into a box \verb|\sectionwidth| wide.  It is advised
 | 
					 | 
				
			||||||
% that \verb|\\| be used to break the lines by hand as \TeX{} will
 | 
					 | 
				
			||||||
% probably not do what you want.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% When using this with {\tt tabbing} and {\tt list} (or anything
 | 
					 | 
				
			||||||
% that is made out of {\tt list}) put the \section's inside of
 | 
					 | 
				
			||||||
% the \verb|\begin{}|  and the \verb|\item|Eg.
 | 
					 | 
				
			||||||
% \begin{verbatim}
 | 
					 | 
				
			||||||
% \begin{trivlist}
 | 
					 | 
				
			||||||
% \item[]
 | 
					 | 
				
			||||||
% \section{foo}
 | 
					 | 
				
			||||||
% text
 | 
					 | 
				
			||||||
% \end{trivlist}
 | 
					 | 
				
			||||||
% \end{verbatim}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\boxed@sectiontitle#1{%
 | 
					 | 
				
			||||||
  % this macro may be called in a tabular.  Special code must be written
 | 
					 | 
				
			||||||
  % to accomodate this.  In LaTeX, a tabular is made out of hboxes.
 | 
					 | 
				
			||||||
  % TeX never goes into horizontal mode because of this; it only
 | 
					 | 
				
			||||||
  % gets into vertical mode and restricted horizontal mode.  Certain 
 | 
					 | 
				
			||||||
  % indenting problems must be handled because of this.  They
 | 
					 | 
				
			||||||
  % are delt with at the end of this routine.
 | 
					 | 
				
			||||||
  % It is also necessary to close the hbox that was created before
 | 
					 | 
				
			||||||
  % the \section and create a new one when this macro has ended.
 | 
					 | 
				
			||||||
  % This macro therefore simulates a \kill, so that any text before
 | 
					 | 
				
			||||||
  % the \section not be printed.  The proper use is therefore
 | 
					 | 
				
			||||||
  % ...
 | 
					 | 
				
			||||||
  % text\\
 | 
					 | 
				
			||||||
  % \section{foo}
 | 
					 | 
				
			||||||
  % more text\\
 | 
					 | 
				
			||||||
  % ...
 | 
					 | 
				
			||||||
  \ifx\\\@tabcr    % is this in a tabular? (this *should* work but is a cludge)
 | 
					 | 
				
			||||||
    \@stopfield    % the is the first part of a \kill
 | 
					 | 
				
			||||||
   \else
 | 
					 | 
				
			||||||
     \@@par	     % This will end the previous paragraph if needed and
 | 
					 | 
				
			||||||
		   % go into vertical mode.  If this was already in
 | 
					 | 
				
			||||||
		   % vertical mode then the \par does nothing.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  \fi
 | 
					 | 
				
			||||||
  \begingroup
 | 
					 | 
				
			||||||
  \everypar={}%
 | 
					 | 
				
			||||||
  \def\par{\@@par}%
 | 
					 | 
				
			||||||
  \let\\=\@normalcr
 | 
					 | 
				
			||||||
  \addpenalty{\@secpenalty} % this would be a good place for a page break
 | 
					 | 
				
			||||||
			    % \@secpenalty is what LaTeX uses before its
 | 
					 | 
				
			||||||
			    % section's.  It happens to be -300
 | 
					 | 
				
			||||||
  \addvspace{\sectionskip}  % put in a bit of glue
 | 
					 | 
				
			||||||
  % The following hbox will be contributed to the page list without going
 | 
					 | 
				
			||||||
  % into horizontal mode.  Therefore, any \parindent's, \parshape's, \leftskip
 | 
					 | 
				
			||||||
  % will be ignored but \hoffset's are not.  The result is that the box will
 | 
					 | 
				
			||||||
  % only by \hoffset. This is what I want
 | 
					 | 
				
			||||||
  \hbox to 0pt{%
 | 
					 | 
				
			||||||
    \hss	 % this is an llap.  In other words, this glue
 | 
					 | 
				
			||||||
		 % will shrink by the width of the stuff in the vbox
 | 
					 | 
				
			||||||
		 % (\sectionwidth) into the left margin and then
 | 
					 | 
				
			||||||
		 % insert the contents of the vbox.
 | 
					 | 
				
			||||||
    \vtop to 0pt{% make a 0pt height paragraph, with the baseline at the
 | 
					 | 
				
			||||||
		 % lined up with the baseline of the first box in the list
 | 
					 | 
				
			||||||
      \leftskip=0pt
 | 
					 | 
				
			||||||
      \hsize=\sectionwidth
 | 
					 | 
				
			||||||
      \textwidth=\sectionwidth
 | 
					 | 
				
			||||||
      \raggedright     % you don't want this filled out to the right margin
 | 
					 | 
				
			||||||
      \sectionfont
 | 
					 | 
				
			||||||
      #1\vss	       % Go into horizontal mode; do the paragraph;
 | 
					 | 
				
			||||||
		       % go into vertical mode; add some negative glue 
 | 
					 | 
				
			||||||
		       % to give a box of 0pt height and depth
 | 
					 | 
				
			||||||
    }%
 | 
					 | 
				
			||||||
  }%
 | 
					 | 
				
			||||||
  \addpenalty{-\@secpenalty} % this would be a bad place for a page break
 | 
					 | 
				
			||||||
  \vskip-\baselineskip % when the next box is processed, baselineskip glue
 | 
					 | 
				
			||||||
		       % glue will be added (the box has no depth because of
 | 
					 | 
				
			||||||
		       % the \vss; therefore, we don't have to worry about
 | 
					 | 
				
			||||||
		       % \lineskiplimit).  This -\baselineskip glue
 | 
					 | 
				
			||||||
		       % is to undo this.  \nointerlineskip doesn't
 | 
					 | 
				
			||||||
		       % work because the baseline of this line would be lined
 | 
					 | 
				
			||||||
		       % up with the top of the top of the next box.  We
 | 
					 | 
				
			||||||
		       % want the baselines lined up.
 | 
					 | 
				
			||||||
		       %
 | 
					 | 
				
			||||||
		       % It may have been possible to do this by forcing the
 | 
					 | 
				
			||||||
		       % baseline of this box to be the top of the box but
 | 
					 | 
				
			||||||
		       % then the interline skip between this box and the
 | 
					 | 
				
			||||||
		       % previous box would be off as the baselines of the
 | 
					 | 
				
			||||||
		       % this box (the one that being made above) and the
 | 
					 | 
				
			||||||
		       % previous line would be separated by \baselineskip
 | 
					 | 
				
			||||||
		       % (probably, it may be separted by the depth of the
 | 
					 | 
				
			||||||
		       % previous box + \lineskip) but as the baseline of
 | 
					 | 
				
			||||||
		       % this box has been moved to the top, the box's would
 | 
					 | 
				
			||||||
		       % separted by to much glue.  The exact amount being
 | 
					 | 
				
			||||||
		       % the height of this box.
 | 
					 | 
				
			||||||
  \endgroup
 | 
					 | 
				
			||||||
  \ifx\\\@tabcr   % is this in a tabular? (this *should* work but is a cludge)
 | 
					 | 
				
			||||||
    % this is the second part of the \kill; it starts the next tabbing line
 | 
					 | 
				
			||||||
    % Because this routine will never get into paragraph mode when used in
 | 
					 | 
				
			||||||
    % tabbing the \parskip that is discussed below will never be inserted.
 | 
					 | 
				
			||||||
    % Therefore it should not be negated as done below.
 | 
					 | 
				
			||||||
    \@startline
 | 
					 | 
				
			||||||
    \ignorespaces
 | 
					 | 
				
			||||||
  \else
 | 
					 | 
				
			||||||
    \vskip-\parskip    % The next thing to be contributed will be a paragraph.
 | 
					 | 
				
			||||||
		       % Right before being contributed though a \vskip\parskip
 | 
					 | 
				
			||||||
		       % will be inserted.  This is to negate it.
 | 
					 | 
				
			||||||
		       %
 | 
					 | 
				
			||||||
		       % I do consider this to be a bit of a cludge but
 | 
					 | 
				
			||||||
		       % I can not find a way to write \unskipfutureskip
 | 
					 | 
				
			||||||
		       % or a way to make TeX think that nothing has
 | 
					 | 
				
			||||||
		       % been contributed to the page list.
 | 
					 | 
				
			||||||
  \fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% This is for sectiontitles that are entirely above the section text
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\unboxed@sectiontitle#1{%
 | 
					 | 
				
			||||||
  \ifx\\\@tabcr % see boxed@sectiontitle for explation
 | 
					 | 
				
			||||||
    \@stopfield
 | 
					 | 
				
			||||||
   \else
 | 
					 | 
				
			||||||
     \@@par
 | 
					 | 
				
			||||||
  \fi
 | 
					 | 
				
			||||||
  \begingroup
 | 
					 | 
				
			||||||
  \everypar={}%
 | 
					 | 
				
			||||||
  \def\par{\@@par}%
 | 
					 | 
				
			||||||
  \def\\{ }
 | 
					 | 
				
			||||||
  \addpenalty{\@secpenalty}
 | 
					 | 
				
			||||||
  \addvspace{\sectionskip}
 | 
					 | 
				
			||||||
  \hbox to 0pt{\hss\hbox to \sectionwidth{\sectionfont#1\hss}}
 | 
					 | 
				
			||||||
  \addpenalty{-\@secpenalty} % this would be a bad place for a page break
 | 
					 | 
				
			||||||
  \endgroup
 | 
					 | 
				
			||||||
  \ifx\\\@tabcr   % see boxed@sectiontitle for explation
 | 
					 | 
				
			||||||
    \@startline
 | 
					 | 
				
			||||||
  \else
 | 
					 | 
				
			||||||
    \vskip-\parskip
 | 
					 | 
				
			||||||
  \fi
 | 
					 | 
				
			||||||
  \ignorespaces
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% There are two types of section headings:
 | 
					 | 
				
			||||||
% 1) the section heading is all on one line and directly
 | 
					 | 
				
			||||||
%    below it, is the body of the text
 | 
					 | 
				
			||||||
% 2) the section heading is entirely in the left margin
 | 
					 | 
				
			||||||
%    (possibly taking multiple lines) with the body of
 | 
					 | 
				
			||||||
%    the text next to it
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\let\@@section\relax
 | 
					 | 
				
			||||||
\def\ds@overlapped{\ifx\@@section\relax\newsectionwidth{0.5in}\let
 | 
					 | 
				
			||||||
  \@@section\unboxed@sectiontitle\fi}
 | 
					 | 
				
			||||||
\def\ds@margin{\ifx\@@section\relax\newsectionwidth{1.3in}\let
 | 
					 | 
				
			||||||
  \@@section\boxed@sectiontitle\fi}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% DEFAULTS: (some of them)
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% centered name
 | 
					 | 
				
			||||||
% overlapped section titles
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% format is:
 | 
					 | 
				
			||||||
%    title	 employer
 | 
					 | 
				
			||||||
%    location	 dates
 | 
					 | 
				
			||||||
%    body
 | 
					 | 
				
			||||||
% with everything in the left of its column
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%\input article.sty
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\if@line\ds@line\else\ds@centered\fi
 | 
					 | 
				
			||||||
\if@margin\ds@margin\else\ds@overlapped\fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% typeset resume all nice and pretty
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\Resume{{R\'{e}sum\'{e}}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% makes a line of width \textwidth starting at -\hoffset
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\fullline{		% hrules only listen to \hoffset
 | 
					 | 
				
			||||||
  \nointerlineskip	% so I have this code	  
 | 
					 | 
				
			||||||
  \moveleft\hoffset\vbox{\hrule width\textwidth} 
 | 
					 | 
				
			||||||
  \nointerlineskip
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% create a multiline box.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\@tablebox#1{\begin{tabular}[t]{@{}l@{\extracolsep{\fill}}}#1\end{tabular}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% use this to define your name
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\name#1{\def\@name{#1}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\def\@name{}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% use this to define your address, this may be called more than once.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\let\@addressone\relax
 | 
					 | 
				
			||||||
\let\@addresstwo\relax
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\def\address#1{
 | 
					 | 
				
			||||||
  \@ifundefined{@addressone}{\def\@addressone{#1}}{\def\@addresstwo{#1}}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% if you want to print your name and address is a slightly
 | 
					 | 
				
			||||||
% different format than sugessted, then this can be used
 | 
					 | 
				
			||||||
% to place it exactly where you want
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\opening{\def\@opening{}
 | 
					 | 
				
			||||||
  \begingroup
 | 
					 | 
				
			||||||
  \leftskip=-\hoffset	     % I use leftskip to move things to the left as 
 | 
					 | 
				
			||||||
  \advance\textwidth\hoffset % changing hoffset doesn't work. But this
 | 
					 | 
				
			||||||
  \hsize=\textwidth	     % doesn't really work as hboxes are rules
 | 
					 | 
				
			||||||
			     % are unaffeted
 | 
					 | 
				
			||||||
  \let\par=\@@par
 | 
					 | 
				
			||||||
  \parindent=0pt
 | 
					 | 
				
			||||||
  \parskip=0pt
 | 
					 | 
				
			||||||
  \print@name
 | 
					 | 
				
			||||||
  \endgroup
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% all of the resume goes in the resume environment
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\newenvironment{resume}{\begingroup
 | 
					 | 
				
			||||||
		       \@ifundefined{@opening}{\opening}{}
 | 
					 | 
				
			||||||
}{\endgroup}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% gives you a tabular environment with n equally spaced columns
 | 
					 | 
				
			||||||
% \begin{ncolumn}{#} ... \end{ncolumn}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% The p option of LaTeX is broken in all but the newest verion
 | 
					 | 
				
			||||||
% of latex.tex, this is how to fix it
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\@endpbox{\par\egroup\hfil}
 | 
					 | 
				
			||||||
\let\@@endpbox=\@endpbox
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\newdimen\@columnwidth	  % the width of each column equal to
 | 
					 | 
				
			||||||
\def\ncolumn#1{%
 | 
					 | 
				
			||||||
  % \@columnwidth = \textwidth / #1
 | 
					 | 
				
			||||||
  \@columnwidth=\textwidth \divide\@columnwidth by #1
 | 
					 | 
				
			||||||
  \begin{tabular*}{\textwidth}[t]%
 | 
					 | 
				
			||||||
	{*{#1}{@{}p{\@columnwidth}@{\extracolsep{\fill}}}}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\def\endncolumn{\end{tabular*}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
%   \employer{text} defines employer to be text
 | 
					 | 
				
			||||||
%   \location{text} defines location to be text
 | 
					 | 
				
			||||||
%   \dates{text}    defines dates    to be text
 | 
					 | 
				
			||||||
%   \title{text}    defines title    to be text
 | 
					 | 
				
			||||||
%   \body
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\def\employer#1{\def\@employer{\print@employer{#1}}}
 | 
					 | 
				
			||||||
\def\location#1{\def\@location{\print@location{#1}}}
 | 
					 | 
				
			||||||
\def\dates#1{\def\@dates{\print@dates{#1}}}
 | 
					 | 
				
			||||||
\def\title#1{\def\@title{\print@title{#1}}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\let\l@justify\raggedright
 | 
					 | 
				
			||||||
\let\r@justify\raggedleft
 | 
					 | 
				
			||||||
\let\c@justify\centering
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% \@format{name}{justify}
 | 
					 | 
				
			||||||
% will define \print@#1 to print it's one argument 
 | 
					 | 
				
			||||||
% justified according to #2 which can be
 | 
					 | 
				
			||||||
%	  l = left
 | 
					 | 
				
			||||||
%	  r = right
 | 
					 | 
				
			||||||
%	  c = center
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% eg.
 | 
					 | 
				
			||||||
%    \@format{employer}{c}
 | 
					 | 
				
			||||||
%    is the same as \def\print@employer#1{{\centering #1\par}}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\@format#1#2{%
 | 
					 | 
				
			||||||
  \expandafter\gdef\csname print@#1\endcsname##1{%
 | 
					 | 
				
			||||||
    {\csname#2@justify\endcsname##1\par}}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% this is used to define how the position environment should
 | 
					 | 
				
			||||||
% formated.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% \begin{format} positioning text \end{format}
 | 
					 | 
				
			||||||
% where positioning text may be
 | 
					 | 
				
			||||||
%  \employer{pos}
 | 
					 | 
				
			||||||
%  \location{pos}
 | 
					 | 
				
			||||||
%  \dates{pos}
 | 
					 | 
				
			||||||
%  \title{pos}
 | 
					 | 
				
			||||||
%  \body	    (for the body of the position environment)
 | 
					 | 
				
			||||||
%   where pos is 
 | 
					 | 
				
			||||||
%     l for left
 | 
					 | 
				
			||||||
%     r for right
 | 
					 | 
				
			||||||
%     c for center
 | 
					 | 
				
			||||||
% use \\ to break the line
 | 
					 | 
				
			||||||
% you don't have to use all of the options.
 | 
					 | 
				
			||||||
% on any one line, you should indicate what you want on that line
 | 
					 | 
				
			||||||
% and where it should go within its column.
 | 
					 | 
				
			||||||
% eg.
 | 
					 | 
				
			||||||
% the following prints the employer in the left with the location
 | 
					 | 
				
			||||||
% centered within that its column.  It then prints the date on the
 | 
					 | 
				
			||||||
% right.  Then it prints the body of the position environment. Then
 | 
					 | 
				
			||||||
% it prints the title centered within its column; as there is only
 | 
					 | 
				
			||||||
% one column here it is really just centered.
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% \begin{format}
 | 
					 | 
				
			||||||
% \employer{l}\location{c}\\
 | 
					 | 
				
			||||||
% \dates{r}\\
 | 
					 | 
				
			||||||
% \body\\
 | 
					 | 
				
			||||||
% \title{c}\\
 | 
					 | 
				
			||||||
% \end{format}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\newcounter{numberofcolumns}
 | 
					 | 
				
			||||||
\newenvironment{format}{%
 | 
					 | 
				
			||||||
  \def\end@line@head{\append@tabular@head{tabular@text}\tabular@text={}%
 | 
					 | 
				
			||||||
    \c@numberofcolumns 0}
 | 
					 | 
				
			||||||
  \def\end@line@tail{\append@tabular@tail{tabular@text}\tabular@text={}%
 | 
					 | 
				
			||||||
    \c@numberofcolumns 0}
 | 
					 | 
				
			||||||
  \tabular@text={}
 | 
					 | 
				
			||||||
  \tabular@head={}
 | 
					 | 
				
			||||||
  \tabular@tail={}
 | 
					 | 
				
			||||||
  \c@numberofcolumns 0
 | 
					 | 
				
			||||||
  \let\\=\end@line@head
 | 
					 | 
				
			||||||
  \def\employer##1{\advance\c@numberofcolumns 1
 | 
					 | 
				
			||||||
		   \@format{employer}{##1}
 | 
					 | 
				
			||||||
		   \append@tabular@text{employer}}
 | 
					 | 
				
			||||||
  \def\location##1{\advance\c@numberofcolumns 1
 | 
					 | 
				
			||||||
		   \@format{location}{##1}
 | 
					 | 
				
			||||||
		   \append@tabular@text{location}}
 | 
					 | 
				
			||||||
  \def\dates##1{\advance\c@numberofcolumns 1
 | 
					 | 
				
			||||||
		\@format{dates}{##1}
 | 
					 | 
				
			||||||
		\append@tabular@text{dates}}
 | 
					 | 
				
			||||||
  \def\title##1{\advance\c@numberofcolumns 1
 | 
					 | 
				
			||||||
		 \@format{title}{##1}
 | 
					 | 
				
			||||||
		\append@tabular@text{title}}
 | 
					 | 
				
			||||||
  \def\body{\iftoks\tabular@head\undefined@token\then
 | 
					 | 
				
			||||||
	    \else
 | 
					 | 
				
			||||||
	      \@append{\noexpand\\}\to\tabular@head
 | 
					 | 
				
			||||||
	    \skotfi
 | 
					 | 
				
			||||||
	    \let\\=\end@line@tail}}{}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
%taken from page 378 of TeXbook but freely hacked
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% appends the expansion of #1 to the token list #2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\def\@append#1\to#2{%
 | 
					 | 
				
			||||||
  \@ta=\expandafter{#1}%
 | 
					 | 
				
			||||||
  \xdef\@append@temp{\the#2\the\@ta}
 | 
					 | 
				
			||||||
  \global#2=\expandafter{\@append@temp}%
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% CHAA006%vaxb.rhbnc.ac.uk@NSS.Cs.Ucl.AC.UK
 | 
					 | 
				
			||||||
% texhax.88.078
 | 
					 | 
				
			||||||
% is used to see if two token lists are equal
 | 
					 | 
				
			||||||
% there must be a better way
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\let \then = \empty
 | 
					 | 
				
			||||||
\def \iftoks #1#2\then #3\else #4\skotfi{
 | 
					 | 
				
			||||||
		\edef \1{\the #1}
 | 
					 | 
				
			||||||
		\edef \2{\the #2}
 | 
					 | 
				
			||||||
		\ifx \1\2\then #3\else #4\fi}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% \append@tabular@text{command}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% appends command to the end of \tabular@text.
 | 
					 | 
				
			||||||
% NOTE: command MUST be a command but without the \
 | 
					 | 
				
			||||||
%	Eg. \append@tabular@text{relax}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% used to define \tabular@text for the tabular environment
 | 
					 | 
				
			||||||
% used by append@tabular@head and append@tabular@tail
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\def\append@tabular@text#1{%
 | 
					 | 
				
			||||||
\iftoks\tabular@text\undefined@token\then
 | 
					 | 
				
			||||||
  \global\tabular@text=\expandafter{\csname @#1\endcsname}
 | 
					 | 
				
			||||||
\else
 | 
					 | 
				
			||||||
  \@append{&}\to\tabular@text
 | 
					 | 
				
			||||||
  \@append{\csname @#1\endcsname}\to\tabular@text
 | 
					 | 
				
			||||||
\skotfi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% append@tabular@head
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% appends command to the end of \tabular@text@head
 | 
					 | 
				
			||||||
% NOTE: command MUST be a command but without the \
 | 
					 | 
				
			||||||
%	Eg. \append@tabular@head{relax}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% used to define \tabular@head for the tabular environment
 | 
					 | 
				
			||||||
% used by the position environment
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\append@tabular@head#1{%
 | 
					 | 
				
			||||||
  \ifnum\the\c@numberofcolumns=0\relax
 | 
					 | 
				
			||||||
  \else
 | 
					 | 
				
			||||||
    \iftoks\tabular@head\undefined@token\then
 | 
					 | 
				
			||||||
      \relax
 | 
					 | 
				
			||||||
    \else
 | 
					 | 
				
			||||||
      \@append{\noexpand\\}\to\tabular@head
 | 
					 | 
				
			||||||
      \@append{\noexpand\penalty-\@secpenalty}\to\tabular@head
 | 
					 | 
				
			||||||
    \skotfi
 | 
					 | 
				
			||||||
    \@append{\noexpand\begin{ncolumn}}\to\tabular@head
 | 
					 | 
				
			||||||
    \@append{\expandafter{\the\c@numberofcolumns}}\to\tabular@head
 | 
					 | 
				
			||||||
    \@append{\the\csname#1\endcsname}\to\tabular@head
 | 
					 | 
				
			||||||
    \@append{\noexpand\end{ncolumn}}\to\tabular@head
 | 
					 | 
				
			||||||
  \fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% append@tabular@tail
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% appends command to the end of \tabular@text@htail
 | 
					 | 
				
			||||||
% NOTE: command MUST be a command but without the \
 | 
					 | 
				
			||||||
%	Eg. \append@tabular@tail{relax}
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% used to define \tabular@tail for the tabular environment
 | 
					 | 
				
			||||||
% used by the position environment
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
\def\append@tabular@tail#1{%
 | 
					 | 
				
			||||||
  \ifnum\the\c@numberofcolumns=0\relax
 | 
					 | 
				
			||||||
  \else
 | 
					 | 
				
			||||||
    \iftoks\tabular@tail\undefined@token\then
 | 
					 | 
				
			||||||
    \else
 | 
					 | 
				
			||||||
      \@append{\noexpand\\}\to\tabular@tail
 | 
					 | 
				
			||||||
      \@append{\noexpand\penalty-\@secpenalty}\to\tabular@tail
 | 
					 | 
				
			||||||
    \skotfi
 | 
					 | 
				
			||||||
    \@append{\noexpand\begin{ncolumn}}\to\tabular@tail
 | 
					 | 
				
			||||||
    \@append{\expandafter{\the\c@numberofcolumns}}\to\tabular@tail
 | 
					 | 
				
			||||||
    \@append{\the\csname#1\endcsname}\to\tabular@tail
 | 
					 | 
				
			||||||
    \@append{\noexpand\end{ncolumn}}\to\tabular@tail
 | 
					 | 
				
			||||||
  \fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% put the actual job descriptions here
 | 
					 | 
				
			||||||
% \begin{postion} ... \end{position}
 | 
					 | 
				
			||||||
% in the ... describe the position.
 | 
					 | 
				
			||||||
% don't put the \dates \location etc in here. define them before hand
 | 
					 | 
				
			||||||
\newenvironment{position}%
 | 
					 | 
				
			||||||
  {%
 | 
					 | 
				
			||||||
   \begingroup
 | 
					 | 
				
			||||||
     \par
 | 
					 | 
				
			||||||
       \the\tabular@head
 | 
					 | 
				
			||||||
%     \addpenalty{-\@secpenalty}% bad place for a page break
 | 
					 | 
				
			||||||
     \penalty -\@secpenalty % bad place for a page break
 | 
					 | 
				
			||||||
     \penalty 10000
 | 
					 | 
				
			||||||
     \ignorespaces
 | 
					 | 
				
			||||||
  }{%
 | 
					 | 
				
			||||||
       \the\tabular@tail
 | 
					 | 
				
			||||||
%     \addpenalty{\@secpenalty}% good place for a page break
 | 
					 | 
				
			||||||
     \penalty \@secpenalty % good place for a page break
 | 
					 | 
				
			||||||
    \endgroup
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					 | 
				
			||||||
% DEFAULTS: (the rest of them)
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% centered name
 | 
					 | 
				
			||||||
% overlapped section titles
 | 
					 | 
				
			||||||
%
 | 
					 | 
				
			||||||
% format is:
 | 
					 | 
				
			||||||
%    title	 employer
 | 
					 | 
				
			||||||
%    location	 dates
 | 
					 | 
				
			||||||
%    body
 | 
					 | 
				
			||||||
% with everything in the left of its column
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\@secpenalty = -500
 | 
					 | 
				
			||||||
\topmargin 0pt
 | 
					 | 
				
			||||||
\headheight 0pt
 | 
					 | 
				
			||||||
\headsep 0pt
 | 
					 | 
				
			||||||
\textheight 9in
 | 
					 | 
				
			||||||
\parindent 0pt
 | 
					 | 
				
			||||||
\topmargin 0in
 | 
					 | 
				
			||||||
\oddsidemargin 0pt
 | 
					 | 
				
			||||||
\evensidemargin 0pt
 | 
					 | 
				
			||||||
\marginparwidth 0pt
 | 
					 | 
				
			||||||
\parindent 0pt
 | 
					 | 
				
			||||||
\parskip \baselineskip
 | 
					 | 
				
			||||||
\setcounter{secnumdepth}{0}
 | 
					 | 
				
			||||||
\def\@listI{\leftmargin\leftmargini
 | 
					 | 
				
			||||||
\topsep 0pt 
 | 
					 | 
				
			||||||
\parskip 0pt
 | 
					 | 
				
			||||||
\partopsep 2pt plus 2pt
 | 
					 | 
				
			||||||
\parsep 2pt plus 2pt
 | 
					 | 
				
			||||||
\itemsep \parsep}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\pagestyle{empty}  % don't want page numbers
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\begin{format}
 | 
					 | 
				
			||||||
\title{l}\employer{r}\\
 | 
					 | 
				
			||||||
\location{l}\dates{r}\\
 | 
					 | 
				
			||||||
\body\\
 | 
					 | 
				
			||||||
\end{format}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\let\section\@@section
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue