Я пишу макросы с m4, чтобы легко встраивать математику в HTML-код. Косые черты нужно экранировать, и я хочу автоматизировать этот процесс, но я еще не нашел хорошего способа.
Выполнение m4
для следующего показывает проблему:
define(`_imath', `esyscmd(`echo "$ $1 $"')')dnl
_imath(y = \frac{1}{2} x^{2.3} + 2)
Мой вывод в следующем:
$ y =
rac{1}{2} x^{2.3} + 2 $
Если я заменю \frac
на \\\frac
, то получу желаемый результат. Я мог бы делать это каждый раз, но я хочу автоматизировать этот процесс, если смогу. Желаемый результат, кстати,
$ y = \frac{1}{2} x^{2.3} + 2 $
который передается другой команде, которая создаст HTML-код или изображение (за пределами этого минимального примера).
Я знаю один неудовлетворительный способ обойти эту проблему. Я мог бы использовать другой символ (или комбинацию символов) для TeX's \
и определить другой макрос для его автоматической замены. Это неудовлетворительно, потому что я хочу использовать прямой код LaTeX без изменений, и это не намного проще, чем использование трех косых черт.
Как я могу изменить свой макрос, чтобы он автоматически экранировал косую черту, чтобы я мог использовать прямой код LaTeX?