Centrare verticalmente elementi con subfig

  • Creatore
    Topic
  • #53940
    Up
    0
    Down
    ::


    Ciao ancora,

    ho il seguente pezzo di codice:

    `\begin{figure}%
    \centering
    \subfloat[][Presenza billetta in FIFO]{\input{flowchart/flowfifoplus}}%
    %\qquad
    \subfloat[][Inserimento billetta in FIFO]{\input{flowchart/flowfifoplusinsert}}%
    \caption{gestione FIFO}%
    \label{fig:gestionefifo}%
    \end{figure}`

    che mi inserisce due flowchart affiancati in una tabella. Il primo, quello a sinistra, è molto più corto del secondo. Il risultato antiestetico è che mi vengono allineati entrambi in basso.
    Vorrei centrare il primo o al limite fare un allineamento in alto.
    Secondo voi è giusto il tipo di approccio che sto utilizzando?

    Grazie

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #53941
      Up
      0
      Down
      ::

      Ciao ancora,

      ho il seguente pezzo di codice:

      `\begin{figure}%
      \centering
      \subfloat[][Presenza billetta in FIFO]{\input{flowchart/flowfifoplus}}%
      %\qquad
      \subfloat[][Inserimento billetta in FIFO]{\input{flowchart/flowfifoplusinsert}}%
      \caption{gestione FIFO}%
      \label{fig:gestionefifo}%
      \end{figure}`

      che mi inserisce due flowchart affiancati in una tabella. Il primo, quello a sinistra, è molto più corto del secondo. Il risultato antiestetico è che mi vengono allineati entrambi in basso.
      Vorrei centrare il primo o al limite fare un allineamento in alto.
      Secondo voi è giusto il tipo di approccio che sto utilizzando?

      No. Le figure affiancate dovrebbero essere non troppo diverse l’una dall’altra per altezza.

      Ciao
      Enrico

    • #53942
      Up
      0
      Down
      ::

      No. Le figure affiancate dovrebbero essere non troppo diverse l’una dall’altra per altezza.

      Ciao
      Enrico

      Grazie Enrico,
      hai da consigliari un approccio differente per risolvere il problema?

      Grazie,
      Massimiliano

    • #53943
      Up
      0
      Down
      ::

      No. Le figure affiancate dovrebbero essere non troppo diverse l’una dall’altra per altezza.

      Ciao
      Enrico

      Grazie Enrico,
      hai da consigliari un approccio differente per risolvere il problema?

      Dipende molto dalle dimensioni relative dei due oggetti. Ma se uno è molto più basso dell’altro, vai incontro a problemi in ogni caso, con \subfloat: o le didascalie sono sfalsate oppure una è troppo distante dalla figura o, ancora, le due didascalie sono alla stessa altezza, non distanti dalla loro figura, che però ha un orrido salto.

      Metti due figure e vivi contento lo stesso.

      Ciao
      Enrico

    • #53944
      Up
      0
      Down
      ::


      ok, era per risparmiare un po’ di spazio, ma non è fondamentale.

      Grazie

    • #53945
      Up
      0
      Down
      ::


      Ho avuto anch’io lo stesso dubbio proposto da nowire75. Nel mio caso però le due figure sono di dimensioni simili. La differenza in altezza è di circa 1,5cm, tuttavia mi sembra che non stia molto bene allinearle in basso. Preferirei centrarle mantenendo le didascalie sullo stesso livello. Mi spiace che non ci sia la possibilità di farlo. Sarebbe carino che venisse prevista tale opzione.

      Ciao,
      Daniele

    • #53946
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Centrare le due figure in altezza si può fare, ma bisogna dare il fatidico “aiutino” 😉 al programma.

        si sa quale sia la figura che occupa più spazio verticale; diciamo che le due figure si chiamino fig-bassa.pdf e fig-alta.pdf allora disponendo di un registro scatola eventualmente predisposto per giochetti del genere
        `
        \newlength\pippo
        `

        dentro all’ambiente figure che conterrà le sottofigure si calcolerà l’altezza dela figura alta
        `
        \settoheight{\pippo}{\includegraphics[width=…]{fig-alta}}
        `
        A questo punto il registro \pippo contiene l’altezza della figura più alta.

        Allora le due figure (in realtà basta farlo per la figura bassa) vengono messe dentro una \parbox di cui si specifica anche l’altezza; la sintassi vera e completa per il comando \parbox e per l’ambiente minipage che è difficile ricordare è
        `
        \parbox[⟨pos ⟩][⟨altezza⟩][⟨pos.interna⟩]{⟨giustezza⟩}{⟨testo⟩}
        `

        è il solito descrittore per collocare il punto di riferimento dell’intera scatola Nel nostro caso è bene che questo descrittore sia b

        è l’altezza specificata per la scatola da generare con \parbox, nel nostro caso basta scriverci al posto semplicemente il valore che abbiamo determinato sopra: \pippo

        è il codice di posizionamento verticale del contenuto della scatola; nel nostro caso si scrive c

        e il giochetto è fatto: le due sottofigure, la più bassa delle quali inscatolata come detto sopra, risultano allineate secondo il loro centro.

        Si tratta sempre di comandi LaTeX, non c’è nessuna diavoleria o magia nera fatta con comandi primitivi o di plain TeX, come talvolta bisogna fare per ottenere risultati che altrimenti non si potrebbero ottenere.

      • #53947
        Up
        0
        Down
        ::


        Ottimo, funziona alla perfezione.

        Grazie,
        Daniele

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

    Go to top