Macros \dv and \pdv eat the subsequent parenthesis argument
The package physics
abuses the possibilities afforded by xparse
to define commands having very weird syntax.
For instance, if you want to typeset the standard \frac{dx}{dt}
, you have to type
\dv{x}{t}
If you want instead \frac{d}{dt}(f(t))
you type
\dv{t}(f(t))
which is where the syntax is weird: the variable you differentiate with respect to is no longer the second mandatory argument, but the first and a mandatory argument is missing altogether.
Of course this is achieved by actually making the second braced argument optional, which breaks all standard LaTeX conventions.
It is very counterintuitive having the independent variable first when the “long form” is desired and second for the “short (Leibniz) form”.
How can you do? My best advice is to keep at arm's length from physics
. It seems to provide many bells and whistles for typesetting math, but this is at the expense of syntax clarity.
If you are tied to the package, simply add a no-op; a simple one in this context is \/
:
\documentclass{article}
\usepackage{physics}
\begin{document}
\[
\dv{x}{t}\/(y^2-5) \qquad \dv{x}{t}\/ (y^2-5) \qquad \dv{x}{t}
\]
\end{document}
That's because \dv
(which is a shorthand for \derivative
) is defined as
\DeclareDocumentCommand\derivative{ s o m g d() }
{ % Total derivative
% s: star for \flatfrac flat derivative
% o: optional n for nth derivative
% m: mandatory (x in df/dx)
% g: optional (f in df/dx)
% d: long-form d/dx(...)
Even if the optional g
-type argument is given (as in your case) the command will scan further for an optional delimited d
-type argument which is delimited by (
and )
(maybe not the best choice in a mathematical context). To circumvent this you have to redefine \derivative
to always flush #5
if it is present.
\documentclass{article}
\usepackage{physics}
\DeclareDocumentCommand\derivative{ s o m g d() }
{ % Total derivative
% s: star for \flatfrac flat derivative
% o: optional n for nth derivative
% m: mandatory (x in df/dx)
% g: optional (f in df/dx)
% d: long-form d/dx(...)
\IfBooleanTF{#1}
{\let\fractype\flatfrac}
{\let\fractype\frac}
\IfNoValueTF{#4}
{
\IfNoValueTF{#5}
{\fractype{\diffd \IfNoValueTF{#2}{}{^{#2}}}{\diffd #3\IfNoValueTF{#2}{}{^{#2}}}}
{\fractype{\diffd \IfNoValueTF{#2}{}{^{#2}}}{\diffd #3\IfNoValueTF{#2}{}{^{#2}}} \argopen(#5\argclose)}
}
{\fractype{\diffd \IfNoValueTF{#2}{}{^{#2}} #3}{\diffd #4\IfNoValueTF{#2}{}{^{#2}}}\IfValueT{#5}{(#5)}}
}
\begin{document}
\[\dv{x}{t}(y^2-5) \qquad \dv{x}{t} (y^2-5) \qquad \dv{x}{t} \]
\end{document}
At the same time I'd like to note that the physics
package does not really help me writing physics formulae and I'm usually much better off typing the stuff by hand using the amsmath
macros.