Я хотел бы получить согласованный интервал между символами, полученными с помощью 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}
.