Как заставить Amsmath работать в RMarkdown при вязании в PDF? - PullRequest
0 голосов
/ 25 сентября 2019

В RMarkdown у меня есть документ, который я хочу связать в pdf.В документе есть уравнения, для которых мне нужна автоматическая нумерация.Я использовал соглашение $$ 1+1=2 \tag{1} $$ для написания уравнений, но теперь хочу перейти к соглашению \begin{equation} 1+1=2 \eq:this_eq \end{equation}, чтобы иметь возможность автоматической нумерации и простой перекрестной ссылки на уравнения.Несколько интернет-ресурсов, которые я нашел, заставляют думать, что это должно быть довольно просто сделать.Например, здесь или здесь .Тем не менее, я без конца разбираюсь с попытками сделать это.

Я использую версию 3.4.3 с RStudio, дистрибутив 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'.

, которая была сообщена как ошибка и "исправлена" здесь , но я не могу понять исправление или следовать его инструкциям.То, о чем я прошу, - это набор действительно четких шагов, которые приведут меня к тому, чтобы я мог без проблем запустить репекс выше.

Некоторые вещи, которые я пробовал:

Та же ошибкапроисходит, когда я заменяю pdf_document на bookdown::pdf_document2.Или когда я удаляю

header-includes:
   - \usepackage{amsmath}

и вместо него ставлю

includes:
  in_header: preamble.tex

после строки latex_engine: xelatex, где "preamble.tex" - это файл блокнота, содержащий строку \usepackage{amsmath}

Комментарии в этом другом посте SO , кажется, предполагают, что даже нет необходимости говорить что-либо об amsmath в опциях YAML, что еще больше смущает меня.Когда я удаляю упоминание об amsmath из параметров YAML, я получаю сообщения об ошибках, в которых не распознается скрипт mathjax, например:

! Package amsmath Error: \bar allowed only in math mode.
...