![将多个字符语义上括为一个名称的正确方法](https://linux22.com/image/395301/%E5%B0%86%E5%A4%9A%E4%B8%AA%E5%AD%97%E7%AC%A6%E8%AF%AD%E4%B9%89%E4%B8%8A%E6%8B%AC%E4%B8%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E7%A7%B0%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%96%B9%E6%B3%95.png)
回答这个问题可能涉及谈论 MathJax。这取决于答案是什么。不过,我对 LaTeX 方面应该如何做感兴趣。
据我所知,LaTeX 主要描述事物应该是什么样子,而不是它们的含义或它们是什么。也有例外,例如数学模式与文本模式,或者\title{}
。
在编写由多个字符组成的函数名称时,我一直使用\operatorname{}
。例如\operatorname{SQRT}(x)=x^2
。这似乎有效。例如,MathJax 会生成<mi>SQRT</mi>
函数名称。
我的问题是:
是否有一个命令可以用来封装由多个字符组成的数学名称?
\operatorname{}
在所有情况下都是这样吗?
我之所以变得不确定并且需要确认或指导,是因为当我在下标中使用它时,就像X_{\operatorname{abc}}
MathJax 生成一样<msub><mi>X</mi><mrow class="MJX-TeXAtom-ORD"><mi>abc</mi></mrow></msub>
,其中 是<mi>abc</mi>
从属于mrow
的class="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。