答案1
使用
${k\in\{1\dots,K\}}$
${...}$
不能有换行符
答案2
TeX 只会在两个地方自动中断公式:在二进制或关系运算符之后。它们通过参数\binoppenalty
和控制\relpenalty
。如果将两者都设置为 10000,则永远不会中断。如果您在公式中本地执行此操作,则它只会在那里应用。因此,像这样的定义
\newcommand\nobreakformula{\relpenalty10000\relax \binoppenalty 10000\relax}
可能是你的朋友(也许使用更短的命令名:-))
如果您只想防止公式中出现单个中断,而不是全部中断,那么您可以\nolinebreak
在 TeX 中断的位置使用。但是,您最终可能会遇到更不理想的中断,因此这实际上取决于具体情况(因此,只有当您的文档即将准备就绪时才使用这种微调)。例如,如果在下面的展示中我们使用,$a+b =\nolinebreak c+d+e$
那么 TeX 会中断,a +
我认为这比在等号后中断更糟糕。
\mbox
不建议使用括号组或使用,因为这会导致公式始终设置为其标称宽度,而不管行内拉伸或收缩的程度如何。您可以在以下示例中清楚地看到这一点:
\documentclass{article}
\usepackage{calc}
\begin{document}
\newlength\normwidth
\newcommand\myline{A test $a+b=c$ with $1+1$ formulas inside}
\settowidth\normwidth{\myline}
Spreading a line b 0, 5,15,25 and 50 points:
\indent \mbox{\myline}
\makebox[\normwidth+5pt][s]{\myline}
\makebox[\normwidth+15pt][s]{\myline}
\makebox[\normwidth+25pt][s]{\myline}
\makebox[\normwidth+50pt][s]{\myline}
\bigskip
Contrast this with using a brace group or \verb=mbox= on the first formula:
\renewcommand\myline{A test ${a+b=c}$ with $1+1$ formulas inside}
\indent \mbox{\myline}
\makebox[\normwidth+5pt][s]{\myline}
\makebox[\normwidth+15pt][s]{\myline}
\makebox[\normwidth+25pt][s]{\myline}
\makebox[\normwidth+50pt][s]{\myline}
\bigskip
\newcommand\nobreakformula{\relpenalty10000\relax \binoppenalty 10000\relax}
Testing \verb=\nobreakformula=:
Some sample text to make this break inside the first formula
A test $ a+b=c + d + e$ with $1+1$ formulas inside
And now with suppression:
Some sample text to make this break inside the first formula
A test $\nobreakformula a+b=c + d + e$ with $1+1$ formulas inside
\end{document}
输出结果如下: