我只是想确认我的怀疑。这是否被编程为产生任何负面影响:
- 没有垂直效果,因为没有一个心智健全的人会想要重叠的文本?
- 因此禁用内联标题的缩进?
如果还有更多内容需要添加,请补充!如果我错了,请讲述这背后的真实故事。
在 source2e 文档中, \@startsection 有此代码来处理标题后面行的缩进。
\@tempskipa #4\relax
\@afterindenttrue
\ifdim \@tempskipa <\z@
\@tempskipa -\@tempskipa \@afterindentfalse
\fi
答案1
在 source2e(或其组件 ltsect.dtx)中,你会发现它被记录为
\begin{macro}{\@startsection}
The |\@startsection{|\meta{name}|}{|\meta{level}|}{|%
\meta{indent}|}{|\meta{beforeskip}|}|\\
|{|\meta{afterskip}|}{|\meta{style}|}*[|\meta{altheading}%
|]{|\meta{heading}|}|
command is the mother of all the user level sectioning commands.
The part after the |*|, including the |*| is optional.
\begin{description}
\item[name:] e.g., 'subsection'
\item[level:] a number, denoting depth of section -- e.g.,
chapter = 0, section = 1, etc.
\item[indent:] Indentation of heading from left margin
\item[beforeskip:] Absolute value = skip to leave above the heading.
If negative, then paragraph indent of text following
heading is suppressed.
\item[afterskip:] if positive, then skip to leave below heading, else
negative of skip to leave to right of run-in heading.
\item[style:] Commands to set style. Since June 1996 release the
\emph{last} command in this argument may be a command
such as |\MakeUppercase| or |\fbox| that takes an
argument. The section heading will be supplied as the
argument to this command. So setting |#6| to, say,
|\bfseries\MakeUppercase| would produce bold,
uppercase headings.
\end{description}
因此,标题规范包括两个长度(跳过之前和之后)和两个布尔标志(显示或内联和缩进或不缩进),但标志由跳过的符号编码(这有点不幸,因为这意味着你不能使用 0pt 作为跳过,但仍然可以选择布尔值的设置)
因此,您显示的代码\@tempskipa
如果为负数则会取反,因此它最终成为中指定的值的绝对值\@startsection
,同时将标志设置\if@afterindent
为 false 以抑制标题后第一个段落的段落缩进。