LaTeX中字体加黑命令的使用方法

时间:2021-03-17 06:14:10

LaTeX中字体加黑命令的使用


\bfseries命令的使用


\bfseries命令在问中的实际含义是给字体加黑,基本的用法有三种。下面进行详细的讲解。
方法一:

\documentclass[utf8]{ctexart}
\begin{document}
这个部分不加黑 \\

{\bfseries 这段我希望他能加黑啊} ,这个部分不加黑,看是否能实现\\

这个部分不加黑,看是否能实现
\end{document}

上述代码的执行结果如下:
LaTeX中字体加黑命令的使用方法
本质上实现了bfseries命令功能,只给一部分的内容加成了黑体,参考文章:http://tex.stackexchange.com/questions/131180/bfseries-bolds-more-than-intended 。这篇文章的内容是说:最近使用\bfseries命令代替了textbf命令,是因为在LaTeX的最新版本里面不推荐使用textbf命令。但是比较奇怪的是,当作者使用\bfseries {这段文字想要加黑}这个功能时,这篇文章中此命令之后的全部都被加黑了,尽管作者使用了{},但是仍然没有限制其作用域。怎么解决呢?
本文一开始提出的是一种解决的办法,就是使用{\bfseries 这段文字加黑,外面的大括号限制了这个加黑功能的作用域,大括号外面的文本内容将不会被加黑},后续还会介绍第二种方法。

方法二:

\documentclass[utf8]{ctexart}
\begin{document}
这个部分不加黑 \\

\bfseries 这段我希望他能加黑啊 \mdseries ,这个部分不加黑,看是否能实现\\

这个部分不加黑,看是否能实现
\end{document}

这段代码得到的结果同样是:
LaTeX中字体加黑命令的使用方法

方法三:

\documentclass[utf8]{ctexart}
\begin{document}
这个部分不加黑 \\

\begin{bfseries}
这段我希望他能加黑啊
\end{bfseries}
,这个部分不加黑,看是否能实现\\

这个部分不加黑,看是否能实现
\end{document}

同样也得到了下面的结果:
LaTeX中字体加黑命令的使用方法
但是不推荐使用方法三,因为bfseries并不是环境。

错误方法:

\documentclass[utf8]{ctexart}
\begin{document}
这段文字不加黑

\bfseries{这段文字我想要加黑}\\

这段文字不加黑
\end{document}

这段代码的执行结果如下:
LaTeX中字体加黑命令的使用方法
从上图可以看出,没有实现指定区域的加黑,这是一种错误的用法。

结论:从上面的三种方法中我们可以学到两点:第一:\bfseries命令的使用是有作用域的,第二:怎么去限制它的作用域。

text命令的使用


同样面临着上面提到的两个问题,就是作用域是否存在,怎么去限制的问题。

\documentclass[utf8]{ctexart}
\begin{document}
这个部分不加黑,看是否能实现

\textbf{这段文本是使用textbf命令实现的加黑}

这里我并不希望加黑
\end{document}

上述代码得到的结果如下:
LaTeX中字体加黑命令的使用方法

很简单只要使用上述的语法就能实现局部的加黑,它的用法与\bfseries命令完全的不同。

bm宏包中\bm命令的使用


bm宏包定义了一些命令去加黑数学符号,基本的命令是\bm,这个命令也被用于使得数学表达式排版成为黑体。\bm命令的语法是:\bm{数学表达式},简单的举例如下:

\documentclass[utf8]{ctexart}

\usepackage{amsmath}

\usepackage{bm}

\begin{document}

$$\bm{a^2+b^2 = c^2}$$

$$aaaaaaa^2+bbbbbbb^2 = cccccc^2$$

\end{document}

上面代码的执行结果如下:
LaTeX中字体加黑命令的使用方法
上面代码的缺陷是没有实现公式的对齐,于是我写了下面的代码:

\documentclass[utf8]{ctexart}

\usepackage{amsmath}

\usepackage{bm}

\begin{document}

\begin{equation}
\begin{split}
\bm { a^2 + b^2 ={}& c^2 } \\
A^2 + B^2 ={}& C^2
\end{split}
\end{equation}

\end{document}

上面的代码不能通过编译,究竟是什么问题?下面我进行了测试。
测试一:

\documentclass[utf8]{ctexart}

\usepackage{amsmath}

\usepackage{bm}

\begin{document}

\begin{equation}
\begin{split}
\bm { a^2 + b^2 = c^2 } \\
A^2 + B^2 = C^2
\end{split}
\end{equation}

\end{document}

代码可以通过,得到的结果为:
LaTeX中字体加黑命令的使用方法
也实现了加粗的功能,对比上面的两段代码,我实际上在测试成功的代码中没有实现对齐,只是实现了加粗的效果,使用下面的代码继续进行测试:
测试二:

\documentclass[utf8]{ctexart}

\usepackage{amsmath}

\usepackage{bm}

\begin{document}
\begin{equation}
\begin{split}
\bm { a^2 + b^2 = c^2 } \\
AAAAA^2+BBBBB^2=CCCCC^2
\end{split}
\end{equation}
\end{document}

这段代码的主要目的是测试是否实现了对齐,结果如下:
LaTeX中字体加黑命令的使用方法
可以看出,根本没有实现对齐的效果,应该在代码中添加对齐的符号,但是添加了编译又不能通过,这到底是什么问题?我找到了其中的原因,首先{}和&在LaTeX的排版过程中都是分组的含义,对于最先的代码\bm { a^2 + b^2 ={}& c^2 } \\,这行代码中首先用{}进行了分组,然后又用&将内部分分组拆分开,显然这是十分矛盾的,解决问题的办法也就在这个分组的问题上,下面提供解决这个问题的办法

解决问题

解决办法一:不要使用双重的分组,分开使用,见第11行代码,

\documentclass[utf8]{ctexart}

\usepackage{amsmath}

\usepackage{bm}

\begin{document}

\begin{equation}
\begin{split}
\bm{ a^2 + b^2 }& =\bm{c^2 } \\
AAAAA^2 + BBBBB^2 &= CCCCC^2
\end{split}
\end{equation}

\end{document}

代码的执行结果:
LaTeX中字体加黑命令的使用方法
解决方案二:

\documentclass[utf8]{ctexart}

\usepackage{amsmath}

\usepackage{bm}

\begin{document}

\begin{equation}
\begin{split}
\bm {a}^2 + \bm {b}^2 & =\bm {c}^2 \\
AAAAA^2 + BBBBB^2 &= CCCCC^2
\end{split}
\end{equation}

\end{document}

上述代码的执行结果为:
LaTeX中字体加黑命令的使用方法
注意:一定要注意在LaTeX中&符号和{}都是分组的含义,在实际的使用中不能发生冲突
具体bm的使用请参见官方文档:http://www.ctex.org/documents/packages/math/bm.pdf

联系我

如果大家对我所研究的问题感兴趣,或者需要与我联系,请在下方扫描我的微信二维码添加好友:
LaTeX中字体加黑命令的使用方法