
Estou criando uma lista com comandos matemáticos comuns que uso, mas \newcommand e \DeclareMathOperator adicionam um espaço após o símbolo que acabei de definir. Por exemplo, comparando os dois comandos definidos abaixo,
\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} me dá o de sempre
enquanto \dderiv{f}{x} é compilado para
Estou usando o Overleaf. Existe alguma maneira de evitar isso?
Responder1
O \DeclareMathOperator
comando fornece o \mathop
espaçamento das strings, como os operadores \log
ou \cos
.
Para obter \mathord
o espaçamento (átomo matemático comum), coloque-o entre colchetes:
\newcommand{\dderiv}[2]{ \frac{{\dd} #1 }{{\dd} #2 } }
O \mathord{\dd}
comando também funcionará, então cabe a você decidir se isso complica demais as coisas ou torna mais fácil entender por que você está agrupando arquivos \dd
.
Então, para um 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}
Você pode, no entanto, querer espaçamento semelhante ao operador à esquerda, mas espaçamento comum à direita de \dd
, para casos de uso como \dd x \dd y
, por exemplo:
\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}
Hora prevista de chegada:
Vários comentaristas acharam que o segundo exemplo adicionou espaço excessivo, então reimprimirei o ajuste de Henri Menke nos comentários:
\newcommand\dd{\mathop{}\!\mathrm{d}}
Responder2
Desculpe, mas
\DeclareMathOperator{\dd}{d}
está errado sob muitos aspectos e não funcionaráem qualquer lugarcomo pretendido.
Não estou me referindo ao “d vertical” (que considero matematicamente errado, mas não é esse o ponto), mas ao espaço que \dd
iráautomaticamenteadicione quando seguido por um símbolo comum.
O que você quer é
\newcommand{\dd}{\mathop{}\!\mathrm{d}}
e tudo correrá bem.
\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}