В 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.