在哪里可以找到类似 LaTeX 的 \@startsection 命令的帮助文件或文档?

在哪里可以找到类似 LaTeX 的 \@startsection 命令的帮助文件或文档?

我找不到该\@startsection命令的官方文档。我已经查看过:

  1. LaTeX 维基百科
  2. LaTeX:TEX 的结构化文档,2008 年
  3. beginLatex — ProTeX 附带的一本书
  4. 在 MikTeX 文件夹中的文件中doc

和 Google。我发现很多网站都提供了相关示例和讨论,但我想找到官方帮助或文档。

答案1

实际的命令,包括@JoshLee 发布的正式定义包含在LaTeX 2e 源代码, 部分61.2 切片(第 283 页)。它构成了ltsect.dtx,包含所有 LaTeX 分段命令的软件包。它甚至包括实际宏的伪代码解释。以下是摘录:

\@startsection{<name>}{<level>}{<indent>}{<beforeskip>}{<afterskip>}{<style>}*[<altheading>]{<heading>} 命令是所有用户级分段命令的母命令。 之后的部分*(包括 )*是可选的。

  • 姓名:例如,subsection
  • 等级:一个数字,表示截面的深度 - 例如chapter= 0、section= 1 等。
  • 缩进:标题从左边距缩进
  • 跳过之前:绝对值 = 跳过标题上方的内容。如果为负数,则标题后面的文本段落缩进将被抑制。
  • 跳过后:如果为正,则跳转到下方标题处,否则为负,跳转到进入标题右侧的标题处。
  • 风格:设置样式的命令。自 1996 年 6 月发布以来最后的此参数中的命令可以是带参数的命令,例如\MakeUppercase或 。节标题将作为此命令的参数提供。因此,设置为 将产生粗体大写标题。\fbox#6\bfseries\MakeUppercase

如果*缺少,则增加计数器。如果存在,则不应有[<altheading>]参数。该命令使用计数器secnumdepth。它包含指向要编号的最高节级别的指针。

答案2

这不是一个 LaTeX 命令本身(这就是为什么它没有很好的文档记录),而是在 LaTeX 内核的实现中定义的 TeX 宏。@Concerned 有一个很好的答案,但你也可以在 LaTeX 的交互模式下探索宏:

~$ latex
**\makeatletter
*\show\@startsection
> \@startsection=macro:
#1#2#3#4#5#6->\if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax
\@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi
\if@nobreak \everypar {}\else \addpenalty \@secpenalty \addvspace \@tempskipa \fi
\@ifstar {\@ssect {#3}{#4}{#5}{#6}}{\@dblarg {\@sect {#1}{#2}{#3}{#4}{#5}{#6}}}.

答案3

我会考虑LaTeX 配套软件(第二版)作为此类命令的非常好的资源。它可能不是在各个方面都是最新的,但在我看来仍然非常有效。

答案4

很多 LaTex 的内部原理只能通过使用源代码来掌握,但可以看看面向课程和软件包编写者的 LaTeX 2e

相关内容