在任何环境中都能直立的数学字母

在任何环境中都能直立的数学字母

如果这个问题已经被问过,或者这是一个愚蠢的问题,我提前道歉:我对 LaTeX 的了解非常有限。

我正在做一篇数学论文,我遇到了一些有关公式的问题,这些公式有时会直立显示 - 就像使用\text{}- 一样,有时会以斜体显示 - 就像使用\emph{}- 一样。

我将这些主张分为两组:\theoremstyle{plain}定理、命题等和\theoremstyle{definition}定义、备注。

现在,我多次使用字母$\text{H}$来表示上同调:因此我定义了一个新的命令

\newcommand{\coh}{\emph{H}}

但不幸的是,当在定义中使用时,它是斜体的,而在定理环境中它是直的:我怎样才能让 LaTeX 始终将这个字母直立打印,无论在哪个环境中使用?我试过了,\newcommand{\coh}{\text{H}}但还是不行。

答案1

您应该使用\DeclareMathOperator{\coh}{H}在正常使用和斜体中产生相同结果的语句:

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{mathtools}
\DeclareMathOperator{\coh}{H}

\begin{document}
In normal usage we have an upright $\coh$.

In emphasized text it appears the same \emph{$\coh$}.
\end{document}

答案2

您可以使用\textnormal{H}, 重置格式。该命令会继承周围文本的格式。也就是说,由于定理陈述是斜体的,斜体会渗透到数学公式中。如果您在标题中\text使用粗体、无衬线或小型大写字母格式,也会如此。$\text{H}$

您也可以使用\mathrm{H},它始终是直立的,并且像普通数学符号一样有间距。如果您使用\DeclareMathOperator,您将获得像 log 或 sin 一样的间距。

该软件包为您提供了(使用文本字体,但可以更改)和(使用数学字体,但可以更改)unicode-math之间的选择。这允许您在数学模式下对普通单词和直立数学符号使用不同的字体。(您可以尝试直立斜体或 Neo Euler。)\mathrm\symup

如果您想要继承粗细但重置形状(以便粗体标题中的公式为粗体),则可以使用\textup{H}。或者,\text{\rmfamily\upshape H}允许您单独设置字体轴。

在序言中定义一次这样的命令是一个好主意。

相关内容