\underline
我发现以下命令可以增加与其对应文本之间的间距:
\newcommand{\ovF}[1]{
$\overline{\raisebox{0pt}[\dimexpr\height+1mm\relax]{#1}}$
}
此命令效果很好,例如
\ovF{a}
通过尝试强调需要数学环境的术语,它也能发挥作用,例如
\ovF{\varphi}
但是我想在方程中使用我的命令,例如
\begin{equation}
\ovF{a}
\ovF{\varphi}
\end{equation}
第一行和第二行对我来说都不起作用,但我还没有找到任何原因。我假设方程的预定义数学模式给我带来了一些问题。因此,我尝试通过在数学模式下不使用方程的情况下使用此命令来理解这些问题。
$\ovF{a}$
$\ovF{\varphi}$
但它们都不起作用。对于所有这些,我都收到相同的错误消息:
! Missing $ inserted.<inserted text>$
所以我的问题是:我应该做什么/改变什么才能在数学环境中使用我的命令,特别是在等式中?我做错了什么吗?
如果我犯了任何错误,我很抱歉。我是这个论坛的新手,这是我的第一个问题。
答案1
一般来说,函数应该针对数学或文本模式。但是,由于您似乎想要一个可以在所有模式下运行的函数,所以我尝试了一下,但有点过头了。它遵循数学样式等。
\documentclass{article}
\usepackage{scalerel}
\newcommand{\ovF}[1]{\ensuremath{%
\ThisStyle{\overline{\raisebox{0pt}[\dimexpr\height+1mm\relax]{$\SavedStyle#1$}}}}%
}
\parskip 1em
\begin{document}
\ovF{a}
\ovF{\varphi} {\LARGE\ovF{\varphi}}
\begin{equation}
\ovF{a}
\ovF{\varphi}
\end{equation}
$\ovF{a}$
$\ovF{\varphi} \scriptscriptstyle \ovF{\varphi} $
\end{document}