たとえば、pandoc を使用して groff テキストを latex に変換することは可能ですか?

たとえば、pandoc を使用して groff テキストを latex に変換することは可能ですか?

groffマクロを使えば方程式を平易な英語で簡単に綴ることができると知って以来eqn、時間をかけて学びたいと思っていました。時々、本格的な数式を入力しますLaTeX(つまり、私はこの仕事に多くの時間を費やしています。一方では、テキスト エディター (s?ed|n?vim?)、 ; regex( vimscript| lua); tree-sitter、 ;lspなど、多くのメリットが得られました。また、メカニカル キーボードや/snippetsの世界にも足を踏み入れることができました。これはほんの一例です)。他方では、完璧なワークフローを見つけるための探求を続けてきたという事実自体が、この作業に非常に時間がかかることを示しています。この旅で学んだことの 1 つは、のこぎりを研ぐことを決してあきらめないことです(まず、この分野に取り組み始めた 4 年前に比べると、最近費やす時間はかなり短くなっています)。qmkvia

でマクロを定義できるのが気に入っています。eqnこれは、 で独自のコマンドを定義するのと似ていますLaTeX。また、表、図、目次を作成したり、数式に番号を付けたり、参照や引用を作成したりすることもできます。 に確実に移行するためには、あと 2 つだけ未解決の問題がeqnあります。次の 2 つです。

  1. たとえば、 のような複雑な記号を とを\nabla使用して正しく表示するにはどうすればよいですか?groffeqn
  2. ソースを に変換する必要がある場合LaTeX、標準的なツールはありますか? おそらくpandocこれを行うことはできますが、方法は?

追伸 当初、この質問を に投稿するつもりでしstackoverflowたが、ウェブサイトが私のタグに気付くと、このフォーラムにリダイレクトされました。この種の質問をするのに適切な場所ではないようでしたら申し訳ありません。

答え1

以下はNablaに関する最初の質問に対する回答です。2番目の質問の答えはわかりません。

ナブラはギリシャ語の大文字デルタを逆さまにした文字です。https://lists.gnu.org/archive/html/groff/2000-08/msg00068.html(コメントに記載されている Groff メーリング リストから) Delta 文字を逆にします\[*D]。つまり、 です。

\vGroff/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:

ここに画像の説明を入力してください

関連情報