我想知道在哪里可以找到原始命令的定义。也就是说,假设我想重新定义命令,\ref
这样当我输入它时,不仅显示输入标签的编号,还显示“图形”或“表格”或其他任何指\label
代的内容(这可能是一个愚蠢的例子,但请尝试理解我的观点)。
嗯,我想象着我可以调整 \ref
给出了代码,但由于我对 LaTeX 了解不多,或者我很懒,我不知道该怎么做更新它凭空。
那么,有没有什么地方可以查看原始代码,并进行一些修改来解决这种情况呢?
感谢大家的关注。
答案1
有多种方法可以解决这个问题,主要取决于您想要的细节程度。
获取任何命令的原始代码定义都很简单;有一个 TeX 原语\meaning
,它将扩展为宏的当前一级扩展(即,它不会尝试扩展其中的那些宏)。如果您使用的是复杂的包设置,或者宏的定义正在发生变化,这是最可靠的方法。否则,您可以使用 Perl 脚本节省一些时间texdef
:
$ texdef -t latex large
\large:
\long macro:->\@setfontsize \large \@xiipt {14}
请注意,这仅解析 TeX 的输出,如下所示,但对于简单查询来说它可以节省大量时间。
请参阅其man
或info
页面以获取有关该工具的文档,或使用texdoc texdef
,这将带我们进入新的水平。
由于 TeX 是一种排版语言,因此许多软件包作者/团队也非常优秀、透彻的作家。该texdoc
工具将采用其论点并搜索所有可用的文档以找到您的术语。现在,它不会搜索深度但在宽度;它不会搜索内容所有可用的文档。(那会花很长时间!)我的大部分需求都可以通过 来满足texdoc
;通常您可以提供命令所属的包名称,然后:您的文档就会在您的默认阅读器中打开。
LaTeX 内核的文档也可以通过 获得texdoc source2e
(以及精简版、未完成的macros2e
);至于该文档的细节 — 嗯 — 简直就是乌龟文。请参阅man texdoc
、info texdoc
和 — 您猜对了 —texdoc texdoc
了解有关此工具的更多信息。
如果texdoc
这还不能满足你,那么最后的手段就是纸质书籍和谷歌,印刷书籍一般仅汇编已经免费提供的信息。