你能用 TeX 做所有你想做的事吗?

你能用 TeX 做所有你想做的事吗?

我知道,使用 LaTeX,您可以在文档中放置图片、使用不同的字体……几乎可以做任何您想做的事情(除了您的文档必须具有由您使用的宏包强加的预定义样式);而在 TeX 中,您可以完全自由地按照自己的喜好处理页面中的内容。但是,在 TeX 中,似乎(至少在我看来)您无法做使用 LaTeX 可以做的事情,例如,在页面中放置图片。这是事实还是我对此一无所知?

答案1

你问错了问题。真正的问题是,你能用 LaTeX 做 TeX 能做的一切吗?LaTeX 是 Leslie Lamport 创建的一组 TeX 宏,其理念是,典型的 TeX 用户不是排版专家,即使他/她是,他/她主要关注的应该是文档内容,而不是格式。另一方面,TeX 是一个完整的排版引擎/语言,旨在以低成本制作排版意义上相对高质量的文档。TeX 和 LaTeX 都完全成功地实现了最初的目标。虽然可以说你可以用热金属排版(深度排版)和照相排版制作出排版质量更好的文档,但用 TeX 只需花费极少的钱就能达到几乎一样好的效果。虽然 TeX 是排版系统,但它并没有消除对排版员的需求——排版员是应该根据排版规则编辑文档布局的专业人士。 LaTeX 也实现了其最初的目标,至少在实践中,大量文档的创建不再需要专业的排版人员。现在没有数学系,也很少有出版商雇佣排版人员。我承认,典型的 LaTeX 文档的排版质量值得商榷。

现在回到你最初的问题——如果你的目标是创建一篇通用的数学文章,那么使用 TeX 就很愚蠢了,因为这需要你从本质上重新实现 LaTeX 的某些部分。但这并非不可能。如果你的目标是创建一个真正独特的文档,那么使用 LaTeX 就很愚蠢了,因为你必须与预先构建的文档类作斗争,而且你仍然可能会失败。即使是像创建任意大小的字母文档这样简单的事情在 LaTeX 中也并非易事,并且需要使用第三方软件包。

我还想提请您注意 ConTeXt,它的创建是为了以与 LaTeX 截然不同的方式简化 TeX 的使用。ConTeXt 不会试图告诉您文档应该是什么样子。它希望您是排版专家。它只是通过大量使用键值参数,让您能够轻松地在 TeX 所需时间的一小部分内创建出令人惊叹的文档。请注意,与需要大量第三方软件包才能制作出复杂程度相对适中的文档的 LaTeX 不同,ConTeXt 是自包含的。您所需的一切都已包含在“核心”ConTeXt 中。

答案2

是的,LaTeX 能做到的当然也能用 Plain TeX 做到。如果你的目标是用 Computer Modern 和七位字体写一篇简单的论文,或者用英文写一本没有花哨图形的小说,Plain TeX 可能是最好的工具。如果你想添加对 UTF-8 编码的支持,你可以使用 Plain XeTeX 或 LuaTeX,这样你也可以相当轻松地更改字体。就这些。图形并不是一个真正的问题,因为 PGF 和 TikZ 也可以在 Plain 上运行。

您会尝试使用 Plain TeX 开始批判性编辑工作吗?您会实现带有语法着色的代码列表吗?多个索引、自动交叉引用和编号、多个目录?这些必须重新实现。那么按章节划分的注释书目呢?不,biblatex不会在 Plain 上运行,也没有可用的 Biber 接口。

你的出发点是错误的,而且你可能也知道,错误地推论

除了你的文档必须具有由你使用的宏包强加的预定义样式之外

这种说法是不正确的:使用这样的文档类,memoir您可以很容易地更改每一个输出格式的小细节,并有数百个 LaTeX 包供您使用。还有许多其他 LaTeX 类文件,甚至可以随意定制。

假设你想写一个数字运算程序。嗯,你有 C,不是吗?如果你按照你的想法,你就不会链接到 Octave、PARI-GP 或其他强迫你使用他们的API。

LaTeX 就像是一套基于基本 TeX 语言构建的大型库。使用它不会限制你的自由。但它避免了重新发明热水。

相关内容