我经常使用粗体字母的快捷命令,例如
\def\ba{\mathbf a} \def\bA{\mathbf A}
\def\bb{\mathbf b} \def\bB{\mathbf B}
...
这允许我们使用 $\bA$ 而不是 $\mathbb{A}$,这将非常方便。同样,我尝试将其用于数字(请注意,LaTeX 不允许名称中包含数字,因此我们必须使用以下方法):
\renewcommand\b[1]{\mathbf #1}
但它只会将 $\b0$ 给予
那么有没有办法使用 $\b0$ 到 $\b9$ 作为粗体数字的命令?当然我知道如果我们使用 $\bf$ 而不是 $\b$ 就可以解决这个问题,但我只是想知道有没有办法从根本上解决这个问题。
谢谢,
答案1
不使用\def
:您可能会面临破坏重要命令的风险。
\renewcommand
与使用伟大的注意。例如,\renewcommand{\b}{...}
如果参考书目中的某些项目带有下划线重音,则在处理参考书目时,这样做会导致奇怪的错误。
现在,在这段序言之后,让我们看看你做了什么。代码
\documentclass{article}
\usepackage{amsmath}
\renewcommand{\b}[1]{\mathbf{#1}}
\begin{document}
$\b0$
\end{document}
产生一个 bolface 0,而不是像图片中那样的 bar-under。出于上述原因,我显然不建议这样做。但可以定义\b
在文本和数学模式下执行不同的操作。
\documentclass{article}
\usepackage{amsmath}
\NewCommandCopy{\baccent}{\b}
\AtBeginDocument{%
\DeclareRobustCommand{\b}[1]{\ifmmode\mathbf{#1}\else\baccent{#1}\fi}%
}
\begin{document}
Math $\b0$ and text \b{0}.
\end{document}
但是,为了你好,请不要这样做。
顺便说一下,正确的语法是\mathbf{a}
带括号的 。\bf
大约 30 年来,这个命令一直被弃用。