Nan*_*ncy 5 latex pdf-generation r pdflatex knitr
我有一个.Rnw文件,我可以使用RStudio(或Command + Shift + k)中的"编译PDF"按钮编译成PDF.但是,当我使用knit2pdf时,不会创建图形,也不会创建完整的PDF.为什么会这样?您如何具体设置图像的存储位置,以便pdflatex可以找到它们?
这是一个例子.我知道我几天前发布的这个问题有一个类似的例子,但在我看来这是两个不同的问题.
如果我点击"编译",该文件将运行正常并生成PDF.我没有得到任何错误,这个数字是在/ figure目录中生成的,一切都很好.
%test.Rnw
\documentclass{article}
\usepackage[margin=.5in, landscape]{geometry}
\begin{document}
This is some test text!
<<setup, include=FALSE, results='hide', cache=FALSE>>=
opts_chunk$set(echo=FALSE, warning = FALSE, message = FALSE,
cache = FALSE, error = FALSE)
library(ggplot2)
@
<<printplotscreen, results='asis'>>=
ggplot(diamonds) +
geom_bar(aes(x = color, stat = "bin"))
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行这个脚本的目的与打"编译"完全相同(是吗?)时,图形没有被创建,我得到了下面关于无法找到它的不足为奇的错误.
#test.R
library("knitr")
knit2pdf(input = "~/Desktop/thing/test.Rnw",
output=paste0('~/Desktop/thing/test','.tex'))
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet, :
Running 'texi2dvi' on 'test.tex' failed.
LaTeX errors:
! LaTeX Error: File `figure/printplotscreen-1' not found.
Run Code Online (Sandbox Code Playgroud)
注意:如果您正在尝试重现此(并且谢谢!),请确保首先运行knit2pdf脚本以查看它不会创建数字.如果你首先点击"编译",那么knit2pdf将使用这些数字,但它不能准确地表示情况.
解决方案:确保在使用 knit2pdf 之前将工作目录设置为项目目录,然后将“输入”路径缩短为仅 .Rnw 文件。因此...
test.R
library("knitr")
diamonds = diamonds[diamonds$cut != "Very Good",]
setwd("/Users/me/Desktop/thing")
knit2pdf(input = "test.Rnw", output = "test.tex")
Run Code Online (Sandbox Code Playgroud)