我如何才能看到宏的定义?我有编程背景,如果能看到宏是如何定义的就好了。如果有类似于 Lispmacroexpand
和macroexpand-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