使用 \tensor 来加粗字母是否明智?

使用 \tensor 来加粗字母是否明智?

我想使用粗体数学字母,例如 \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}

相关内容