Problema con multicolumn

  • Creatore
    Topic
  • #60099
    Up
    0
    Down
    ::


    ciao a tutti e grazie in anticipo per l’aiuto.
    In questa tabella c’è un errore legato all’uso di multicolumn ma non riesco a capire quale e dove sia.

    `
    \begin{table}
    \begin{tabular}{c|c c c c c c|}
    \toprule
    \multicolumn{6}{c}{Step} & Total volume & Total protein & Specific activity & Total activity & Purification & Yield \\
    \multicolumn{6}{c}{ } & [ml] & [mg] &[\si{\micro\molar\per\minute\per\mg}] & [\si{\micro\molar\per\minute}] & rate & \\
    \hline
    Periplasmic extract & 100 & 335,74 & 13,99 & 4696,44 & $/$ & $/$ \\
    Ni-PDC & 52 & 47,17 & 81,27 & 3833,21 & 5,81 & 81,62 \\
    Anion exch. & 35 & 14,34 & 106,33 & 1525,13 & 7,60 & 32,47 \\
    \bottomrule
    \end{tabular}
    \caption{}
    \end{table}
    `

    cosa sbaglio?

    grazie
    davide

Visualizzazione 12 filoni di risposte
  • Autore
    Risposte
    • #60100
      Up
      0
      Down
      ::

      ciao a tutti e grazie in anticipo per l’aiuto.
      In questa tabella c’è un errore legato all’uso di multicolumn ma non riesco a capire quale e dove sia.

      `
      \begin{table}
      \begin{tabular}{c|c c c c c c|}
      \toprule
      \multicolumn{6}{c}{Step} & Total volume & Total protein & Specific activity & Total activity & Purification & Yield \\
      \multicolumn{6}{c}{ } & [ml] & [mg] &[\si{\micro\molar\per\minute\per\mg}] & [\si{\micro\molar\per\minute}] & rate & \\
      \hline
      Periplasmic extract & 100 & 335,74 & 13,99 & 4696,44 & $/$ & $/$ \\
      Ni-PDC & 52 & 47,17 & 81,27 & 3833,21 & 5,81 & 81,62 \\
      Anion exch. & 35 & 14,34 & 106,33 & 1525,13 & 7,60 & 32,47 \\
      \bottomrule
      \end{tabular}
      \caption{}
      \end{table}
      `

      cosa sbaglio?

      grazie
      davide

      Nella prima riga e nella seconda stai chiedendo dodici colonne, sei con \multicolumn e sei normali, quando ne hai definite solo sette. Perché usare \multicolumn? A che ti serve?

      Lascia perdere i filetti verticali. Le unità di misura vanno tra parentesi tonde e non quadre. Sicuro di volere che le colonne con dati numerici siano centrate?

      Ciao
      Enrico

    • #60101
      Up
      0
      Down
      ::


      Inizialmente definisci sette colonne centrate, però quando scrivi la prima riga, dici a latex che le prime sei colonne sono riempite da
      `\multicolumn{6}{c}{Step}`
      e poi ne aggiungi altre 6. Quindi in realtà te ne servirebbero 12. Probabilmente quello che vuoi è:
      `\begin{table}
      \begin{tabular}{c|c c c c c c|}
      \toprule
      &\multicolumn{6}{c}{Step}\\
      & Total volume & Total protein & Specific activity & Total activity & Purification & Yield \\
      & [ml] & [mg] &[\si{\minute\per\minute\gram}] & [\si{\micro\minute\per\minute}] & rate & \\
      \hline
      Periplasmic extract & 100 & 335,74 & 13,99 & 4696,44 & $/$ & $/$ \\
      Ni-PDC & 52 & 47,17 & 81,27 & 3833,21 & 5,81 & 81,62 \\
      Anion exch. & 35 & 14,34 & 106,33 & 1525,13 & 7,60 & 32,47 \\
      \bottomrule
      \end{tabular}
      \caption{}
      \end{table}`
      dimmi se sbaglio. Comunque la prossima volta fornisci un “esempio minimo compilabile” del codice che ti restituisce l’errore. Ci ho messo un po’ per correggere le unità di misura che non erano definite di default (le ho sostituite con altre a caso).

      Ciao
      Fra

      EDIT: anticipato! 🙂

    • #60102
      Up
      0
      Down
      ::


      grazie per le risposte, ho in parte capito ma non ho risolto il problema. Nello specifico quello che voglio ottenere è molto semplicemente che l’unità di misura (ps, vero non ci vanno le quadre!) sia sotto il testo o comunque che possa decidere io di spezzare il testo su più righe, per non avere la tabella che esce dalla pagina essendo molte le colonne e poco lo spazio.
      come posso procedere?

      grazie
      davide

    • #60103
      Up
      0
      Down
      ::

      grazie per le risposte, ho in parte capito ma non ho risolto il problema. Nello specifico quello che voglio ottenere è molto semplicemente che l’unità di misura (ps, vero non ci vanno le quadre!) sia sotto il testo o comunque che possa decidere io di spezzare il testo su più righe, per non avere la tabella che esce dalla pagina essendo molte le colonne e poco lo spazio.
      come posso procedere?

      grazie
      davide

      `\documentclass[a4paper]{article}
      \usepackage{siunitx,booktabs}

      \begin{document}

      \begin{table}
      \begin{tabular}{l*{6}{S}}
      \toprule
      Step
      & \multicolumn{1}{c}{Total} & \multicolumn{1}{c}{Total}
      & \multicolumn{1}{c}{Specific} & \multicolumn{1}{c}{Total}
      & \multicolumn{1}{c}{Purification} & \multicolumn{1}{c}{Yield} \\
      & \multicolumn{1}{c}{volume} & \multicolumn{1}{c}{protein} &
      \multicolumn{1}{c}{activity} & \multicolumn{1}{c}{activity}& \multicolumn{1}{c}{rate}& \\
      & {(\si{ml})} & {(\si{mg})} & {(\si[per-mode=fraction]{\micro\mole\per\minute\per\milli\gram})}
      & {(\si[per-mode=fraction]{\micro\mole\per\minute})} & & \\
      \midrule
      Periplasmic extract & 100 & 335,74 & 13,99 & 4696,44 & {$/$} & {$/$} \\
      Ni-PDC & 52 & 47,17 & 81,27 & 3833,21 & 5,81 & 81,62 \\
      Anion exch. & 35 & 14,34 & 106,33 & 1525,13 & 7,60 & 32,47 \\
      \bottomrule
      \end{tabular}
      \caption{}
      \end{table}
      \end{document}`
      Sicuro di quel “\molar”?

      Ciao
      Enrico

    • #60104
      Up
      0
      Down
      ::


      ciao Enrico, si è un unità che ho dichiarato io 😉

    • #60105
      Up
      0
      Down
      ::

      ciao Enrico, si è un unità che ho dichiarato io 😉

      Possibilmente “un’unità”. O ha cambiato genere? 🙂

      Ciao
      Enrico

    • #60106
      Up
      0
      Down
      ::


      sorry, trovandomi in belgio scrivevo con una tastiera francese (o belga?) ed è una tragedia :mrgreen:

      altre idee per risolvere il problema?

    • #60107
      Up
      0
      Down
      ::

      sorry, trovandomi in belgio scrivevo con una tastiera francese (o belga?) ed è una tragedia :mrgreen:

      altre idee per risolvere il problema?

      Quale problema? Hai provato con la mia idea?

      Ciao
      Enrico

    • #60108
      Up
      0
      Down
      ::


      ciao, si ho provato e non è quello che intendo, o meglio, lo è in parte. Compilando il tuo codice “step” è “in comune” con tutte le colonne ad eccezione della prima, il mio obiettivo è invece che costituisca l’intestazione della prima e invece non compaia nelle altre.
      cioè per farla breve il mio obiettivo è solo capire come fare a spezzare le intestazioni delle colonne per mettere le parole su più righe e quindi evitare che la tabella sia troppo larga.

      ho provato con multicolumn ma a questo punto non sono più tanto convinto che sia la scelta migliore

      spero di essermi spiegato meglio

      grazie
      davide

    • #60109
      Up
      0
      Down
      ::

      ciao, si ho provato e non è quello che intendo, o meglio, lo è in parte. Compilando il tuo codice “step” è “in comune” con tutte le colonne ad eccezione della prima, il mio obiettivo è invece che costituisca l’intestazione della prima e invece non compaia nelle altre.
      cioè per farla breve il mio obiettivo è solo capire come fare a spezzare le intestazioni delle colonne per mettere le parole su più righe e quindi evitare che la tabella sia troppo larga.

      ho provato con multicolumn ma a questo punto non sono più tanto convinto che sia la scelta migliore

      spero di essermi spiegato meglio

      grazie
      davide

      Con il mio esempio, “Step” sta sopra la prima colonna; dov’è l’ambiguità? Se proprio lassù non ti piace, scrivila nella terza riga, ma non mi pare il caso. Le parole su più righe si mettono su più righe, mi pare ovvio: hai provato a compilare? Non è chiaro come ho ottenuto quel risultato?

      Ciao
      Enrico

    • #60110
      Up
      0
      Down
      ::


      chiedo venia, causa fretta avevo compilato due volte il codice di Spike al posto di compilare anche il tuo. Come hai fatto tu funziona ottimamente, quindi per incolonnare 3 parole biosgna metterle su 3 righe diverse, ognuna con il comando multicolumn.

      giusto?

      grazie

    • #60111
      Up
      0
      Down
      ::

      chiedo venia, causa fretta avevo compilato due volte il codice di Spike al posto di compilare anche il tuo. Come hai fatto tu funziona ottimamente, quindi per incolonnare 3 parole biosgna metterle su 3 righe diverse, ognuna con il comando multicolumn.

      giusto?

      Il comando \multicolumn serve per centrare l’intestazione. Naturalmente occorrerebbe qualche impostazione in più di ciascuna colonna S, perché l’allineamento dipende dal numero di cifre decimali previste. Trovi dettagli sull’Arte.

      Ciao
      Enrico

    • #60112
      Up
      0
      Down
      ::


      adesso è chiaro, grazie 1000!

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

Go to top