有人能总结一下(1)共同点和(2)不同点吗?babel
和polyglossia
软件包?我知道babel
3.8(当前版本)无法在 LuaLaTeX 和 XeLaTeX 下运行某些语言(例如俄语)(至少 2 年前是这样)。polyglossia
如果babel
3.9(现在)babel-alpha
) 能否与 XeLaTeX 配合使用?在这种情况下,使用polyglossia
它来替代是否有意义?babel
更新:很抱歉在一篇帖子中混入了几个问题。主要问题是关于polyglossia
和之间的区别babel
。例如,polyglossia
有针对某些语言的选项。
答案1
babel
和XeTeX之间的关系polyglossia
很复杂。一般的经验法则是,如果 babel.ldf
文件使用非拉丁文字,那么您应该使用polyglossia
,通常不能使用babel
,但如果它假设拉丁文字,您仍然可以使用babel
。关于您的具体问题,关于俄语,显然可以编写同时babel
.ldf
适用于两个引擎的文件,但对于大多数非拉丁文字,这还没有完成,polyglossia
仍然是必需的。
西里尔文的问题可能比使用 RTL 脚本(如希伯来语和阿拉伯语)的问题要简单得多(@egreg 的评论中提到了这一点)。其他脚本(如印地语)也存在特殊问题,因此 pdfLaTeX 不太可能成为选择。因此,polyglossia
对于那些独立依赖 XeLaTeX 的脚本来说,它仍然是必需的。
2013 年,Javier Bezos 发布了新版本babel
,该版本(除其他功能外)为 XeLaTeX 和 LuaLaTeX 等 UTF-8 引擎提供了更好的支持。这意味着对于大多数基于拉丁文字的语言,babel
和之间的差异polyglossia
将很小,但对于 RTL 语言和非拉丁文字语言,polyglossia
支持可能是更好的选择。当前版本babel
(撰写本文时为 3.9)提供“对 XeTeX 和 LuaTeX 的最低限度支持”。
答案2
据我所知,polyglossia
旨在babel
替代XeLaTeX
。