我正在使用自动编号和\ 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}
$$
当输出为html_document时,这很有用。结果如下:
但是当我将输出文档更改为pdf时:
output: pdf_document
我收到以下错误(我使用的是RStudio最新版本0.98.1056):
我一直在尝试按照错误消息中的建议阅读文档,但我似乎没有得到它的处理。我已经检查了Stack Overflow和Google,虽然有一些相关的帖子/问题(例如here,here,here),但没有一个解决问题(或适用于我的问题)问题)。
我也尝试过调整一切。最明显的解决方案是摆脱\ begin {align}环境,
(@eq01) $$
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
$$
但由于两个原因它不起作用。首先,html版本不能很好地工作,因为自动编号不会出现在多线方程的中心,而是出现在第一行(我不喜欢它)。
其次,虽然这种情况下的pdf版本确实编译并生成pdf,但它不会识别出它是一个多行方程(就像它不能识别新的行命令一样)。
任何想法都非常感谢。我一直在努力解决这个问题,我无法找到解决方案。我有点喜欢R Markdown,因为它真正将分析与写作和通信集成在一个工具中(而不是使用许多不同的工具来回)。但是,在我们编写一个单独的源文件并且它以几种不同的输出格式正确呈现之前,似乎还有很长的路要走。
答案 0 :(得分:42)
尝试将对齐的块发送到PDF时,我收到了同样的错误。尝试更改以下内容:
$$
\begin{align}
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
\end{align}
$$
以下内容:
$$
\begin{aligned}
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
\end{aligned}
$$
\begin{align}
是一个独立的数学环境,而\begin{aligned}
需要放在现有的数学环境中。由于Rmd用$$...$$
描述数学部分,似乎\begin{align}
试图在第一个数学环境中启动第二个数学环境并导致问题。