
제가 사용하는 일반적인 수학 명령으로 목록을 만들고 있는데 \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}는 다음과 같이 컴파일됩니다.
오버리프를 사용하고 있습니다. 이것을 피할 수 있는 방법이 있나요?
답변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}
예상 시간:
몇몇 댓글 작성자는 두 번째 예가 과도한 공간을 추가했다고 생각했기 때문에 댓글에서 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}