
よく使う数学コマンドのリストを作成していますが、\newcommand と \DeclareMathOperator はどちらも、定義したシンボルの後にスペースを追加します。たとえば、以下に定義されている 2 つのコマンドを比較すると、
\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
このコマンドは、 or演算子のように\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}
到着予定時刻:
何人かのコメント投稿者は、2 番目の例ではスペースが多すぎると感じたため、コメントから Henri Menke の調整を再掲します。
\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}