我想我的问题是:我是否应该放弃pdflatex
,可能采用xetex
或context
,以及基于 TeX/LaTeX 的宏编写方法,可能采用基于 LuaTeX 或 LaTeX3 的方法?
可能与答案相关的是,我是一名只使用英语和大量数学的学者。我断断续续地使用它TeX
很多年了。我很乐意用它TeX
来创建我的所有文档(论文、演示文稿、信件等)、新宏甚至简单的包(尽管整个文学编程和文档编制超出了我的能力)。我的宏倾向于同时使用 TeX 和 LaTeX 宏。我过去常常通过编译来创建 DVI 文件,latex
但现在我用pdflatex
它来创建 pdf 文件。从 EPS 到 PDF 图形的转变和 的丢失pstricks
让我花了一些时间来适应,但现在我对这种变化很满意。最近,我放弃了 BibTeX,转而使用 Biber 和 BibLaTeX,我很高兴。如果有优势,我愿意花时间学习 LuaTeX/LaTeX3/ConTeX。
答案1
我将扩展我的评论并将其转化为答案。
我对这个词有异议放弃在您的问题中。使用xelatex
和latex3
并不意味着您必须放弃pdflatex
和latex2e
。完全可以将它们一起使用。在文档级别上的差异使得记住“这是一个pdflatex
文档”和“这是一个xelatex
文档”相对简单。我用讲课是xelatex
因为我希望能够使用unicode-math
。我倾向于用我的文章pdflatex
- 见下文 - 虽然为了好玩,我尝试了一篇使用xelatex
和使用unicode符号的文章,并且非常喜欢源代码的可读性。
因此,当有我想使用的功能时,我很乐意使用xelatex
或lualatex
或latex3
。如果我不需要它们,那么目前我可能不会使用它们,以便保留我的选择。当我在这个网站上看到更多“您可以做什么”时,我发现自己越来越多地使用它们来利用我在这里学到的东西。有些有点傻(比如我对的使用unicode-math
),但其他的则更严肃。
我真的不怎么在意的一件事是与期刊或 arxiv 的兼容性。原因有二:
如果期刊真的接受了我的文章,那么(在合理范围内)我很乐意修改它以适应他们奇怪的风格要求(在你问之前,全部期刊的要求很奇怪)。
在期刊接受我的文章之前,我不知道我必须满足什么奇怪的要求,所以我宁愿现在就让我的生活更轻松,而不是试图猜测当文章被接受时我可能需要做什么。
第二个要点是,我花了很多时间写一篇文章。我经常在写的时候做数学运算,因为通常只有当我看到它被写下来时,我才能知道我的论点是否有效——当它在我的脑海里时,我会忽略所有的技术细节。所以这不是“证明结果然后写文章”,而是“一边写文章一边证明结果”。这意味着写作阶段比我以另一种方式工作更长、更复杂,因此写作要轻松、不妨碍写作就显得更加重要。因此,能够利用优秀的工具和东西比不惹恼未来的文字编辑更重要。
因此,如果您在本网站上看到某个示例,并认为“这对于我尝试做的事情来说非常完美”,请不要因为它使用xelatex
或lualatex
而latex3
放弃。只需将其视为另一个 LaTeX 软件包,用于部分文档,但不是全部文档。 没什么大不了的。
答案2
如果你想在学术期刊上发表文章,你需要对它们的设置能够处理哪些新的 TeX 相关功能保持敏感。例如,我不得不从 BibLaTeX 回归到 BibTeX,因为期刊无法处理它。同样,我预计 LuaTeX 或 ConTeXt 可能不太适合期刊的工作流程。我相信这里有人更了解这类事情,这可能取决于你的领域。(我所在地区的一些期刊接受 Word 格式的投稿仅有的!叹息)
还有一种担心是合作者使用的 TeX 发行版比较老,因此在与他人合作时可能会遇到麻烦。我所在大学的计算机似乎仍然使用较旧的发行版,其中不包含很多我原本会使用的软件包。(这不会影响我,因为我使用笔记本电脑,但当我与他人合作时,我需要降低到他们的级别)。
简而言之,您可以自由地将新内容添加到您自己的文档中,但请注意,期刊和合作者可能不太热衷于保持前沿技术。
我认为也许值得针对此评论中的讨论和 Yiannis 的回答发表一两条评论。期刊和大型大学范围的计算设置有充分的理由避免使用我们在这个网站上喜欢的尖端技术。正如 Barbara Beeton 提到的,稳定性是关键。LaTeX2e 很稳定。这些错误已经得到解决,并且像fixltx2e
修复一些剩余的奇怪之处。迁移到涉及正在积极开发的组件的系统(例如 LuaTeX、BibLaTeX……)将意味着频繁的破坏和类似的事情;出版商无法承受这样的事情。
答案3
虽然这些问题之前已经讨论过,但这里有一些来自自 80 年代中期就一直使用 TeX/LaTeX 的人的建议。
- 您使用 TeX/LaTeX 及其相关工具所积累的知识是累加的。您曾经用作普通 TeX 命令的命令、您的命令
\defs
和类似命令如今可以与上述所有变体一起使用。对于所有命令LaTeX
和命令,情况也类似,是的,您的pstricks
知识仍然可以与一起使用pdfLaTeX
。 - 新的变体
XeLaTeX
在某些方面具有优势,尤其是字体管理。如果您使用特殊字体和 UTF8 打字,迁移将对您有利。在许多情况下,这就像在普通文件顶部添加几行一样简单LaTeX/pdfLaTeX
。 - LuaLaTeX 目前尚未达到生产稳定水平,我个人认为除非需要进行复杂的计算、迭代和其他复杂的宏,否则没有任何理由在日常工作中使用它。
- LaTeX3。它的部分功能很稳定,目前可以与 LaTeX2e 命令和平共处。目前您不能说我只使用 LaTeX3,因为它还不完整(它目前还没有内核 - 与 LaTeX2e 相比,它还没有提供新语法中的任何标准类)。
- ConTeXt 是一款出色的系统,但不知为何并不像其他版本那么受欢迎。我个人不使用它,因为我在 Windows 机器上仍然遇到很多安装问题。
我的一般建议(尤其是数学方面)是继续使用 pdfLaTeX 或 XeLaTeX,这样你在接下来的 10 年里就没问题了(我看不出amsmath
近期会迁移到 LaTeX3)。不过,保持警惕并尝试一些新事物是无害的。例如,xparse
LaTeX3 套件提供了很多功能以及所有序列宏,因为它们可以为你节省大量的编程时间。
pdfLaTeX
自从已故的马丁·加德纳 (Martin Gardner) 在《科学美国人》上的专栏停止出版以来,我个人使用它来处理日常工程文档并获得智力刺激!
答案4
我相信殺手LuaTeX 的功能即将推出。第一个功能(与 XeTeX 共享)肯定是fontspec
让您轻松选择您拥有的任何系统字体。不过,还有一些不完善的地方(例如如何找到字体名称)。越来越多的字体将是 OpenType 字体,我们拥有的 OpenType 字体越多,对 XeTeX 和 LuaTeX 的需求就越大。
其他小事将取决于对输入的后处理,例如https://tex.stackexchange.com/a/28128/243它可以防止在行尾出现一个字母的单词(例如,对于波兰语很有用)。
这应该是一个平稳的过渡。很多时候,您只需使用基于 PDFTeX 的源代码并通过 LuaTeX 运行,您将获得几乎相同的输出。LuaTeX 和 PDFTeX 之间存在一些差异,因此不要期望结果完全相同。
除此之外,我看不出有什么理由切换到 ConTeXt,除非您的文档在排版方面有困难。ConTeXt 确实非常适合处理某些文档,但如果“一切都很好”,则永远不需要切换(反向方向 ConTeXt -> LaTeX 也是如此)。
而对于 LaTeX3:它主要在幕后。LaTeX 3 团队做了大量工作,提供了可供软件包开发人员使用的接口,因此您可以期待更好的及时推出软件包。但这些软件包可能仍具有与以前一样易于使用的命令。