Last active
January 3, 2016 08:39
-
-
Save vermiculus/8437032 to your computer and use it in GitHub Desktop.
A logical format for resumes and curriculum vitae
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/contact.tex |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\NeedsTeXFormat{LaTeX2e}[1994/06/01] | |
\RequirePackage{expl3,l3keys2e} | |
\ProvidesExplClass | |
{bettercv} | |
{2013/12/23} | |
{1.0} | |
{A class for my resume/CV} | |
\keys_define:nn { resume / options } { | |
textout .tl_set:N = \l_resume_output_text_tl | |
} | |
\ProcessKeysOptions{resume/options} | |
\LoadClass{article} | |
\RequirePackage{fontspec} | |
\tl_if_empty:NF \l_resume_output_text_tl { | |
\iow_new:N \l_resume_output_text_iow | |
\iow_open:Nn \l_resume_output_text_iow { \l_resume_output_text_tl } | |
} | |
\cs_new:Nn \resume_maybe_write:n { | |
\tl_if_empty:NF \l_resume_output_text_tl { | |
\iow_now:Nx \l_resume_output_text_iow { #1 } | |
} | |
} | |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
%% Logical Declarations and Markup %%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
\RequirePackage{xparse} | |
%% Date Range %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
\DeclareDocumentCommand \daterange { s m m o } | |
{ | |
\IfBooleanTF{#1} | |
{#2\thinspace\textendash\thinspace(#3)} | |
{#2\thinspace\textendash\thinspace#3} | |
\IfValueT { #4 } { \nobreakspace [#4] } | |
} | |
%% Address %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
\keys_define:nn { resume/contact } { | |
street .tl_set:N = \l_resume_contact_street_tl, | |
city .tl_set:N = \l_resume_contact_city_tl, | |
state .tl_set:N = \l_resume_contact_state_tl, | |
zip .tl_set:N = \l_resume_contact_zip_tl, | |
name .tl_set:N = \l_resume_contact_name_tl, | |
phone .tl_set:N = \l_resume_contact_phone_tl, | |
email .tl_set:N = \l_resume_contact_email_tl, | |
} | |
\NewDocumentCommand \ContactInformation { m } | |
{ | |
\keys_set:nn { resume / contact } { #1 } | |
\resume_maybe_write:n | |
{ | |
\exp_not:V \l_resume_contact_name_tl \iow_newline: | |
\exp_not:V \l_resume_contact_email_tl \iow_newline: | |
\exp_not:V \l_resume_contact_phone_tl \iow_newline: | |
\iow_newline: | |
\exp_not:V \l_resume_contact_street_tl \iow_newline: | |
\exp_not:V \l_resume_contact_city_tl ,\c_space_tl | |
\exp_not:V \l_resume_contact_state_tl \iow_newline: | |
\exp_not:V \l_resume_contact_zip_tl \iow_newline: | |
} | |
} | |
% ensure that we don't have a HoeflerText situation again (as opposed | |
% to Hoefler Text) | |
\tl_new:N \l_resume_name_font_tl | |
\NewDocumentCommand \SetNameFont { m } | |
{ | |
\tl_set:Nn \l_resume_name_font_tl { #1 } | |
} | |
% yes, i do mean \maketitle. Whoever heard of a two-column resume? | |
\RenewDocumentCommand \maketitle { } | |
{ | |
\noindent | |
\begin{minipage}{.6\linewidth} | |
\tl_if_empty:NF \l_resume_name_font_tl | |
{ \fontspec[Path=fonts/]{\tl_use:N \l_resume_name_font_tl} } | |
{ | |
\Huge | |
\l_resume_contact_name_tl | |
} | |
{ | |
\normalsize \hspace{4em} | |
$\langle$\l_resume_contact_email_tl$\rangle$ | |
} | |
\end{minipage} | |
\hfill | |
\begin{minipage}{.4\linewidth} | |
\begin{flushright} | |
\l_resume_contact_street_tl\\ | |
\l_resume_contact_city_tl,~ | |
\l_resume_contact_state_tl | |
\tl_if_empty:NTF \l_resume_contact_zip_tl | |
{ \\ } | |
{,~\l_resume_contact_zip_tl\\} | |
\l_resume_contact_phone_tl | |
\end{flushright} | |
\end{minipage} | |
} | |
%% Position %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
\keys_define:nn { resume / position } | |
{ | |
title .tl_set:N = \l_resume_position_title_tl, | |
date .tl_set:N = \l_resume_position_date_tl, | |
company .tl_set:N = \l_resume_position_company_tl, | |
state .tl_set:N = \l_resume_position_state_tl, | |
city .tl_set:N = \l_resume_position_city_tl, | |
companylink .tl_set:N = \l_resume_position_companylink_tl, | |
} | |
\NewDocumentEnvironment { position } { m } | |
{ | |
\par\noindent | |
% \vfill | |
\minipage{\textwidth} | |
\par\vspace{2ex}\noindent | |
\group_begin: | |
\keys_set:nn { resume / position } { #1 } | |
\begin{tabular*}{\textwidth}{@{}l@{\extracolsep{\fill}}r@{}} | |
{\itshape \l_resume_position_title_tl} | |
& | |
\tl_if_empty:NF \l_resume_position_companylink_tl {\href{\l_resume_position_companylink_tl}} | |
{\l_resume_position_company_tl} \\[0.5ex] | |
{\l_resume_position_date_tl} | |
& | |
{\l_resume_position_city_tl}, ~ {\l_resume_position_state_tl} | |
\end{tabular*} | |
\hspace{-\textwidth} | |
\hspace{-2em} | |
\raisebox{.25ex}{\textreferencemark} | |
\vspace{2ex plus .2ex minus .2ex} | |
\resume_maybe_write:n { | |
Position:\c_space_tl \exp_not:V \l_resume_position_title_tl \iow_newline: | |
Company:\c_space_tl \exp_not:V \l_resume_position_company_tl \iow_newline: | |
Date:\c_space_tl \exp_not:V \l_resume_position_date_tl \iow_newline: | |
Location:\c_space_tl \exp_not:V \l_resume_position_city_tl, \c_space_tl \l_resume_position_state_tl \iow_newline: | |
} | |
\group_end: | |
} | |
{ | |
\endminipage | |
\vspace{4ex plus 1ex minus 1ex} | |
} | |
\def\Dash{\unskip\thinspace\textemdash\thinspace\ignorespaces} | |
\pagestyle{empty} | |
% Local Variables: | |
% TeX-PDF-mode: t | |
% TeX-master: "example.tex" | |
% TeX-engine: xetex | |
% End: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
John Doe | |
john@doe.com | |
+0 (123) 456 7890 | |
123 Main St. | |
Mi\dh gar\dh r, Norge | |
Position: Source Code Manager \& Software Engineer | |
Company: Bank of America Merrill Lynch | |
Date: \daterange *{October, 2012}{Present} | |
Location: New York, NY | |
Position: Master of Business Administration | |
Company: University of West Florida | |
Date: August, 2010 | |
Location: Pensacola, FL | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\documentclass[textout=\jobname.cv.txt]{bettercv} | |
\usepackage{microtype} | |
\usepackage[margin=.75in]{geometry} | |
\usepackage{xcolor} | |
\usepackage{fancyhdr} | |
\pagestyle{fancy} | |
\fancyhead{} | |
\fancyfoot{} | |
\renewcommand \headrulewidth {0pt} | |
\renewcommand \footrulewidth {0pt} | |
\cfoot{\textcolor{gray}{This document last updated on \today}} | |
\usepackage{titlesec} | |
\titleformat {\section} | |
{\Large\scshape} | |
{} | |
{0pt} | |
{} | |
[\titlerule] | |
\titleformat {\subsection} | |
{\large\bfseries} | |
{} | |
{0pt} | |
{} | |
\usepackage[inline]{enumitem} | |
\setlist[itemize]{itemsep=0pt,topsep=1pt} | |
\setlist[description]{itemsep=0pt,topsep=1pt} | |
\ContactInformation{ | |
name = John Doe, | |
email = john@doe.com, | |
phone = +0 (123) 456 7890, | |
street = 123 Main St., | |
city = Mi\dh gar\dh r, | |
state = Norge, | |
zip = {}, | |
} | |
%\input{contact} | |
\newcommand \software[1] {\textsl{#1}} | |
\newcommand \course[1] {#1} | |
\newcommand \CPP {{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\tiny\bf ++}}} | |
\newcommand \CSharp {{C\#}} | |
\newcommand \Lisp {{\textsc{Lisp}}} | |
\setcounter{secnumdepth}{0} | |
\begin{document} | |
\maketitle | |
\section{Relevant Domain Knowledge} | |
\subsection{Computer Languages} | |
\begin{description} | |
\item[Programming] | |
Python (Active Tutor and Speaker), Quartz, Ruby, Rails, SQL, JavaScript, CoffeeScript, and \textsc{Bash} | |
\item[Markup Packages] | |
reST (rst), Sphinx, HTML5, \LaTeX, HAML, CSS, SCSS, \software{Emacs} Org-mode | |
\item[Statistics] | |
R Statistics (on Linux) and SAS, SPSS, and Stata (Windows) | |
\end{description} | |
\subsection{Investments, 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} | |
\section{Professional Experience} | |
\begin{position}{ | |
company = Bank of America Merrill Lynch, | |
title = Source Code Manager \& Software Engineer, | |
city = New York, | |
state = NY, | |
date = \daterange*{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 Contributed to documentation and training On Quack, Sandra, Python, Qzdev, Sphinx, Bob And SpongeBob | |
\item Developed tool to document filesets, provide actionable statistics, push to environments, and raise review requests | |
\item Reviewed projects for best practices \& edited scripts for performance, maintainability, and readability | |
\item Instructed developers in best practices with weekly webinars and led code review | |
\end{itemize} | |
\end{position} | |
\section{Education} | |
\begin{position}{ | |
company = University of West Florida, | |
title = Master of Business Administration, | |
city = Pensacola, | |
state = FL, | |
date = {August, 2010} | |
} | |
\begin{description} | |
\item[Honors] National Merit Scholar, Dean's List, and Graduated with 169 credit hours, 3.4~GPA, Served on Boards, Volunteered | |
\item[Real Estate Courses] | |
\begin{itemize*} | |
\item Real Estate | |
\item Real Estate Finance | |
\item Appraisal I \& II | |
\item Feasibility | |
\item Legal Environment | |
\end{itemize*} | |
\item[Relevant] | |
\begin{itemize*} | |
\item Game Theory | |
\item Financial Accounting | |
\item Managerial Accounting | |
\item Corporate Finance | |
\item Calculus | |
\item International Relations | |
\item Macroeconomics | |
\item Microeconomics | |
\item Comparative Government | |
\item Quantitative Methods | |
\item Research Methods | |
\end{itemize*} | |
\end{description} | |
\end{position} | |
\end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment