在RMarkdown中,我有一个要编织成pdf的文档。文档中有我需要自动编号的公式。我一直使用$$ 1+1=2 \tag{1} $$约定来编写公式,但现在我想切换到\begin{equation} 1+1=2 \eq:this_eq \end{equation}约定,这样我就可以自动编号和轻松地交叉引用公式。我找到的为数不多的在线资源使它看起来应该是相当简单的。例如here或here。然而,在尝试这样做的过程中,我遇到了无数次的心碎。
我使用的是3.4.3版本的RStudio,也就是tinytex发行版,并且已经安装了bookdown (我仍然不确定是否真的有必要在这里实现我的目标)。下面是一个repex:
---
title: This title
author: "This guy"
date: "This date"
header-includes:
- \usepackage{amsmath}
output:
pdf_document:
toc: yes
toc_depth: '4'
df_print: kable
fig_caption: yes
latex_engine: xelatex
mainfont: Calibri Light
---
```{r setup, include=FALSE}knitr::opts_chunk$set(echo =假)
## Introduction
blah blah...
\begin{equation}
S = X \bar{P}
(\#eq:signals)
\end{equation}
## Later on
blah blah \@ref(eq:signals)当我尝试“编织到PDF”时,我遇到了错误
! Package mathspec Error: `amsmath' must be loaded earlier than `mathspec'.它被报告为错误并“修复”了here,但我无法理解修复,也无法遵循其说明。我所要求的是一组非常清晰的步骤,这些步骤将使我能够顺利地运行上面的repex。
一些我尝试过的东西:
当我用bookdown::pdf_document2替换pdf_document时,同样的错误也发生了。或者当我移除
header-includes:
- \usepackage{amsmath}而不是把
includes:
in_header: preamble.tex在行latex_engine: xelatex之后,其中"preamble.tex“是包含行\usepackage{amsmath}的记事本文件
this other SO post中的评论似乎表明,甚至没有必要在YAML选项中提及amsmath,这让我更加困惑。当我从YAML选项中删除对amsmath的任何提及时,我得到的错误提示是mathjax脚本无法识别,例如:
! Package amsmath Error: \bar allowed only in math mode.发布于 2020-11-30 14:52:17
当我尝试你的例子时,这个等式没有被成功标记。
然后我将输出设置替换为bookdown::pdf_book。它起作用了。
---
title: This title
author: "This guy"
date: "This date"
output:
bookdown::pdf_book
mainfont: Calibri Light
---
```{r setup, include=FALSE}knitr::opts_chunk$set(echo =假)
## Introduction
blah blah...
\begin{equation}
S = X \bar{P}
(\#eq:signals)
\end{equation}
## Later on
blah blah \@ref(eq:signals)https://stackoverflow.com/questions/58090735
复制相似问题