2014-07-23 13 views
2

我把下面的代碼從here通過@AnandaMahto寫的。此功能以前工作正常,但停止使用R 3.1.1knitr 1.6.10。任何幫助將不勝感激。由於helpExtract功能不中的R 3.1.1工作,knitr 1.6.10

\documentclass{article} 

\begin{document} 

<<echo=FALSE>>= 
library(devtools) 
source_gist("https://gist.github.com/mrdwab/7586769") 
@ 

\Sexpr{knit_child(textConnection(helpExtract(cor, section="Arg", type = "s_text")), 
options = list(tidy = FALSE, eval = FALSE))} 

\Sexpr{knit_child(textConnection(helpExtract(cor, type = "s_code")), 
options = list(tidy = FALSE, eval = FALSE))} 

<<tidy=TRUE>>= 
## normal R code 
args(lm) 
@ 

\end{document} 
+0

讓我們看看@AnandaMahto是否有任何解決方案。 – MYaseen208

+0

奇怪。如果函數的內容是逐行運行的,它們似乎輸出了預期的內容。 – A5C1D2H2I1M1N2O1R2T1

+0

@AnandaMahto:它對你有用嗎? – MYaseen208

回答

5

作爲一個特設的解決方案,可以通過避免library(devtools)

<<echo=FALSE>>= 
devtools::source_gist("https://gist.github.com/mrdwab/7586769") 
@ 

做,但基本的解決方案是修改helpExtract功能。 在線路#3,utils:::.getHelpFile(help(A))utils:::.getHelpFile(utils::help(A))

這是通過一些deparsesubstitute鏈引起的。 我不確定這是否是devtools的錯誤,但至少我認爲這是devtools軟件包的不良行爲,所以我會讓@hadley知道這種行爲。

+0

+1進行偵察。正如我在評論中提到的,似乎從包中加載函數也是可行的。 – A5C1D2H2I1M1N2O1R2T1

+0

是的,這是因爲包內的搜索路徑是不同的,所以即使用戶調用'library(devtools)',包內的'help'的調用也會引用'utils :: help'。 – kohske

+0

很酷。我將修改函數,然後明確引用'utils :: help'。 – A5C1D2H2I1M1N2O1R2T1