如何在R markdown中使用eqnarray实现HTML和PDF输出?

12

我不知道如何使用eqnarray在R markdown中创建方程式,以便可以同时创建html和pdf输出。这个R markdown适用于output_format='html_document'但不适用于output_format='pdf_document'

My LaTeX equations
$$
\begin{eqnarray}
A &=& x \\
B &=& y
\end{eqnarray}
$$

对于PDF输出,它会出现以下错误:

! Missing \endgroup inserted.
<inserted text> 
                \endgroup 
l.81 \begin{eqnarray}

pandoc: Error producing PDF from TeX source
Error: pandoc document conversion failed with error 43
如果我移除 $$,那么这个 R Markdown 文件就可以生成 PDF 输出,但是在 HTML 输出中这个公式会消失。
My LaTeX equations
\begin{eqnarray}
A &=& x \\
B &=& y
\end{eqnarray}

我有所遗漏吗?有没有办法从同一个文档生成PDF和HTML输出?


1
说实话,我不认为这是可能的,因为LaTeX方程式是通过使用Mathjax在HTML中呈现的,而$$标识代码则“激活”了mathjax插件。没有那个$$,代码就只是纯粹的LaTeX,浏览器不知道如何呈现。 - SabDeM
好的,感谢回复。对于 R markdown 格式的限制输出格式的选择似乎真的很遗憾。 - Epimetheus
嗯...我有一个想法,可以构建一个函数,读取每个文件的YAML前缀,并在输出设置为“html_document”的情况下,在方程式环境之前和之后设置一些$$。但这只是一个想法,说实话,我甚至不知道从哪里开始编写这样的代码。 - SabDeM
我在处理简单的Markdown文档时遇到了同样的问题。使用pandoc将其转换为PDF时,eqnarray会返回一个错误,但是将其转换为html则可以得到正确的输出。 - PAC
2个回答

11

我遇到了同样的问题,并发现,虽然 eqnarray 存在上述问题,在 R markdown 和 knitr 的情况下,aligned 环境适用于 PDF 和 HTML 输出。尝试如下:

我也曾遇到类似的问题,后来发现,在 R markdown 和 knitr 中,aligned 环境能够同时适用于 PDF 和 HTML 输出,而且问题得以解决。你可以试试以下做法:

My LaTeX equations
\begin{aligned}
A &= x \\
B &= y
\end{aligned}
请注意,这里只有一个&符号,并且它是aligned环境中对齐运算符的上下文。 aligned的工作方式与eqnarray有所不同,它可以在多个制表位上进行对齐。

4

对于Word输出,可以这样处理:

\[
\begin{aligned}
A &= x \\
B &= y
\end{aligned}
\]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接