![\mathop 命令的真正功能是什么?](https://linux22.com/image/406084/%5Cmathop%20%E5%91%BD%E4%BB%A4%E7%9A%84%E7%9C%9F%E6%AD%A3%E5%8A%9F%E8%83%BD%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我是 LaTeX 的新手。当我阅读有关 LaTeX 的教程时,我得到了一个命令
\newcommand {\dd}{\mathop{}\,\mathrm{d}}
实际上,我了解该命令的功能,但我不明白\mathop{}
在这种情况下以及一般情况下命令的实际功能。
答案1
精细的数学字体规定了一个较窄的空间,以将函数与微分分开。
该\mathop{}
位这样做是因为当 a\mathop
跟随一个普通原子或一个结束原子时,TeX 会在它们之间添加一个细小的空格。
\mathop
如果前面有操作符号,则不会添加如此细的空格,例如:仅会使用\dd x+\dd y
周围的自动空格。+
你发现的定义存在问题太多了空格:事实上,\mathop{}
如果后面跟着一个普通原子(你的\mathrm{d}
),也会插入一个细空格,然后你添加另一个。
你应该消除自动添加的空间。
\documentclass{article}
\newcommand{\ddbad}{\mathop{}\,\mathrm{d}}
\newcommand{\ddgood}{\mathop{}\!\mathrm{d}}
\begin{document}
\[
\int f(x)\ddbad x \qquad \int f(x)\ddgood x
\]
\end{document}
和\ddbad
你一起得到三空格较细,在 之前有一个空格,\mathop{}
在 之后有两个空格。\ddgood
只有一个空格,因为\!
会抵消在 之后自动插入的空格\mathop{}
。
如果你尝试排版
\[
\ddbad x+\ddbad y \qquad \ddgood x+\ddgood y
\]
你会更清楚地看到哪里出了问题。