Bookdown编译PDF时\boldsymbol命令被忽略无法生成粗体公式问题
解决方案
根因说明
bookdown::pdf_book 默认采用XeLaTeX/LuaLaTeX编译,内置LaTeX模板会自动加载unicode-math包,该包会覆盖原生\boldsymbol命令逻辑导致其失效;直接引入bm包会和unicode-math冲突,触发编译报错。
修复方案
方案1:直接替换命令
将公式中所有\boldsymbol替换为unicode-math原生支持的粗体数学命令\symbf,无需调整其他配置即可生效:
% 替换前 $\boldsymbol A=\boldsymbol B\boldsymbol B^T$ % 替换后 $\symbf A=\symbf B\symbf B^T$
方案2:兼容原有命令
如果已有大量公式使用\boldsymbol/\bm,无需逐一修改公式内容,只需在preamble.tex中添加如下配置:
% 兼容\boldsymbol命令 \let\boldsymbol\symbf % 如需使用\bm命令,新增下行即可解决编译报错 \let\bm\symbf
重新编译后原有公式的粗体效果即可正常显示。
方案3:切换pdfLaTeX编译
若偏好使用pdfLaTeX编译,可按如下配置调整:
- 修改
index.Rmd的输出参数:
output: bookdown::pdf_book: latex_engine: pdflatex includes: in_header: "preamble.tex"
- 在
preamble.tex中引入依赖包:
\usepackage{amsmath} \usepackage{bm}
该场景下\boldsymbol和\bm命令均可正常使用。
内容的提问来源于stack exchange,提问作者despepite
相关产品推荐
相关产品推荐

