From CommunityData
Revision as of 19:53, 8 August 2019 by Benjamin Mako Hill (talk | contribs) (updated)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

In order to write LaTeX documents, there are two main options. The first is to do everything in Overleaf. The second option, which is explained in this document, is to install software on your local machine which will compile LaTeX documents. This document explains how to use our lab-created templates. Using other templates may require other steps.

Installing Dependencies[edit]

Debian/Ubuntu Installation Instructions[edit]

First, you'll want to install the following packages:

  • rubber
  • latexmk
  • texlive-latex-recommended
  • texlive-latex-extra
  • texlive-fonts-extra
  • texlive-fonts-recommended
  • texlive-bibtex-extra
  • moreutils
  • gawk

Also, to install Garamond grab and install the font from here through the following complicated process:

  • Download the file
  • Create ~/texmf if it does not exist yet
  • Unzip the file from the file into that ~/texmf/
  • Copy the other font files in the root directory of into ~/texmf/fonts/type1/
  • Run "texhash ~/texmf

Alternatively, if you want to install them system wide and have root credentials, you can also place them in /usr/local/share/texmf instead.

Using MacTeX on OSX[edit]

To install with MacTeX, you need to install the font:

texlua install-getnonfreefonts
sudo getnonfreefonts-sys garamond

Getting/Installing Templates[edit]

You can find the latest version of the templates here.

To clone the public repository, you can do:

git clone git://

If you can clone them into the directory ~/tex/ (e.g., by doing mkdir ~/tex; cd ~/tex before running the clone command above) it will make things a bit easier.

This code includes a bunch of bash scripts which are used to quickly create a new project. If you want, you can copy the files into your path (e.g., ln -s ~/tex/cdsc_tex/new* ~/bin/); this will allow you to run, for example, new_knitr_document documentname to create a new knitr document from the template.

Using the Templates[edit]

There are quite a number of useful instructions sprinkled throughout the TeX source file in comments. You should pay particular attention to the comments that begin with:


There are two styles that come with the package with two basic layouts that are defined. To switch between them, you just edit the following line:


The first style cdsc-article is great for papers (a perhaps dated example).

The second style cdsc-memo is more for shorter pieces and memos (a perhaps dated example).

If you want to use the style, you might want to consider switching the \chapterstyle line mentioned above cdsc-article to cdsc-memo by editing the following line.

If you want to include git commit IDs and datestamp on each page of the paper, you can uncomment the following lines which will import version control information after running <copde>make vc


One problem is that that this can be tricky to get to work on Overleaf. This alternative line will just input a timestamp at the build process:


Either approach can be useful for keeping track of which version of a document somebody has.

The templates themselves use the LaTeX Memoir Class (warning that link is a ~1000 page PDF and the documentation).

Sending Patches[edit]

If you want to send patches, these currently should be sent over email to mako. Details on how to do this with the git format-patch command are online here: