一开始, 我用的是Rmarkdown自带的模板, 示例如下
---
title: "在R Markdown文档中使用中文"
author:
- 谢益辉
- 邱怡轩
- 于淼
documentclass: ctexart
output:
rticles::ctex:
fig_caption: yes
number_sections: yes
toc: yes
classoption: "hyperref,"
header-includes:
- \usepackage{amsmath}
- \usepackage{bm}
---
# 希腊字母黑体测试
$\bm{\alpha}$ and $\bm{\beta}$
<code class="katex-escape">$$T^{2}=\left[\overline{\mathbf{X}}_{1}-\overline{\mathbf{X}}_{2}-\left(\boldsymbol{\mu}_{1}-\boldsymbol{\mu}_{2}\right)\right]^{\prime}\left[\left(\frac{1}{n_{1}}+\frac{1}{n_{2}}\right) \mathbf{S}_{\text {pooled }}\right]^{-1}\left[\overline{\mathbf{X}}_{1}-\overline{\mathbf{X}}_{2}-\left(\boldsymbol{\mu}_{1}-\boldsymbol{\mu}_{2}\right)\right]$$</code>
# 公式测试
\begin{equation}
E = mc^2
(\#eq:mc2)
\end{equation}
你好, 式 \@ref(eq:mc2)
# 图测试
```{r fig1, fig.cap='caption', out.width='80%', fig.align='center', echo=FALSE}
plot(1:10)
```
你好, 图 \@ref(fig:fig1)
# 表测试
```{r tab1, tidy=FALSE, echo=FALSE}
knitr::kable(
head(iris, 20), caption = 'Here is a nice table!',
booktabs = TRUE
)
```
你好, 表 \@ref(tab:tab1)
结果显示: 希腊字母黑体
测试没有问题, 其他三项图表公式交叉引用
不能成功.
后来搜寻解决之道, 按照帖子已解决:R Markdown 图表和公式的交叉引用突然失效作了微调, 如下
---
title: "在R Markdown文档中使用中文"
author:
- 谢益辉
- 邱怡轩
- 于淼
documentclass: ctexart
output:
bookdown::pdf_book:
latex_engine: xelatex
fig_caption: yes
number_sections: yes
toc: yes
classoption: "hyperref,"
header-includes:
- \usepackage{amsmath}
- \usepackage{bm}
---
结果显示: 如果把希腊字母黑体
测试部分注释掉, 图表公式交叉引用
测试部分均能成功, 否则显示错误
! Improper alphabetic constant.
<to be read again>
\mitalpha
l.87 \(\bm{\alpha}
\) and <code class="katex-escape">\(\bm{\beta}\)</code>
错误: LaTeX failed to compile coss2.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. See coss2.log for more info.
停止执行
有没有可以使得希腊字母黑体
和图表公式交叉引用
兼有的方案?