如果太长则分割线

如果太长则分割线

我确信这个问题已经在这里回答过很多次了,但我找不到重复的。

我的问题是如何处理“太长”的行,即溢出到页边距的行。我认为问题与 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

相关内容