将多个字符语义上括为一个名称的正确方法

将多个字符语义上括为一个名称的正确方法

回答这个问题可能涉及谈论 M​​athJax。这取决于答案是什么。不过,我对 LaTeX 方面应该如何做感兴趣。

据我所知,LaTeX 主要描述事物应该是什么样子,而不是它们的含义或它们是什么。也有例外,例如数学模式与文本模式,或者\title{}

在编写由多个字符组成的函数名称时,我一直使用\operatorname{}。例如\operatorname{SQRT}(x)=x^2。这似乎有效。例如,MathJax 会生成<mi>SQRT</mi>函数名称。

我的问题是:

  1. 是否有一个命令可以用来封装由多个字符组成的数学名称?

  2. \operatorname{}在所有情况下都是这样吗?

我之所以变得不确定并且需要确认或指导,是因为当我在下标中使用它时,就像X_{\operatorname{abc}}MathJax 生成一样<msub><mi>X</mi><mrow class="MJX-TeXAtom-ORD"><mi>abc</mi></mrow></msub>,其中 是<mi>abc</mi>从属于mrowclass="MJX-TeXAtom-ORD"

答案1

据我所知:是的。\operatorname是正确的(当然是因为它的名字:)))

但是,我不喜欢使用这个命令。我通常使用类似

\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\SQRT}{SQRT}
\begin{document}
$\SQRT(x)=x^2\quad\SQRT x=x^2$
\end{document}

方便在我的文档中输入。据我所知,上述代码相当于

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$\operatorname{SQRT}(x)=x^2\quad\operatorname{SQRT}x=x^2$
\end{document} 

但是,要创建直立字母(例如,用于变量名,而不是用于操作),应该使用\mathrm。原因是文本周围的空间。记住\mathrm\operatorname确实不同!(和\text甚至更多)。

恕我直言,您不应该拿 MathJax 来做比较。MathJax 实际上不是 LaTeX,也不与 LaTeX 相关/基于 LaTeX。

相关内容