是否可以使用例如 pandoc 将 groff 文本转换为 latex?

是否可以使用例如 pandoc 将 groff 文本转换为 latex?

自从我知道可以groff使用eqn宏用简单的英语写出等式后,我就想花时间学习它。时不时地,我会输入一些非常严肃的数学运算LaTeX(我的意思是,我在这个行业上花费了大量时间。一方面,它给我带来了很多好处,例如:文本编辑器(s?ed|n?vim?);;regexvimscript| lua);,tree-sitter以及lspsnippets它还让我进入了机械键盘的世界qmkvia这只是其中的几个例子)。另一方面,我一直在寻求完美的工作流程,这一事实本身就表明这项任务非常耗时。我在这段旅程中所学到的一件事就是永远不要放弃磨锯子(首先,与 4 年前开始挖这个兔子洞时相比,我现在花的时间要少得多)。

我喜欢使用 定义宏eqn,这类似于在 中定义我自己的命令LaTeX。我还可以创建表格、图形和目录、数字方程、引用和引文。只有两件事尚未确定,这样我才能下定决心并明确地进入eqn。它们是:

  1. 如何使用和\nabla正确显示复杂符号(例如)?groffeqn
  2. 万一我需要将我的源转换为LaTeX,是否有任何标准工具?也许pandoc可以做到这一点,但怎么做?

PS 起初,我打算把这个问题发布在stackoverflow,但当网站看到我的标签时,它就把我重定向到这个论坛。如果这不是提出此类问题的合适场所,我很抱歉。

答案1

以下是关于 Nabla 的第一个问题的答案。我不知道第二个问题的答案。

Nabla 是倒置的希腊大写字母 Delta。因此您可以使用https://lists.gnu.org/archive/html/groff/2000-08/msg00068.html(来自评论中提到的 Groff 邮件列表)反转 Delta 字符,即\[*D]

\v请注意,我没有在 Groff/eqn 中设置(垂直位置),而是x y translate直接使用了 Postscript,因为这不会增加边界框 - 在邮件列表的原始解决方案中,字符的高度由围绕基线的完整旋转(即两行)组成,这导致分数太高。但是对于其他尺寸(如上标),您可能需要调整平移值。

示例方程取自https://tex.stackexchange.com/a/527873

.ds Nabla "\h'\w'X'u'\X'ps: exec gsave currentpoint \
0 -6.5 translate 2 copy translate -180.0000 rotate neg exch neg exch \
translate'\[*D]\X'ps: exec grestore'\h'-\w'X'u'
.char \(Nb \*[Nabla]

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

编译结果如下groff -e example.tr > example.pdf

在此处输入图片描述

相关内容