Ok, you’re intrigued but are wondering how to actually get all this material?

We regularly compile the files in the repository into PDFs. This includes PDFs of every section, chapter, and part; everything in one complete PDF; as well as textbooks that use selections of the material.  To download these PDFs, go to


For advanced users who want to compile their own PDFs, we provide the source code as well. It is hosted on GitHub.  (GitHub is a collaboration portal and Git server. Git itself is a revision control system developed for open source software projects.  It enables collaborative code projects to keep their code base in sync between many different collaborators. While it’s mostly used for program code, we’re using it for LaTeX code.)

To download the source code, you should go to the GitHub repository page.  At the top right there’s a green button titles “Clone or download”.

  • This lets you download the entire repository as a ZIP file.  If you don’t know (and don’t want to know) what Git is, use that.
  • It’s better, however, to use Git to download (this is called “cloning the repository”). You’ll have to install and become familiar with Git. The advantage is that you can then keep your own copy up to date with any changes in the master repository.
  • The best way to get the OLT, however, is to first fork the repository on GitHub, and then clone your forked copy.  If you do that, you can not only keep your copy in sync with the master repository, but also easily contribute your own improvements and additions back to us.  It requires a (free) account on Github.

To compile the source code into a PDF yourself, you need LaTeX. Further instructions on compiling PDFs from the LaTeX source can be found in the wiki.

All content, except where otherwise noted, is provided under a Creative Commons 4.0 International license, which means you are free to download, print, reuse, modify, and distribute it without further permission as long as you adhere to the terms of the CC-BY license.

If you use the material in a class, please fill out the Adoptions Form!