如何默认获取 mathbf?

如何默认获取 mathbf?

我正在发表一篇论文(不是我的),其中几乎所有的数学符号都在 中\mathbf。我知道我可以把\boldmath它放在序言中,但它不会像常规的\mathbf排版那样(直立)排版。

那么,有没有办法改变 boldmath 宏的行为,以便它可以排版所有内容\mathbf(可能除了希腊字母,因为 的行为\boldmath很棒)。

如果是这样,当我想让某些特定内容恢复为通常的非粗体斜体字体时,我应该使用什么命令?

PS 我还注意到该\boldmath命令会更改所有其他符号,例如运算符和逻辑符号。我希望它们保持非粗体的通常方式。也许此时更改数学字体会更容易,我只是不知道该怎么做。

先感谢您

答案1

改变字母的数学代码;需要一些蛮力。

\documentclass{article}

\DeclareSymbolFont{boldletters}{OT1}{cmr}{bx}{n}
\DeclareSymbolFontAlphabet{\mathbf}{boldletters} % not to waste a family
\DeclareMathSymbol{a}{\mathalpha}{boldletters}{`a}
\DeclareMathSymbol{b}{\mathalpha}{boldletters}{`b}
\DeclareMathSymbol{c}{\mathalpha}{boldletters}{`c}
\DeclareMathSymbol{d}{\mathalpha}{boldletters}{`d}
\DeclareMathSymbol{e}{\mathalpha}{boldletters}{`e}
\DeclareMathSymbol{f}{\mathalpha}{boldletters}{`f}
\DeclareMathSymbol{g}{\mathalpha}{boldletters}{`g}
\DeclareMathSymbol{h}{\mathalpha}{boldletters}{`h}
\DeclareMathSymbol{i}{\mathalpha}{boldletters}{`i}
\DeclareMathSymbol{j}{\mathalpha}{boldletters}{`j}
\DeclareMathSymbol{k}{\mathalpha}{boldletters}{`k}
\DeclareMathSymbol{l}{\mathalpha}{boldletters}{`l}
\DeclareMathSymbol{m}{\mathalpha}{boldletters}{`m}
\DeclareMathSymbol{n}{\mathalpha}{boldletters}{`n}
\DeclareMathSymbol{o}{\mathalpha}{boldletters}{`o}
\DeclareMathSymbol{p}{\mathalpha}{boldletters}{`p}
\DeclareMathSymbol{q}{\mathalpha}{boldletters}{`q}
\DeclareMathSymbol{r}{\mathalpha}{boldletters}{`r}
\DeclareMathSymbol{s}{\mathalpha}{boldletters}{`s}
\DeclareMathSymbol{t}{\mathalpha}{boldletters}{`t}
\DeclareMathSymbol{u}{\mathalpha}{boldletters}{`u}
\DeclareMathSymbol{v}{\mathalpha}{boldletters}{`v}
\DeclareMathSymbol{w}{\mathalpha}{boldletters}{`w}
\DeclareMathSymbol{x}{\mathalpha}{boldletters}{`x}
\DeclareMathSymbol{y}{\mathalpha}{boldletters}{`y}
\DeclareMathSymbol{z}{\mathalpha}{boldletters}{`z}
\DeclareMathSymbol{A}{\mathalpha}{boldletters}{`A}
\DeclareMathSymbol{B}{\mathalpha}{boldletters}{`B}
\DeclareMathSymbol{C}{\mathalpha}{boldletters}{`C}
\DeclareMathSymbol{D}{\mathalpha}{boldletters}{`D}
\DeclareMathSymbol{E}{\mathalpha}{boldletters}{`E}
\DeclareMathSymbol{F}{\mathalpha}{boldletters}{`F}
\DeclareMathSymbol{G}{\mathalpha}{boldletters}{`G}
\DeclareMathSymbol{H}{\mathalpha}{boldletters}{`H}
\DeclareMathSymbol{I}{\mathalpha}{boldletters}{`I}
\DeclareMathSymbol{J}{\mathalpha}{boldletters}{`J}
\DeclareMathSymbol{K}{\mathalpha}{boldletters}{`K}
\DeclareMathSymbol{L}{\mathalpha}{boldletters}{`L}
\DeclareMathSymbol{M}{\mathalpha}{boldletters}{`M}
\DeclareMathSymbol{N}{\mathalpha}{boldletters}{`N}
\DeclareMathSymbol{O}{\mathalpha}{boldletters}{`O}
\DeclareMathSymbol{P}{\mathalpha}{boldletters}{`P}
\DeclareMathSymbol{Q}{\mathalpha}{boldletters}{`Q}
\DeclareMathSymbol{R}{\mathalpha}{boldletters}{`R}
\DeclareMathSymbol{S}{\mathalpha}{boldletters}{`S}
\DeclareMathSymbol{T}{\mathalpha}{boldletters}{`T}
\DeclareMathSymbol{U}{\mathalpha}{boldletters}{`U}
\DeclareMathSymbol{V}{\mathalpha}{boldletters}{`V}
\DeclareMathSymbol{W}{\mathalpha}{boldletters}{`W}
\DeclareMathSymbol{X}{\mathalpha}{boldletters}{`X}
\DeclareMathSymbol{Y}{\mathalpha}{boldletters}{`Y}
\DeclareMathSymbol{Z}{\mathalpha}{boldletters}{`Z}

\begin{document}

$a+b=\mathnormal{c}$

\end{document}

对于默认样式中的偶尔字母,请\mathnormal按所示使用。

在此处输入图片描述

使用较少的蛮力:

\documentclass{article}

\DeclareSymbolFont{boldletters}{OT1}{cmr}{bx}{n}
\DeclareSymbolFontAlphabet{\mathbf}{boldletters} % not to waste a family

\makeatletter
\begingroup
\def\DMS@#1{\DeclareMathSymbol{#1}{\mathalpha}{boldletters}{`#1}}
\count@=`a \advance\count@\m@ne
\@whilenum\count@<`z\do{
  \advance\count@\@ne
  \lccode`A=\count@
  \lowercase{\DMS@{A}}
}
\count@=`A \advance\count@\m@ne
\@whilenum\count@<`Z\do{
  \advance\count@\@ne
  \uccode`a=\count@
  \uppercase{\DMS@{a}}
}
\endgroup
\makeatother

\begin{document}

$a+b=\mathnormal{c}$

$abcdefgz$

$ABCDEFGZ$

\end{document}

在此处输入图片描述

答案2

如果您正在使用“基本” LaTeX 文档类之一—— articlereportbook——或者基于其中一个类构建的文档类,则可以按如下方式进行:

在此处输入图片描述

\documentclass{article}
\everymath{\bf}
\everydisplay{\bf}
\begin{document}
$a^2+b^2=c^2$

$\cos^2{\theta}+\sin^2(\theta)=1 $
\end{document}

请注意,、、a和以粗体显示,而、、和则不以粗体显示。我知道这就是您想要的外观。如果我误解了您的要求,请告知。bc12+=cossin\theta

另外:请注意,\bf-- 以及\it\rm\tt\sf\sl\sc-- 如今(理所当然!)在 LaTeX 文档中被视为已弃用,甚至不赞成使用它。当然,一些 LaTeX 文档类(例如memoir)甚至不再提供\bf。但是,正如在这个答案查询有什么理由不使用 \let 将已弃用的控制序列重新定义为当前推荐的控制序列吗?,你实际上可以使用\bf 如果您使用“标准”文档类之一。更准确地说,\bf它将完全像在 PlainTeX 文档中一样运行。特别是,\bf在内联或显示数学设置中会自动重新解释为\mathbf

一旦不再需要自动加粗外观,您就会将其删除,对吗?:-)

相关内容