Decide between Polyglossia and Babel for LuaLaTeX in 2019
Here's some reasons why I prefer babel
over polyglossia
for LuaLaTeX.
babel
's base is part of the LaTeX core packages actively developed, butpolyglossia
is only getting a few minor updates.babel
's RTL and BiDi support is really nice for LuaLaTeX now. Butpolyglossia
only supports RTL text with XeLaTeX.babel
's newini
system for setting up languages is very neat and I think will improve rapidly. It also makes it easy to add new languages and update existing languages.babel
's font support is easier to use to set up standard families for different languages, whereaspolyglossia
basically just uses standardfontspec
calls.- For standard European languages
babel
's support is very mature. polyglossia
's language variants do not work well withbiblatex
orcsquotes
.
You might choose polyglossia
if you want to write a RTL only document with XeLaTeX, as the bidi
package has been around for a long time. But if the main document language is LTR, I wouldn't do this now as babel
and LuaLaTeX is better and involves less hacks and workarounds. You might also choose to use polyglossia
with XeLaTeX if you need certain complex scripts that LuaLaTeX still does not handle well. But none of these reasons justify choosing polyglossia
over babel
if you have already decided to use LuaLaTeX.
There are 79 language definition files (gloss-XX) in the polyglossia
folder. For a thorough comparision you would have to compare for every language how good the gloss-file is, if it works with lualatex, if babel
provide definitions for this language too and how good it works with lualatex. And naturally you also need to check if babel knows language which polyglossia
doesn't have. That's a lot work which I won't do (but it is known that the french module is clearly better in babel).
For all language relevant to me I prefer today babel over polyglossia. Even more if I use lualatex as babel has more lualatex specific code (polyglossia has been developed with xelatex in mind).
babel
is better maintained and its interface for other packages which need language support (biblatex
) is better.
Unfortunately I am not able to provide a holistic answer to the question. But I know polyglossia
does the job for me. Since end of 2019 it is also quite active again. There is one point where polyglossia
beats babel
:
polyglossia
provides long-s (ſ) captions with the optionblackletter
.
Edit: There used to be a second point about language metadata which is resolved as of hyperxmp
5.4. Thumbs up for Scott and Javier for resolving this quickly.