From 80065afca0a90b4dc9257038c33a1d9886c6fa65 Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Mon, 16 Aug 2010 11:16:32 -0500 Subject: [PATCH] Initial commit. --- .gitignore | 5 + Resume_2010.odt | Bin 0 -> 16795 bytes resume-example.tex | 157 +++++++++ resume.cls | 844 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1006 insertions(+) create mode 100644 .gitignore create mode 100644 Resume_2010.odt create mode 100644 resume-example.tex create mode 100644 resume.cls diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0a2a55e --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.*.sw* +*.aux +*.log +*.dvi +*.pdf diff --git a/Resume_2010.odt b/Resume_2010.odt new file mode 100644 index 0000000000000000000000000000000000000000..945274124ef64a701ac1f2c4d7ed961759016a3c GIT binary patch literal 16795 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 literal 0 HcmV?d00001 diff --git a/resume-example.tex b/resume-example.tex new file mode 100644 index 0000000..7110f84 --- /dev/null +++ b/resume-example.tex @@ -0,0 +1,157 @@ +%______________________________________________________________________________________________________________________ +% @brief LaTeX2e Resume for Kamil K Wojcicki +\documentclass[margin,line]{resume} + + +%______________________________________________________________________________________________________________________ +\begin{document} +\name{\Large Kamil W\'ojcicki} +\begin{resume} + + %__________________________________________________________________________________________________________________ + % Contact Information + \section{\mysidestyle Contact\\Information} + + Signal Processing Laboratory \hfill office: +61 7 3735 3754 \vspace{0mm}\\\vspace{0mm}% + Griffith School of Engineering \hfill mobile: +61 4 1215 1771 \vspace{0mm}\\\vspace{0mm}% + Griffith University, Nathan, Queensland, Australia \hfill e-mail: kamil.wojcicki@ieee.org \vspace{0mm}\\\vspace{-4.5mm}% + + + %__________________________________________________________________________________________________________________ + % Research Interests + \section{\mysidestyle Research\\Interests} + + Speech processing, speech enhancement, speech and speaker recognition, speech perception, \\ + machine learning and pattern recognition. + + + %__________________________________________________________________________________________________________________ + % Education + \section{\mysidestyle Education} + + \textbf{Griffith University}, Nathan, Queensland, Australia \vspace{2mm}\\\vspace{1mm}% + \textsl{Doctor of Philosophy} \hfill \textbf{ February 2005 -- present}\vspace{-3mm}\\\vspace{-1mm}% + \begin{list2} + \item Expected graduation date: February 2010 + \item Advisors: Professor Kuldip Paliwal and Dr Stephen So + \end{list2}\vspace{-1.5mm} + \textsl{BInfTech, BEng (Hons)} \hfill \textbf{February 2000 -- April 2005}\vspace{-3mm}\\\vspace{-1mm}% + + + %__________________________________________________________________________________________________________________ + % Honours and Awards + \section{\mysidestyle Honours and\\Awards} + + Best Paper Award, Griffith School of Engineering Research Conference, Nathan, 2007 \vspace{1mm}\\% + Australian Research Council (ARC) Postgraduate Research Scholarship, Nathan, 2005-2010 \vspace{1mm}\\% + Scholarship for Outstanding Academic Achievement, Griffith University, Nathan, 2000 \vspace{1mm}\\% + National Mathematics Summer School, The Australian National University, Canberra, 2000, 1999 \vspace{1mm}\\% + Certificate of Excellence for Outstanding Academic Achievement, University of Tasmania, 1999 \vspace{1mm}\\% + Award for Best Design, Electronics Competition, The Electronics Educators Association, 1998 + + + %__________________________________________________________________________________________________________________ + % Publications + \section{\mysidestyle Selected Publications} + + Paliwal, K.K., Shannon, B.J., Lyons, J.G. and K.K. W\'ojcicki, + ``Speech-signal-based frequency warping'', + \textsl{IEEE Signal Process. Lett.}, Vol. 16, No. 4, pp. 319-322, 2009. + +\vspace{-2mm} + Paliwal, K.K. and K.K. W\'ojcicki, + ``Effect of analysis window duration on speech intelligibility'', + \textsl{IEEE Signal Process. Lett.}, Vol. 15, pp. 785-788, 2008. + +\vspace{-2mm} + Stark, A.P., W\'ojcicki, K.K., Lyons, J.G. and K.K. Paliwal, + ``Noise driven short time phase spectrum compensation procedure for speech enhancement'', + In \textsl{Proc. INTERSPEECH}, pp. 549-552, 2008. + +\vspace{-2mm} + W\'ojcicki, K.K., Milacic, M., Stark, A.P., Lyons, J.G. and K.K. Paliwal, + ``Exploiting conjugate symmetry of the short-time Fourier spectrum for speech enhancement'', + \textsl{IEEE Signal Process. Lett.}, Vol. 15, pp. 461-464, 2008. + +\vspace{-2mm} + W\'ojcicki, K.K. and K.K. Paliwal, + ``Importance of the dynamic range of an analysis window function for phase-only and magnitude-only reconstruction of speech'', + In \textsl{Proc. ICASSP}, pp. 729-733, 2007. + + + + %__________________________________________________________________________________________________________________ + % Professional Experience + \section{\mysidestyle Professional\\Experience} + + \textbf{Griffith University}, Nathan, Queensland, Australia \vspace{2mm}\\\vspace{1mm}% + \textsl{Teaching Assistant} \hfill \textbf{February 2005 -- present}\\ + Teaching assistant for undergraduate courses in electrical engineering, + including signals and systems, digital signal processing, + statistical signal processing and Unix systems. + Examination invigilator for undergraduate as well as graduate courses. + + + \textbf{Hewlett Packard}, Milton, Queensland, Australia \vspace{2mm}\\\vspace{1mm}% + \textsl{Server Specialist} \hfill \textbf{March 2008 -- present}\\ + Enterprise data center deployments, relocation and servicing + for clients such as Cement Australia, Gold Coast City Council, Queensland Health, + Queensland Investment Corporation (QIC), Queensland Ombudsman's Office and Bain Gasteen Lawyers. + + \textsl{Field Services Engineer} \hfill \textbf{June 2004 -- present}\vspace{1.5mm}\\\vspace{0mm}% + Workstation deployments for clients such as AMCOR, + Blake Dawson Waldron, Bank of Queensland, Pindara Private Hospital and others. + + \textbf{Fujitsu Australia}, Newstead, Queensland, Australia \vspace{2mm}\\\vspace{1mm}% + \textsl{Field Services Engineer} \hfill \textbf{April 2002 -- December 2003}\\ + Point-of-sale deployments for various clients, + including Queensland Transport, Coles, Woolworths and Commonwealth Bank business centers. + + + + %__________________________________________________________________________________________________________________ + % Computer Skills + \section{\mysidestyle Programming} + + C, C++, Matlab, Linux shell scripting, Perl, Python, \LaTeXe, PBS, SQL, Java, .NET, SPSS. + + + + %__________________________________________________________________________________________________________________ + % Referees +% \section{\mysidestyle Referees} +% {\sl Available on request.} + + + +%______________________________________________________________________________________________________________________ +\section{\mysidestyle Referees} + +\begin{tabular}{@{}p{6cm}p{6cm}} +\textbf{Professor Kuldip Paliwal} & \textbf{Dr Stephen So} \\ +Professor & Associate Lecturer \\ +Griffith University & Griffith University \\ +Nathan, Queensland, Australia & Gold Coast, Queensland, Australia \\ +phone: \textsl{available on request} & phone: \textsl{available on request} \\ +e-mail: \textsl{available on request} & e-mail: \textsl{available on request} \\ +\end{tabular} + +\begin{tabular}{@{}p{6cm}p{6cm}} +\textbf{Dr Conrad Sanderson} & \textbf{Mr Sean Loye} \\ +Researcher & Systems Engineer \\ +National ICT Australia & Hewlett Packard \\ +St Lucia, Queensland, Australia & Milton, Queensland, Australia \\ +phone: \textsl{available on request} & phone: \textsl{available on request} \\ +e-mail: \textsl{available on request} & e-mail: \textsl{available on request} \\ +\end{tabular} + + + +%______________________________________________________________________________________________________________________ +\end{resume} +\end{document} + + +%______________________________________________________________________________________________________________________ +% EOF + diff --git a/resume.cls b/resume.cls new file mode 100644 index 0000000..fdccbe0 --- /dev/null +++ b/resume.cls @@ -0,0 +1,844 @@ +% RESUME DOCUMENT STYLE -- Released 23 Nov 1989 +% for LaTeX version 2.09 +% Copyright (C) 1988,1989 by Michael DeCorte + +\typeout{Document Style `resume' <26 Sep 89, Dec 07>.} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% resume.sty +% +% \documentstyle{resume} +% +% 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{resume}[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} +\def\ds@margin{\ifx\@@section\relax\newsectionwidth{1.1in}\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 10pt 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 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% @brief LaTeX2e Resume Style Config +% @url http://linux.dsplabs.com.au/?p=54 +% @date Decemebr 2007 +% @author Kamil K Wojcicki +% @info This a fusion of resume template code by Chris Paciorek +% (url: http://www.biostat.harvard.edu/~paciorek/computingTips/Latex_template_creating_CV_.html) +% and res.cls class by Michael DeCorte. +% I have merged these for educational purposes only. + +\oddsidemargin -11mm +\evensidemargin -11mm +%\textwidth=150mm +\textwidth=154mm +\itemsep=0cm +\parsep=0cm +\topmargin -12mm +%\textheight 265mm +\textheight 275mm + +\newenvironment{list1}{ + \begin{list}{\ding{113}}{% + \setlength{\itemsep}{0in} + \setlength{\parsep}{0in} \setlength{\parskip}{0in} + \setlength{\topsep}{0in} \setlength{\partopsep}{0in} + \setlength{\leftmargin}{0in}}}{\end{list}} + +\newenvironment{list2}{ + \begin{list}{$\bullet$}{% + \setlength{\itemsep}{0in} + \setlength{\parsep}{0in} \setlength{\parskip}{0in} + \setlength{\topsep}{0in} \setlength{\partopsep}{0in} + \setlength{\leftmargin}{0.25in}}}{\end{list}} + +%\newcommand{\mysidestyle}{\footnotesize\sc} +\newcommand{\mysidestyle}{\small\sc} +\newcommand{\myheadingstyle}{\sl} +\newcommand{\mysubheadingstyle}{\sl} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +