gpt4 book ai didi

r - knit2pdf 可以使用全局环境吗?

转载 作者:行者123 更新时间:2023-12-03 23:53:30 24 4
gpt4 key购买 nike

this answer ,@Yihui 说 knitr使用全局环境。这让我很困惑——我的经验是事实并非如此。我从来没有真正使用过 knit不过,我通常会直接转到 PDF。

在一个小实验中,似乎knit确实使用全局环境(或您使用 envir 参数指定的任何环境),但是 knit2pdf没有。

最小示例: global_test.Rnw 文件

\documentclass{article}
\begin{document}
<<>>=
print(x)
@
\end{document}

R脚本:
x <- "Hello World"
knit(input="global_test.Rnw")
# Works as expected, could now call tools::texi2pdf to generate pdf.

knit2pdf(input="global_test.Rnw")
# Doesn't

后者生成不会显示的 PDF 文件并给出警告:
running command '"C:\PROGRA~2\MIKTEX~1.9\miktex\bin\texi2dvi.exe" --quiet --pdf
"global.pdf" -I "C:/PROGRA~1/R/R-215~1.3/share/texmf/tex/latex" -I
"C:/PROGRA~1/R/R-215~1.3/share/texmf/bibtex/bst"' had status 1

我尝试将环境传递给 knit2pdf ( envir = globalenv() ) 希望它是 ...过去了,我只是收到一个未使用的参数错误。

一般来说,我知道引用全局环境是一种糟糕的形式,但是有没有办法用 knit2pdf 来做到这一点。 ,或者明确地传递一个环境,或者我最好使用 brewsprintf@Ramnath's answer上面同样的问题?

在我的用例中,我不认为 tools::texi2pdf很有用,因为我需要使用 XeLaTeX 进行编译,其中 knit2pdf毫不费力地处理。

最佳答案

题中示例的问题似乎与环境无关。如果 output,一切都会正确编译并且没有警告。 knit2pdf 的参数被忽略.

作为引用,我在 Windows 7 上的 R 2.15.3 上使用了 knitr 1.1。我会让 Yihui 知道,因为它似乎是 knit2pdf 中的一个错误。 (它调用 tools::texi2pdf ,它不接受输出文件路径)。

更新:问题已在knitr开发版修复, available here .

还值得注意的是Compile PDF 中的按钮RStudio 不使用您当前的环境,因此如果您想访问全局变量并且您正在使用 RStudio,请显式调用适当的 knit功能而不是依赖快捷方式。实际上,它不使用 knit2pdf直接调用,而是调用 rmarkdown::render .

关于r - knit2pdf 可以使用全局环境吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15647282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com