每次尝试使用R中的代码块在Texmaker中运行Latex文档时,都会出现错误

时间:2018-08-30 19:04:03

标签: r latex texmaker

我正在遵循以下指南:https://joshldavis.com/2014/04/12/beginners-tutorial-for-knitr/

我已经安装了knitr软件包并在R中运行它,并且我试图从上面的链接中复制并粘贴示例:

From ISLR: Chapter 3, Problem 14.

Using a created simulated data, answer the questions regarding simple
linear regression.

<<>>=
# Ensure consistent values
set.seed(1)

# Create uniform distribution for first input
x1 <- runif(100)

# Normal distribution for second input
x2 <- 0.5 * x1 + rnorm(100) / 10

# Our Linear Model
y <- 2 + (2 * x1) + (.3 * x2) + rnorm(100)
@

但是,当我尝试运行它时,在Latex中出现以下错误:

! You can't use `macro parameter character #' in horizontal mode.
l.30 #
       Ensure consistent values
? 

我不太确定自己在做什么错?我应该在Latex中运行任何软件包吗?

1 个答案:

答案 0 :(得分:0)

从(A)R代码和/或乳胶“代码”到(B)HTML或PDF文档是一个多步骤的过程。首先,要编译文档,您需要运行R代码并将结果(以及可能的原始R代码)转换为Latex引擎可以理解的内容。然后,您需要像正常的Latex文档一样编译Latex代码。 R包knitr将处理步骤1;诸如pdflatex之类的内容将处理第2步。RStudio可以使该过程自动化,从而只需单击一个按钮即可完成第1步和第2步。

现在,您尝试不先执行步骤1而执行步骤2,这是因为Texmaker不知道您键入的某些内容是R代码。

一个“修复”是在RStudio中使用“ R Sweave”文档。打开RStudio并创建一个新的R Sweave文档:

enter image description here

然后像编写普通乳胶文档一样编写文档,但也可以在<<>>=@之间添加R代码。完成后,单击“编译PDF”,RStudio将为您完成这两个步骤(knitr / pdflatex)。

enter image description here

RStudio网站上有一个不错的tutorial,可以使用RMarkdown来完成此操作。您想做完全相同的事情,但是要使用乳胶而不是markdown,但是我认为本教程仍然会有所帮助。

如果遇到错误:转到“工具”>“全局设置”>“编织”,并确保将前两个下拉菜单设置为所需的设置(最有可能的第一个下拉菜单为“ knitr”,第二个下拉菜单为“ pdfLaTeX”。< / p>