在哪里可以找到有关 \nolinebreak 命令的文档?

在哪里可以找到有关 \nolinebreak 命令的文档?

在哪里可以找到有关如何使用该\nolinebreak命令的文档?

LaTeX2e 作者指南latex-project.org从未提及\nolinebreak

源代码指南指出这\nolinebreak是通过将其输入参数乘以penalty(-1) 并将结果传递给 来实现的\nopagebreak

我还没有找到有关如何使用该命令的文档。

答案1

LaTeX2e 源未能强调这一点,\linebreak\nolinebreak处理水平的列出输出,而\pagebreak\nopagebreak处理垂直的列表输出。只是提到了类似。

在此处输入图片描述

\linebreak以下是来自的代码latex.ltx

\def\linebreak{\@testopt{\@no@lnbk-}4}
\def\nolinebreak{\@testopt\@no@lnbk4}
\def\@no@lnbk #1[#2]{%
  \ifvmode
    \@nolnerr
  \else
    \@tempskipa\lastskip
    \unskip
    \penalty #1\@getpen{#2}%
    \ifdim\@tempskipa>\z@
      \hskip\@tempskipa
      \ignorespaces
    \fi
  \fi}

由此我们可以看出,\linebreak和都是内部\nolinebreak调用的。调用会导致的第一个参数为负数,而不会提供第一个参数(或将其留空)。实际上,相当于。\@no@lnbk\linebreak\@no@lnbk-\nolinebreak\nolinebreak\linebreak[4]

在内部\@no@lnbk,我们会进行测试,以确保你不会v垂直mode\ifvmode)。如果您处于垂直模式,\linebreak则会\nolinebreak导致错误(\@nolnerr或“这里没有结束的行。”)。以下示例复制了此失败:

\documentclass{article}

\begin{document}

Lorem ipsum

\linebreak

\end{document}

如果您未处于垂直模式,则会last skip存储、撤消(\unskip)并\penalty插入。惩罚可以增加或减少页面上设置的“不良程度”。插入负惩罚(使用时\linebreak)会降低不良程度,从而鼓励出现断点,而正惩罚(使用时\nolinebreak)会增加不良程度,从而阻止出现断点。

一旦插入了惩罚,原来的跳过将被替换(并且代码中插入的后续空格将被忽略(\ignorespaces)。必须在跳过之前插入惩罚,以避免出现视觉上奇怪的断点。


\linebreak相当于\linebreak[4],而

  • \linebreak[0]插入\penalty -0(非必需);
  • \linebreak[1]插入\penalty -\@lowpenalty\penalty -51);
  • \linebreak[2]插入\penalty -\@medpenalty\penalty -151);
  • \linebreak[3]插入\penalty -\@highpenalty\penalty -301);和
  • \linebreak[4]插入\penalty -\@M( \penalty -10000)
  • \nolinebreak插入\penalty \@M( \penalty 10000)

答案2

参见第 9.8 节,texdoc latex2e。在线版本latexref.xyz。如果你对这个主题感兴趣penalty,你可以阅读 TeX 相关的书籍,例如TeXbookTeX 按主题分类

答案3

您可以在 LaTeX 手册或 LaTeX 配套软件中找到命令描述。

摘自 LaTeX 手册(第 95 页):

~尽管通常使用和\mbox命令(如第 2.1.1 节中所述)来防止不必要的换行,但 LaTeX 还提供了一个\nolinebreak命令,禁止 TeX 在该位置换行。与命令一样\linebreak\nolinebreak将数字从04作为可选参数,将禁止转换为建议,即此处不适合换行 - 数字越大,建议越强烈。命令\nolinebreak[0]相当于\linebreak[0],并且\nolinebreak[4]相当于\nolinebreak

在第213页:

\linebreak[數量]
\nolinebreak[數量]
\linebreak命令鼓励或\nolinebreak阻止换行,具体数量取决于數量0,这是一个从到 的数字4。[…]

相关内容