I grew tired of updating my current resume and made a new one with LaTeX.
Resume
The source code for my resume can be found on my GitHub at calvinbui/resume.
What is LaTeX?
LaTeX is a software system for creating documentation and textbooks within mathematics, engineering and computer science. It uses the TeX typesetting language underneath.
Creating a document in LaTeX has a programming feel to it by combining content and macros (think functions) to format text and create layouts. This solves my main problem with keeping different sections consistent.
Here is a simple example taken from Overleaf (Math 240 - Proof 2):
\documentclass[12pt]{article}
\usepackage{amsmath, amssymb, amsthm, graphicx, epsfig, fancyhdr}
\setlength{\headheight}{28pt}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{Jose Delgado \\ Math 240, Proof 2}
\fancyfoot[C]{\thepage}
\begin{document}
\begin{center} \Large Linear Algebra: Proofs\end{center}
\begin{section} {Proof-A-Day, January 16}
{\bf Claim:} If n is a positive integer, then n is odd if and only if 5n+6 is odd.
\begin{proof}
Suppose there is a positive integer n. Assume that the result of 5n+6 is odd. 5n+6 can be rewritten as 5(n+1)+1. We know that any integer plus one results in a switched polarity (even becomes odd and odd becomes even), so the equation 5(n+1) must be even. Because five is an odd integer, the result of n+1 must be even because an odd integer times an even integer always results in an even integer. This means that n must be an odd integer.
Therefore, n is odd if and only if 5n+6 is odd.
\end{proof}
\end{section}
\end{document}
Development
As it was my first ever LaTeX project, I started with Awesome CV by posquit0, a very popular LaTeX template for a CV, resume or cover letter. I've a lot of changes to it (which you see in my commits) to adapt it to my requirements.
To edit the resume, I used VSCode along with the very powerful LaTeX Workshop extension by James Yu. It makes changes to the resume a lot easier with automatic compiling on save, IntelliSense support, linting and autocomplete.
Building with GitHub Actions
LaTeX files (.tex
) can be compiled into PDFs and other popular file formats. Using GitHub Actions, I am compiling the PDF on each commit with my real phone number and email (via secrets) and exporting the artifact.
At the moment, I am downloading and deleting the artifact straightaway. However, I'll be moving the build to Gitea Actions once it becomes stable, so I can compile the PDF privately.
Why the change?
My current resume is created using Adobe InDesign. It's what I landed on a few years ago after Microsoft Word became too limiting.
There are a couple of issues I was looking to solve:
- Adobe charges a yearly fee for InDesign → VSCode and other text editors are free.
- Requires a computer with InDesign installed → Anything with a text editor.
- Specific fonts were required → Included in LaTeX.
- I had to manually export the PDF each time → Builds automatically on each commit.
- I am incompetent with Adobe InDesign → I am still incompetent with LaTeX, but it is a lot easier to find help.