如何调整上标的高度?

如何调整上标的高度?

我有一个名为的操作\conv,其定义如下:

\newcommand\conv{{}^{\scriptstyle\smile}}

有时我在这种情况下使用它:

$a\conv$

有时我会在这种情况下使用它:

$$\big(\prod a\big)\conv$$

在这两种情况下,上标\conv都处于同一水平。然而,在第二种情况下, 太大\sum,以至于\conv似乎在中间水平。我希望它以某种方式调整到 的较大尺寸,\sum以便它位于 的顶部\big,而不是太低。

请告诉我如何澄清我的问题。

答案1

可能有更好的方法来实现这一点。使用

\newcommand\conv{^{\scriptstyle\smile}}

应该做这项工作。空{}负责保持微笑的恒定高度。

\documentclass{article}
\newcommand\conv{^{\scriptstyle\smile}}
\begin{document}
\[\left(\prod a\right)\conv\]
\[a\conv\]
\end{document}

我建议使用\[ \]而不是和$$ $$。此外,最好使用动态和而不是静态和\( \)$ $\big(\big)\left(\right)

在此处输入图片描述

编辑不同版本:

\documentclass{article}
\newcommand{\conv}[1]{{#1}^{\scriptstyle\smile}}
% \newcommand\conv{^{\scriptstyle\smile}}
\begin{document}
\[\conv{\left(\prod a\right)}\]
\[\conv{a}\]
\(\conv{}\conv{}\)
\end{document}

答案2

可以使用的方法\conv\conv如下

\makeatletter
\newcommand\conv{^\bgroup\scriptscriptstyle\@conv\conv}
\def\@conv#1{\smile\@ifnextchar\conv\@conv\egroup}
\makeatother

我已经使用了\scriptscriptstyle,因为它\scriptstyle是多余的。

以下是一个例子:

\documentclass{article}
\makeatletter
\newcommand\conv{^\bgroup\scriptscriptstyle\@conv\conv}
\def\@conv#1{\smile\@ifnextchar\conv\@conv\egroup}
\makeatother

\begin{document}
$a\conv$

$a\conv\conv$

$\Bigl[a\Bigr]\conv$
\end{document}

在此处输入图片描述

相关内容