带有括号大小选项的新命令

带有括号大小选项的新命令

我想为trace已定义的矩阵编写一个新命令,如下所示:

\newcommand{\trace}[1]{\mathsf{trace}\!\left[#1\right]}

但是当我调用 \trace{A^\top} 自动缩放时,会使[]字符\bigl[\bigr]。我如何将可选的附加参数传递给我的新命令,以便我可以控制缩放?理想情况下,它会 \trace[\big]{A^\top} 获取缩放版本并 \trace{A^\top} 获得标准版本。

答案1

我建议你使用数学工具包及其宏来创建满足语法要求的\DeclarePairedDelimiterXPP用户宏。使用此设置,\trace

  • \trace可用于生成基本大小的方括号,

  • \trace*可用于自动调整方括号的大小,以及

  • \trace[\big]可以通过\trace[\Bigg]直接选择方括号的具体尺寸来选择。

在此处输入图片描述

\documentclass{article} % or some other suitable document class
\usepackage{mathtools}  % for '\DeclarePairedDelimiterXPP' macro
% See pp. 27f. of user guide of 'mathtools' package:
\DeclarePairedDelimiterXPP\trace[1]{\operatorname{\mathsf{trace}}}[]{}{#1}

\begin{document}
$\trace{A}$, $\trace[\big]{A^\top}$, $\trace*{A^\top}$, $\trace[\Bigg]{A^\top}$
\end{document}

答案2

您可以像以下代码一样定义两个新命令:

\documentclass[11pt,a4paper]{article}
\usepackage{amsmath}

\newcommand{\trace}[1]{\mathsf{trace}\!\left[#1\right]}
\newcommand{\traceb}[1]{\mathsf{trace}\!\Bigl[#1\Bigr]} %<-- Big not big
\begin{document}
    $\traceb{A^\top}$ \qquad $\trace{A^\top}$
    
    $\traceb{\dfrac{x+y}{x-y}}$ \qquad $\trace{\dfrac{x+y}{x-y}}$
    
    $\traceb{\begin{matrix}a&b\\c&d\end{matrix}}$
    \qquad  $\trace{\begin{matrix}a&b\\c&d\end{matrix}}$
    
\end{document}

输出为:

在此处输入图片描述

相关内容