HiveBrain v1.2.0
Get Started
← Back to all entries
patternModerate

LaTeX resume, in classic style, templated to avoid publishing my private info

Submitted by: @import:stackexchange-codereview··
0
Viewed 0 times
templatedinfoprivateclassiclatexavoidstylepublishingresume

Problem

I began creating and refining my resume in LaTeX a long time ago. I recently modified it such that I would feel comfortable putting it out there for others to use as a template, if they wish.

It has the unfortunate quality that when I begin modifying it, I have to tweak the white-space quite a lot if I wish to keep it at one page. I have recently given up on that goal, but I'm not sure I like the header effect when it goes over two pages.

Here's the main resume document:

`\documentclass[letterpaper,10pt]{article}
\input{constants}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage{fontenc}
%\usepackage{graphicx}
\usepackage[margin=.5in,includehead]{geometry}
\usepackage{fancyhdr,lastpage}
\pagestyle{fancy}
\lhead{\mystreetaddress\\\mycitystatezip\\}
\chead{\Huge \textbf{Aaron Hall, MBA}}
\rhead{\myemail\\\myphonenumber\\}
\fancyfoot{}
%\headsep = 5mm
\headsep = 8mm
\usepackage{parskip} %should remove indenting
\usepackage[dvips]{hyperref}
\date{08/22/11}
%\newenvironment{blockindentone}{\quote\YOURCOMMANDSHERE}{\endquote}
\renewcommand{\headrulewidth}{0pt}

\usepackage{color,hyperref}
\definecolor{darkblue}{rgb}{0.0,0.0,0.3}
\hypersetup{colorlinks,breaklinks,
linkcolor=darkblue,urlcolor=darkblue,
anchorcolor=darkblue,citecolor=darkblue}

\newcommand{\sbullet}{\,\begin{picture}(1,1)(0,-3)\circle*{3}\end{picture}\ }

\begin{document}
\textsc{Relevant Domain Knowledge \& Experience}
\vspace{.5mm}
\hline
{\addtolength{\leftskip}{0mm} \textbf{Conference \& Meetup Talks}

\vspace{-2mm} {\addtolength{\leftskip}{0mm}
\begin{itemize}\setlength{\itemsep}{0cm}\setlength{\parskip}{0cm} {\addtolength{\leftskip}{-5mm}
\item Learning Python with Best Practices \sbullet Python Best Practices \sbullet Functional Programming with Python
\item Python by Aaron Hall - a nuts and bolts overview of Python to programmers of other languages
\item Conference talks - Linear Models with Python \sbullet The Python Datamodel:

Solution

There are several weak points in this code. The main one is repeating setup and using explicit spacing in many places.

Such code should be hidden in macros as much as possible. Here are some other points.

  • the ucs package is not recommended



  • utf8x should better be utf8



  • \usepackage{fontenc} does nothing at all



  • \headsep=8mm is wrong syntax, better placed in the options to geometry



  • first load packages, then do setup



  • no trailing \\ in headers



  • better using the “new syntax” for fancyhdr



  • use \fancyhf{} for clearing all fields



  • no dvips option to hyperref (or color)



  • one option per line is better for seeing what are active and for turning them on and off



  • keep together things pertaining to the same package (\headrulewidth)



Main points: define abstract structures, that provide uniformity.

I used \section (hidden in \cvsection) and \subsection (hidden in \cvsubsection) so you can decide the format once and for all similar parts of the document. The titlesec package helps very much.

Some trickery is needed to keep hyperref quiet, in particular making \sbullet robust against being in a section title.

With enumitem you can avoid all repeated settings for each itemize environment.

`\begin{filecontents}{constants.tex}
\newcommand\mystreetaddress{80 foo ave., Apt N}
\newcommand\mycitystatezip{foo, BR 12345}
\newcommand\myphonenumber{+001 (555) 867 5309}
\newcommand\myemail{\url{foobar@baz.com}}

\newcommand\anonemployer{Brilliant Employer, Foo Bar Baz}
\end{filecontents}

\documentclass[letterpaper,10pt]{article}

\usepackage[
margin=.5in,
includehead,
headsep=8mm,
headheight=30pt,
]{geometry}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

%\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{color}
\usepackage{enumitem}
\usepackage{titlesec}
\usepackage{hyperref}

% hyperref
\definecolor{darkblue}{rgb}{0.0,0.0,0.3}

\hypersetup{
colorlinks,
breaklinks,
linkcolor=darkblue,
urlcolor=darkblue,
anchorcolor=darkblue,
citecolor=darkblue,
}

% headers and footers
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\mystreetaddress\\\mycitystatezip}
\fancyhead[C]{\Huge \textbf{Aaron Hall, MBA}}
\fancyhead[R]{\myemail\\\myphonenumber}
\renewcommand{\headrulewidth}{0pt}

% sections
\titleformat{\section}
{\normalfont\normalsize\scshape}
{}% no number
{0pt}% no space
{}% title
[\titlerule]
\titleformat{\subsection}
{\normalfont\normalsize}
{}
{0pt}
{}
\titlespacing{\section}{0pt}{2}{1}
\titlespacing{\subsection}{0pt}{*1}{0pt}

% itemize
\setlist[itemize,1]{nosep,leftmargin=*}

% personal commands
\newcommand{\sbullet}{%
\texorpdfstring{\textsbullet}{\textbullet}%
}
\DeclareRobustCommand{\textsbullet}{%
\unskip~\,\begin{picture}(1,1)(0,-3)\circle*{3}\end{picture}\ %
}

\newcommand{\cvsection}[1]{\section{#1}}
\newcommand{\cvsubsection}[3]{%
\subsection{\textbf{#1} #2\texorpdfstring{\hfill}{ }#3}%
}

\AtBeginDocument{\setlength{\parindent}{0pt}}

% metadata
\input{constants}
\date{08/22/11}

\begin{document}

\section{Relevant Domain Knowledge \& Experience}

\cvsubsection{Conference \& Meetup Talks}{}{}

\begin{itemize}
\item Learning Python with Best Practices \sbullet Python Best Practices \sbullet Functional Programming with Python
\item Python by Aaron Hall - a nuts and bolts overview of Python to programmers of other languages
\item Conference talks - Linear Models with Python \sbullet The Python Datamodel: When and how to write objects
\sbullet Best Practices for Writing Reusable Python
\item Consulted on Python Data Science Curriculum and instructed Python classes at CUNY and Columbia
\item Organized and Tutored Python Office Hours Sundays for a solid year from 2014 to 2015 - still organize.
\end{itemize}

\cvsubsection{Programming Languages}{}{}

\begin{itemize}
\item Primary experience: Python, JSON, OODB, YAML, BASH, HTML, RST, Orgmode, \& other Markdowns
\item Some experience with R, SAS, SPSS, Stata, and modified Prolog
\item Toyed with: C, Ruby, Rails, Haskell, Lisp, Fortran, COBOL, Javascript, \& \LaTeX
\end{itemize}

\cvsubsection{Investment, Financial Products, and Accounting Knowledge}{}{}

\begin{itemize}
\item Securities Licensed on Packaged Products, Stocks \& Bonds, Options, and Investment Advisor Regulations
\item Passed State of Florida Insurance and Real Estate Licensure Courses and Tests
\item Answered over 150 Accounting and Tax Questions on Investments Pro-bono for All-Experts.com
\end{itemize}

\cvsection{Professional Experience}
\cvsubsection{\anonemployer}
{\emph{Software Engineer \& Architect} \sbullet New York City, NY}{}
% {October 2012 - Present}

\begin{itemize}
\item Developed Portal for Delivering Documentation, Information, Statistics, and Reports
\item Led Team to use Core Technology, Idiomatic Python, Maintainable Style, Proper Unittesting, and Proper SDLC
\item Wrote Documentation and Training on Access

Context

StackExchange Code Review Q#151096, answer score: 18

Revisions (0)

No revisions yet.