我不喜欢内联数学被拆分成多行。必要时我会忍受,但我宁愿它不发生,即使这意味着有时理由会更糟。我希望将此传达给 latex。
如果是单词,我会将其设置\hyphenpenalty
为更大的值。我不确定这是否适用于数学,但无论如何我不想为了单词而改变它,只是为了数学。
例子:
\documentclass{article}
\begin{document}
\begin{minipage}{3.8cm}
Recall that the meaning of
$P( w_j \mid w_i)$ is actually that
$P(W_j{=}w_j \mid W_i {=} w_i)$.
By not using softmax, with its normalising denominator this means that we expect that:
$\sum_{\forall w_j \in V} P(w_j \mid w_i) \neq 1$ (except by coincidence).
\end{minipage}
\end{document}
输出:
这可不太好,看看原本可以放在一行上的数学题是如何分成两行的?
如果我手动换行会更好:
(如果稍加改写的话效果会更好,但这超出了 Latex 的能力范围 :-D)
答案1
你可以把那些你不想被拆开的东西放进一个盒子里。当然,这是人工干预,但在特定情况下可能是最好的。
\documentclass{article}
\begin{document}
\begin{minipage}{3.8cm}
Recall that the meaning of
\mbox{$P( w_j \mid w_i)$} is actually that
\mbox{$P(W_j{=}w_j \mid W_i {=} w_i)$}.
By not using softmax, with its normalising denominator this means that we expect that:
\mbox{$\sum_{\forall w_j \in V} P(w_j \mid w_i) \neq 1$} (except by coincidence).
\end{minipage}
\end{document}
请注意,框中的内容不会根据边距约束进行任何扩展或压缩。因此,如果\mbox
从第一个数学对象中删除,内部数学间距将进行调整以符合边距约束。
夹子:
或者,使用\nobreak
也可用于手动防止数学中断。在这里,在第二个数学元素\nobreak
的 之后添加\mid
即可解决所有问题……暂时如此。但如果在这里或那里添加另一个单词,您将不得不重新干预。
\documentclass{article}
\begin{document}
\begin{minipage}{3.8cm}
Recall that the meaning of
$P( w_j \mid w_i)$ is actually that
$P(W_j{=}w_j \mid\nobreak W_i {=} w_i)$.
By not using softmax, with its normalising denominator this means that we expect that:
$\sum_{\forall w_j \in V} P(w_j \mid w_i) \neq 1$ (except by coincidence).
\end{minipage}
\end{document}
答案2
数学模式下的自动换行由参数\relpenalty
和控制\binoppenalty
。只有在关系符号或二元运算符号之后,或者在用户插入明确惩罚时才可以换行。
您可以通过设置(可能是本地设置到某个组)来完全禁止自动换行
\relpenalty=10000
\binoppenalty=10000
然后,您可以使用\linebreak
或\nolinebreak
与合适的可选参数一起指定可行的换行符。
如果设置的值小于 10000,则换行效果会不太理想。默认值分别为 500 和 700。
答案3
\documentclass{article}
\begin{document}
\begin{minipage}{3.8cm}%\RaggedRight
Recall that the meaning of
$P( w_j{\mid}w_i)$ is actually that
\mbox{$P(W_j{=}w_j{\mid}W_i{=}w_i)$}.
By not using softmax, with its normalising denominator this means that we expect that:
\mbox{$\sum_{\forall w_j \in V} P(w_j{\mid}w_i) \neq 1$} (except by coincidence).
\end{minipage}
\end{document}
在狭窄的环境中使用合理的环境会导致解决方案看起来不太好。看看使用RaggedRight
fromraged2e
包是否可以接受:
\documentclass{article}
\usepackage{ragged2e}
\begin{document}
\begin{minipage}{3.8cm}\RaggedRight
Recall that the meaning of
$P( w_j{\mid}w_i)$ is actually that
\mbox{$P(W_j{=}w_j{\mid}W_i{=}w_i)$}.
By not using softmax, with its normalising denominator this means that we expect that:
\mbox{$\sum_{\forall w_j \in V} P(w_j{\mid}w_i) \neq 1$} (except by coincidence).
\end{minipage}
\end{document}
答案4
\raggedright
我能想到的最简单的解决方案是在 的开头插入指令minipage
。在狭窄的列中,尝试完全对齐材料可能会产生相当大且不美观的单词间隙。最好通过调用 来放弃对齐\raggedright
,这也会抑制连字符——以及内联数学材料中的换行。
\documentclass{article}
\begin{document}
\begin{minipage}{3.8cm}
\raggedright
Recall that the meaning of
$P(w_j \mid w_i)$ is actually that
$P(W_j=w_j \mid W_i = w_i)$.
By not using softmax, with its normalising denominator
this means that we expect that:
$\sum_{\forall w_j \in V} P(w_j \mid w_i) \neq 1$
(except by coincidence).
\end{minipage}
\end{document}