我可以将所有的Sweave图形放在文档的末尾吗?

5

我有一个LaTeX手稿,从单个Sweave文件输入。该文件创建图形并使用<fig=TRUE>将其放置在文档中。

是否有一种方法可以告诉所有图形到文档的末尾,在那里放置其它所有图形?所有其他图形都使用LaTeX选项[ht!]放置在末尾。

我想到的唯一解决方案是使用<fig=FALSE>,将文件保存为图形文件,然后在文档末尾从LaTeX调用该图。是否有一种方法可以在Sweave文档的R代码部分内部实现这一点(这可能更容易)。

3个回答

9

另一个选择是使用LaTeX的'endfloat'包。将以下内容添加到导言部分,它会将所有图形放在末尾。

\usepackage[noheads,nomarkers]{endfloat}

5

在创建绘图代码块时,您还可以使用<chunk_name, fig = TRUE, include = F>,并在最后调用它。

<new_chunk, fig = TRUE> <<chunk_name>> @


这是指label=chunk_name吗? - Abe
我认为这会使 chunk_name 中的代码运行两次并创建两个图形。这可能会使编译时间变长。不过我不确定。 - Sacha Epskamp

3

使用 fig=TRUE 选项创建的图片将始终具有以下名称: FILENAME-CHUNKNAME.pdf

其中 FILENAME 是你的 .Rnw 文件的名称,不包括扩展名,因此你可以轻松地自己调用 includegraphics

% Somewhere in source:
<<CHUNKNAME,fig=TRUE,include=FALSE>>=
plot(1)
@

% Later in source:
\begin{figure}
\centering
\includegraphics{FILENAME-CHUNKNAME}
\caption{Whatever}
\label{fig:whatever}
\end{figure}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接