改用“增强型”乳胶

改用“增强型”乳胶

我长期使用 LaTeX,并且已经建立了一个非常高效的工作流程来编写 LaTeX 文档,但是我几乎错过了整个“替代”和“增强”的 LaTeX 替代品浪潮,如 LuaTeX 和 XeTeX。我一直想尝试一种新的排版引擎,但我只想切换到我可以长期使用的引擎。

对于为科学写作的人来说,从 LaTeX 转换过来的有效途径是什么,从而将生产力的下降降到最低?特别是,现有的 LaTeX 软件包(最令人感兴趣的 - 出版商特定的软件包,如revtex)与 LaTeX 替代品的接口有多好?为科学出版物或工程文档写作的人会发现其他 *TeX 有什么明显的优势吗?

答案1

xelatex使用或lualatex(我个人最喜欢的)代替的主要优点pdflatex是:

  • 你获得了原生的 utf8 兼容性,
  • 您可以使用任何 OpenType 和 TrueType 字体,即基本上任何字体,
  • 您可以使用高级字体功能,例如特殊连字、替代字形等,并且
  • 你可以轻松地在 TeX 文件中添加代码脚本,这些脚本甚至可以访问 TeX 内部代码(lualatex仅限勇敢者 :)),
  • 你切换到现代 TeX 引擎,无论如何有一天你必须这样做(据我所知lualatex,它是 TeX 的官方继任者pdflatex)。

至于缺点/不兼容性,在我看来,没有真正的技术障碍可以阻止人们进行切换:

  • pstricks不起作用,但pgf/tikz无论如何都更好,
  • 的大多数功能microtype现已可用(在 下lualatex,只有字符凸出在 下可用xelatex),其余一些功能正在开发中,
  • polyglossia目前还不是完美的替代品,babel但在我看来,它也不是最出色的替代品,
  • 上次我检查时,xe“-/” 的lualatex替换CJK尚未达到其标准,但对于大多数西方用户来说,这并不重要(我认为你也是)。

所以我认为最大的问题不是某物阻止您迁移,但是某人:大多数期刊只接受pdflatex兼容的输入,并且可能是最后一个做出改变的,你的论文导师太老了,学不到新东西,你的同事太懒了,... :(

有关从pdflatexxe- 或 的切换的详细列表lualatex,请检查以下问题:

答案2

您必须在文档中更改一些内容,例如fontenc软件包。此外,还有一些软件包无法使用或功能有限(至少目前如此),例如 microtype。与 pdflatex 相比,LuaLaTex 的编译需要很长时间(至少根据我的经验)。

另一方面,您可以使用系统上安装的任何字体,并且有一些软件包仅适用于 LuaLaTex。当然,您可以将 lua 与 LuaLaTex 一起使用,与使用 (La)TeX 编程相比,这确实很容易。

答案3

这不是一个两者任一因为这是特定功能的需求,正如 Xavier 所总结的那样。没有太大区别。例如,使用 XeLaTeX/LuaLaTeX,您可以更轻松地选择系统字体,但使用 XeLaTeX 时您会缺少一些microtype功能(这是它最大的缺点)。在我的系统上,XeLaTeX 和 LuaLaTeX 在处理大型文档时速度都明显较慢。所以有时我在起草时使用 pdfLaTex,并在最后切换到 XeLaTeX。

制作可以与不同 TeX 风格一起使用的文档非常容易,例如使用包iftex

这是有关引擎的各种文档的示例。 XeLaTeX 与 PdfLaTeX

\documentclass[paper=a6]{scrartcl}
\usepackage[english]{babel}
\usepackage{iftex}
\ifPDFTeX% when compiling with pdflatex
  \usepackage[utf8]{inputenc}
  \usepackage[T1]{fontenc}
  \usepackage[largesmallcaps, fulloldstylenums, widermath]{kpfonts}
\else% when compiling with xe- or lualatex
  \usepackage[math-style=ISO]{unicode-math}
  \usepackage{fontspec}
  \defaultfontfeatures{Numbers=OldStyle}
  \setmathfont[Scale=MatchLowercase]{TeX Gyre Pagella Math}
\fi
\addtokomafont{section}{\rmfamily\ifPDFTeX\else\addfontfeatures{Numbers={Lining}}\fi}
\begin{document}
\section{Hello World}
This is \ifPDFTeX Kpfonts \else Linux Libertine and \TeX{} Gyre
Pagella Math \fi
\(y=x^2+\epsilon\)
\end{document}

相关内容