【发布时间】:2020-01-20 00:45:31
【问题描述】:
我正在尝试在 RMarkdown 中创建格式良好的方程式,但我似乎无法将其用于 Knit 而不会出现错误。我拥有的 LaTeX 块如下所示:
---
title: "Untitled"
author: "KirkD-CO"
date: "September 18, 2019"
output: pdf_document
---
$$
f(x) = \beta_0 + \beta_1 x + \beta_2 x^2 + \beta_3 x^3 + \beta_4 (x-\xi)^3_+
\\
\begin{equation}
(x-\xi)^3_+ =
\begin{cases}
(x-\xi)^3 \ , \ x>\xi
\\
0 \ \ \ \ \ \ \ \ \ \ \ \ \ , \ x\leq\xi
\end{cases}
\end{equation}
\\
\
\\
\begin{aligned}
(x \leq \xi) \Rightarrow f(x) &= \beta_0 + \beta_1 x + \beta_2 x^2 + \beta_3 x^3
\\
(x > \xi) \Rightarrow f(x) &= \beta_0 + \beta_1 x + \beta_2 x^2 + \beta_3 x^3 + \beta_4(x^3 -3x^2\xi + 3x\xi^2 - \xi^3)
\\
&=(\beta_0 + \beta_4\xi^3) + (\beta_1 + 3\beta_4\xi^2)x + (\beta_2 - 3\beta_4)
\end{aligned}
$$
在 RStudio 中我看到了这个:
但是当我尝试编织它时,我得到了这个错误:
! LaTeX Error: Bad math environment delimiter.
我搜索了 Google 和 StackOverflow,发现许多类似的问题,答案建议使用 [ ] 而不是 \begin{equation},其他建议只使用一个 $ 而不是 $$,还有一些是指各种 LaTeX 包,其中一些我已经在安装炼狱中尝试并结束了。
关于让 Kniter 使用 RStudio 显示的输出编织 PDF 的直接方法有什么建议吗?
编辑:我在 Fedora 30 上使用 R 3.5.3 和 Kniter 1.22。
EDIT2:在工具 -> 全局选项 -> Sweave -> 将 LaTeX 排版为 PDF 使用:设置为 pdfLaTeX
【问题讨论】:
-
我无法重现该问题。 LaTeX 代码在 R 3.6.1 上使用
rmarkdown_1.15编译良好。 -
呃。你在哪个平台上工作?我将我的软件版本和操作系统添加到原始帖子中。我在 Fedora 30 上使用 R 3.5.3 和 Kniter 1.22。
-
嗯,我可以产生错误,Windows 上的 R 3.5.2,knitr 版本 1.21。
-
我已将问题隔离到
cases部分。如果我在\\的cases中的\\换行符之后放置anything,我会收到错误消息。如果我删除第二行,它会编译。不知道为什么。我同意 Maurits - 也许尝试更新knitr。 (甚至可能更新 pdfLatex。) -
好的,我可以使用更新的 sn-p 在 MacOS、R 3.6.1、
knitr_1.25上重现错误。 TBH LaTeX 代码看起来很奇怪。如果它与pdfatex一起编译,我会感到惊讶。例如,begin{equation}启动数学模式,但由于$$,您已经处于(显示)数学模式。接下来,您不应该在 LaTeX 数学模式中使用所有这些硬换行符,除非您使用一些多行数学环境(如cases、gather、aligned)。
标签: r latex rstudio r-markdown