Automated Academic
I am by no means a coder by nature or training. Yet, I enjoy screwing around with computers, particularly to try to automate mundane tasks. As an academic, we are expected to track everything we do, although to be honest, it seems like Canada is a bit behind places like the UK. One of the most frustrating parts of this is that everything you apply for (e.g. grants, promotions, annual reports) all have different reporting requirements.
It has always seemed to me to be a challenge that I could try to automate some of this to make my life easier. In the end, honestly, as probably an academic with a proclivity for coding greater than average but less than professional, this process has probably cost me more time than it has saved me. On the other hand, I have had a perverse amount of fun.
I would like to share with you my basic set up of how to manage your CV and academic work to maximize the range of accountability outputs you are expected to produce and minimize your times.
The Tools
-
Latex This is an open source type-setting software that is most commonly used in the natural sciences. I like it because it produces unfailingly beautiful documents. It also has outstanding citation management features because of its roots in the scientific world which is why it is here! It can be complicated to write in, but I think you’re going to see some real merits in this use case.
-
Zotero This is free and open source citation management software for PC and Macs. I use it for everything and it is great. It has a very vibrant forum which is responsive.
- Add the Zotero Connector to Chrome. This will allow you to often grab entries in Google Scholar or Google Books (e.g. like your publications!) and you can quickly add them to Zotero.
- Supercharge Zotero with the Better Bibtex plugin. It’s very easy to install within Zotero, is necessary for this workflow to work and makes Zotero work with LaTeX very nicely.
The strategy
The basic game plan is to use Zotero to organize everything you do in your academic life. This is quite easy because it is point-and-click, you can duplicate items (repeat course offerings) and you can grab publications from Google Scholar (e.g. things you have published) quite quickly. Then, you’re going to export each collection to a separate .bib
file, which is a bibliography file for LaTex files. Then, we’re going to use LaTeX to build one single dossier, chunk by chunk, grabbing all the courses, publications, media interviews, teaching philosophy, cover letter into one file.
The setup
Your outputs
In Zotero, you can set up collections, via File > New Collections
. I can’t stress this enough: do so for each type of activity that you do in your academic life and do not be shy about breaking them out. For example, set up a collection for:
- Journal articles
- Classes you have taught
- Lectures you have given
- Grants you have applied for or reviewed
- Reviews you have done (peer reviews, grants)
- Media interviews you have provided.
Populate your collections with everything you have done by making items: File > New Item
! Tips to make things go quickly include:
- duplicate items (e.g. repeat course offerings.)
right-click > Duplicate Item
then just change the date - Use the Zotero connector extension in Chrome to grab your publications from Google Scholar or any other database.
At the end, your collections should look a bit like this. Note that naming your collections with the same starting phrase (e.g. cv_articles, cv_chapters, cv_courses) is just a hack in order to be sure that your collections are in the same spot in the collection menu. It will save time finding what you need.
Item types
When you create an item in your collection, you have to set its type. This is somewhat important. Easy categories here include book, journalarticle, report, etc. These correspond roughly to entry types
in biblatex
which is the bibliographic companion to LaTeX. Many of your outputs types are self-evident (e.g. journal articles), others are less so (e.g. courses or grants) and to be honest this is where Zotero falls down a little bit. If things are unclear, usually the document
or the manuscript
type will work just fine. The problem is that LaTeX formats these types in certain way for bibliographic software, but we are hacking the program a little bit. For example, biblatex
has no entry type
for a grant. And obviously the grant amount is a kind of important thing in your CV. My hack for this is just to make a basic manuscript
item for each grant and just write the title so it shows up in the output nicely in the end. You will see, this part will go quickly.
Tags
Another really nice feature of Zotero is that you can add tags
very quickly to your items. This allows for filtering of items in Zotero, but it also turns those tags into keywords
in the bib
file that we’re going to create and that’s going to come in super handy when we produce documents for the overlords.
Just as an example, you might have journal articles that are peer-reviewed and some that are not peer-reviewed. So for the journal article collection, you could tag your articles in that way. You could also tag “successful” and “unsuccessful” grants, or tag articles “in press"or “forthcoming” or “under review”.
Bib files
LaTeX works with .bib
files to process citations. Zotero can create these files very easily. For each collection you have created, we’ll create a separate .bib
file. It’s dead easy. Right-click on each collection and select Export Collection
. You’ll get a menu like this:
You’ll want to select the Keep Updated
option. That essentially will automatically sync every change you make in your Zotero collections with the corresponding .bib
file. After that, you will get to choose a file path for where the .bib
file will be stored. I highly suggest picking one central folder for these bib files. I put it in a subfolder of my CV folder. YMMV.
The Tex File
OK, with your academic life organized in Zotero and .bib
files exported, you’re ready to start constructing the .tex
file for your dossier.
After having installed LaTeX as above, you should have a GUI tex application. On my Mac it is Texshop. You’ll want to open that up and start a new .tex
file.
The basic components of a .tex
file are as follows:
\documentclass{article}
%lots of formatting preamble and instructions
\begin{document}
%All you contents
Text .
\end{document}
Feel free to dump that into TexShop and hit something like Typeset
.
OK, you’ve written your first LaTeX document. Now it’s time to get going.
Your publications
You’re going to want to produce is a list of all your publications, courses, grant applications, all that stuff in bibliography style. No problem.
First, we’re going to use the [biblatex-publist](https://github.com/jspitz/biblatex-publist/blob/master/biblatex-publist.pdf)
package.
Drawing on packages in a LaTeX document for specific purposes involves adding something like this to the preamble of your document.
\usepackage[package-options=value]{package_name}
In this case, we add the biblatex
package to produce our bibliographies of our stuff, formatting them in thepublist
bibliography style to make nice lists of our documents for our overlords. I have set out some of the primary options you can set.
\documentclass{article}
\usepackage[bibstyle=publist,
%do you want dois printed for all your publications
doi=true,
%do you want dates reduced to years?
date=year,
url=true,
%at how many authornames do you want to start using et. a.
maxbibnames=10]{biblatex}
\begin{document}
%All you contents
Text .
\end{document}
Note, if you compile this document you won’t see anything. All of this just happens in the background.
To start adding lists, we’re going to do the following.
First, we’re going to add a section called something like Publications and then some sub-sections like “Peer-reviewed journal articles”, “Book chapters”, “op-eds”, etc.
\documentclass{article}
\usepackage[bibstyle=publist,
%do you want dois printed for all your publications
doi=true,
%do you want dates reduced to years?
date=year,
url=true,
%at how many authornames do you want to start using et. a.
maxbibnames=10]{biblatex}
\begin{document}
%All you contents
Text .
%Adding the asterisk removes section numbering
\section*{Publications}
\subsection*{Peer-reviewed journal articles}
\subsection*{Chapters}
\subsection*{Op-Eds}
\end{document}
You might see where we’re headed. Each of these sections should mirror one of your collections. Now we’re going to actually produce the bibliography (e.g. your publications that you curated in Zotero). For each section of publications you’re going to define a \newrefsection
with a link to the respective .bib
file.
\subsection*{Peer-reviewed journal articles}
\newrefsection[sample_]
\nocite{*}
\printbibliography[heading=none,type={article}, keyword={peerreviewed}, keyword={inprint}, check=recent]