roff 中的方程式

roff 中的方程式

我是一名物理本科生,经常需要写 Latex 文档。不过,我最近听说了 Groff,据我所知,它比 Latex 轻量级得多,也更简洁。它适合写数学题吗?还是像 Markdown 一样功能有限?

答案1

roff 中的方程式

罗夫(或者格罗夫或任何其他实现)实际上不支持数学排版。为此,您必须使用预处理器将文档中的方程式转换为 groff 可以读取的内容。我只知道方程方程的预处理器,但可能还有其他。

eqn(或 groff 的一般用法)的一个明显缺点是大多数命令必须单独出现在一行中,这在书写时非常麻烦。对于显示的方程式来说,这其实不是什么问题,但对于内联数学来说却非常烦人。

LaTeX 与 groff 的比较

此外,groff 与 eqn 的输出质量与 LaTeX 不相上下(在我看来,其他的也一样)。

除此之外,LaTeX 还具有比 groff 多得多的功能,例如自动交叉引用、参考书目管理和开箱即用的多语言支持。此外,它还通过出色的宏包进行了扩展,例如amsmath数学、siunitx单位、beamer演示幻灯片、tikz内联矢量图形、microtype微排版功能等等。

LaTeX 的其他“特点”是,科学期刊通常接受 LaTeX 格式的投稿,你的导师可能也懂 LaTeX,所以你们可以一起写稿件。很多软件都可以导入和导出 LaTeX 语法的公式,包括数学乃至微软 Word

此外,LaTeX 社区比 groff 大得多(它存在吗?),并且您可以通过 Overleaf 等在线编辑器享受公司支持。

我可能还会继续解释为什么 LaTeX 优于其他任何非商业排版系统(也可能优于任何商业排版系统)。在继续比较输出质量之前,让我先回答您的两个具体问题。

具体问题

它对写数学有用吗?

,输出质量不如 LaTeX,而且公式语法(在我看来)不直观且复杂。例如,在某些情况下空格很重要,但在其他情况下则不然,有时您需要用{}或 来包装内容""

还是像 Markdown 一样有限制?

并不真地。 虽然 Markdown 实际上是一种平面静态文本格式,但 groff 至少支持宏,但它们似乎不如 TeX 宏(著名的图灵完备)那么强大。

输出质量

乳胶

\[ s = \sqrt{\frac{\sum_{i=1}^N (x_i - \bar{x})^2}{N - 1}} \]

在此处输入图片描述

使用方程式进行 groff

.EQ
s = sqrt { { sum from i=1 to N ( x sub i - x bar ) sup 2 } over { N - 1 } }
.EN

处理

groff -e test.tr > test.pdf

在此处输入图片描述

答案2

roffTeX 的使用频率也比或更高eqn,包括在网站和留言板上。例如,SX 上的数学网站使用基于 LaTeX 的 MathJax。如果您想发表论文,您也需要了解它。

答案3

我更喜欢 Groff(带-ms),因为命令更短,更容易阅读,特别是如果你自己制作宏的话。这是因为,在 中eqn,空格用作语法,而不是花括号。

例如eqn

cos theta + roman i sin theta

与 LaTeX 相同

\cos\theta + \mathrm{i}\sin\theta.

Groff 安装通常约为 10MB,比典型的 LaTeX 安装要小。Groff 更加模块化,并且总体上更符合 UNIX 理念,充分利用了管道,并且命令名大多为两个字母。

如果您需要帮助,请在 GNU Groff 邮件列表上询问:

https://lists.gnu.org/archive/html/groff/

例子(使用宏)

.LP
By expanding out the brackets of $pq$, we find that
.L q_vec_mul
.EQ "\*[q_vec_mul]"
pq
=
[[ s _ 1 s _ 2 - #v _ 1 . #v _ 2
,~~
s _ 1 #v _ 2 + s _ 2 #v _ 1 + #v _ 1 * #v _ 2 ]] \.
.EN

groff 方程示例

限制

在限制方面,Groff 可以完成 LaTeX 的大部分功能,但有些功能(例如黑板字符)需要进行一些研究才能弄清楚如何使用。

而且,正如人们指出的那样,LaTeX 中的方程式看起来更漂亮,而且现在也更常用。

但是,您可以使用-Tdvigroff 选项,然后dvipdf输出以生成具有外观的 PDF TeX

相关内容