
Я использую 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}