2017-04-13 106 views
1

我一直在使用knitr来生成一些相当复杂的PDF文件。在我的一台机器上,knit2pdf开始引起我的问​​题,我不知道为什么。 knit2pdf继续在我的其他机器上工作。knit2pdf格式不正确,产生警告

我的典型的设置是:

test.Rnw

\documentclass{article} 
\begin{document} 
This is a test 
\end{document} 

R指令

knit2pdf(input = "latex/test.Rnw", output = 'latex/knit2pdf', clean = TRUE) 

然而,收到以下错误消息:

knit2pdf(输入= “胶乳/ test2.Rnw”,输出= '胶乳/ knit2pdf',干净= TRUE)

处理的文件:胶乳/ test2.Rnw
| ......... .................................................. ...... |无R代码 100%普通文本

输出文件:胶乳/ knit2pdf

[1] “胶乳/ knit2pdf.pdf” 警告消息:运行命令 ““C:\ PROGRA〜1 \ MIKTEX〜1.9 \ miktex \ bin \ x64 \ texify.exe“--quiet --pdf ”knit2pdf“--max-iterations = 20 -I ”C:/PROGRA~1/R/R-33~1.2/share/texmf /特克斯/胶乳” -I “C:/PROGRA~1/R/R-33~1.2/share/texmf/bibtex/bst””具有状态1

和knit2pdf.pdf的内容是:

文章[] graphicx宏[]色fgcolorrgb0.345,0.345,0.345 [1] [RGB] 0.686,0.059,0.5691 [1] [RGB] 0.192,0.494,0.81 [1] [RGB] 0.678, 0.584,0.6861 [1] [rgb] 0,0,01 [1] [rgb] 0.345,0.345,0.3451 [1] [rgb] 0.1framed kframetotalleftmargin @ setminipage @ end @ of @ kframe shadecolorrgb.97, .97 ,0.97 messagecolorrgb0,0,0 warningcolorrgb1,0,1 errorcolorrgb1, 0,0 knitrout alltt upquote.styupquote文件这是一个测试

我已设法从How to create multiple PDFs with different content from a single data frame?得到我所需要的输出(使用例),但比只调用knit2pdf的工作要多得多。

filename <- "texi2pdf" 
f_tex <- paste0("latex/", filename, ".tex") 
f_pdf <- paste0("latex/", filename, ".pdf") 

knit("latex/test.Rnw", output = f_tex) 
tools::texi2pdf(file = f_tex, clean = TRUE, quiet = FALSE) 
file.rename(from = paste0(filename, ".pdf"), to = f_pdf) 

而且在这种情况下,PDF输出(texi2pdf.pdf)仅仅是,正确,

这是一个测试

我运行v 3.3.2和所有软件包是最新的。

回答

1

将溶液通过一汇解所概述on Github是到输出文件中追加与“.tex”

knit2pdf(input = "latex/test.Rnw", output = 'latex/knit2pdf.tex', clean = TRUE) 

我正在运行的knitr v1.11不需要这个,但后来的版本呢。