作为很好的答案关于移动 $\bigtriangledown$ 以像通常的 $\nabla$ 符号一样对齐,我想要一个解决方案,它也可以很好地与数学重音符号配合使用,例如 $\widetilde\nabla$。由于 $\bigtriangledown$ 的边界框较大,重音符号目前太高了:
\documentclass{minimal}
\makeatletter
\newcommand{\anabla}{\mathord{\mathpalette\raise@half\bigtriangledown}}
\newcommand\raise@half[2]{%
\raisebox{\depth}{$\m@th#1#2$}%
}
\makeatother
\begin{document}
\[
\nabla \anabla \qquad \widetilde\nabla \widetilde{\anabla}
\]
\end{document}
如何使重音符号垂直对齐?
答案1
我们可以通过“移除”(或“隐藏”)顶部 30% 的高度来欺骗 TeX,使其认为符号的高度较低。对提供的代码进行轻微修改:
\documentclass{article}
\usepackage{amsmath} % for scalable wide accents
\makeatletter
\newcommand{\anabla}{{\mathpalette\a@nabla\relax}}
\newcommand\a@nabla[2]{%
\setbox\z@=\hbox{$\m@th#1\bigtriangledown$}%
\ht\[email protected]\ht\z@
\raise\dp\z@\box\z@
}
\makeatother
% just for the testing:
\newcommand\test[1]{#1\nabla #1\anabla}
\newcommand\zzz{\test\tilde \test\widetilde \test\bar \test\hat \test\widehat}
\begin{document}
$\zzz$\par
$\scriptstyle\zzz$\par
$\scriptscriptstyle\zzz$
\end{document}
答案2
的实际高度\bigtriangledown
比 x 高度稍微大一点,但边界框延伸到大写字母的高度(实际上要大一点)。
您可以通过改变高度并将其设置为比 x 高度高 20% 来修复边界框。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\anabla}{\mathord{\mathpalette\raise@half\bigtriangledown}}
\newcommand\raise@half[2]{%
\begingroup
\sbox0{$#1x$}%
\raisebox{\depth}[1.2\wd0]{{$\m@th#1\smash[t]{#2}$}}%
\endgroup
}
\makeatother
\begin{document}
\[
\nabla \anabla
\quad
\widetilde{\nabla} \widetilde{\anabla}
\quad
\widehat{\nabla} \widehat{\anabla}
\]
\end{document}