\frac 在 \newcommand 中未按预期工作

\frac 在 \newcommand 中未按预期工作

我正在尝试为偏导数的莱布尼茨符号创建一些快捷方式。以下是代码

\newcommand{\px}[1][]{\frac{\partial{#1}}{\partial x}}

当我在没有参数的情况下调用它时,它可以正常工作,但是在传递参数时,它不能按我期望的方式工作。

代码示例

\documentclass[10pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish,es-tabla]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsthm}
\newcommand{\px}[1][]{\frac{\partial{#1}}{\partial x}}
\begin{document}
    \[
        \px\quad\px{F_x}
    \]
\end{document}

结果是

在此处输入图片描述

代替

在此处输入图片描述

提前致谢。

答案1

如果你定义\px

\newcommand{\px}[1][]{\frac{\partial{#1}}{\partial x}}

定义[1]\px带有 1 个参数的命令,但[]紧接着写的使[1]该参数成为可选参数。如果您在第二对方括号之间包含某些内容,它将成为此可选参数的默认值。因此,按照\px上述定义,该命令\px不接受任何带有花括号的参数,只接受带有方括号的可选参数。

[]您还可以通过删除定义中的来获得所需的结果\px。在这种情况下,您的命令将采用带有花括号的单个参数。

这是一个完整的例子。

\documentclass{article}
\usepackage{amsmath}
\newcommand{\px}[1][]{\frac{\partial{#1}}{\partial x}}
\newcommand{\otherpx}[1]{\frac{\partial{#1}}{\partial x}}
\begin{document}
\[
\px{}, \quad \px{F_x}, \quad \px[F_x], \quad
\otherpx{}, \quad \otherpx{F_x}
\]
\end{document}

答案2

这是你的问题所要求的结果吗?

在此处输入图片描述

\documentclass[10pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish,es-tabla]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsthm}

\newcommand{\px}[1][]{\frac{\partial#1}{\partial x}}
\begin{document}
    \[
    \px[F_x], \px
    \]
\end{document}

相关内容