Knitr varia o tamanho da figura no mesmo pedaço

Eu tenho um loop R que produz um gráfico de floresta em cada iteração usando metafor. Um gráfico de floresta tem uma linha por amostra e cada iteração tem um número diferente de amostras, portanto, preciso que a altura varie consideravelmente (atualmente entre 2,5 e 8 polegadas).

Eu tentei várias opções, comoeste, mas não importa o que eu faça, cada gráfico que eu criar terá a mesma altura na saída do arquivo .pdf (parece simplesmente tornar os arquivos quadrados), há apenas margens brancas muito grandes acima e abaixo.

Também encontrei a nota em dispositivos gráficos personalizadosaqui, mas não sei como alterar o dispositivo gráfico no meio de um pedaço. Eu tentei simplesmente usaropts_chunk$set(fig.width=fheight) em cada iteração de loop, mas sem sorte.

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}

questionAnswers(1)

yourAnswerToTheQuestion