Inserire Immagini in ambiente tabular

  • Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 19 anni, 4 mesi fa da DMW.
  • Creatore
    Topic
  • #14582
    Up
    0
    Down
    ::


    Salve,

    sicuramente la mia richiesta porta ad una forzatura dello scopo del latex, ma vediamo cosa succede…

    Vorrei un ambiente nuovo o un ambiente “composto” che permetta di allineare in una sorta di “tabular” oltre che testo anche piccole immagini.

    Ad esempio per un esercizio fisico vorrei avere una colonna con “Numero ripetizioni” una colonna con “Descrizione” ed una colonna dedicata ad una immagine.

    Oppure per una verifica strutturale su dei pilastri vorrei avere una colonna “Numero elemento”, una seconda con “Carichi agenti!” ed i valori, una terza con “Azioni interne” ed i valori” ed infine una colonna dedicata ad una piccola immagine riassuntiva.

    Grazie mille

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #14583
      DMW
        Up
        0
        Down
        ::

        Salve,

        sicuramente la mia richiesta porta ad una forzatura dello scopo del latex, ma vediamo cosa succede…

        Vorrei un ambiente nuovo o un ambiente “composto” che permetta di allineare in una sorta di “tabular” oltre che testo anche piccole immagini.

        Ad esempio per un esercizio fisico vorrei avere una colonna con “Numero ripetizioni” una colonna con “Descrizione” ed una colonna dedicata ad una immagine.

        Oppure per una verifica strutturale su dei pilastri vorrei avere una colonna “Numero elemento”, una seconda con “Carichi agenti!” ed i valori, una terza con “Azioni interne” ed i valori” ed infine una colonna dedicata ad una piccola immagine riassuntiva.

        Grazie mille

        l problema sta nel fatto che un oggetto grafico ha la
        linea di base che coincide con il margine inferiore della bounding
        box e quindi c’è dello spazio aggiuntivo sopra la figura o sopra il
        testo delle altre due colonne.

        Con un po’ di fretta ho fatto questo.
        Poi ti dico un modo migliore che presto il prof. Beccari metterà nella sua guida.

        carica il pacchetto array e scrivi un codice tipo questo:
        `
        \begin{tabular}{cp{4cm}>{\vskip-\ht\strutbox\smallskip}p{2cm}}\hline
        N. Ripetizioni &\multicolumn1c{Descrizione} & \multicolumn1c{Immagine}\\ \hline
        1 & testo & \includegraphics[width=2cm]{fig1}\\ \hline
        2 & testo bla bla & \includegraphics[width=2cm]{fig2}\\ \hline
        3 & aritesto bla bla& \includegraphics[width=2cm]{fig3}\\ \hline
        \end{tabular}
        `

        un altro modo è quello di fruttare lo specificatore m e scrivere un codice tipo questo
        `
        \begin{tabular}{m{2.5cm}m{4cm}>{\smallskip}m{2cm}}\hline
        N. Ripetizioni &Descrizione & Immagine\\ \hline
        1 & testo & \includegraphics[width=2cm]{fig1}\\ \hline
        2 & testo bla bla & \includegraphics[width=2cm]{fig2}\\ \hline
        3 & aritesto bla bla& \includegraphics[width=2cm]{fig3}\\ \hline
        \end{tabular}`

        oppure:
        `
        \begin{tabular}{>{\centering\arraybackslash}m{2.5cm}m{4cm}>{\smallskip}m{2cm}}\hline
        N. Ripetizioni &\multicolumn1c{Descrizione} & \multicolumn1c{immagine}\\ \hline
        1 & testo & \includegraphics[width=2cm]{fig1}\\ \hline
        2 & testo bla bla & \includegraphics[width=2cm]{fig2}\\ \hline
        3 & aritesto bla bla& \includegraphics[width=2cm]{fig3}\\ \hline
        \end{tabular}`

        Ciao

        Andrea

      • #14584
        DMW
          Up
          0
          Down
          ::


          Ecco la soluzione datami dal Prof. Beccari:

          Preferibilmente nel preambolo, cioè prima di \begin{document} scrivi questo codice
          `\makeatletter
          \newcommand*\ttoprule{\hrule\@height0pt\@width0pt\@depth-1ex}
          \newcommand*\ctoprule{\hrule\@height0pt\@width0pt\@depth.8ex}
          \let\btoprule\ctoprule
          \let\bbotrule\ctoprule
          \let\cbotrule\bbotrule
          \let\tbotrule\bbotrule
          \newcommand*{\tabularimage}[3]{\parbox[#1]{#2}{%
          \csname#1toprule\endcsname%
          \includegraphics[width=#2]{#3}\par
          \csname#1botrule\endcsname}}
          \makeatother`

          ed eccoti un esempio:

          `
          \begin{tabular}{llp{125pt}}
          \hline
          Immagine & Descrizione\\
          \hline
          testo & \tabularimage[t]{120pt}{cheese}& testo\\
          \hline
          \end{tabular}`

          il parametro t definisce il posizionamento della figura (anzi del testo).
          Infatti prova a mettere c (oppure b) al posto di t.

          Ciao

          Andrea

          [MOD]Ho aggiunto \makeatletter e \makeatother, senza quelli il codice non funziona, a meno che non lo si metta in un file .sty. Enrico[/MOD]

      Visualizzazione 1 filone di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top