创建一个带有 4 个参数的新命令以便快速引用梯度方程?

创建一个带有 4 个参数的新命令以便快速引用梯度方程?

我正在尝试创建一个新的命令,形式如下,

\gradeq{T,x,y,z}

它接受提供的四个参数并显示,

\pdv{T}{x}\xhat + \pdv{T}{y}\yhat + \pdv{T}{z}\zhat

我试过以下方法

\newcommand{\gradeq}[4]{\pdv{#1}{#2}\xhat + \pdv{#1}{#3}\yhat + \pdv{#1}{#4}\zhat}

我尝试使用额外的花括号,正如有人在另一个问题中推荐的那样,并且尝试将命令放在 $ ... $ 内。

我得到了一整串错误。完整的测试文档如下:

\documentclass{article}

\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{physics}

\renewcommand{\abstractname}{Summary}
\renewcommand{\contentsname}{Outline}

% Frequently Used Math Symbols

% VECTORS
\newcommand{\xhat}{\hat{x}}
\newcommand{\yhat}{\hat{y}}
\newcommand{\zhat}{\hat{z}}

% VECTOR OPERATORS
\newcommand{\gradeq}[4]{\pdv{#1}{#2}\xhat + \pdv{#1}{#3}\yhat + \pdv{#1}{#4}\zhat}

\begin{document}

$\gradeq{T,x,y,z}$

\end{document}

我收到以下错误,(全部在第 25 行)

! Missing } inserted.
! Too many }'s. \frac #1#2->{\begingroup #1\endgroup \@@over #2}
! Missing $ inserted.
! Missing \endcsname inserted.
! Extra }, or forgotten $.

请注意\xhat命令在其他文档中有效,并且\pdv物理旨在以分数形式给出偏导数的包。

我对 LaTeX 还很陌生,所以我确信我做了很多错误的事情。

答案1

大家好,欢迎来到特克斯社区。错误在于命令\gradeq。当你引入许多参数时,你应该使用$\gradeq{T}{x}{y}{z}$逗号代替$\gradeq(T,x,y,z)$。之后,最好不要使用physics包来处理间距和不寻常的宏问题。

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,amssymb}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{physics}

\renewcommand{\abstractname}{Summary}
\renewcommand{\contentsname}{Outline}

% Frequently Used Math Symbols

% VECTORS
\newcommand{\xhat}{\hat{x}}
\newcommand{\yhat}{\hat{y}}
\newcommand{\zhat}{\hat{z}}

% VECTOR OPERATORS
\newcommand{\gradeq}[4]{\pdv{#1}{#2}\xhat + \pdv{#1}{#3}\yhat + \pdv{#1}{#4}\zhat}

\begin{document}

$\gradeq{T}{x}{y}{z}$

\end{document}

相关内容