我通常\text{}
在宏中使用它来表示函数名称,例如deg
应该以非斜体形式出现在数学环境中的函数名称。只要宏不在定理环境中使用,它就可以正常工作,参见图片。
我该如何避免这种情况,例如如何编写命令使其像预定义的那样工作deg
(类似于max
等)。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\newcommand{\mydeg}{\text{deg}}
\newtheorem{theorem}{Theorem}
\begin{document}
This is how \emph{regular} degree looks like: $\deg(v) = 1$.
This is how \emph{my} degree looks like: $\mydeg(v) = 1$.
This is how \emph{regular} degree looks like in a theorem environment:
\begin{theorem}
It is true that $\deg(v) = 1$.
\end{theorem}
This is how \emph{my} degree looks like in a theorem environment:
\begin{theorem}
It is true that $\mydeg(v) = 1$.
\end{theorem}
\end{document}
答案1
这就是为什么你不应该使用它\text
作为数学标识符,它用于访问当前文本字体,使用\mathrm{deg}
或更好\DeclareMathOperator\deg{deg}
答案2
您通常需要\operatorname{deg}
或 (正如 David Carlisle 所推荐的) \DeclareMathOperator
。这些将为您提供带有间距的类似对数的运算符\mathop
。 (所有这些命令都依赖于amsmath
。)
使用\mathrm{deg}
将删除所有空格,就像您取数学常数 d、e 和 g 的乘积一样。
如果您想要文本间距,要清除所有字体设置的命令是\textnormal{deg}
。我经常使用的另一种方法是\textup
,我可以将其与 一起使用\bfseries\boldmath
,以使运算符名称、文本和数学符号全部加粗。最后,您可以在 中放入任意文本模式命令\text
,例如在使用或\text{\upshape\ulcshape deg}
时关闭斜体和小型大写字母,但保持粗细不变。您还可以使用它来选择不同的字体,而无需用尽符号字体字母表。fontaxes
fontspec