
С тех пор, как я узнал, что можно просто записывать уравнения на groff
простом английском языке с помощью макроса eqn
, я хотел потратить время и изучить его. Время от времени я печатаю действительно серьезную математику LaTeX
(имея в виду, что я провожу так много времени в этом бизнесе. С одной стороны, это принесло мне так много преимуществ, например: текстовые редакторы (s?ed|n?vim?); regex
; ( vimscript
| lua
); tree-sitter
, lsp
и snippets
; это также привело меня в мир механических клавиатур и qmk
/ via
. И это только некоторые из вещей). С другой стороны, тот факт, что я был в поисках идеального рабочего процесса, сам по себе говорит о том, что эта задача отнимает очень много времени. Одна вещь, которую я усвоил за время своего путешествия, — никогда не прекращать затачивать эту пилу (во-первых, время, которое я трачу сейчас, значительно меньше по сравнению с тем, что я тратил 4 года назад, когда начал копать эту кроличью нору).
Мне нравится, что я могу определять макросы с помощью eqn
, что аналогично определению моих собственных команд в LaTeX
. Я также могу создавать таблицы, рисунки и оглавления, числовые уравнения, делать ссылки и цитаты. Остаются открытыми только два вопроса, чтобы я мог принять решение и окончательно перейти в eqn
. Это:
- Как правильно отобразить сложные символы, например,
\nabla
, с помощьюgroff
иeqn
? - В очень вероятном случае, если мне понадобится конвертировать мои исходники в
LaTeX
, есть ли какие-то стандартные инструменты? Может быть,pandoc
можно это сделать, но как?
PS Сначала я планировал разместить этот вопрос на , stackoverflow
но, когда сайт увидел мои теги, он перенаправил меня на этот самый форум. Извините, если это не то место, где можно задать такой вопрос.
решение1
Ниже ответ на первый вопрос о Набла. На второй вопрос я не знаю ответа.
Набла — перевернутая греческая заглавная буква Дельта. Поэтому можно использоватьhttps://lists.gnu.org/archive/html/groff/2000-08/msg00068.html(из списка рассылки Groff, упомянутого в комментариях) для изменения знака дельта на противоположный, т. е. \[*D]
.
Обратите внимание, что вместо установки \v
(вертикального положения) в Groff/eqn я использовал Postscript x y 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
: