我正在使用以下代码。
\documentclass[]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}
\begin{eqnarray} \label{eq:linearInterpolant}
\boldsymbol{\beta}(\bf{s^*}) = \normalfont{c}
\end{eqnarray}
\end{document}
我得到以下结果
也就是说,尽管粗体在 c 之前已经结束,但 c 字符仍被加粗。看来我不需要 \normalfont,但它无论如何都不起作用。我希望 c 不加粗,因为它不代表矢量。
答案1
有两个不同的问题使用您的代码:
\bf
是一个开关,不带参数。其范围扩展到当前组的末尾。( 也一样\normalfont
,顺便说一下,它是一个文本模式命令,在数学模式下使用时无效。)因此(\bf{s^*}) = \normalfont{c}
结果是相同的
(\bf s^*) = c
c
以粗体显示,因为的范围\bf
包含它。\bf
是 Plain TeX 的遗留,不应在 1994 年以后创建的 LaTeX 文档中使用 [!]。真的。\bf
和它的近亲,例如\rm
和\it
,不再在 LaTeX 内核中定义。一些文档类仍然定义\bf
,但其他文档类没有。为了最大限度地提高文档在文档类之间的可移植性,您应该将所有 实例替换{\bf ...}
为 或\textbf{...}
,\mathbf{...}
具体取决于使用的是文本模式还是数学模式。
简而言之,你应该学会替换
\boldsymbol{\beta}(\bf{s^*}) = \normalfont{c}
和
\boldsymbol{\beta}(\mathbf{s}^*) = c
从此过上了幸福的生活。(请注意,我只会s
加粗,而不会加上标星号。)