我正在用m4编写宏来轻松地将数学嵌入到HTML代码中.斜线需要转义,我想自动化这个过程,但我还没有找到一个好方法.
运行m4以下显示问题:
define(`_imath', `esyscmd(`echo "$ $1 $"')')dnl
_imath(y = \frac{1}{2} x^{2.3} + 2)
Run Code Online (Sandbox Code Playgroud)
我的输出如下:
$ y =
rac{1}{2} x^{2.3} + 2 $
Run Code Online (Sandbox Code Playgroud)
如果我替换\frac,\\\frac那么我得到了理想的结果.我每次都可以这样做,但如果可以的话,我想自动完成这个过程.顺便说一下,期望的结果是
$ y = \frac{1}{2} x^{2.3} + 2 $
Run Code Online (Sandbox Code Playgroud)
通过管道传递到另一个命令,它将产生HTML代码或图像(在这个最小的例子之外).
我知道解决这个问题的一种令人不满意的方法.我可以为TeX使用不同的字符(或字符组合),\并定义另一个宏来自动替换它.这是不能令人满意的,因为我想在没有修改的情况下使用直接的LaTeX代码,并且它不比使用三个斜杠简单得多.
如何更改我的宏以正确地自动转义斜杠,以便我可以使用直接的LaTeX代码?
m4 ×1