数学运算符后二元运算符后无空格

数学运算符后二元运算符后无空格

我在使用过程中遇到了一些问题,\mathop当第一个参数是运算符时,二元运算符后的空格不存在。

最小示例

如您所见,二元运算符后没有适当的空格+

\begin{equation*}
    \mathop{x} + y
\end{equation*}

在此处输入图片描述

具体例子

我一直在积分后使用微分算子的宏。错误发生在(大约)以下使用期间:

\newcommand{\intop}[1]{\mathop{d#1}}
\begin{equation*}
    \int f(x) \intop{x} + y 
\end{equation*}

在此处输入图片描述

答案1

TeX 遵循自己的规则。

\int f(x) \diff{x} + y

(请注意不能定义\intop已经被占用)你有

操作命令 打开命令 关闭操作命令

但组合奥普宾是无效的,因此垃圾桶原子转变为奥德,结果是 TeX 会在X和 +,但 + 和 之间没有空格

\mathop为了在函数和差速器之间获得一个狭窄的空间而使用的想法很好,但是你不应该做得过头。

之后d总会有一个奥德打开原子,你只需要在d,而不是在其之后。

定义

\newcommand{\diff}[1]{\mathop{d}\!#1}

因为这封信d会向下移动。使用空的\mathop并调整间距要容易得多,因为(空的)\mathopd

\newcommand{\diff}{\mathop{}\!d}

没有参数。然后

\int f(x)\diff x+y

将具有正确的间距。你可以这样做

\newcommand{\diff}[1]{\mathop{}\!d#1}

但我看不出有任何理由\diff{x}更喜欢\diff x

警告。这样做\renewcommand{\intop}{...}将会造成灾难性的后果。

答案2

仅适用于特定情况

如果你想写微分,那么一个选择是包derivative。使用该包,你可以简单地编写\odif{x}普通微分。例如:

\documentclass{article}
\usepackage{amsmath}
\usepackage{derivative}
\begin{document}
\[\int f(x)\odif{x}+y\]
\end{document}

相关内容