我应该如何放置命令才能使我的内联数学环境连在一起。例如, 0<x<1
分成两部分,0<
然后x<1
放在下一行。
答案1
您可以使用一些策略:将表达式括在括号内,或将其放在方框内,但在某些情况下,这可能会导致方框过满。大多数情况下,最好的解决方案是重新措辞公式出现的文本,这样就不会出现换行符。
事情进展顺利的一个例子:
\documentclass[draft]{article}
\begin{document}
Text text text text text text text text text text text text text text te $0<x<1$
Text text text text text text text text text text text text text text te ${0<x<1}$
Text text text text text text text text text text text text text text te \mbox{$0<x<1$}
\end{document}
还有一个地方出了问题(注意溢出的框):
\documentclass[draft]{article}
\begin{document}
Text text text text text text text text text text text text texttexttex $0<x<1$ text text text text text text text text text text text text text text text text text text
Text text text text text text text text text text text text texttexttex ${0<x<1}$ text text text text text text text text text text text text text text text text text text
Text text text text text text text text text text text text texttexttex \mbox{$0<x<1$} text text text text text text text text text text text text text text text text text text
\end{document}
在上一个示例所示的情形中,可以使用 \sloppy 来防止出现坏框,但现在某些文本行会拉伸,并且单词之间的间距会看起来很难看:
\documentclass[draft]{article}
\begin{document}
Text text text text text text text text text text text text texttexttex $0<x<1$ text text text text text text text text text text text text text text text text text text
{\sloppy Text text text text text text text text text text text text texttexttex ${0<x<1}$ text text text text text text text text text text text text text text text text text text\par}
{\sloppy Text text text text text text text text text text text text texttexttex \mbox{$0<x<1$} text text text text text text text text text text text text text text text text text text\par}
\end{document}
作为埃格尔在注释中提到\mbox{$0<x<1$}
和${0<x<1}$
都会导致周围的空格<
不与它们结束的行共享它们的拉伸和收缩;$0<\nobreak x<1$
更适合避免换行;可能还会\nobreak
在第二个之后添加<
。
大多数情况下,最好的解决方案是(正如我已经说过的)尝试重新措辞出现公式的文本,以免出现换行符。
答案2
你可以设置得\relpenalty
更高(它已经相当高了;普通情况下是 500)。例如,
\relpenalty=10000
会尝试永不换行关系类数学字符。实际上,使用默认设置时,我很难让 TeX 换行$0<x<1$
,因此为了测试它,我将惩罚设置为零。
另一个内联数学惩罚是\binoppenalty
针对二进制类数学字符,因此,为了建议 TeX 尝试永不破坏内联数学,可以将它们都设置为10000
。当然,如果您有大量较长的内联数学,并且采用该设置,TeX 将很难找到换行点。