View on GitHub

Babel

The multilingual framework to localize LaTeX, LuaLaTeX, XeLaTeX

What’s new in babel 26.15

2026-10-29

PDF tagging

Development for PDF tagging continues, and this release introduces two new features.

\DocumentMetadata{language=en, tagging=on}
\documentclass{article}

% babel-metadata=tagging is temporary and will be removed in the future.
\usepackage[babel-metadata=tagging]{babel}

\begin{document}

They said, “\foreignlanguage[phoneme=ˈβu̯e.nos ˈði.as]{spanish}{Buenos días}.”

\end{document}

Note this is a recent feature in PDF tagging, requiring PDF 2. Current applications may not support it yet.

Environments (selectlanguage ,otherlanguage and otherlanguage*) are still pending. One of the problems is the \end very often comes before the paragraph ends, even if conceptually could go after.

If you stick to \selectlanguage in vertical mode and \foreignlanguage you should get now a properly tagged PDF in the text body.

Plain reorganized

For many years, most of the code was shared between LaTeX and Plain, but recent advances in LaTeX have made joint maintenance increasingly complex and cumbersome. Consequently, the code for Plain has been split from main babel for LaTeX and became essentially frozen. This does not mean it is unmaintained, and the door remains open to future improvements.

It needs to be cleaned up to remove unnecessary code in Plain. Note also the engine specific files are still loaded. A few bugs have been fixed.

Fixes