在 RMarkdown 中,我有一个要编成 pdf 的文档。该文档有我需要自动编号的方程式。我一直在使用$$ 1+1=2 \tag{1} $$
约定来编写方程式,但现在想切换到\begin{equation} 1+1=2 \eq:this_eq \end{equation}
约定,以便我可以自动编号并轻松交叉引用方程式。我发现的少数在线资源使这看起来应该相当简单。例如这里或这里。然而,我在尝试这样做时遇到了无尽的心碎。
我正在使用带有 RStudio 的 3.4.3 版、tinytex 发行版,并且已经安装了 bookdown(我仍然不确定是否真的有必要在这里实现我的目标)。这是一个重复:
---
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 = FALSE)
```
## 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'.
这已被报告为错误并在此处“修复” ,但我无法理解修复或遵循其说明。我要的是一组非常明确的步骤,这些步骤将使我能够顺利运行上面的 repex。
我尝试过的一些事情:
当我替换pdf_document
为bookdown::pdf_document2
. 或者当我删除
header-includes:
- \usepackage{amsmath}
而是把
includes:
in_header: preamble.tex
在行之后latex_engine: xelatex
,其中“preamble.tex”是包含该行的记事本文件\usepackage{amsmath}
这篇其他 SO 帖子中的评论似乎表明,甚至没有必要在 YAML 选项中说任何关于 amsmath 的内容,这让我更加困惑。当我从 YAML 选项中删除对 amsmath 的任何提及时,我收到错误消息,指出无法识别 mathjax 脚本,例如:
! Package amsmath Error: \bar allowed only in math mode.