渐变符号间距

渐变符号间距

我想表示“L 相对于 a_f 的梯度”,我可以这样做\nabla_{\mathbf{a}_f} \mathcal{L},它看起来像这样:

默认

看看 nabla 和 L 之间的空间!有没有办法让 a 稍微“位于”nabla 下方,而不必将其尺寸缩小太多?人们会建议我如何让它看起来更好一点?

答案1

最好使用更具语义的命令,其优点是您可以定义它来执行您想要的操作。

此处的方法是,在下标中添加一个细的负空格(如果存在),但不更改输入。我使用与标准微分相同的技巧,因此在必要时,会在 nabla 前面添加一个细空格,而无需用户干预。

\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}

\NewDocumentCommand{\grad}{e{_^}}{%
  \mathop{}\!% \mathop for good spacing before \nabla
  \nabla
  \IfValueT{#1}{_{\!#1}}% tuck in the subscript
  \IfValueT{#2}{^{#2}}% possible superscript
}

\begin{document}

$\grad_{\mathbf{a}}\mathcal{L}$

$\grad_{a}\mathcal{L}$

$\grad_{\mathbf{T}}^2\mathcal{L}$

$3\grad_{\mathbf{T}}^2\mathcal{L}$

\end{document}

在此处输入图片描述

\!#1下面是将前一个输入更改为\mspace{-4mu}#1\!与)后得到的图片\mspace{-3mu}

在此处输入图片描述

答案2

您可以在 之前使用负空间,\mathbf{a}_f例如\!。如果您将其放在 之后\nabla,您会得到更多的负空间(正常大小),但要小心使用。

$ \nabla_{\mathbf{a}_f} \mathcal{L} $ 

$ \nabla_{\!\mathbf{a}_f} \mathcal{L} $

在此处输入图片描述

相关内容