我正在发表一篇论文(不是我的),其中几乎所有的数学符号都在 中\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 文档类之一—— article
、report
和book
——或者基于其中一个类构建的文档类,则可以按如下方式进行:
\documentclass{article}
\everymath{\bf}
\everydisplay{\bf}
\begin{document}
$a^2+b^2=c^2$
$\cos^2{\theta}+\sin^2(\theta)=1 $
\end{document}
请注意,、、a
和以粗体显示,而、、和则不以粗体显示。我知道这就是您想要的外观。如果我误解了您的要求,请告知。b
c
1
2
+
=
cos
sin
\theta
另外:请注意,\bf
-- 以及\it
、\rm
、\tt
、\sf
、\sl
和\sc
-- 如今(理所当然!)在 LaTeX 文档中被视为已弃用,甚至不赞成使用它。当然,一些 LaTeX 文档类(例如memoir
)甚至不再提供\bf
。但是,正如在这个答案查询有什么理由不使用 \let 将已弃用的控制序列重新定义为当前推荐的控制序列吗?,你实际上可以使用\bf
如果您使用“标准”文档类之一。更准确地说,\bf
它将完全像在 PlainTeX 文档中一样运行。特别是,\bf
在内联或显示数学设置中会自动重新解释为\mathbf
。
一旦不再需要自动加粗外观,您就会将其删除,对吗?:-)