\dl 的幂与 diffcoeff

\dl 的幂与 diffcoeff

在版本 4 中,我曾经能够编写与 等效的\mathrm{d}^4 x\dl^4 x但是在版本 5 中,我得到了“缺少 { 插入”的错误。有办法解决这个问题吗?

梅威瑟:

\documentclass[letterpaper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{diffcoeff}

\begin{document}
\begin{equation}
\dl^4 x
\end{equation}
\end{document}

答案1

在 v5 中,diffcoeff微分作为一个整体可以进行幂运算,但要对运算符号 进行幂d运算,则需要使用\difc(`c' 表示紧凑形式导数)命令。这样就可以\difc[4]x{{}}得到您想要的结果,但我想这会比预期使用更多的击键次数。要减少击键次数,请调用一个新宏(例如)\dfl并写入

\NewDocumentCommand \dfl { E{^}{1} m } { \difc[#1]{#2}{{}} }

然后\dfl^4 x会给出你想要的(并且\dfl x会给出 dx)。

答案2

你可以使用旧版本,因为[=v4]我看不到新版本中是否有支持的语法

\documentclass[letterpaper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{diffcoeff}[=v4]

\begin{document}
\begin{equation}
\dl^4 x 
\end{equation}
\end{document}

在此处输入图片描述

答案3

那么,你需要使用一个完全不同的命令\difc来排版这个吗?这个包使用作为参数分隔符(是的,我知道很多人对g-type 参数有同样的感觉,但我不敢苟同)?这是一个我更喜欢 keyval 语法的经典示例,如下所示(我使用自己的包来制作它,但这应该被视为对diffcoeffderivative和其他包的作者采用 keyval 语法的鼓励):

\documentclass{article}

\usepackage{semantex}

\NewVariableClass\DifferentialOperator[
    bool provide=in pars,
    define keys={
        {in pars}{
            use par=false,
            bool set true=in pars,
            set arg dots={\dotsc},
            set arg sep={,},
        },
        {not in pars}{
            use par=never,
            bool set false=in pars,
            set arg dots={\dotsm},
            set arg sep={\,},
        },
    },
    not in pars,
    define keys[1]={
        {pow}{upper={#1}},
    },
    prepend keys[1]={
        {arg}{
            bool if TF={in pars}
            {
                define arg keys[1]={
                    {default}{
                        sep={####1},
                    }
                },
            }{
                return,
                define arg keys[1]={
                    {default}{
                        set arg keys x={
                            other sep={%
                                \SemantexDataGetExpNot{arg sep}%
                                \SemantexDataGetExpNot{symbol}%
                            }{%
                                \SemantexExpNot{####1}%
                            }
                        },
                    }
                },
            },
        }
    },
]

\NewObject\DifferentialOperator\dl{d}
\NewObject\DifferentialOperator\dlpartial{\partial}

\begin{document}

\begin{gather*}
    \dl
    =
    \dl{x}
    =
    \dl[pow=4]
    =
    \dl{x,y,z}
    =
    \dl[pow=4]{x,y,z}
    =
    \dl[u]{x,y,z}
    =
    \dl[u,pow=4]{x,y,...,z}
\\
    \dlpartial
    =
    \dlpartial{x}
    =
    \dlpartial[pow=4]
    =
    \dlpartial{x,y,z}
    =
    \dlpartial[pow=4]{x,y,z}
    =
    \dlpartial[u]{x,y,z}
    =
    \dlpartial[u,pow=4]{x,y,...,z}
\\
    \dl[in pars]
    =
    \dl[in pars]{x}
    =
    \dl[in pars,pow=4]
    =
    \dl[in pars]{x,y,z}
    =
    \dl[in pars,pow=4]{x,y,z}
    =
    \dl[u,in pars]{x,y,z}
    =
    \dl[u,in pars,pow=4]{x,y,...,z}
\\
    \SetupObject\dl{in pars}
    \dl
    =
    \dl{x}
    =
    \dl[pow=4]
    =
    \dl{x,y,z}
    =
    \dl[pow=4]{x,y,z}
    =
    \dl[u]{x,y,z}
    =
    \dl[u,pow=4]{x,y,...,z}
\end{gather*}

\end{document}

在此处输入图片描述

相关内容