如何在 LATEX 宏中添加条件?

如何在 LATEX 宏中添加条件?

我想创建带有条件的自定义宏。例如,我想向我创建的宏添加“if 条件”,以便编写与单个变量相关的任意顺序的导数。这是我的宏的当前代码:

\newcommand{\df}{\mathrm{d}}
\newcommand{\drv}[3]{\dfrac{\df #2^#1}{\df #3^#1}}

第一个参数#1是导数的阶,第二个#2我们取导数的函数和第三个#3导出变量。例如,

\drv{n}{f}{x}

会给

在此处输入图片描述

我想改变这个代码,让它不显示派生顺序#1如果它等于 1。但我不知道语法,这就是为什么我需要你的帮助。我想写一些类似

\newcommand{\drv}[3]{
      if #1=1
         \dfrac{\df #2}{\df #3}
      else
         \dfrac{\df ^#1 #2}{\df #3^#1}
} 

谢谢您的帮助,祝您有美好的一天。

答案1

很简单,使用xparse

\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}

\newcommand{\df}{\mathop{}\!d} % use \mathrm{d} if you really prefer it

\NewDocumentCommand{\drv}{omm}{%
  \frac{\df\IfValueT{#1}{^{#1}\kern-\scriptspace}#2}
       {\df#3\IfValueT{#1}{^{#1}}}%
}

\begin{document}

\[
\drv{f}{x}=f'(x),\qquad
\drv[n+1]{f}{x}=\drv{}{x}\drv[n]{f}{x}
\]

\end{document}

在此处输入图片描述

o可选参数表示;如果存在,\IfValueT{#1}将返回 true 并使用所示的参数。

根据给定的定义,\df在积分中也会表现得符合预期,并在必要时在其前面留下一个小空间。

相关内容