我确信这个问题已经在这里回答过很多次了,但我找不到重复的。
我的问题是如何处理“太长”的行,即溢出到页边距的行。我认为问题与 LaTeX 处理拆分的方式有关,我似乎记得有一些东西可以在太长的行上插入,以便仅在需要时才进行拆分。它类似于\allowsplitline
。
\documentclass[oneside,oldfontcommands]{memoir}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\begin{document}
\noindent That is we have that $F_A(\pi_A) = F_A(\pi_{A},B)$ is blablabla if and only if $F_A(\pi_{A, B})(7) = \lambda_{\pi_A}(\varpi_A) =\lambda_{\pi}(\varpi_A) = 11$. Text Text Text TextTextText TextTextTextTextTextText TextTextText
\end{document}
答案1
在需要的地方插入\allowbreak
,或者更好的是,改写句子 - 断点(在关系和二元运算符之后)的存在是有原因的。
从TeX 按主题分类(第 207 页):
23.9 数学公式中的换行
行内公式可以在关系和二元运算符后中断。相应的惩罚是 和
\relpenalty
。\binoppenalty
但是,如果这些符号没有括在括号中,TeX 只会在这些符号后中断。可以使用 ( 的\allowbreak
缩写)创建其他断点\penalty0
。与水平或垂直模式不同,在水平或垂直模式下,将两个惩罚放在一行中相当于只放置最小的惩罚,而在数学模式下,放置在断点处的惩罚 - 即在关系或二元运算符之后 - 将有效地用新的惩罚取代旧的惩罚。
如果你添加\showoutput
到你的 MWE,你可以看到 TeX 打印插入惩罚后操作符=
,但其他地方不行(下面的输出是针对的that $F_A(\pi_A) = F_A(\pi_{A},B)$ is
):
....\OT1/cmr/m/n/10 t
....\OT1/cmr/m/n/10 h
....\OT1/cmr/m/n/10 a
....\OT1/cmr/m/n/10 t
....\glue 3.33333 plus 1.66666 minus 1.11111
....\mathon
....\OML/cmm/m/it/10 F
....\hbox(4.78334+0.0)x6.51392, shifted 1.49998
.....\OML/cmm/m/it/7 A
....\OT1/cmr/m/n/10 (
....\OML/cmm/m/it/10 ^^Y
....\hbox(4.78334+0.0)x6.51392, shifted 1.49998
.....\OML/cmm/m/it/7 A
....\OT1/cmr/m/n/10 )
....\glue(\thickmuskip) 2.77771 plus 2.77771
....\OT1/cmr/m/n/10 =
....\penalty 500
....\glue(\thickmuskip) 2.77771 plus 2.77771
....\OML/cmm/m/it/10 F
....\hbox(4.78334+0.0)x6.51392, shifted 1.49998
.....\OML/cmm/m/it/7 A
....\OT1/cmr/m/n/10 (
....\OML/cmm/m/it/10 ^^Y
....\hbox(4.78334+0.0)x6.51392, shifted 1.49998
.....\OML/cmm/m/it/7 A
....\OML/cmm/m/it/10 ;
....\glue(\thinmuskip) 1.66663
....\OML/cmm/m/it/10 B
....\kern0.50172
....\OT1/cmr/m/n/10 )
....\mathoff
....\glue 3.33333 plus 1.66666 minus 1.11111
....\OT1/cmr/m/n/10 i
....\OT1/cmr/m/n/10 s