Re: figure e table nello stesso ambiente flottante

#7861
Up
0
Down
::

scusa ancora, ho visto che tu ci hai messo un vspace … volendo fare il raffinato ho pensato di usare il vfill … ma non ottengo il risultato voluto.`\begin{figure}[p]
\centering
\includegraphics[width=0.9\textwidth]{Potenza250.pdf}
\caption{250 \potenza vs 125 \potenza}
\label{fig:250mw}

\null
\vfill
\captionof{table}{250 \potenza — eigenvalue evolution}
\label{tab:250mw}
\begin{tabular}{r|cc|cc}
:
:
\end{tabular}
\null
\end{figure}`ho anche provato senza i null e con il primo null subito dopo begin{table} ma non sono soddisfatto cioe` non funziona.

No, non può funzionare; l’ambiente figure crea una “scatola” della grandezza richiesta e non c’è modo di dirgli (se non a mano) di riempire più spazio. Il \vfill dice solo di riempire di bianco tutto lo spazio disponibile, ma non ne crea di per sé.

Il \null è un trucchetto che andrebbe abolito, soprattutto nei manuali di introduzione. La costruzione \null\vfill serve per inserire uno spazio che si possa espandere all’inizio di una pagina. Infatti TeX, quando emette una pagina, scarta tutti gli spazi che trova all’inizio della successiva; il \null non è uno spazio, quindi non viene scartato.

In quei casi è meglio usare \vspace*{\fill} che è equivalente e non viene scartato. Ma, se te la senti di usare primitive di TeX, una soluzione c’è:`\begin{figure}[p]
\vbox to\textheight{
\vspace*{\fill}
\includegraphics{…}
\caption{…}
\vspace{\fill}
\begin{tabular}{…}

\end{tabular}
\captionof{table}{…}
\vspace*{\fill}
}
\end{figure}`Sostituisci \fill con \stretch{} se vuoi un maggiore controllo.

Ciao
Enrico

Go to top