数学模式中 stackrel 和 mathrel 之间的间距

数学模式中 stackrel 和 mathrel 之间的间距

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

相关内容