Интервал в математическом режиме между stackrel и mathrel

Интервал в математическом режиме между stackrel и mathrel

Я хотел бы получить согласованный интервал между символами, полученными с помощью a, \stackrelкогда они находятся рядом с \mathrelоператором, таким как двоеточие ( :). Из коробки \stackrelсимволы имеют сокращенный интервал относительно операторов.

МВЭ:

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{mathtools}
\everymath{\displaystyle}
\begin{document}
\[\begin{array}{ll}
Hc
\\
H\stackrel{\triangledown}{c} &\text{ spacing increased}
\\
-
\\
H:c
\\
H:\stackrel{\triangledown}{c} &\text{ spacing reduced!}
\\
H\mathbin{:}\stackrel{\triangledown}{c} &\text{ with mathbin}
\]
\end{document}

результат

Превращение двоеточия в математический символ ничем не лучше, поскольку интервалы также не симметричны.

В качестве альтернативы, если есть лучший способ (в том числе для вертикального позиционирования), чем \stackrelсоздавать эти символы, это приветствуется.

решение1

Вы хотите \overset, а не \stackrel(последнее всегда создает символ отношения).

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{mathtools}

%%%%%%%\everymath{\displaystyle}%%%% DON'T!!!!

\begin{document}

\[
\begin{array}{l}
Hc\\
H\overset{\triangledown}{c}
\\
H:c
\\
H:\overset{\triangledown}{c}
\end{array}
\]
\end{document}

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

С другой стороны, accentsработает лучше.

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{mathtools}
\usepackage{accents}

%%%%%%%\everymath{\displaystyle}%%%% DON'T!!!!

\begin{document}

\[
\begin{array}{l}
Hc\\
H\accentset{\triangledown}{c}
\\
H:c
\\
H:\accentset{\triangledown}{c}
\end{array}
\]
\end{document}

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

Неделать \everymath{\displaystyle}.

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