我正在写关于向量微积分的笔记,一直在使用包中的\curl
和运算符。过了一段时间我才意识到使用的是粗体版本,而不仅仅是。\div
physics
\curl
\nabla
\nabla
最初,我想让所有粗体 nabla 与标准 nabla 相同,并设法用这个来做到这一点(来自这篇文章):
\DeclareDocumentCommand\vnabla{}{\nabla}
不过,我觉得我其实更喜欢粗体版本,并且想改变所有现有的将文档中的 nablas 改为粗体,最好通过重新定义\nabla
来生成粗体版本(而不是手动搜索文档中的每个 nabla)。
我该怎么做?抱歉,这个问题太简单了。任何建议都非常感谢。
答案1
答案2
您想将标准保存\nabla
在某处并重新定义命令,以避免无限循环。
\documentclass{article}
\usepackage{amsmath,bm}
\AtBeginDocument{%
\NewCommandCopy{\nablasymbol}{\nabla}%
\DeclareRobustCommand{\nabla}{\bm{\nablasymbol}}%
}
\begin{document}
$\nabla$ (compare with $\nablasymbol$)
\end{document}
请注意,您无需了解一\nabla
开始是如何定义的。此外,\AtBeginDocument
如果您使用在文档开头延迟定义的数学字体包之一,则可能需要这样做;无论如何,这样做不会有什么坏处。
如果您使用unicode-math
,方法类似。
\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\AtBeginDocument{%
\NewCommandCopy{\nablasymbol}{\nabla}%
\DeclareRobustCommand{\nabla}{\symbf{\nablasymbol}}%
}
\begin{document}
$\nabla$ (compare with $\nablasymbol$)
\end{document}
这里\AtBeginDocument
当然是需要的,因为unicode-math
它的大部分工作是在那一刻完成的,并且我们必须推迟在那项工作之后的重新定义。
答案3
如果您使用 Unicode 数学,则 nabla 的所有变体都已准备好单一字体。unicode-math-table.tex
我们得到:
\UnicodeMathSymbol{"02207}{\nabla }{\mathalpha}{nabla, del, hamilton operator}%
\UnicodeMathSymbol{"1D6C1}{\mbfnabla }{\mathalpha}{mathematical bold nabla}%
\UnicodeMathSymbol{"1D6FB}{\mitnabla }{\mathalpha}{mathematical italic nabla}%
\UnicodeMathSymbol{"1D735}{\mbfitnabla }{\mathalpha}{mathematical bold italic nabla}%
\UnicodeMathSymbol{"1D76F}{\mbfsansnabla }{\mathalpha}{mathematical sans-serif bold nabla}%
\UnicodeMathSymbol{"1D7A9}{\mbfitsansnabla }{\mathalpha}{mathematical sans-serif bold italic nabla}%
因此,如果您想使用 nabla 的粗体变体,您可以设置
\let\nabla=\mbfnabla
就这些。使用 Unicode 数学,更多事情会变得更简单。