Автоматическое экранирование слэшей в m4 для команд оболочки

Я пишу макросы с 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 \ и определить другой макрос для его автоматической замены. Это неудовлетворительно, потому что я хочу использовать прямой код LaTeX без изменений, и это не намного проще, чем использование трех косых черт.

Как мне изменить свой макрос, чтобы он автоматически экранировал косую черту и мог использовать прямой код LaTeX?

5
задан Ben Trettel 1 January 2012 в 23:17
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: