要求 Latex 尽量不将内联数学拆分为多行

要求 Latex 尽量不将内联数学拆分为多行

我不喜欢内联数学被拆分成多行。必要时我会忍受,但我宁愿它不发生,即使这意味着有时理由会更糟。我希望将此传达给 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}

在狭窄的环境中使用合理的环境会导致解决方案看起来不太好。看看使用RaggedRightfromraged2e包是否可以接受:

\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}

相关内容