使用 Sweave,如何才能可靠地获取 .PNG 图形而不是 .EPS 或 .PDF 图形?

使用 Sweave,如何才能可靠地获取 .PNG 图形而不是 .EPS 或 .PDF 图形?

我曾尝试在序言中设置选项:

\SweaveOpts{keep.source=TRUE, eps=FALSE, pdf=FALSE, png=TRUE}

但这并不能可靠地生成所有.png(或任何!)数字。我说“可靠”是因为我之前成功获取了这些.png数字,但在对我的文档进行了一些修改(唉,不科学)后,Sweave 不再生成任何数字。

答案1

在官方 Sweave 发行版中没有自动 PNG 输出选项。唯一的选项是 PDF 或 EPS——您看不到输出是因为您已关闭了这两个选项。

您可以使用任何您想要的输出设备,只需放弃使用fig=TRUE并编写如下代码:

\begin{figure}

\caption{Some silly plot.}
\label{fig:sillyPlot}

<<fig1>>=
png( 'fig1.png' )

# Plotting stuff.

dev.off() # <- very very important
@
\includegraphics{fig1}

\end{figure}

代替:

\begin{figure}

\caption{Some silly plot.}
\label{fig:sillyPlot}

<<fig1,fig=TRUE>>=

# Plotting stuff.

@

\end{figure}

fig=TRUE选项实际上只是节省了一些输入,让你无需打开设备、关闭设备,然后插入\includegraphics{}LaTeX 命令。如果你真的想fig=TRUE支持 PNG 输出,你必须自己修改 Sweave 驱动程序或使用这个由 Thibaut Jombart 创建。

相关内容