等式中的硬空格不起作用

等式中的硬空格不起作用

我在方程式中的空格处遇到了问题。符号~不起作用。

在此处输入图片描述

代码:$x~\equiv~13~\pmod{16}$。我想将所有等价内容放在一行中。

你知道该如何解决吗?

答案1

避免在数学模式中使用不必要的连接线。如果您希望一小段数学代码在换行符处保持在一起,请将其包裹在方框 ( \mbox) 内:

在此处输入图片描述

\documentclass{article}

% https://tex.stackexchange.com/a/137076/5764
\newcommand{\Mod}[1]{\ (\mathrm{mod}\ #1)}

\begin{document}

Zatem rozwiazaniem kongruecji $7^x \equiv 6 \Mod{17}$ calkowite~$x$ takie, ze $x \equiv 13 \Mod{16}$.

Zatem rozwiazaniem kongruecji $7^x \equiv 6 \Mod{17}$ calkowite~$x$ takie, ze \mbox{$x \equiv 13 \Mod{16}$}.

\end{document}

请注意,由于将第二个全等式放在了不可拆分的框内,因此第一个全等式的间距与第二个全等式的间距不匹配。这应该已经表明,最好让 (La)TeX 决定在最佳位置拆分数学内容。

答案2

如果你这样做\show\pmod,你会看到其定义中的第一个是\allowbreak宏。你可以使用\patchcmd命令从etoolbox 包

\documentclass{article}
\usepackage{lipsum} % For dummy text                                                                                 
\usepackage{etoolbox}
\patchcmd{\pmod}{\allowbreak}{}{}{}
\begin{document}
\lipsum[1-2]

a\hspace{270pt}b $x~\equiv~13~\pmod{16}$
\end{document}

答案3

在这样的公式中,$x\equiv 13 \pmod{16}$有两个可行的断点:之后\equiv和之前\pmod

第一个可以通过使用删除\nolinebreak(但在你的情况下这不会执行任何操作),而第二个是通缉;没有必要将“(mod 16)”与“X ≡ 13”。在你的具体情况下,这条线已经相当松散,并且推动了整个“X ≡ 13 (mod 16)” 到下一行将产生一个未满的行(或过满,取决于几种条件)。

以下是一个例子:

在此处输入图片描述

如你所见,第二段写得非常糟糕。第一段也不是最好的,但是读者在看到 ≡ 符号后会期待“mod”子句,所以把它放在下一行没有问题。

另一方面,如果你加载microtype,该行将排版而没有溢出:

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polish]{babel}
\usepackage{geometry}

\usepackage{microtype}
\usepackage{amsmath}

\begin{document}

\noindent
Zatem rozwiązaniem kongruencji $7^x \equiv 6 \pmod{17}$ są liczby
calkovite $x$ takie, że $x \equiv 13 \pmod{16}$.

\end{document}

加载geometry包时无需输入任何内容即可microtype产生您显示的精确输出,因此我猜这是您的设置。

在此处输入图片描述

无论如何,这些细节应该只在文档制作的最后阶段进行检查:我更喜欢在 (mod 16) 之前换行,而不是非常松散的行。但在早期阶段“修复”它可能会导致浪费时间,因为文本可能会在最终版本之前进行编辑。

相关内容