"使用"\ begin {align}"在rmarkdown中的多线方程中使用"\ begin {align}"编织+ pandoc pdf

Her*_*sas 30 latex r rstudio knitr r-markdown

我正在使用自动编号和\ begin {align}在R Markdown - LaTeX中编写一些多线方程.这是一个工作示例:

---
title: "test"
output: html_document
---

(@eq01) $$
\begin{align}
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
\end{align}
$$
Run Code Online (Sandbox Code Playgroud)

当输出为html_document时,这很有用.这是结果:

html_doc

但是当我将输出文档更改为pdf时:

output: pdf_document
Run Code Online (Sandbox Code Playgroud)

我收到以下错误(我正在使用RStudio最新版本0.98.1056):

错误

我一直在尝试按照错误消息中的建议阅读文档,但我似乎没有得到它的处理.我已经检查了Stack Overflow和谷歌,虽然有一些相关的帖子/问题(例如这里,这里,这里),但没有一个解决问题(或适用于我的问题).

我也尝试过调整一切.最明显的解决方案是摆脱\ begin {align}环境,

(@eq01) $$
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
$$
Run Code Online (Sandbox Code Playgroud)

但它有两个原因无效.首先,html版本不能很好地工作,因为自动编号不会出现在多线方程的中心,而是出现在第一行(我不喜欢它).

没有开始对齐的html输出

其次,虽然这种情况下的pdf版本确实编译并生成了pdf,但它并不认识到它是一个多线方程(就像它不能识别新的线命令一样).

PDF格式

任何想法都非常感谢.我一直在努力解决这个问题,我无法找到解决方案.我有点喜欢R Markdown,因为它真正将分析与写作和通信集成在一个工具中(而不是使用许多不同的工具来回).但是,在我们编写一个单独的源文件并且它以几种不同的输出格式正确呈现之前,似乎还有很长的路要走.

Tyr*_*nks 46

尝试将对齐的块发送到PDF时,我收到了同样的错误.尝试更改以下内容:

$$
\begin{align}
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
\end{align}
$$
Run Code Online (Sandbox Code Playgroud)

以下内容:

$$
\begin{aligned}
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
\end{aligned}
$$
Run Code Online (Sandbox Code Playgroud)

\begin{align}是一个独立的数学环境,而\begin{aligned}需要放在现有的数学环境中.由于Rmd描述了数学部分$$...$$,似乎\begin{align}是试图在第一个数学环境中启动第二个数学环境并导致问题.

  • 直接使用“\begin{align}”而不使用“$$...$$”来获取方程编号。它可能无法在预览窗口(例如 VSCode)上正确呈现,但“pandoc”可以识别它。 (2认同)