使用 \bigtriangledown 作为 nabla 运算符:重音

使用 \bigtriangledown 作为 nabla 运算符:重音

作为很好的答案关于移动 $\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}

在此处输入图片描述

相关内容