[RISOLTO] Allineare testo con immagine dentro tabella!

  • Creatore
    Topic
  • #89114
    Up
    0
    Down
    ::


    Ragazzi ho bisogno di aiuto!…Devo fare una tabella con delle strutture chimiche e il testo delle colonne accanto sta nella parte bassa della riga quando io invece lo vorrei centrato rispetto alla molecola…in sostanza vorrei il testo centrato in altezza…Come faccio???

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #89115
      Up
      0
      Down
      ::

      Tristano” post=88595Ragazzi ho bisogno di aiuto!…Devo fare una tabella con delle strutture chimiche e il testo delle colonne accanto sta nella parte bassa della riga quando io invece lo vorrei centrato rispetto alla molecola…in sostanza vorrei il testo centrato in altezza…Come faccio???

      Esempietto di codice?

      Ciao
      Enrico

    • #89116
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::

        Tristano” post=88595Ragazzi ho bisogno di aiuto!…Devo fare una tabella con delle strutture chimiche e il testo delle colonne accanto sta nella parte bassa della riga quando io invece lo vorrei centrato rispetto alla molecola…in sostanza vorrei il testo centrato in altezza…Come faccio???

        Di tabelle che contengono celle testuali e celle con immagini si ;arla anche nella Guida GuIT, scaricabile dalla sezioen Documentazione di questo sito. Naturalmente la soluzione proposta lì, non è l’unica possibile, Ma sapendo come funzionano le tabelle vengono in mente un mucchio di soluzioni a seconda di quello che si deve fare.

      • #89117
        Up
        0
        Down
        ::


        \begin{table}[h]
        \centering
        \caption{Inibitori.}
        \begin{longtable}{|c|p{3cm}|c|p{3cm}|}
        \hline
        \centering Numero & \centering Nome & \centering Struttura & \centering Chemgauss4 \tabularnewline
        \hline
        \raisebox{40pt}{1} & \raisebox{40pt}{nome} &\includegraphics[height=0.3\textwidth]{immagine} & \raisebox{40pt}{score} \\
        \hline
        \end{longtable}
        \end{table

        Io ho risolto così…non so se c’è un altro metodo migliore…ora un altro problema che ho è che, essendo una tabella lunga, non entra in una pagina e và fuori…sto cercando invano una soluzione… help me!!!

      • #89118
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          La tua tabella contiene alcuni errori; la soluzione che hai trovato è inutilmente complicata.
          1) Il tuo esempio NON è un esempio minimo compilabile; quando ti si chiede un esempio minimo compilabile devi mettere qualcosa che cominci con \documentclass e finisca con \end{document} cosicché chi ti vuole dare uan mano lo possa semplicemente copiare, incollare in un proprio file .tex, compilarlo e vedere come modificarlo o correggerlo.
          2) Non puoi mettere una longatable dentro un ambiente flottante; la longtable è fatta apposta per essere spezzata fra più pagine; il contenuto di table, oltre a essere mobile, deve stare dentro una scatola non spezzabile per essere fatto muovore dove sta bene. Se proprio vuoi, puoi inserire tutto il contenuto della longtable nell’argomento del comando \afterpage (pacchetto afterpage) in modo che cominci sulla prima pagina disponibile; se inveve la lasci dov’è, ci puoi mettere un po’ di spazio prima e un po’ di spazio dopo per distanzialra dal testo che la precede e da quello che la segue.
          3) Le tabelel fatte bene non contengono filetti verticali e contengono pochissimi filetti orizzontali: uno spesso in testa alla tabella, uno sottile dopo la riga di intestazione delle colonne, un ultimo spesso alla fine dela tabella. si tratta dei comandi \toprule, \midrule e \bottomrule forniti dal pacchetto booktabs.
          4) il pacchetto array ti mette a disposizione sia il descrittore m{…} per celle simili allae celle p{…} ma col contenuto centrato; inoltre ti mette a disposizione i comandi > e < per inserire all'inizio e allafine di ogni cella della stessa colonna delle dichiarazioni o del testo a tuo piacere, così da non doverle ripetere in ogni cella. 5) il comando \caption va messo come prima riga dela longtable 6) se la tabella lunga spazia più di una pagina, nelle pagine successive a quella dove comincia la tabella ci volgiono intestazionidelle colonne e separatori di fine tabella parziale che long table ti permette di definire all'inzio in modo da ripetere la didascalia senza numero, da mettere gli appositi filetti orizzontali, da inserire una annotazione del tipo "prosegue nella prossima pagina" al piede di ogni moncone e "prosegue dalla pagina precedente" in testa ad ogni moncone, insomma per rendere la tabella su più pagine decorosa e professionale. Ma per fare questo devi leggere la documentazione che hai già sul tuo disco, senza bisogno di andare a cercare in rete; per esmepio la documentazione di longtable viene letta dando da terminale il comando texdoc longtable.

          Inoltre ti conviene studiare con attenzione il capitolo sulle tabelle dell’Arte di scrivere con LaTeX, sempre scaricabile dalla sezione Documentazione di questo sito.

          `\documentclass{article}
          \usepackage{longtable,array,booktabs,graphicx}
          \begin{document}

          \begin{longtable}{c>{\centering}p{3cm}c>{\centering}p{3cm}}
          \caption{Inibitori.}\\
          \toprule
          Numero & Nome & Struttura & Chemgauss4 \tabularnewline
          \midrule
          1 & nome &\multicolumn1{m{0.3\textwidth}}{\includegraphics[height=0.3\textwidth]{Immagine}}
          & score \tabularnewline
          \bottomrule
          \end{longtable}

          \end{document}
          `

        • #89119
          Up
          0
          Down
          ::


          Grazie mille!!!:grin: 😀 😀 ieri ero troppo stanco per mettere a fuoco la guida sulle tabelle, ho fatto oggi e ho ottenuto un risultato fantastico!!!! GRAZIE!!!!

        • #89120
          Up
          0
          Down
          ::

          Tristano” post=88598\begin{table}[h]
          \centering
          \caption{Inibitori.}
          \begin{longtable}{|c|p{3cm}|c|p{3cm}|}
          \hline
          \centering Numero & \centering Nome & \centering Struttura & \centering Chemgauss4 \tabularnewline
          \hline
          \raisebox{40pt}{1} & \raisebox{40pt}{nome} &\includegraphics[height=0.3\textwidth]{immagine} & \raisebox{40pt}{score} \\
          \hline
          \end{longtable}
          \end{table

          Io ho risolto così…non so se c’è un altro metodo migliore…ora un altro problema che ho è che, essendo una tabella lunga, non entra in una pagina e và fuori…sto cercando invano una soluzione… help me!!!

          Tutto quello che ha detto OldClaudio va bene. Io eviterei solo l’uso di [tt]\multicolumn[/tt]:
          `
          1 & nome & \raisebox{-0.5\height}{\includegraphics[height=0.3\textwidth]{immagine}} & score \\
          `
          Oppure, ancora più semplicemente, aggiungendo
          `\usepackage[export]{adjustbox}`
          nel preambolo e scrivendo
          `
          1 & nome & \includegraphics[height=0.3\textwidth,valign=M]{immagine}} & score \\
          `
          nella tabella.

          Ciao
          Enrico

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

      Go to top