2011-11-01 8 views
5

Tengo un manuscrito LaTeX que ingresa desde un único archivo Sweave. El archivo crea gráficos y los coloca en el documento usando <fig=TRUE>.¿Puedo colocar todas las figuras de sudar al final del documento?

¿Hay alguna manera de decir todas las cifras hasta el final del documento, donde están el resto de las figuras? Todas las demás figuras se colocan al final con la opción LaTeX [ht!]

La única solución que he encontrado es usar <fig=FALSE>, guardar el archivo como un archivo de gráficos, y luego llamar a la figura desde dentro de LaTeX en el fin del documento. ¿Hay alguna manera de hacer esto dentro de la parte de código R del documento Sweave en sí mismo (presumiblemente esto sería más fácil de hacer).

Respuesta

8

Otra alternativa es utilizar el paquete LaTeX 'endfloat'. Agregue lo siguiente a su preámbulo, y pondrá todas las figuras al final.

\usepackage[noheads,nomarkers]{endfloat} 
5

También puede hacer <chunk_name, fig = TRUE, include = F> en el trozo donde se crea la trama y lo llama al final utilizando

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

+0

es lo mismo que 'label = chunk_name'? – Abe

+0

sí. eso es correcto – Ramnath

+0

Creo que esto ejecutará el código en 'chunk_name' dos veces y creará la figura dos veces. Lo cual podría hacer que compilar algo más tiempo. Aunque no estoy seguro –

3

La imagen creada con fig=TRUE siempre tendrá el nombre: FILENAME-CHUNKNAME.pdf

donde filename es el nombre de su archivo .Rnw sin extensión, así que con esto usted facilmente puede hacer la llamada includegraphics usted mismo:

% 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} 
+0

gahh, golpéame. – PaulHurleyuk

Cuestiones relacionadas