Knitr varía el tamaño de la figura en la misma porción

Tengo un bucle R que produce un gráfico de bosque en cada iteración usando metafor. Un gráfico de bosque tiene una línea por muestra, y cada iteración tiene un número diferente de muestras, por lo que necesito que la altura varíe considerablemente (actualmente entre 2.5 y 8 pulgadas).

Probé varias opciones comoéste, pero no importa lo que haga, cada gráfico que creo tiene la misma altura en la salida del archivo .pdf (parece que simplemente cuadra los archivos), solo hay márgenes blancos muy grandes arriba y abajo.

También encontré la nota en dispositivos gráficos personalizadosaquí, pero no sé cómo cambiar el dispositivo gráfico en medio de un fragmento. Traté de usar simplementeopts_chunk$set(fig.width=fheight) en cada iteración de bucle, pero sin suerte.

MWE

\documentclass{article}

\begin{document}

 <<Mwe, echo=FALSE, results = 'asis', message='FALSE', fig.width=7,warning='FALSE'>>=

 heights <- c(2.5, 8)

 for(counter in 1:length(heights)) {
  opts_chunk$set(fig.height=heights[counter]) #This doesn't appear to change anything
  par(fin=c(7, heights[counter]) #this makes the plot have the correct height, but I get a 2.5 inch high plot vertically centered in a 7 inch high pdf. 
  hist(rnorm(100))

  cat("Some long text which describes a lot of stuff about this graphic before making a new subsection for the next one")
 }

@

\end{document}

Respuestas a la pregunta(1)

Su respuesta a la pregunta