LaTeX 查看命令的定义
最近在使用 LaTeX 撰写文档时需要重定义一个命令的,但是我想要知道该命令的原始定义时怎样的,经过查找发现 LaTeX 在这方面做得还是很不错的。目前,我知道有两种方式可以获取命令的定义:(a) 在文档中使用 \show\command
;(b) 在命令行中使用 texdef command
。
\show
查看命令定义
下面是一个完整的文档示例,在该文档中,我们通过 \show\section
来查看 \section
的定义。
1 | \documentclass{article} |
上述代码非常简单,当我们通过 latex
编译时可以得到以下内容:
1 | $ latex test.tex |
注意第 10 行的输出,\section=\long macro:
这里就是关于 \section
命令的定义。
texdef
查看命令定义
texdef
时一个 shell 命令,我们可以直接在 shell 中执行,例如,我们想看 \section
命令的定义,可以在 shell 中输入 texdef section
,其输出结果如下:
1 | $ texdef section |
为什么 section
命令没有定义?这里的例子其实与上面的稍微有点不一样,上面我们使用的是 latex
来编译的,而 texdef
查看的是原 TeX
命令的定义而非 LaTeX
命令的定义,因此我们需要将其换为 latexdef
,其结果如下:
1 | $ latexdef section |
latexdef
命令提供了很多选项给用户选择,关于如何使用 latexdef
请使用 latexdef --help
查看帮助手册。
参考
[1] https://tex.stackexchange.com/questions/36955/display-source-for-a-command