在新行中写入公式

在新行中写入公式

我想使用 编写一个内联方程$%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$

因为在之后破发=通常比在之后破发更容易被接受+。当然,你应该看看公式来决定哪些是可以接受的破发点。

相关内容