11

Which are the key questions one has to ask to decide between Polyglossia and Babel for a LuaLaTeX project in 2019?

There has been a similar, more general question in 2012, but the packages have changed a lot in the meantime. Hence I open a new, more specific question.

Can we reduce it to a check list like

Use package A, if you need

  • utf-8 characters
  • right to left support

Use package B, if you need

  • package foo, because A breaks foo
  • 1
    Would you be OK with expanding the question to XeLaTeX as well, so this question is truly a more modern version of the other one or do you think it would be more useful to have a separate XeLaTeX question (I don't know if there are relevant differences between the two, but I think babel's new RTL support works better for LuaLaTeX than XeLaTeX, though I could be completely wrong.) – moewe Mar 31 at 10:22
  • 1
    For packages like csquotes and biblatex, but also some others like ctan.org/pkg/tracklang and packages using it polyglossia has the disadvantage that it does not expose language variants in a way that can be picked up easily by those packages. That means that there are some rough edges with dialect forms (english, british, american; ngerman, german, naustrian, ...). See for example tex.stackexchange.com/q/432347/35864. Most of those packages won't exactly break with polyglossia, but they work better/smoother with babel. – moewe Mar 31 at 10:27
  • 2
    I don't think there is any reason to use polyglossia over babel for lualatex. – David Purton Mar 31 at 10:33
  • 1
    @JonasStein why would you think that? There are still many scripts that luatex does not support. – David Carlisle Mar 31 at 11:35
  • 2
    @Davislor It's even worse -- \defaultfontfeatures is ignored altogether. This is a bug, already fixed on the repository. I'll upload the new version to CTAN very likely tomorrow. – Javier Bezos Mar 31 at 17:48
13

Here's some reasons why I prefer babel over polyglossia for lualatex.

  • babel's base is part of the LaTeX core packages actively developed, but poyglossia is only getting a few minor updates.
  • babel's RTL and BiDi support is really nice for lualatex now. But polyglossia only supports RTL text with xelatex.
  • babel's new ini 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, whereas polyglossia basically just uses standard fontspec calls.
  • For standard European languages babel's support is very mature.
  • polyglossia's language variants do not work well with biblatex or csquotes.

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.

11

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.