在knitr中选择png或pdf(如果两者都可用)

在knitr中选择png或pdf(如果两者都可用),r,latex,knitr,pdflatex,R,Latex,Knitr,Pdflatex,我喜欢在使用knitr创建(latex)文档时生成pdf和png图像文件。这可以使用dev=c(“pdf”、“png”)完成。 然而,在我的latex figure环境中,我似乎无法选择(基于每个图形)这两个选项中的哪一个。目前,我可以获取(比如)图1的png输入文件和图2的pdf输入文件的唯一方法是只生成所需的格式(使用dev=“png”,Fig.ext=“png”) 是否有一种方法,我仍然可以生成这两个,但在latex级别可以选择显示哪一个?我想,通过在\includegraphics命令中

我喜欢在使用knitr创建(latex)文档时生成pdf和png图像文件。这可以使用dev=c(“pdf”、“png”)完成。 然而,在我的latex figure环境中,我似乎无法选择(基于每个图形)这两个选项中的哪一个。目前,我可以获取(比如)图1的png输入文件和图2的pdf输入文件的唯一方法是只生成所需的格式(使用dev=“png”,Fig.ext=“png”)

是否有一种方法,我仍然可以生成这两个,但在latex级别可以选择显示哪一个?我想,通过在\includegraphics命令中允许扩展,可以很容易地解决这个问题

感谢您的任何意见

罗恩

最简单的例子:

\documentclass[a4paper,12pt]{article}
%\VignetteEngine{knitr::knitr}

\DeclareGraphicsExtensions{.pdf,.png}

\begin{document}

%\maketitle
<<knitrInitialization,echo=FALSE>>=
require("knitr", quietly=TRUE)
opts_chunk$set(comment=NA,background='transparent',size='small',fig.width=6,fig.height=6,out.width='\\textwidth',dev=c('pdf','png'))  
@ 

%% this one generates two figures, and the pdf version is shown
%% because of the order in DeclareGraphicsExtensions
\begin{figure}[tb]
\centering
<<testPDF,echo=FALSE>>=
plot(1:10)
@
\caption{PDF figure}
\label{fig:pdf}
\end{figure}

%% if I want to show a png (e.g., because the pdf is too large) I can
%% only do that by not generating a pdf in the first place
\begin{figure}[tb]
\centering
<<testPNG,echo=FALSE,dev='png',fig.ext='png'>>=
plot(1:10)
@
\caption{PNG figure}
\label{fig:png}
\end{figure}


\end{document}
\documentclass[a4paper,12pt]{article}
%\VignetteEngine{knitr::knitr}
\DeclareGraphicExtensions{.pdf、.png}
\开始{document}
%\maketitle
=
要求(“knitr”,悄悄地=真)
选择chunk$set(comment=NA,background='transparent',size='small',fig.width=6,fig.height=6,out.width='\\textwidth',dev=c('pdf','png'))
@ 
%%这一个生成两个数字,显示pdf版本
%%因为申报单上的订单
\开始{图}[tb]
\定心
=
绘图(1:10)
@
\标题{PDF图}
\标签{图:pdf}
\结束{图}
%%如果我想显示png(例如,因为pdf太大),我可以
%%只有在一开始不生成pdf的情况下才能做到这一点
\开始{图}[tb]
\定心
=
绘图(1:10)
@
\标题{PNG图}
\标签{图:png}
\结束{图}
\结束{document}
您可以简单地

\DeclareGraphicsExtensions{.png,.pdf}
在您的文档中,当您希望PNG具有优先权时

\DeclareGraphicsExtensions{.pdf,.png}
稍后,如果您想返回PDF首选项。这适用于LaTeX文档的正文,而不仅仅是标题。

您只需将

\DeclareGraphicsExtensions{.png,.pdf}
在您的文档中,当您希望PNG具有优先权时

\DeclareGraphicsExtensions{.pdf,.png}
稍后,如果您想返回PDF首选项。这适用于LaTeX文档的主体,而不仅仅是标题