我想使用 编写一个内联方程$%math...$
,但当前行太长,因此方程被分成两部分,第一部分在原始行中,另一部分在新行中。我不想出现这种情况;我想要一整行,后面是方程。我不想使用\newline{}
或类似的东西,因为它会在中间停止行并且不进行缩进(使所有行都在同一垂直线上结束的间距)。我该怎么办?
答案1
LaTeX 可能会在关系或二进制符号后中断内联公式。如果您不希望发生这种情况,可以通过设置明确阻止它:
\relpenalty=10000
\binoppenalty=10000
LaTeX 会始终尝试将段落保持$...$
在一行内,但如果段落没有足够的灵活性来允许一些可接受的换行,则最终可能会导致水平盒子溢出。在这种情况下,您必须使用\linebreak
(带或不带可选参数)手动将显式换行符(或可选换行符)放入公式中。
另一种方法(一次性更改)是,在公式之前放置一个明确的换行符(通过\linebreak
),然后强制在该点换行,并在公式前面放置一个对齐的行。同样,这只有在段落具有足够的灵活性时才有效。
一次性更改的另一种可能性是将上述参数设置放入其中,$...$
在这种情况下它们仅适用于该方程。
你不应该(通常)用 来包围整个公式\mbox
。实际上,这也会阻止 LaTeX 将其拆分成一行,但它还有一个额外的效果,就是使公式内的间距变得僵化,即公式不会被挤压或与段落材料的其余部分对齐。
唯一的其他选择是采用评论中提到的显示公式。
答案2
你可以尝试很多事情;最简单的就是写
some text \linebreak[1] $x+y=z$
这将邀请 TeX 将等式推到下一行;如果这不起作用,则将可选参数修改为\linebreak
:
\linebreak[0] % just a marker
\linebreak[1] % this is a nice point for a break
\linebreak[2] % this is a good point for a break
\linebreak[3] % this is a quite good point for a break
\linebreak[4] % break here, no discussion
尝试从 1 开始,因为这将为您提供线条排版糟糕程度的标准:值越高,排版越糟糕。
另一个策略是标记公式中你不想中断的地方,例如
some text $x+\nobreak y=z$
因为在之后破发=
通常比在之后破发更容易被接受+
。当然,你应该看看公式来决定哪些是可以接受的破发点。