文本和数学中的 mathsf 字体

文本和数学中的 mathsf 字体

我想定义一个\newcommand在文本和数学模式下产生相同字体的函数。例如,

\newcommand{\abc}[1]{???#1}

然后

\abc{varName} is blah blah blah

$ \abc{varName} = 4 $

我想变量名称在两种情况下使用相同的字体,理想情况下\mathsf字体相同。

答案1

这实际上与使用相同\ensuremath:只需询问是否LaTeX处于数学模式(\ifmmode),然后使用\mathsf或暂时切换到数学模式并应用\mathsf

顺便说一下,无论如何,在和模式 \textsf下都可以工作。mathtext

\documentclass{article}


\newcommand{\abc}[1]{%
  \ifmmode
  \mathsf{#1}%
  \else
  $\mathsf{#1}$%
  \fi
}

\begin{document}

\LARGE 
\abc{varName} is blah blah blah

$ \abc{varName} = 4 $

\begin{equation}
\abc{Hello} = 7
\end{equation}

\end{document}

在此处输入图片描述

答案2

\ensuremath命令允许在文本模式和数学模式下使用数学模式中的内容。因此,您可以像这样编写命令。

\newcommand{\abc}[1]{\ensuremath{\mathsf{#1}}}

相关内容