4
我想創建一個數字變量(在代碼中稱爲nClusters),它可以在R代碼塊和LaTeX中的knitr文檔中使用。下面的代碼就是一個例子。針對R代碼塊和LaTeX的knitr中的全局變量
在這裏,我初始化並賦值爲7的數值變量nClusters。稍後,在文檔中,我調用它在一個R代碼塊中,這似乎工作正常。然而,我再嘗試它調用一個LaTeX節(將R代碼塊外),這是導致問題:
\documentclass{article}
\usepackage{float, hyperref}
\usepackage[margin=1in]{geometry}
\usepackage{pgffor}
\begin{document}
<<options, echo=FALSE>>=
nClusters = 7 # I only want to define nClusters once
library(knitr)
opts_chunk$set(concordance=TRUE)
@
<<echo=FALSE,eval=TRUE,results='asis'>>=
# Here the call to nClusters works
for (i in 2:nClusters){
print(paste("This is number",i))
}
@
% Here the call to nClusters does not work
\begin{center}
\foreach \i in {2,3,...,nClusters} {
Hello \i\
}
\end{center}
\end{document}
當我編織這個,我得到下面的輸出:
當輸出應爲:
的差異在乳膠呼叫發生到variab樂,因爲如果我在7硬編碼,那麼它的作品。因此,我的問題是:是否有可能在knitr中創建一個可以在R代碼塊和LaTeX部件中調用的全局變量?
我想這是一個'foreach'問題。通常來說,'R'變量可以通過'$ \ Sexpr {nClusters} $'來訪問,但不知道這個可以在這種情況下工作,你應該試試看! – clemlaflemme