Как создать подходящие пробелы вокруг дифференциального символа d в ​​dx?

Как создать подходящие пробелы вокруг дифференциального символа d в ​​dx?

Я создаю список с общими математическими командами, которые я использую, но \newcommand и \DeclareMathOperator оба добавляют пробел после символа, который я только что определил. Например, сравнивая две команды, определенные ниже,

\DeclareMathOperator{\dd}{d}

% Derivartive in Leibniz notation d{#1}/d{#2}
\newcommand{\deriv}[2]{ \frac{\mathrm{d}}#1 }{ \mathrm{d}#2^} }
\newcommand{\dderiv}[2]{ \frac{\dd #1 }{ \dd #2 } }

\deriv{f}{x} дает мне обычное

введите описание изображения здесь

в то время как \dderiv{f}{x} компилируется в

введите описание изображения здесь

Я использую Overleaf. Есть ли способ этого избежать?

решение1

Команда \DeclareMathOperatorзадает интервал между строками \mathop, как операторы \log«или» \cos.

Чтобы получить \mathord(обычный математический атом) интервал, заключите его в фигурные скобки:

\newcommand{\dderiv}[2]{ \frac{{\dd} #1 }{{\dd} #2 } }

Эта \mathord{\dd}команда также будет работать, поэтому вам решать, усложнит ли это ситуацию или же поможет понять, зачем вы ее оборачиваете \dd.

Итак, для MWE:

\documentclass{article}
\usepackage{amsmath}

\DeclareMathOperator{\dd}{d}

% Derivative in Leibniz notation d{#1}/d{#2}
\newcommand{\deriv}[2]{ \frac{\mathrm{d}#1 }{ \mathrm{d}#2} }
\newcommand{\dderiv}[2]{ \frac{{\dd} #1 }{{\dd} #2 } }

\begin{document}
\[ \dderiv{x}{t}
\]
\end{document}

введите описание изображения здесь

Однако вам может понадобиться операторный пробел слева и обычный пробел справа , например, \ddдля таких случаев :\dd x \dd y

\documentclass{article}
\usepackage{amsmath}

\newcommand\dd{\mathop{}\mathrm{d}}

% Derivartive in Leibniz notation d{#1}/d{#2}
\newcommand{\deriv}[2]{ \frac{\mathrm{d}#1 }{ \mathrm{d}#2} }
\newcommand{\dderiv}[2]{ \frac{\dd #1 }{\dd #2 } }

\begin{document}
\[ \iint 1 \dd x \dd y
\]
\end{document}

введите описание изображения здесь

Расчетное время прибытия:

Некоторые комментаторы посчитали, что второй пример добавляет слишком много места, поэтому я перепечатаю поправку Анри Менке из комментариев:

\newcommand\dd{\mathop{}\!\mathrm{d}}

решение2

Извините, но

\DeclareMathOperator{\dd}{d}

во многих отношениях неверен и не будет работатьв любом местекак предполагалось.

Я не имею в виду «прямую букву d» (которую я считаю математически неправильной, но суть не в этом), а пространство, которое \ddбудетавтоматическидобавить, когда за ним следует обычный символ.

То, что вы хотите, это

\newcommand{\dd}{\mathop{}\!\mathrm{d}}

и все пройдет гладко.

\documentclass{article}
\usepackage{amsmath}

\newcommand\dd{\mathop{}\!\mathrm{d}}

% Derivartive in Leibniz notation d{#1}/d{#2}
\newcommand{\dderiv}[2]{ \frac{\dd #1 }{\dd #2 } }

\begin{document}

\[
\dderiv{f}{t} + \iint f(x,y) \dd x \dd y
\]

\end{document}

введите описание изображения здесь

Связанный контент