我有一个.Rnw文档,我想在其中引用多图块中的图。我该怎么做呢?

例子:

\documentclass{article}
\begin{document}

<<single_chunk, fig.cap="hi">>=
plot(1:5)
@

I can reference this single chunk fine! See \ref{fig:single_chunk}.

<<multichunk, fig.cap="hello">>=
plot(1:10)
plot(10:1)
@

The first figure is great, but \ref{fig:multichunk}. Try again \ref{fig:multichunk-1}.

\end{document}

这两种尝试都将导致??

最佳答案

只需看看生成的* .tex文件即可!这是相关的部分(我比knit更加自由地对齐它):

\begin{knitrout}
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
\begin{alltt}
\hlkwd{plot}\hlstd{(}\hlnum{1}\hlopt{:}\hlnum{10}\hlstd{)}
\end{alltt}
\end{kframe}
\begin{figure}
  \includegraphics[width=\maxwidth]{figure/multichunk-1}
  \caption[hello]{hello}
  \label{fig:multichunk1}
\end{figure}

\begin{kframe}\begin{alltt}
\hlkwd{plot}\hlstd{(}\hlnum{10}\hlopt{:}\hlnum{1}\hlstd{)}
\end{alltt}
\end{kframe}
\begin{figure}
  \includegraphics[width=\maxwidth]{figure/multichunk-2}
  \caption[hello]{hello}
  \label{fig:multichunk2}
\end{figure}

因此,如果仔细观察,您会注意到多图图形被命名为fig:multichunk1fig:multichunk2。确实,如果您引用这些(\ref{fig:multichunk1},...),则一切正常。

关于r - knitr:如何从多图块中引用图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29812472/

10-15 06:18