
groff
マクロを使えば方程式を平易な英語で簡単に綴ることができると知って以来eqn
、時間をかけて学びたいと思っていました。時々、本格的な数式を入力しますLaTeX
(つまり、私はこの仕事に多くの時間を費やしています。一方では、テキスト エディター (s?ed|n?vim?)、 ; regex
( vimscript
| lua
); tree-sitter
、 ;lsp
など、多くのメリットが得られました。また、メカニカル キーボードや/snippets
の世界にも足を踏み入れることができました。これはほんの一例です)。他方では、完璧なワークフローを見つけるための探求を続けてきたという事実自体が、この作業に非常に時間がかかることを示しています。この旅で学んだことの 1 つは、のこぎりを研ぐことを決してあきらめないことです(まず、この分野に取り組み始めた 4 年前に比べると、最近費やす時間はかなり短くなっています)。qmk
via
でマクロを定義できるのが気に入っています。eqn
これは、 で独自のコマンドを定義するのと似ていますLaTeX
。また、表、図、目次を作成したり、数式に番号を付けたり、参照や引用を作成したりすることもできます。 に確実に移行するためには、あと 2 つだけ未解決の問題がeqn
あります。次の 2 つです。
- たとえば、 のような複雑な記号を とを
\nabla
使用して正しく表示するにはどうすればよいですか?groff
eqn
- ソースを に変換する必要がある場合
LaTeX
、標準的なツールはありますか? おそらくpandoc
これを行うことはできますが、方法は?
追伸 当初、この質問を に投稿するつもりでしstackoverflow
たが、ウェブサイトが私のタグに気付くと、このフォーラムにリダイレクトされました。この種の質問をするのに適切な場所ではないようでしたら申し訳ありません。
答え1
以下はNablaに関する最初の質問に対する回答です。2番目の質問の答えはわかりません。
ナブラはギリシャ語の大文字デルタを逆さまにした文字です。https://lists.gnu.org/archive/html/groff/2000-08/msg00068.html(コメントに記載されている Groff メーリング リストから) Delta 文字を逆にします\[*D]
。つまり、 です。
\v
Groff/eqn で (垂直位置を)設定する代わりにx y translate
、Postscript を直接使用したことに注意してください。これは、境界ボックスを増やさないためです。メーリング リストからの元のソリューションでは、文字の高さはベースラインの周りの完全な回転、つまり 2 行で構成されており、分数が大きくなりすぎます。他のサイズ (上付き文字など) の場合は、translate 値を調整する必要があります。
下記から引用した例の式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
: