目前我使用 pdflatex 来处理我的文档,但我想跟上潮流,改用 XeTeX 或 LuaTeX。我的文档是中等程度的多语言(正文是葡萄牙语或英语,引文和参考文献是英语、德语、法语、俄语和希腊语),但只要稍加努力,pdflatex 就能处理。我只想摆脱繁琐的文字,能够使用 OpenType 字体。
那么,XeTeX/LuaTeX 是否存在什么缺点,会阻止我现在切换?
我主要关心的是数学排版,因为我的文档中的数学内容通常比文本多=)
我知道的唯一问题是他们对微类型的支持不完整。
答案1
如果您对 pdftex 已经使用的“普通”数学字体感到满意,那么数学就不是问题。这也适用于 xelatex + lualatex。您也可以尝试 unicode-math,但我不知道它是否在所有情况下都有效。
多语言支持更成问题:由于您使用的是不同的脚本(希腊语、俄语),因此您无法使用 babel(至少对于这些语言),因为它会破坏 unicode 字体支持。因此您需要 polyglossia,但这还不适用于 lualatex,因为它使用(至少对于某些语言)xetex 特定的命令,如 \XeTeXinterclass。此外,在 babel 版本中,某些语言(例如法语)的支持文件要复杂得多。可以混合使用 babel + polyglossia,但这在很大程度上取决于实际的语言组合是否有效以及效果如何。
关于microtype支持:最新版本的xetex可以做凸出(我还没试过),lualatex可以做凸出+扩展。microtype的作者刚刚在ctt上宣布了一个微型初版存在支持这两种引擎的版本。
但至少对于 lualatex 来说,它不是必需的,你可以手动激活它们而不会出现问题:
\documentclass[fontsize=12pt]{scrartcl}
\pdfprotrudechars1
\pdfadjustspacing1
\usepackage{lipsum}
\usepackage{fontspec}
\newfontfeature{Microtype}{protrusion=default;expansion=default;}
\setmainfont[Microtype,Ligatures=TeX]{Linux Libertine O}
\begin{document}
\lipsum
\end{document}
答案2
如果您是一名科学家,那么就会有一个非常严重的缺点:arXiv 以及我查阅过的任何期刊都不支持 XeTeX/LuaTeX。
当然,这不是一个技术缺陷,但却是我没有对大多数文档切换到新引擎的原因。
答案3
取决于您的需求:
- OTF 字体的微排版还不太稳定
- ConTeXt 对微排版和 OpenType 数学的支持似乎比 LaTeX 好得多,因此你可以考虑切换到 ConTeXt
- 如果你不需要微排版或 OpenType 数学,并且想继续使用 LaTeX,那么 XeLaTeX 和 LuaLaTeX 都可以
- 通常情况下,您需要匹配文本和数学字体。这样的组合很少:Latin Modern、Cambria、Asana、XITS、mathptmx、mathpazo、mathdesign。我个人最喜欢 Latin Modern 和 Cambria。Cambria 是此列表中唯一的“专业”字体,如果 OTF 数学支持足够稳定,它将是我的首选。目前,我继续将 Latin Modern 与 pdftex 一起使用。
PdfTeX + microtype + Latin Modern 的优势在于绝对稳定,输出连贯。我认为你应该尝试这两种方式,然后决定 OTF/Unicode 的优势是否大于其余的问题。
答案4
除了其他答案之外,XeTeX 还有一个小问题:无法裁剪所包含的图形。