我想为矩阵/运算符的迹声明一个新的 MathOperator。
到目前为止我有:\DeclareMathOperator{\Tr}{Tr}
,但我不知道如何实现括号。
可能使它变得更加复杂的是,我还想计算部分 Trace,我想在 tex 文件中将其写为$ \Tr_{i} { ... } $
并产生 的效果$ Tr_{i} \left( ... \right) $
。我更喜欢\left(
和\right)
而不是(
和)
,因为我将计算 的轨迹的一些对象有帽子,并且\left(
和\right)
似乎调整了括号的大小。
我是 Latex 的新手,因此如果声明数学运算符不是完成我想要的操作的方法,我愿意接受其他建议。
答案1
我认为创建采用括号分隔参数的数学运算符并不会为您节省太多时间。
此外,如果您使用\left
和\right
来自动调整分隔符的大小,那么您最终会在Tr
和 左括号之间得到错误的空格量。为了避免这种错误的间距,我建议您加载mleftright
包并使用\mleft(
和\mright)
而不是\left(
和\right)
。
\documentclass{article}
\usepackage{mathtools} % for '\DeclareMathOperator' macro
\DeclareMathOperator{\Tr}{Tr}
\usepackage{mleftright} % for '\mleft' and '\mright' macros
\begin{document}
$-\Tr(A)$ vs. $-\Tr\mleft(A\mright)$ vs. $-\Tr\left(A\right)$
\end{document}
答案2
您可以定义\newcommand{\Tr}[1]{\operatorname{Tr}\left(#1\right)}
。