Anyone who has been through a job search can attest to the fact that the process can be overwhelming, especially from an organizational standpoint. Suppose you are applying to more than 100 places. That means writing more than 100 different cover letters. It is beneficial if you tailor each letter to a specific job, but this process can be incredibly time-consuming. Here I will show you how to automate the cover letter writing process in LaTeX. Trust me, this can save a lot of time!
If you aren’t familiar with LaTeX, here is a good place to start. There are also many helpful books available such as LaTeX: A Document Preparation System (2nd Edition) .
At the end of this process I will have two .tex files that work in tandem to produce the many cover letters needed for your job search. The first file that you will need to create is a cover letter. Below I include a sample cover letter created in LaTeX that should be modified to fit your own needs. Remember that the lines starting with % are comments. Any of the items that start and end with \ will be input found in the second file we will create that contains the specific information for each institution to which you are applying.
Example CoverLetter.tex
\opening{\person}
I have read about the \position\ at \place\ as listed \advertisement. Currently I am a research scientist at the University of Zaphu, where I have spent the past four years performing groundbreaking studies that will change the world. I have also published many articles in Journals X, Y, and Z.
Enclosed please find \EnclosedItems. Thank you for considering me. I look forward to hearing from you.
\signature{Riley Porter}
\closing{Respectfully,}
Creating a List File
Now that you have your basic cover letter written, you need to create a .tex file that contains all of the detailed information for each company to which you are applying. This Lists.tex file is the one that needs to be compiled in LaTeX, and it will use the CoverLetter.tex file as input.
\documentclass{letter}[11pt]
\begin{document}
% You’ll need to create one of the following input groups for each job/cover letter you want to create. All information is saved in the same Lists.tex file.
% Job #1
\begin{letter}{
John Q. Smith\\
Zaphu Industries\\
17 Research Way\\
Zaphu, NY 10101\\
}
\newcommand{\person}{John Q. Smith,}
\newcommand{\position}{really cool super secret science job}
\newcommand{\place}{Zaphu Industries}
\newcommand{\advertisement}{on Zaphu.com}
\newcommand{\EnclosedItems}{my resume}
\include{cover_letter}
\end{letter}
% Info for Job #2, etc. is formatted as above….
\end{document}
You can add many more items using the \newcommand{} formulation. For example, you may want to have an option that indicates whether you know people who currently work at the company where you are applying.
Creating Your Cover Letters
To create your many cover letters all you need to do is LaTeX your Lists.tex file. Be sure to check that the CoverLetter.tex file is saved in the same directory as the Lists.tex file. In the end you’ll have a PDF that looks like this:

Good luck with your career search!

Add New Comment
Viewing 1 Comment
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks
(Trackback URL)