是不是只有我一个人觉得 $f(x) = x^2 + 17 \mod 43$ 在 mod 运算符前添加了太多空格?

是不是只有我一个人觉得 $f(x) = x^2 + 17 \mod 43$ 在 mod 运算符前添加了太多空格?
\documentclass[a4paper]{article}
\usepackage{amsmath}
\begin{document}

Instead of $f(x) = x^2 + 17 \mod 43$, I prefer $f(x) = x^2 + 17\hspace{-1mm}\mod 43$.  

\end{document}

为什么模数运算符被定义为带有这个明显的额外空间?这背后有什么道理吗?

我正处于重新定义它的边缘。

答案1

首先:它不是一个“运算符”,而是一种编写特定等价关系的传统方式。正确的语法是\mod{43}

Plain TeX 只有\pmod,定义为

% plain.tex, line 1089
\def\pmod#1{\allowbreak\mkern18mu({\rm mod}\,\,#1)}

所以空间是1em(以数学符号字体​​表示),因为18mu就是1em。

在 LaTeX 内核中,定义基本相同,即

% latex.ltx, line 4437:
\def\pmod#1{%
  \allowbreak\mkern18mu({\operator@font mod}\,\,#1)}

另一方面,amsmath也定义了\mod\pod。前者省略了括号,后者有括号但没有“mod”。

\newcommand{\pod}[1]{\allowbreak
  \if@display\mkern18mu\else\mkern8mu\fi(#1)}
\renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}}
\newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu
  \else\mkern12mu\fi{\operator@font mod}\,\,#1}

的定义\pmod是根据\pod;你可以看到a\equiv b\pod{n},之后b,显示样式中为 1em 空间,其他样式中为 8/18em 空间,后跟 (n)。与\pmod括号前的间距相同,但在括号后“mod”和 6/18em 的空格将位于n

间距\mod基本相同,但在文本样式或以下情况下将使用 12/18em 而不是 8/18em。请注意,\,\,与 相同\mkern 6mu

所以就只有你了。;-)

\pod当然,您可以通过重新定义和来自由更改间距\mod

答案2

等间距版本\bmod与 Sebastiano 现已删除的答案中的一样,它具有您似乎想要的间距,但在这里是错误的,因为它意味着 x^2 + (17 mod 43),这是错误的解释。您希望在 mod 之前有更大的空间将其与 17 分开,并明确表示它是适用于等式的附加条件,该等式应被解释为 mod 43 的一致性。

相关内容