Наложенные глифы и верхние/нижние индексы

Наложенные глифы и верхние/нижние индексы

Я использую stackengineдля наложения a \cupи \^{}для создания чашки с наконечником стрелки на правой конечной точке. Это работает в обычном размере, но если я использую новый символ как верхний/нижний индекс, то либо новый символ не уменьшает свой размер, либо циркумфлекс не остается выровненным (при добавлении \text).

\documentclass{article}
\usepackage{amsmath}
\usepackage{stackengine}

\newcommand{\cupr}{\topinset{\^{}}{$\cup$}{-0.7pt}{2.55pt}}
\newcommand{\cuprr}{\text{\topinset{\^{}}{$\cup$}{-0.7pt}{2.55pt}}}

\begin{document}

$$\cupr^{\cupr^{\cupr}} \qquad   \cup^{\cup^{\cup}} \qquad \cuprr^{\cuprr^{\cuprr}}  $$

\end{document}

Как я могу это исправить?

решение1

Параметры здесь подходят для шрифтов Computer Modern. Для других шрифтов подгоняйте их (на глаз).

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\cupr@tip}{\text{\raisebox{-0.1ex}{$\m@th\hat{}$}}}
\newcommand{\cupr}{\mathbin{\cup\cupr@}}

\newcommand{\cupr@}{%
  \mathchoice
  {\mkern-1.35mu\cupr@tip}
  {\mkern-1.35mu\cupr@tip}
  {\mkern-1.55mu\cupr@tip}
  {\mkern-1.875mu\cupr@tip}
}
\makeatother

\begin{document}

$A\cup B$

$A\cupr B$

$A\cupr B_{A\cupr B_{A\cupr B}}$

\end{document}

введите описание изображения здесь

Связанный контент