我希望当符号位于冒号 ( ) 等运算符\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}
。