首页 > 解决方案 > 每次尝试使用 R 中的块代码在 Texmaker 中运行我的 Latex 文档时都会出现错误

问题描述

我正在遵循以下指南: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 中运行任何软件包吗?

标签: rlatextexmaker

解决方案


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

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

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

在此处输入图像描述

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

在此处输入图像描述

RStudio 网站上有一个很好的教程,可以用 RMarkdown 做到这一点。您想做完全相同的事情,但使用乳胶而不是降价,但我想本教程仍然会有所帮助。

如果您遇到错误:转到工具 > 全局设置 > Sweave 并确保前两个下拉菜单设置为您想要的(很可能第一个下拉菜单为“knitr”,第二个下拉菜单为“pdfLaTeX”。


推荐阅读