哪些是关键问题需要问的?2019 年 LuaLaTeX 项目在 Polyglossia 和 Babel 之间做出选择?
有一个类似的、更普遍的2012 年的问题但与此同时,包装也发生了很大变化。因此,我提出了一个新的、更具体的问题。
我们能否将其简化为如下清单
如果需要,请使用套餐 A
- utf-8 字符
- 从右到左的支持
如果需要,请使用套餐 B
- 包装 foo,因为 A 破坏了 foo
答案1
babel
以下是我更喜欢polyglossia
LuaLaTeX 的一些原因。
babel
的基础是积极开发的 LaTeX 核心包的一部分,但polyglossia
只进行了一些小更新。babel
现在,LuaLaTeX 的 RTL 和 BiDi 支持非常好。但polyglossia
XeLaTeX 仅支持 RTL 文本。babel
新的ini
语言设置系统非常简洁,我认为会迅速改进。它还可以轻松添加新语言和更新现有语言。babel
的字体支持更容易使用,为不同的语言设置标准系列,而polyglossia
基本上只是使用标准fontspec
调用。- 对于标准欧洲语言
babel
的支持非常成熟。 polyglossia
biblatex
的语言变体与或不太兼容csquotes
。
您可能选择polyglossia
使用 XeLaTeX 编写仅 RTL 文档,因为该bidi
软件包已经存在很长时间了。但如果主要文档语言是 LTR,我现在不会这样做,因为babel
LuaLaTeX 更好,涉及的黑客和变通方法更少。如果您需要某些 LuaLaTeX 仍然无法很好地处理的复杂脚本,您可能还会选择使用XeLaTeX。但是,如果您已经决定使用 LuaLaTeX,polyglossia
这些原因都不是选择的理由polyglossia
。babel
答案2
文件夹中有 79 个语言定义文件 (gloss-XX) polyglossia
。为了进行全面比较,您必须比较每种语言的 gloss-file 是否好用、是否与 lualatex 兼容、是否babel
也为该语言提供定义以及与 lualatex 的兼容程度。当然,您还需要检查 babel 是否知道一种polyglossia
没有的语言。这是一项繁重的工作,我不会做(但众所周知,babel 中的法语模块显然更好)。
对于所有与我相关的语言,我更喜欢 todaybabel
而不是polyglossia
。如果我使用 lualatex,情况会更是如此,因为 babel 有更多特定于 lualatex 的代码(polyglossia
)是在考虑 xelatex 的情况下开发的)。
babel
维护得更好,并且其与需要语言支持的其他包的接口(biblatex
)更好。
答案3
不幸的是,我无法为这个问题提供全面的答案。但我知道polyglossia
这对我来说是有用的。自 2019 年底以来,它也再次变得非常活跃。有一点polyglossia
是babel
:
polyglossia
提供带有选项的长 s (ſ) 字幕blackletter
。
编辑:之前还有关于语言元数据的第二点,从hyperxmp
5.4 开始已经解决了。感谢 Scott 和 Javier 迅速解决了这个问题。