Overleaf and TeX Live
This article introduces TeX Live and outlines its use within Overleaf’s LaTeX-based typesetting service.
Introduction to TeX Live
TeX Live is a free software distribution published annually by The TeX Users Group. It provides the LaTeX packages, fonts, TeX engines, and numerous software tools required to support LaTeX-based typesetting on all standard operating systems.
TeX Live is an important component of Overleaf because our servers use it to compile your LaTeX code and generate the real-time PDF preview. It also provides Overleaf’s users with easy access to over 5,000 LaTeX packages contained in each TeX Live release.
You are not restricted to using the latest version of TeX Live to compile your projects because Overleaf’s servers provide access to previous TeX Live releases. Projects can easily be switched to use an earlier version of TeX Live—for example, due to issues with package compatibility.
Which LaTeX packages does Overleaf support?
Because Overleaf uses TeX Live you can access over 5,000 packages, including:
- Figures with pstricks and TikZ. Here are some TikZ examples.
- Bibliographies with BibTeX and BibLaTeX. Here are some examples.
- Packages, such as fontspec required by XeLaTeX and LuaLaTeX for OpenType font support.
You can browse the list of TeX and LaTeX packages on the CTAN subpage CTAN: Packages.
Which TeX Live version does my project use?
When you create a new Overleaf project or copy an existing one, the new (or copied) project will, by default, compile using the latest version of TeX Live installed on our servers. When we provide a new version of TeX Live for our users, we do not automatically upgrade existing projects. Doing this automatically could cause errors or warnings within your existing projects due to differences between TeX Live versions.
Additional notes on TeX Live and your Overleaf project
- The TeX Live version used to compile an unshared project is controlled by the person who owns that project. However, if a collaborator on a shared project changes the TeX Live version, it will affect everyone collaborating on that project.
- The TeX Live version is a project-specific parameter: changing it for a particular project will not affect any other project in your Overleaf workspace or modify any source code in the project whose TeX Live version is changed.
- After choosing a specific version of TeX Live, all packages used by your project will, of course, be the versions present and published within that release of TeX Live.
- Switching to a different TeX Live setting may change package behaviors, such as changes to commands they provide.
- Switching a project's TeX Live version is not permanent; you can revert to a prior version whenever needed. Always be mindful that different releases of TeX Live may have updates/changes that could affect the ability to compile your project using a particular TeX Live release.
How do I change a project’s TeX Live version?
Use the following steps to change a project’s TeX Live version—the TeX Live setting is specific to each project and does not affect any other projects you may have:
- Select the Overleaf menu button () and locate the menu section labeled Settings.
- Within Settings, choose the drop-down list labeled TeX Live version.
- Select the TeX Live version required by your project, then close the menu by clicking anywhere outside the menu list.
- Recompile your project to test compatibility with the chosen version of TeX Live.
The following graphic summarizes these steps—for clarity, most of the menu items are omitted:
Why change a project’s TeX Live version?
TeX Live is a large and complex software distribution, so it’s unsurprising that new releases occasionally introduce changes that prevent the successful compilation of a few documents. This is typically due to changes affecting package commands, unexpected bugs, and package incompatibilities (or “clashes”).
Here are some common reasons for changing the TeX Live version used to compile your project.
- You may want a newer version of TeX Live for one of your existing projects. You can move the TeX Live version used by your project to a more recent version that provides a package, command, or language feature you would like to use. However, before doing this, we recommend that your project compiles error-free and that you understand any remaining warnings the compiler has provided.
- You may want a copied project to use the same TeX Live version as the original. Sometimes, when you make a copy of an old project, new errors can show up because of changes in TeX Live. When this happens, you can either amend your project to be compatible with the latest version of TeX Live or set the TeX Live version of your new copy to match the version of the original project it was copied from.
- You may need to have the version of TeX Live used in your Overleaf project match the version you use on your local machine. If you compile your projects locally as well as in Overleaf, to get consistent results you may wish to adjust the TeX Live version used by Overleaf to be compatible with the LaTeX version you use locally.
- You may submit to a journal or repository that compiles with a specific version of TeX Live. If you submit to a journal or repository that uses a specific version of LaTeX, compiling with the same or compatible version of TeX Live on Overleaf can help avoid errors at submission time.
“Legacy” versions of TeX Live
In the TeX Live version drop-down menu, shown in the screenshot above, older versions of TeX Live are categorized as “Legacy”. These versions are made available to ensure compatibility and successful compilation for older templates and projects requiring them.
Here are some additional points to consider when considering use of older TeX Live versions:
- When starting a new project, using the latest version of TeX Live is advisable unless specific compatibility issues necessitate using an older version. This approach ensures you benefit from the most recent updates and features.
- While Overleaf has not yet defined a timeline for discontinuing the oldest versions of TeX Live, those versions may eventually be phased out and unavailable.
- Where feasible, your existing projects should be updated to the latest compatible version of TeX Live.
How often is TeX Live updated on Overleaf?
Overleaf’s compilation servers are upgraded to the latest release of TeX Live shortly after it becomes available. After testing and completion of the upgrade, Overleaf publishes a blog post to share any notable TeX Live updates, together with package-specific notes and guidance based on the results of our testing. Our TeX Live “release notes” can be found on our blog using the
tex live tag: https://www.overleaf.com/blog/tagged/tex%20live.
About Overleaf’s upgrade process
Before upgrading our TeX Live installation, we recompile an extensive test suite of documents, including roughly 5,000 from our gallery of templates, examples, and articles, to check for breaking changes—including errors and any significant visual change(s) to the compiled output. We also measure the comparative time it takes to render documents. We identify significantly slower renders and try to make them faster. As a result of those tests, we update templates that we have produced—this is why it sometimes takes us a while to update our TeX Live! However, the result is hopefully a more stable experience for our users.
Despite our testing, updates made to LaTeX, TeX engines, or necessary fonts and packages in TeX Live can sometimes introduce incompatibilities, breaking changes, and deprecations that are beyond our control. Given the scale of TeX Live and the wealth of packages and tools it provides, we can’t rule out breaking changes, but we will try our best to minimize any impact on our users.
Package changes between TeX Live releases
The TeX community continues to innovate between the annual TeX Live releases. New or updated LaTeX packages, fonts, and TeX-related software are regularly contributed to the Comprehensive TeX Archive Network, referred to as CTAN within the TeX community. CTAN provides a central repository for TeX- and LaTeX-related software ready for inclusion in the next TeX Live release.
- Creating a document in Overleaf
- Uploading a project
- Copying a project
- Creating a project from a template
- Using the Overleaf project menu
- Including images in Overleaf
- Exporting your work from Overleaf
- Working offline in Overleaf
- Using Track Changes in Overleaf
- Using bibliographies in Overleaf
- Sharing your work with others
- Using the History feature
- Debugging Compilation timeout errors
- How-to guides
- Guide to Overleaf’s premium features
- Creating your first LaTeX document
- Choosing a LaTeX Compiler
- Paragraphs and new lines
- Bold, italics and underlining
- Mathematical expressions
- Subscripts and superscripts
- Brackets and Parentheses
- Fractions and Binomials
- Aligning equations
- Spacing in math mode
- Integrals, sums and limits
- Display style in math mode
- List of Greek letters and math symbols
- Mathematical fonts
- Using the Symbol Palette in Overleaf
Figures and tables
- Inserting Images
- Positioning Images and Tables
- Lists of Tables and Figures
- Drawing Diagrams Directly in LaTeX
- TikZ package
References and Citations
- Bibliography management with bibtex
- Bibliography management with natbib
- Bibliography management with biblatex
- Bibtex bibliography styles
- Natbib bibliography styles
- Natbib citation styles
- Biblatex bibliography styles
- Biblatex citation styles
- Multilingual typesetting on Overleaf using polyglossia and fontspec
- Multilingual typesetting on Overleaf using babel and fontspec
- International language support
- Quotations and quotation marks
- Sections and chapters
- Table of contents
- Cross referencing sections, equations and floats
- Management in a large project
- Multi-file LaTeX projects
- Lengths in LaTeX
- Headers and footers
- Page numbering
- Paragraph formatting
- Line breaks and blank spaces
- Text alignment
- Page size and margins
- Single sided and double sided documents
- Multiple columns
- Code listing
- Code Highlighting with minted
- Using colours in LaTeX
- Margin notes
- Theorems and proofs
- Chemistry formulae
- Feynman diagrams
- Molecular orbital diagrams
- Chess notation
- Knitting patterns
- CircuiTikz package
- Pgfplots package
- Typesetting exams in LaTeX
- Attribute Value Matrices
- Understanding packages and class files
- List of packages and class files
- Writing your own package
- Writing your own class