宏源或定义

宏源或定义

我如何才能看到宏的定义?我有编程背景,如果能看到宏是如何定义的就好了。如果有类似于 Lispmacroexpandmacroexpand-1命令的东西就更好了。有没有办法停止处理并留下一个 REPL 给 tex,我可以在其中运行命令或访问已处理文档的当前状态。

我查看了\the\show并且\meaning我认为\meaning它与我所寻找的很接近。但是它并没有真正向我显示完整的宏定义。至于latexdef它不是只在 TEXMF 目录中进行文本搜索吗?这可能不适用于动态定义的宏和来自 TEXMF 之外的模块的宏。

我问这个问题的背景ConTeXt是,也许使用 LuaTeX 这个事实可能对我有帮助。

答案1

你可以运行

mtxrun --silent --script context \
  --extra=meaning --once --noconsole --nostatistics \
  <command>

在控制台上。例如

mtxrun --silent --script context \
  --extra=meaning --once --noconsole --nostatistics \
  setuplayout

输出:

meaning         > setuplayout

\protected macro:->\dodoubleempty \setup_layout

相关内容