第二次编译时微调页面输出

第二次编译时微调页面输出

这个问题很笼统。不过我相信它触及了一些根本问题。话虽如此,任何人都可以随意改进这个问题。

LaTeX 可以被认为是一种复杂的算法,它无需手动微调即可完成所有工作。在大多数情况下,只需要运行 LaTeX 两次,考虑到它是一个线性编译过程,这非常了不起。然而,LaTeX 的设计也导致了某些类型的微调的缺点,这些微调在概念上实际上最好在后编译阶段完成的工作不容易用 LaTeX 完成。

举个例子:假设我想删除所有页面顶部有数字的页面的页码。(如果你能想到一个更好的例子,请随意改进这个问题。)在 LaTeX 中,有哪些方法可以最轻松地进行此类编译后更改?(我们的想法是,用户可以在“正确编译”之后提供额外的数据,然后运行后编译器进行一些细微的微调。)

我知道正确的答案不会是“单个 LaTeX 命令”。相反,答案可能指向 (La)TeX 衍生品、标准 LaTeX 引擎上的构造或技巧,或概念指针。(当然,解决这个问题最终需要一次额外的编译,要么直接通过 LaTeX,要么通过其他方式。我想可以用“其他方式”完成初始编译阶段,最后用 LaTeX 完成最终运行。这是一个开放性问题,欢迎发挥创造力。)

答案1

据说,萧伯纳会检查自己作品的样稿,然后重排句子,甚至整页,以避免难看的单词中断、对齐导致的过多空白以及其他印刷困难。当然,他的作品出版时,排字员正因为犯下上述令人憎恶的罪行而被关进监狱。

无论是自动化系统还是手动系统都无法解决书籍等复杂创作的所有方面和细节。所有那些精美的三栏或四栏出版物,其文章恰好占一两页,都经过手动编辑,以添加或删除内容、调整图像等。

你举的例子可能不太好,但很好地抓住了问题的本质。你想在文档编译后修复这个问题;但问题是由于在类定义阶段之后留下了这样的展示性决定而产生的,而它本应在类定义阶段就被包含进去。

因此,要回答你的问题,可以做什么来使这种编译后调整更容易,只需几个简单的步骤:

  1. 当您发现所有必要的新宏时,请在类、前言或您自己的包中添加它们。
  2. 任何你可能广泛使用的项目,也许你一定会改变主意如何呈现它们,为它们创建宏。例如,你可能正在写一本关于航海史的书,你可能想用斜体显示所有船只的名称,而不是创建一个宏。\ship.对于“Dr.~Name”等项目也是如此,你可能希望调整它们,以便它们不会沿着两行断开。
  3. 图像和浮点数以及列表和表格会产生很多编译后问题。请使用正确的设置。
  4. 使用 ”螺旋”的写作技巧。

话虽如此,但 (All)TeX 的预处理器仍有空间,它可以自动纠正一些常见错误、格式化代码块(如果您编写任何与编码有关的内容)和其他类似的小苦差事。如果您喜欢卡通脏话类型的语法,那么 Perl 中的小脚本或 Python(如果您是完美主义者)可以让生活变得更加轻松。

相关内容