Engine news from the LaTeX Project

submited by
Style Pass
2024-11-07 21:30:12

The latest release of LaTeX went to CTAN on Friday, and moves us forward in truly automatic tagging for PDFs, particularly for mathematics. As part of the work, we have been looking at the capabilities of different engines. Here, I want to summarise what users should take from that for existing and for new documents.

LuaTeX offers the widest range of features, including the ability to access the node list as it’s constructed. We can use that to generate MathML automatically for math mode fragments. If also allows us to do tagging in fewer passes than in other engines and offers support for larger documents (due to dynamic memory allocation). As such, LuaTeX is the recommended engine for all new documents.

The situation with XeTeX contrasts strongly with LuaTeX: although both are Unicode engines, XeTeX has none of the flexibility available in LuaTeX. There are significant technical limitations which mean that XeTeX cannot create accessible PDFs at all: this is unlikely to change. The engine itself is unmaintained, and with no access to internals, fixing the current issues alone would not really help. XeTeX does not produce PDFs directly, and that essentially rules out full tagging support (see below).

All of this means it is time to move away from XeTeX: certainly for new documents, and even for existing ones. Users should look at alternative approaches here, even if it means some source changes. This is most obvious for users of xeCJK, who will need to look a the methods offered by `luatexja instead: whilst the latter is described as for Japanese, the underlying mechanisms should be suitable for other East Asian languages.

Leave a Comment