Gostaria de obter espaçamento consistente de símbolos obtidos com a \stackrel
quando eles estão próximos a um \mathrel
operador como dois pontos ( :
). Fora da caixa, os \stackrel
símbolos têm seu espaçamento em relação aos operadores reduzido.
MWE:
\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}
Transformar os dois pontos em um mathbin não é melhor, pois o espaçamento também não é simétrico.
Alternativamente, se houver uma maneira melhor (inclusive para posicionamento vertical) do que \stackrel
produzir esses símbolos, isso será bem-vindo.
Responder1
Você quer \overset
em vez de \stackrel
(este último sempre constitui um símbolo de relação).
\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}
Por outro lado, accents
faz um trabalho melhor.
\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}
Nãofazer \everymath{\displaystyle}
.