Allineare immagini

  • Creatore
    Topic
  • #16049
    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.

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #16050
      Up
      0
      Down
      ::


      Se non ti servono le didascalie alle figure, allora puoi, “incollare” le tre figure in unico .eps prima di inserirle. Se questa soluzione non è praticabile, credo che il pacchetto subfig possa aiutarti. La documentazione (anche verso le ultime pagine) è piena di esempi.

      Infine, non so se sia possibile (o consigliabile) suddividere lo spazio interno alla figura in due colonne (la cui ampiezza sarebbe decisa da te) e successivamente andare “a mano” con includegraphics.
      Magari i più esperti del forum hanno qualche altra soluzione.

      Ciao

      Daniele

    • #16051
      Up
      0
      Down
      ::


      Grazie!
      Dopo pranzo ci provo 😀

    • #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

    • #16053
      Up
      0
      Down
      ::


      Avevo già provato una soluzione molto simile alla prima proposta da egreg9 ma il risultato non era soddisfacente perché le due immagini a destra venivano inserite più in basso, circa a metà dell’altezza dell’immagine di sinistra e non a partire dalla stessa altezza.

    • #16054
      Up
      0
      Down
      ::


      Le immagini di cui stai parlando, sono ritagliate correttamente? Intendo dire: se apri il file .eps con un opportuno software, la Bounding Box, ovvero il riquadro intorno all’immagine, comprende spazi bianchi inessenziali o è ritagliata per bene?

      Se l’iimagine comprendesse spazi bianchi inessenziali, diversi da figura a figura, il codice di Enrico non produrrebbe farci nulla: vedresti comunque lo sfasamento tra le figure.

      Se proprio non puoi ritagliare le figure, puoi passare come opzioni di \includegraphics le seguenti

      `clip=true, viewport=x0 y0 x1 y1`

      e sostituire a x0 y0 x1 y1 le coordinate del riquadro che vuoi visualizzare. Sulla guida di Beccari troverai una spiegazione di queste opzioni.

      Ciao

      Daniele

Visualizzazione 4 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top