【发布时间】:2009-10-02 14:17:38
【问题描述】:
如何将所有出现的用户定义的 Latex 宏替换为其定义?
例如,给定这个文件
旧的.tex
\newcommand{\blah}[2]{#1 \to #2}
...
foo \blah{egg}{spam} bar
...
如何自动生成下面的文件
新的.tex
...
foo egg \to spam bar
...
我可以使用latex 或tex 引擎本身来执行此操作,而不是用perl 重新实现latex 宏逻辑吗?
【问题讨论】:
-
有趣的问题。我认为这真的很难,如果不是不可能的话。一个合适的 TeX 脚本必须解析每一行中的每个标记并检查它是否是用户定义的命令,我认为这很复杂。文档中的 catcode 更改之类的事情使情况更加复杂。我建议您尝试找到一个完全不同的解决方案。 TeX 非常适合从输入文件排版 DVI 或 PDF 输出文件,但其他任何事情都非常复杂。
-
使用 perl 或您选择的语言来解析 .tex 文件并替换宏可能会更好。
标签: latex substitution