![在数学模式中表示破折号而不是减号](https://linux22.com/image/263025/%E5%9C%A8%E6%95%B0%E5%AD%A6%E6%A8%A1%E5%BC%8F%E4%B8%AD%E8%A1%A8%E7%A4%BA%E7%A0%B4%E6%8A%98%E5%8F%B7%E8%80%8C%E4%B8%8D%E6%98%AF%E5%87%8F%E5%8F%B7.png)
如果我在数学模式,我想命名一个变量,比如最大颜色, 这里最大限度和颜色被视为两个不同的变量,减号两边要放两个空格。现在,我真正想说的是一个名为最大颜色. 内部如何实现数学模式。
答案1
您可以利用\operatorname
其设置,以便其参数中的连字符给出真正的连字符而不是减号:
\usepackage{amsmath} % only amsopn would suffice, actually
\newcommand{\var}[1]{{\operatorname{#1}}}
就间距而言,额外的括号将使对象不被视为运算符。如果希望变量名称以斜体显示,请将定义更改为
\newcommand{\var}[1]{{\operatorname{\mathit{#1}}}}
在下面的最小示例中,我使用了\varA
第一个实现,\varB
对于第二个实现,请您自行选择。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\varA}[1]{{\operatorname{#1}}}
\newcommand{\varB}[1]{{\operatorname{\mathit{#1}}}}
\begin{document}
$\varA{max-color}=3$
$\varB{max-color}=2$
\end{document}
答案2
为了匹配其他变量的字体,最好使用\mathit
。但是,这仍会将破折号设置为减号。要更改它,您可以使用,或者为了在破折号周围\text
获得更好的一致性,因为采用等式前文本的字体样式。该命令需要,而是标准的 LaTeX 命令,但它由包改进,以便它在下标、上标和分数中适当缩放。因此我建议以下内容:\textnormal
\text
\text
amsmath
\textnormal
amsmath
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\( \mathit{max\textnormal{-}color} \)
\end{document}
你可以方便地通过以下方式将其打包为命令
\newcommand{\maxcolor}{\mathit{max\textnormal{-}color}}
编辑我原本认为需要在定义周围添加一层额外的括号才能使其直接在下标/上标中使用,但 T.Verron 指出在这种情况下它们不是必需的。