complete reformat
authorTroy Sankey <sankeytms@gmail.com>
Sun, 3 Nov 2013 01:25:42 +0000 (18:25 -0700)
committerTroy Sankey <sankeytms@gmail.com>
Sun, 3 Nov 2013 01:25:42 +0000 (18:25 -0700)
res.cls [deleted file]
resume.tex

diff --git a/res.cls b/res.cls
deleted file mode 100644 (file)
index e033d4a..0000000
--- a/res.cls
+++ /dev/null
@@ -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
-
index d77a0c9..fa79003 100644 (file)
-% LaTeX file for resume 
-% This file uses the resume document class (res.cls)
-
-\documentclass{res} 
-%\usepackage{helvetica} % uses helvetica postscript font (download helvetica.sty)
-%\usepackage{newcent}   % uses new century schoolbook postscript font 
+\documentclass[10pt]{article}
+\usepackage[hmargin=1.25cm, vmargin=1.5cm]{geometry}
 \usepackage{enumitem}
-\setlength{\textheight}{9.5in} % increase text height to fit on 1-page 
+\usepackage{multicol}
+\usepackage{amsmath}
+
+% Holy cow, the word 'C++' is SO UGLY WITHOUT THIS
+\newcommand{\CPP}
+{C\nolinebreak[4]\hspace{-.05em}\raisebox{.22ex}{\footnotesize\bf ++}}
+
+\newcommand{\name}{TROY SANKEY}
+\newcommand{\email}{sankeytms@gmail.com}
+\newcommand{\xmpp}{sankeytm@jabber.org}
+\newcommand{\pgp}{EC60D76E}
+\newcommand{\irc}{sankey}
 
 \begin{document} 
 
-\name{TROY M. SANKEY\\[12pt]}     % the \\[12pt] adds a blank
-                                 % line after name      
+\begin{center}
+  {\LARGE \textbf{\name}} \\
+\end{center}
 
-\address{\bf PRESENT ADDRESS\\10944 Strathmore Drive \#407\\Los Angeles, CA 90024\\(858) 386-3133}
-\address{\bf PERMANENT ADDRESS\\7370 Celata Lane\\San Diego, CA 92129}
-                                  
-\begin{resume}
+\vspace{20pt}
 
-\section{JOB OBJECTIVE}
-    TODO 
-\section{EDUCATION}          
-    University of California Los Angeles \\
-    Undergraduate in Computer Science and Engineering (fourth year) \\
-    Current GPA: 3.2
-\section{EXPERIENCE}
-   \vspace{-0.1in}
-   \begin{tabbing}
-   \hspace{2.3in}\= \hspace{2.6in}\= \kill % set up two tab positions
-    {\bf RawTherapee} \> \> ~~~~~ Summer 2012
-   \end{tabbing}\vspace{-20pt}
-
-Spent two months contributing bugfixes to the open source raw image processing
-program RawTherapee. Patches were discussed and reviewed in the issue tracker
-and the IRC channel. Code contributions ranged from thread management to image
-processing.
+\begin{multicols}{2}
+
+\section*{EXPERIENCE}
 
-   \begin{tabbing}
-   \hspace{2.3in}\= \hspace{2.6in}\= \kill % set up two tab positions
-    {\bf Linux Users Group} \> \> ~~~~~ Summer 2012
-   \end{tabbing}\vspace{-20pt}
+\noindent\textbf{Linux Users Group}\hfill 2012--2013
 
 As President of the Linux Users Group at UCLA, I coordinated with the
 department to make sure the group had all resources it needed to thrive. I
-designed and implemented the entire LUG website and web services using all open
-source components.
-
-supported linux users
-server maintenance
-
-   \begin{tabbing}
-   \hspace{2.3in}\= \hspace{2.6in}\= \kill % set up two tab positions
-    {\bf Science Photographer} \>Sanford Burnham \> ~~~~~ Summer 2011\\
-                               \>La Jolla, CA
-   \end{tabbing}\vspace{-20pt}      % suppress blank line after tabbing
-
-Photographed 17 laboratories (from chemical to biological) during one month,
-capturing images of scientists working with their equipment. About 600 photos
-were produced and categorized.
-
-   \begin{tabbing}
-   \hspace{2.3in}\= \hspace{2.6in}\= \kill % set up two tab positions
-    {\bf Ray Tracer (computer graphics)} \> \>
-   \end{tabbing}\vspace{-20pt}
-
-Built a photorealistic path tracer.  It implements common acceleration
-techniques including multithreading, BVH trees, sample jittering, and dynamic
-pixel sampling.  What makes it photorealistic is indirect illumination and a
-physical camera aperture (depth of field).  All the mathematical formulas for
-3D vector manipulation were written from scratch using simple linear algebra.
-
-\section{COMPUTER SKILLS}
-Languages:\\
-  \indent~~~~$\bullet$\, Proficient in Bash, C/C++, Java, Javascript, Lisp, Python \\
-  \indent~~~~$\bullet$\, Have done some OCaml, Perl, Prolog, Scheme\\
-Web: HTML, CSS, Django, PHP, MySQL/MariaDB, SQLite\\
-Revision Control: Git, Mercurial \\
-Crypto tools:\\
-  \indent~~~~$\bullet$\, PGP/GPG (organized a keysigning party)\\
-  \indent~~~~$\bullet$\, configuring TLS/SSL on a secure service\\
-GNU/Linux experience:\\
-  \indent~~~~$\bullet$\, Debian and RHEL/CentOS administration for small deployments (university LUG)\\
-  \indent~~~~$\bullet$\, managed services: LDAP, Kerberos, OpenSSH, DNS, DHCP, PXE\\
+designed and implemented the LUG website and web services using all open source
+components. I also provided help to students needing assistance with Linux
+related problems and homework.
+\\
+
+\noindent\textbf{Raven II}\hfill Spring 2013
+
+Worked with a team of undergraduate researchers to help implement Robot
+Operating System (ROS) on the Raven II surgical robot.
+\\
+
+\noindent\textbf{RawTherapee}\hfill Summer 2012
+
+Spent two months contributing patches to the open source raw image processing
+program RawTherapee. Patches were discussed and reviewed in the issue tracker
+and IRC channel. Code contributions ranged from thread management to image
+processing. Language: \CPP.
+\\
+
+\noindent\textbf{Science Photographer}\hfill Summer 2012
+\par\hfill Sanford Burnham
+\par\hfill La Jolla, CA
+
+Photographed 17 research laboratories (from chemical to biological) during one
+month, capturing images of scientists working with their equipment. About 600
+photos were carefully edited and categorized.
+\\
+
+\noindent\textbf{Ray Tracer}\hfill Summer 2010
+
+Built a photorealistic path tracer.  It utilizes common acceleration techniques
+used in CGI, including multithreading, BVH trees, and dynamic pixel sampling.
+It is ``photorealistic'' because it supports indirect illumination and
+simulates depth of field.  All formulas for 3D vector manipulation written from
+scratch. Language: Java.
+
+\section*{EXTRACURRICULAR}
+
+\begin{itemize}[nosep,leftmargin=10pt]
+  \item  Linux Users Group at UCLA
+  \item  ACM International Collegiate Programming Contest
+\end{itemize}
+
+\columnbreak
+
+{
+%\offinterlineskip
+%\parskip=1pt
+
+\section*{CONTACT}
+
+\setlength{\tabcolsep}{3pt}
+\begin{tabular}{r | l}
+      Email & \texttt{<\email>} \\
+XMPP/Jabber & \texttt{<\xmpp>}  \\
+ PGP Key ID & \texttt{\pgp}     \\
+   IRC Nick & \texttt{\irc}     \\
+\end{tabular}
+
+\section*{EDUCATION}          
+    University of California Los Angeles \\
+    Computer Science and Engineering (fourth year) \\
+    Current GPA: 3.2
  
-\section{EXTRACURRICULAR ACTIVITIES}
-    Linux Users Group at UCLA\\
-    ACM International Collegiate Programming Contest
+\section*{COMPUTER SKILLS}
+Programming Languages:
+\begin{itemize}[nosep,leftmargin=25pt]
+  \item Bash, C/\CPP, Java, Javascript, Lisp, PHP, Python
+  \item Have done some OCaml, Perl, Prolog, Scheme
+\end{itemize}
+Web:
+\begin{itemize}[nosep,leftmargin=25pt]
+  \item Frontend: HTML, CSS, Javascipt
+  \item Backend: Django, PHP, MySQL/MariaDB, SQLite
+\end{itemize}
+Revision Control: Git, Mercurial \\
+Crypto tools:
+\begin{itemize}[nosep,leftmargin=25pt]
+  \item PGP/GPG (organized a keysigning party)
+  \item configuring TLS/SSL on a secure service
+\end{itemize}
+GNU/Linux:
+\begin{itemize}[nosep,leftmargin=25pt]
+  \item very familiar with UNIX environment and tools
+  \item Debian and RHEL/CentOS administration for small deployments (university LUG)
+  \item managed services: LDAP, Kerberos, OpenSSH, DNS, DHCP, PXE
+\end{itemize}
+Programs: Blender 3D, GIMP, Inkscape
+
+\section*{PERSONALITY}
+
+\begin{itemize}[nosep,leftmargin=10pt]
+  \item Cyclist
+  \item Photographer
+  \item Tennis/golf player
+  \item Free Software advocate
+  \item $\text{Vim} > \text{Emacs}$
+  \item $\text{GNOME} > \text{KDE}$
+  \item Proud Firefox user!
+\end{itemize}
+
  
-\end{resume}
+} 
+\end{multicols}
+
 \end{document}