为什么 \mathrm{\varphi} 有效,而 \text{\varphi} 无效?

为什么 \mathrm{\varphi} 有效,而 \text{\varphi} 无效?

这:

\documentclass{article}

\usepackage{amsmath}

\begin{document}
$\mathrm{\varphi}$
\end{document}

相对:

\documentclass{article}

\usepackage{amsmath}

\begin{document}
$\text{\varphi}$
\end{document}

第一个有效,最后一个无效。为什么?特别是当用\text这个定义宏时会导致问题。有什么办法吗?

答案1

\varphi是数学符号,需要数学模式。由于\mathrm仍然“提供”数学模式,\varphi因此不会出现问题。另一方面,\text(来自amstext;加载者amsmath) 是一个宏,可以在切换到文本模式时正确选择字体大小 - 在指数/下标中排版测试时非常方便。但是,它仍然会切换到文本模式。

如果你希望\varphi在文本模式下使用而不必明确切换到数学模式,请使用类似

\newcommand{\textphi}{\ensuremath{\varphi}}

这使得您可以\textphi在文本或数学模式下使用。\ensuremath条件仅在必要时(例如,当您处于文本模式时)切换到数学模式。

在此处输入图片描述

\documentclass{article}
\newcommand{\textphi}{\ensuremath{\varphi}}
\begin{document}
$\varphi^\varphi\ \textphi^\textphi$\ \textphi\textsuperscript{\textphi}
\end{document}

答案2

因为\varphi只有数学模式。就我而言,没有文本模式可供选择。

唯一的文本模式替代方案是\textphi,但要使用它,您必须包含包tipa。此外,它只是一个普通的 phi。

相关内容