2017-04-13 99 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不需要這個,但後來的版本呢。