
Ich erstelle eine Liste mit häufig verwendeten mathematischen Befehlen, aber \newcommand und \DeclareMathOperator fügen beide ein Leerzeichen nach dem gerade definierten Symbol hinzu. Vergleicht man beispielsweise die beiden unten definierten Befehle,
\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} gibt mir das übliche
während \dderiv{f}{x} kompiliert wird zu
Ich verwende Overleaf. Gibt es eine Möglichkeit, dies zu vermeiden?
Antwort1
Der \DeclareMathOperator
Befehl gibt den Zeichenfolgenabstand an \mathop
, ähnlich wie die \log
„oder“ \cos
-Operatoren.
Um \mathord
den Abstand (in gewöhnlichen mathematischen Atomen) zu erhalten, schließen Sie ihn in Klammern ein:
\newcommand{\dderiv}[2]{ \frac{{\dd} #1 }{{\dd} #2 } }
Der \mathord{\dd}
Befehl funktioniert auch. Es liegt also an Ihnen, ob Sie die Dinge dadurch unnötig verkomplizieren oder leichter verständlich machen, warum Sie einen Umbruch vornehmen \dd
.
Also für ein 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}
Sie möchten möglicherweise jedoch einen Operator-ähnlichen Abstand auf der linken Seite, aber einen normalen Abstand auf der rechten Seite \dd
, für Anwendungsfälle wie \dd x \dd y
zum Beispiel:
\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}
Voraussichtliche Ankunftszeit:
Mehrere Kommentatoren waren der Meinung, dass das zweite Beispiel zu viel Platz hinzufügt, daher drucke ich hier Henri Menkes Änderungsvorschlag aus den Kommentaren erneut aus:
\newcommand\dd{\mathop{}\!\mathrm{d}}
Antwort2
Entschuldigung, aber
\DeclareMathOperator{\dd}{d}
ist in vielerlei Hinsicht falsch und wird nicht funktionierenüberallwie beabsichtigt.
Ich beziehe mich nicht auf das „aufrechte d“ (das ich für mathematisch falsch halte, aber darum geht es nicht), sondern auf den Raum, \dd
derautomatischhinzufügen, wenn ein normales Symbol folgt.
Was Sie wollen, ist
\newcommand{\dd}{\mathop{}\!\mathrm{d}}
und alles wird glatt laufen.
\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}