数学运算符的几种定义有什么区别?

数学运算符的几种定义有什么区别?

我正在定义一个新的数学运算符,我发现我可以使用 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}

相关内容