![无法阻止拉丁字符在希腊字符加粗后加粗](https://linux22.com/image/440977/%E6%97%A0%E6%B3%95%E9%98%BB%E6%AD%A2%E6%8B%89%E4%B8%81%E5%AD%97%E7%AC%A6%E5%9C%A8%E5%B8%8C%E8%85%8A%E5%AD%97%E7%AC%A6%E5%8A%A0%E7%B2%97%E5%90%8E%E5%8A%A0%E7%B2%97.png)
我正在使用以下代码。
\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
加粗,而不会加上标星号。)