Aller au contenu

TeX Live 2023 is now available

LianTze and Paulo · September 6, 2023

TeX Live 2023 is now available on Overleaf. This update will give you access to new and updated TeX-related programs, fonts, and macro packages. This post covers all the key information and important changes you need to know about.

What is TeX Live?

TeX Live is a free distribution of the TeX typesetting system that includes many TeX-related programs, fonts, and macros packages, including LaTeX. At Overleaf, we use TeX Live on our compile servers to power the real-time preview and produce your project PDF.

Will my existing projects work as usual?

Yes, your existing projects will still work as they will continue to use the TeX Live version from when they were created.

Can I switch to TeX Live 2023 for existing projects?

Yes, you can easily switch to TeX Live 2023 for existing projects. In the project you want to change, click Menu and navigate to Settings ― you’ll see a dropdown to select the TeX Live version. This allows you to quickly update your project to fit the requirements of publishers, preprint servers, and other platforms that use a specific TeX Live version to compile submissions.

Key changes in TeX Live 2023

While there are no big user-facing changes in TeX Live 2023, there are some important changes you may need to be aware of.

Unicode characters won't render with utf8x input encoding anymore when compiling with pdfLaTeX

When using \usepackage[utf8x]{inputenc} in TeX Live 2023, unicode characters won't render at all in the output PDF when compiling with pdfLaTeX. These math symbols should be typeset using the suitable math commands:

\documentclass{article}
\begin{document}
$\exists x$ such that $\forall y \neq x$ 
\end{document}

If you're using the XeLaTeX or LuaLaTeX compilers, you can use the unicode-math package so you can use unicode math symbols directly in your code:

\documentclass{article}
\usepackage{unicode-math}
\begin{document}
$∃x$ such that $∀y ≠ x$
\end{document}

\label within \caption will result in an error when the caption package is present

When creating figures and tables, it's common to put the \label{...} after the \caption{...}:

\caption{Comparison of two approaches}
\label{fig:compare-two}

Some people are more used to placing the \label{...} inside the \caption{...}:

\caption{Comparison of two approaches\label{fig:compare-two}}
\caption{\label{fig:compare-two}Comparison of two approaches}

But if the caption package is present, then including \label inside \caption like this will result in the following error message:

Argument of \caption@@@withoptargs has an extra }.

Therefore it would be more robust to use the syntax

\caption{...}
\label{...}

glossaries package updates

  • Some package options have been removed: e.g. smallcaps, description, smaller, footnote, dua. Please see the glossaries package documentation for details.
  • Some commands have been deprecated, e.g. \glossarystyle, \glossaryentryfield, \glossarysubentryfield. Please see the glossaries FAQ pages here and here for details.

citation-style-language: Using .csl stylesheets for citations and references

It's now possible to use Citation Style Language stylesheets (.csl files) to format citations and reference lists in LaTeX documents! You can find .csl styles here (let's use uoy-archaeology-jsm.csl as an example). First upload it to your Overleaf project, and then include the citation-style-language package:

\documentclass[12pt]{article}
\usepackage{citation-style-language}
\cslsetup{style = uoy-archaeology-jsm}
\addbibresource{researchDesign.bib}

\begin{document}
… This combination of data from multiple sources
may present problems in the categorisation and
comparison of sites across the region as a whole,
in particular the Scottish region where few
radiocarbon dates are available and many site not
been classified by date
\cite{elliot-email-2023,beckensall-northumberland-2005}

\printbibliography

\end{document}

If you’re compiling with LuaLaTeX, there are no extra steps: the CSL processor will run automatically. Otherwise, you'll need to add a file named latexmkrc (without file extensions) to your project, with this line in it:

$bibtex = 'citeproc-lua';

This way, latexmk will run citeproc-lua as part of the compilation process. You can see a full example here.

ElegantLaTeX packages removed from TeX Live

The maintainers of ElegantBook, ElegantPaper and ElegantNote have decided to stop maintaining these packages; they have been removed from TeX Live 2023. If you still want to use these document classes, you'll need to upload the necessary .cls files to your Overleaf project, or switch your Overleaf project back to TeX Live 2022.

\mintedinline

If you're using the minted package, take care that your \mintedinline doesn't contain any blank lines now.

What’s new in TeX Live 2023?

You can find the official release notes for TeX Live 2023 on the TeX Users Group (TUG) website, but here are some key highlights.

Cross-engine extensions

  • \special followed by a new keyword shipout delays expansion of the argument tokens until \shipout time, as with a non-\immediate\write.

pdfTeX

  • New primitive \pdfomitinfodict to omit /Info dictionary completely.
  • New primitive \pdfomitprocset to control omitting /ProcSet array: /ProcSet is included if this parameter is negative, or if this parameter is zero and pdftex is generating PDF 1.x output.
  • With \pdfinterwordspaceon, if the current font's encoding has a /space character at slot 32, it is used; otherwise, the /space from the (new) default font pdftexspace is used. That default font can be overridden with the new primitive \pdfspacefont. This same new procedure is used for \pdffakespace.

LuaTeX

  • New primitive \variablefam to allow math characters to keep their class while still letting the family adapt.
  • Improved r2l annotation areas.
  • Cross-engine late \special described above.

XeTeX

  • Bug fix for \topskip and \splittopskip computation when \XeTeXupwardsmode is active.
  • Cross-engine late \special described above.

Where can I find information on previous TeX Live versions?

Full TeX Live release notes for all versions can be found on the TUG website. We’ve also written updates for previous releases including TeX Live 2022, TeX Live 2021, TeX Live 2020, TeX Live 2019, TeX Live 2018 and TeX Live 2016.

Getting Help

As always, if you need help at any time with your Overleaf project, then please reach out to our support team, providing the link to your project. We’re here to help!

\begin{now}

Discover why 18 million people worldwide trust Overleaf with their work.