Re: Allineare immagini

#16052
Up
0
Down
::

Dovrei realizzare l’allineamento di tre immagini come in figura

Ho provato usando tabular ma ovviamente il risultato non è buono e nei post non ho trovato molto altro.

Una soluzione LaTeX è
`\begin{tabular}{cc}
\includegraphics[height=6cm]{uno}&
\begin{tabular}{c}
\includegraphics[height=2cm]{due}\\[1cm]
\includegraphics[height=3cm]{tre}
\end{tabular}
\end{tabular}`
Modifica le dimensioni come serve a te, naturalmente, nota come le somme delle altezze delle due colonne siano uguali.

Se vuoi una soluzione che eviti quasi tutte le misure, si possono usare comandi di basso livello:
`\makebox[.8\columnwidth]{%
\vbox{\hbox{\includegraphics{uno}}}%
\hfil
\vbox{
\hbox{\includegraphics{due}}
\vskip1cm
\hbox{\includegraphics{tre}}
}%
}`
Dovrai dare le opzioni ai vari \includegraphics; puoi usare la dimensione che preferisci per il \makebox iniziale.

Qualcuno può incuriosirsi dell’assenza di alcuni % dove invece sembrerebbero necessari. Dato un comando \vbox, la parentesi graffa fa cominciare il modo verticale, nel quale gli spazi sono ignorati; un comando \hbox in modo verticale non inizia il modo orizzontale, come si potrebbe pensare; quindi la seconda \vbox contiene tre oggetti: la prima \hbox, la spaziatura (che naturalmente è modificabile a piacere) e la seconda \hbox, impilati uno sopra l’altro.

Se si volesse evitare anche l’unica misura esplicita, si deve fare qualche lavoretto in più:
`\makebox[.8\columnwidth]{%
\setbox0=\vbox{\hbox{\includegraphics{uno}}}%
\copy0
\hfil
\vbox to\ht0 {
\hbox{\includegraphics{due}}
\vfil
\hbox{\includegraphics{tre}}
}%
}`
Ho inserito la prima figura (quella grande) in un registro \box, per poter accedere alla sua altezza; poi la compongo (con \copy0 e non \box0 che ne distruggerebbe il contenuto) e costruisco una \vbox con la stessa altezza allo stesso modo di prima, solo che posso mettere fra le due \hbox uno spazio elastico.

Ciao
Enrico

Go to top