Skip to content
Switch branches/tags
Go to file
This branch is 34 commits ahead, 1 commit behind jackson13info:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Typeset your MLA papers in LaTeX.

Getting started

First, download mla.cls and copy or symlink it into the same directory as your .tex document.

Start with the following template:



Your content goes here.


Compile as you like. The following example shows compilatation with XeTeX but all 3 engines are supported.

$ latexmk -pdfxe -interaction=nonstopmode <document>.tex

You will notice a number of placeholders in the PDF, for example there is \firstname{?} where your first name should be. To set your first name, put in the preamble:

\firstname{Joe}  % adjust name to taste

Similarly for \lastname, \professor, \class, and \title. By default, the current date is used; you can substitute another one by specifying \date.

Works cited

Obtain bibliographic information in BibTeX format (you can download this from any reputable library database) and place it into a .bib file. Specify in the preamble \addbibresource{<file>.bib} to make those sources available. In the main text, you can cite them by their shortnames as \cite{<name>} or \cite[<pagenum>]{<name>}. Any cited sources will automatically be placed in a works cited if you include the command \makeworkscited at the end.


You can cause text to be justified rather than left-aligned by providing the [justify] documentclass option.

You can use Tinos for the main font rather than Times New Roman by providing the [tinos] documentclass option. This options only matters if you are using an OpenType-aware engine; compilation with PDFTeX will always use the New TX font.

You can prevent the Works Cited from being placed on a new page by providing the [workscitedsamepage] documentclass option.

You can put page numbers in the lower-right corner rather than the upper-right corner by providing the [lowerrightpagenumbers] documentclass option.

You can prevent the page number heading from being shown on the first page by providing the [nofirstpagenumber] option.


An bulleted outline can be created with the outline environment. The bulleting style follows the format documented here. The outline supports an indent level of three.


Basic Usage

    \item Hello world!

Full Outline


% Header
\professor{Dr. Example}
\class{EX 101}
\title{Using mla-tex to create an outline}

Thesis: Lorem ipsum

      \item Item 1
      \item Item 2
          \item Item 3
          \item Item 4
              \item Item 5
              \item Item 6

Advanced usage

To cause a field to be omitted in the printed document, with not even a placeholder, simply specify it as e.g. \title{} rather than \title{<text>}.

To substitute the value of e.g. your last name which you passed to \lastname, use the expression \get{lastname}. This may be useful if you want to use a custom header, as below, but still need to set \lastname for the page number formatting. To get the current date in MLA format, use \today{}.

You can replace the default header format with one more to your liking by using the header and centered environments rather than the \makeheader command. For example:

  ID Number
  The title

Contributor guide

When adding a new feature, you should document it in the README. Any user-visible change should also be noted in the changelog. I have some information on how to write a changelog in the contributor guide for my projects.