我正在尝试创建一个数值变量(在代码中称为nClusters),可以在knitr文档中的R代码块和LaTeX中使用。以下是示例代码:
在此,我初始化并将数字变量nClusters分配给7的值。稍后,在文档中,我在R代码块中调用它,这似乎可以正常工作。但是,我随后尝试在LaTeX部分(在R代码块之外)中调用它,这会导致问题:
当我编织时,会得到以下输出:
然而,这个输出应该是这样的:
这个差异是在LaTeX调用变量时发生的,因为如果我硬编码7,则可以正常工作。因此,我的问题是:是否可能在knitr中创建一个全局变量,以便在R代码块和LaTeX部分都可以调用?
在此,我初始化并将数字变量nClusters分配给7的值。稍后,在文档中,我在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}
当我编织时,会得到以下输出:
![Current output](https://istack.dev59.com/ngwcR.webp)
![Desired output](https://istack.dev59.com/TCoqC.webp)
foreach
的问题。通常来说,R
变量可以通过$ \Sexpr {nClusters} $
进行访问,但不确定在这种情况下是否有效,你应该尝试一下并确认! - ClementWalter