我想使用粗体数学字母,例如
\mathbf{p_1}^2
。问题\mathbf{p_1}^2
是 1 和 2 的下标/上标没有对齐。我可以通过书写来解决这个问题
\mathbf{p_1^2}
,但这样下标和上标都会显示为粗体,我只希望其中一个是粗体(下标中的 1)。那么最好的解决方案是什么?使用包\tensor
来执行此操作是否明智(如果可能),如果一本书/一篇文章中有数千个这样的字母,为每个字母调用张量包是否会使编译变得非常慢?
答案1
这应该足够干净;粗体下标实际上不是下标,而是名称的一部分,因此它被视为可选参数。
\documentclass{article}
\usepackage{xparse}
\NewDocumentCommand{\tens}{mo}
{% #1 = variable name, #2 = subscript (optional)
\mathbf{#1}\IfValueT{#2}{_\mathbf{#2}}%
}
\begin{document}
$\tens{p}[1]^{2}$ and $\tens{p}^{2}$
\end{document}
答案2
您可以使用bm
(boldmath)
\documentclass{article}
\usepackage{bm}
\begin{document}
\( \bm{p_{1}}^2 \)
\end{document}