![数学运算符的几种定义有什么区别?](https://linux22.com/image/414901/%E6%95%B0%E5%AD%A6%E8%BF%90%E7%AE%97%E7%AC%A6%E7%9A%84%E5%87%A0%E7%A7%8D%E5%AE%9A%E4%B9%89%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我正在定义一个新的数学运算符,我发现我可以使用 4 个不同的命令来定义它:
\DeclareMathOperator
(包裹amsmath
)\operatorname
(包裹amsmath
)\DeclareMathOperator*
(包裹amsmath
)\mathop
(TeX 命令)
它们之间的格式有什么区别?
答案1
通过下面的 MWE,我们看到主要区别如下:
- 操作员的字体发生变化:所有命令都写入直立运算符,但
\mathop
要写成倾斜的。 - 在显示模式
\DeclareMathOperator*
和将\mathop
下标和上标分别设置在运算符的正下方和正上方,而其他运算符则将它们向右移动。 - 操作员站在基线对于所有命令,但对于
\mathop
那里,它会沉入其下方(在内联和显示模式下)
参见下面的图片和代码:
\documentclass{article}
\usepackage{amsmath}
%All operators are declared as commands
\DeclareMathOperator{\Ti}{T}
\newcommand{\Tii}{\operatorname{T}}
\DeclareMathOperator*{\Tiii}{T}
\newcommand{\Tiv}{\mathop{T}}
\begin{document}
%DeclareMathOperator
\verb|\DeclareMathOperator|\\
Inline:
\(x \Ti^a_b y\)
\\
Display:
\[x \Ti^a_b y\]
%Operatorname
\verb|\operatorname|\\
Inline:
\(x \Tii^a_b y\)
\\
Display:
\[x \Tii^a_b y\]
%DeclareMathOperator*
\verb|\DeclareMathOperator*|\\
Inline:
\(x \Tiii^a_b y\)
\\
Display:
\[x \Tiii^a_b y\]
%Mathop
\verb|\mathop|\\
Inline:
\(x \Tiv^a_b y\)
\\
Display:
\[x \Tiv^a_b y\]
\end{document}