LaTeX 中的标准预定义宏:在哪里可以找到它们

LaTeX 中的标准预定义宏:在哪里可以找到它们

我希望这个问题不是重复的,但我在 tex.stackexchange 上找不到任何东西。

我想要的是所有已在 LaTeX 中定义的宏所在的位置。例如,我知道命令\hrulefill定义为

\def\hrulefill{\leavevmode\leaders\hrule\hfill\kern\z@}

(我得到了这张表格这个问题),但是在哪里可以找到已经为所有 LaTeX 类别定义的所有可能的命令(例如分段命令\chapter\part等等)?

答案1

CTAN 上的“source2e - LATEX2ε 内核文档,将整个系统作为一个文档”可能会让您感兴趣。

该文件为 .pdf 文件,其名称为源2e.pdf

最新版本源2e.pdf,指的是最新版本的 LaTeX2e 内核,可以从综合 TeX 档案网络 (CTAN) 下载:
https://ctan.org/pkg/source2e

在撰写此答案时(2018 年 5 月 21 日),与最新版本的 LaTeX2e 内核相关的该文档版本的标题是:

LaTeX2e 来源

约翰内斯·布拉姆斯、大卫·卡莱尔、艾伦·杰弗里、莱斯利·兰波特、弗兰克·米特尔巴赫、克里斯·罗利、莱纳·绍普夫

2018-04-01 补丁级别 5

该文档不包含有关 LaTeX2e 类和包代码的信息,但包含有关如何实现 LaTex2e 格式/LaTeX2e 内核本身的信息。

在该文档中,您可以找到在 LaTeX2e 内核中如何定义诸如\documentclass\usepackage\begin或之类的命令。\end

例如,在关于文件 b: ltplain.dtx 日期: 2017/04/10 版本 v2.3c,在该 .pdf 文件的第 28 页,您可以找到 LaTeX2e 内核定义\hrulefill

\hrulefill  LaTeX change: \kern\z@ added to end of \hrulefill and \dotfill to make them
\dotfill    work in ‘tabular’ and ‘array’ environments. (Change made 24 July 1987). LaTeX
            change: \leavevmode added at beginning of \dotfill and \hrulefill so that
            they work as expected in vertical mode.

           435 \def\hrulefill{\leavevmode\leaders\hrule\hfill\kern\z@}

            The box in \dotfill originally contained (in plain.tex):
            \mkern 1.5mu .\mkern 1.5mu;
            the width of .44em differs from this by .04pt which is probably an acceptable
            difference within leaders.

           436 \def\dotfill{%
           437  \leavevmode
           438  \cleaders \hb@xt@ .44em{\hss.\hss}\hfill
           439  \kern\z@}

答案2

这个问题可以简化为 RTFM(阅读精细手册)或 HTFTFM(如何找到精细手册)。你肯定找不到一个包含所有命令、宏、包和类的文档或网页,因为整个 TeX 世界每天都在变化(什么是标准命令?)。希望未来这种增长能持续下去。请注意,某些包或类仅供少数人使用,因此这些命令无法通过此类所有命令的集合来覆盖。

命令通常在相应的手册中定义和记录,例如https://ctan.org/pkg/koma-script或者https://ctan.org/pkg/memoir. 同样适用于包裹,一些类或包可能具有合理的文档https://ctan.org并出版了一本更全面的手册作为书籍。

某些类或包的文档可能很少,您可以在您选择的搜索引擎上搜索“\foocommand latex”或在此站点或其他 TeX 相关页面上搜索“\foocommand”,这样可能会很幸运。

您可以在此处找到 TeX 基元的列表:https://www.tug.org/utilities/plain/cseq.html. 另一个有用的来源是https://ctan.org/pkg/latex2e-help-texinfo. 一旦你学会了如何使用https://ctan.org/pkg/comprehensive你肯定会发现它很有用(我知道有人只是简单地看了一下它,他不知道如何使用它,而且他认为它没用)。

也许对于 LaTeX 初学者来说有哪些好的学习资源?或者我们可以轻松找到包中定义的所有命令、标记等等吗?也很有用。

相关内容