回忆录中的默认 \parskip 是什么?

回忆录中的默认 \parskip 是什么?

到处都常用这个词来表示它是 0。但这显然是错误的,它是 0 + 一些橡胶长度。但是这个橡胶长度是如何定义的呢?

在我的搜索中,我在回忆录来源中找到了以下定义:

\setlength\parskip{0\p@ \@plus \p@}

那这到底是什么意思呢?例如,我怎样才能将其缩小,使橡胶长度变成一半?顺便问一下,一半是多少?那里没有数字,只有\p@长度吗?

答案1

\p@是 LaTeX2e 内核维度,等于 1 pt。之所以使用它,是因为它可以在内核中节省一些标记,还可以编写类似 的想法0\pt,TeX 将其解释为 0 乘以 1 pt。因此,用“长手写”表示的定义是“1pt”。(在编写 LaTeX2e 时,节省标记非常重要:\p@是一个标记,1pt是三个。今天,它比其他任何东西都更令人困惑。)

答案2

如果你不确定所有标记的含义,请使用\showtheTex 基元来显示值 + 橡胶

\documentclass{memoir}
\begin{document}
\showthe\parskip
\end{document}

以及日志文件中的输出

> 0.0pt plus 1.0pt.
l.3     \showthe\parskip

您可以使用这些值来设置长度

答案3

您可以使用以下方式轻松获得此类设置(la)texdef. (TeXLivelatexdef目前不安装符号链接,因此您必须使用texdef -t latex

$ texdef -t latex -c memoir -v parskip

\the\parskip:
0.0pt plus 1.0pt


$ texdef -t latex p@ @plus

\p@:
\dimen11


\the\p@:
1.0pt


\@plus:
macro:->plus

\p@1pt 的尺寸,也可用于在pt数字后面添加单位。\@plus简单地代表字符串plus。 这样做是为了节省标记空间(\p@是一个标记,pt是两个标记),这在早期 (La)TeX 版本中很重要。=也是0\p@如此。是正拉伸量。 因此 parskip 通常为 0pt,但如果需要,可以拉伸到 0+1pt=1pt。0x1pt0ptplus 1.0pt

此类宏也由LaTeX 内部命令的文档参考?

相关内容