我有一个很大的Sweave文件,顶部附近有一个名为"special"的变量.该文件的其余部分是Latex和R,并使用此变量.
如何循环"特殊"的各种值?
两种可能性是:
你能评论一下这些想法,还是建议更好的想法?
你能说出你希望你的文档最终看起来像什么吗?显然,它有重复的结构.在这种情况下,Sweave可能不是最好的工具.你可能想要考虑使用类似的东西brew
.请参阅Learning R博客上的此博客文章,了解其工作原理.
以下是一些可能对新手酿造者有所帮助的信息.
(我今天学到了关于brew的知识,并用它来创建一本书籍文档,每个"专业"都有一章.)
Shane的链接很有帮助.另一个链接是Brew.这有下载和简短的参考手册(七页).
至少在某种程度上,brew比Sweave更好:
如果您想尝试brew,请在R中执行以下操作:
install.packages("brew")
library(brew)
Run Code Online (Sandbox Code Playgroud)
将以下brew代码保存在名为的文件中book.brew
.代码打印pi的一些数字,每章一个数字.请注意,有一个循环,它的一部分在Latex中,而它的一部分在brew标签中.
\documentclass{book}
\title{A book}
\begin{document}
\maketitle
<%# This comment will not appear in the Latex file. %>
<%
digits = c(3, 1, 4, 1, 5, 9)
for (i in 1:length(digits))
{
%>
\chapter{Digit $<%= i %>$}
Digit $<%= i %>$ of $\pi$ is $<%= digits[i] %>$.
<%
}
%>
\end{document}
Run Code Online (Sandbox Code Playgroud)
注意:保存文件时,将最后一行设为空行,否则brew会向您发出有关未完成行的警告.
在R中,键入
brew("/your/path/to/book.brew", "/where/you/want/brew/to/create/book.tex")
Run Code Online (Sandbox Code Playgroud)
编译Latex文件book.tex.