首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何让amsmath在RMarkdown中工作时,针织到PDF?

我如何让amsmath在RMarkdown中工作时,针织到PDF?
EN

Stack Overflow用户
提问于 2019-09-25 11:24:15
回答 1查看 2.4K关注 0票数 2

在RMarkdown中,我有一个要编织成pdf的文档。文档中有我需要自动编号的公式。我一直使用$$ 1+1=2 \tag{1} $$约定来编写公式,但现在我想切换到\begin{equation} 1+1=2 \eq:this_eq \end{equation}约定,这样我就可以自动编号和轻松地交叉引用公式。我找到的为数不多的在线资源使它看起来应该是相当简单的。例如herehere。然而,在尝试这样做的过程中,我遇到了无数次的心碎。

我使用的是3.4.3版本的RStudio,也就是tinytex发行版,并且已经安装了bookdown (我仍然不确定是否真的有必要在这里实现我的目标)。下面是一个repex:

代码语言:javascript
复制
---
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 =假)

代码语言:javascript
复制
## Introduction

blah blah...

\begin{equation}
S = X \bar{P}
(\#eq:signals)
\end{equation}

## Later on

blah blah \@ref(eq:signals)

当我尝试“编织到PDF”时,我遇到了错误

代码语言:javascript
复制
! Package mathspec Error: `amsmath' must be loaded earlier than `mathspec'.

它被报告为错误并“修复”了here,但我无法理解修复,也无法遵循其说明。我所要求的是一组非常清晰的步骤,这些步骤将使我能够顺利地运行上面的repex。

一些我尝试过的东西:

当我用bookdown::pdf_document2替换pdf_document时,同样的错误也发生了。或者当我移除

代码语言:javascript
复制
header-includes:
   - \usepackage{amsmath}

而不是把

代码语言:javascript
复制
includes:
  in_header: preamble.tex

在行latex_engine: xelatex之后,其中"preamble.tex“是包含行\usepackage{amsmath}的记事本文件

this other SO post中的评论似乎表明,甚至没有必要在YAML选项中提及amsmath,这让我更加困惑。当我从YAML选项中删除对amsmath的任何提及时,我得到的错误提示是mathjax脚本无法识别,例如:

代码语言:javascript
复制
! Package amsmath Error: \bar allowed only in math mode.
EN

回答 1

Stack Overflow用户

发布于 2020-11-30 14:52:17

当我尝试你的例子时,这个等式没有被成功标记。

然后我将输出设置替换为bookdown::pdf_book。它起作用了。

代码语言:javascript
复制
---
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 =假)

代码语言:javascript
复制
## Introduction

blah blah...

\begin{equation}
  S = X \bar{P}
  (\#eq:signals)
\end{equation}

## Later on

blah blah \@ref(eq:signals)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58090735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档