Andare a capo in tabella con multirow

  • Creatore
    Topic
  • #89369
    Up
    0
    Down
    ::


    Ciao a tutti. Ho questa tabella che mi sta facendo impazzire

    `
    \begin{table}[tb]
    \centering
    \caption{Espressione dei geni codificanti gli enzimi per il catabolismo dello xilosio di \textit{E. coli} in \textit{Z. mobilis}}
    \label{tab:xilosio}
    \begin{tabular}{lllccccc}
    \toprule
    \multirow{2}*{Plasmide} & \multirow{2}*{Fonte di carbonio} & \multicolumn{6}{l}{Attività (mU/mg)} \\
    \cmidrule(lr){3-8}
    & & XI & XK & TA & TK & PMI & FK \\
    \midrule
    pZA22 & Glucosio & $<1$ & $<1$ & $42$ & $68$ & nd & nd \\
    \multirow{2}*{pZA22-xtR} & Glucosio & $211$ & $521$ & $123$ & $187$ & nd & nd \\
    & Xilosio & $389$ & $316$ & $181$ & $312$ & nd & nd \\
    \multirow{3}*{\textit{sucZE2::manA}/{pZA22-xtR}}%
    & Glucosio & $183$ & $415$ & $174$ & $108$ & $118$ & $154$ \\
    & Xilosio & $287$ & $452$ & $278$ & $143$ & $132$ & $168$ \\
    & Mannosio & $169$ & $380$ & $230$ & $120$ & $275$ & $290$ \\
    \bottomrule
    \end{tabular}
    \end{table}`

    Così com’è è troppo larga e va oltre i margini della pagina (uso Latex 2 con la classe book, tutto di default). Io voglio semplicemente che il testo della 3° riga 1° colonna vada a capo dopo /, in questo modo:

    sucZE2::manA/
    {pZA22-xtR}

    Ho provato con la colonna p di dimensione prefissata, ma il testo non va a capo, anzi finisce per sovrapporsi a quello della seconda colonna. Stessa cosa con le colonne X. Conoscete qualche altra soluzione?
    Grazie a tutti 8)

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

      nico_arctic” post=88867Ciao a tutti. Ho questa tabella che mi sta facendo impazzire

      `
      \begin{table}[tb]
      \centering
      \caption{Espressione dei geni codificanti gli enzimi per il catabolismo dello xilosio di \textit{E. coli} in \textit{Z. mobilis}}
      \label{tab:xilosio}
      \begin{tabular}{lllccccc}
      \toprule
      \multirow{2}*{Plasmide} & \multirow{2}*{Fonte di carbonio} & \multicolumn{6}{l}{Attività (mU/mg)} \\
      \cmidrule(lr){3-8}
      & & XI & XK & TA & TK & PMI & FK \\
      \midrule
      pZA22 & Glucosio & $<1$ & $<1$ & $42$ & $68$ & nd & nd \\
      \multirow{2}*{pZA22-xtR} & Glucosio & $211$ & $521$ & $123$ & $187$ & nd & nd \\
      & Xilosio & $389$ & $316$ & $181$ & $312$ & nd & nd \\
      \multirow{3}*{\textit{sucZE2::manA}/{pZA22-xtR}}%
      & Glucosio & $183$ & $415$ & $174$ & $108$ & $118$ & $154$ \\
      & Xilosio & $287$ & $452$ & $278$ & $143$ & $132$ & $168$ \\
      & Mannosio & $169$ & $380$ & $230$ & $120$ & $275$ & $290$ \\
      \bottomrule
      \end{tabular}
      \end{table}`

      Così com’è è troppo larga e va oltre i margini della pagina (uso Latex 2 con la classe book, tutto di default). Io voglio semplicemente che il testo della 3° riga 1° colonna vada a capo dopo /, in questo modo:

      sucZE2::manA/
      {pZA22-xtR}

      Ho provato con la colonna p di dimensione prefissata, ma il testo non va a capo, anzi finisce per sovrapporsi a quello della seconda colonna. Stessa cosa con le colonne X. Conoscete qualche altra soluzione?
      Grazie a tutti 8)

      Devo ancora vedere una tabella con [tt]\multirow[/tt] che non potesse essere migliorata togliendolo. 😉
      `\documentclass[a4paper]{article}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{amsmath,varwidth}
      \usepackage{booktabs}
      \newcommand{\undepth}[1]{%
      \smash{%
      \begin{varwidth}[t]{\linewidth}#1\end{varwidth}
      }%
      }

      \begin{document}
      \noindent
      \begin{tabular}{lllccccc}
      \toprule
      Plasmide & Fonte di carbonio & \multicolumn{6}{l}{Attività (mU/mg)} \\
      \cmidrule(lr){3-8}
      & & XI & XK & TA & TK & PMI & FK \\
      \midrule
      pZA22 & Glucosio & $<1$ & $<1$ & $42$ & $68$ & nd & nd \\
      \midrule
      pZA22-xtR & Glucosio & $211$ & $521$ & $123$ & $187$ & nd & nd \\
      & Xilosio & $389$ & $316$ & $181$ & $312$ & nd & nd \\
      \midrule
      \undepth{\textit{sucZE2::manA}/\\ pZA22-xtR}%
      & Glucosio & $183$ & $415$ & $174$ & $108$ & $118$ & $154$ \\
      & Xilosio & $287$ & $452$ & $278$ & $143$ & $132$ & $168$ \\
      & Mannosio & $169$ & $380$ & $230$ & $120$ & $275$ & $290$ \\
      \bottomrule
      \end{tabular}

      \end{document}`
      Naturalmente devi dire dove vuoi che ci sia il fine riga.

      Ciao
      Enrico

    • #89371
      Up
      0
      Down
      ::


      Prova a modificare la riga incriminata così:
      `
      \multirow{3}{16ex}{\textit{sucZE2::manA}/\\{pZA22-xtR}}%
      `
      Purtroppo devi scrivere tu la spaziatura della tabella, se provi a mettere il doppio slash senza specificare una misura, non lo accetta e dà un errore. L’unità di misura che ho usato, nel caso non la conoscessi, corrisponde circa alla larghezza di una x minuscola del font corrente e cambia se cambi il font.

      EDTI 1:Scusa @egreg, il coamando [tt]\undepth[/tt] è una macro di basso livello? Perché non trovo niente su google.

      EDIT 2: Chiedo venia, non ho visto che era definito nel preambolo che hai scritto. 😳

    • #89372
      Up
      0
      Down
      ::


      Grazie ad entrambi, funzionano tutti e due i modi;)

      Purtroppo devi scrivere tu la spaziatura della tabella, se provi a mettere il doppio slash senza specificare una misura, non lo accetta e dà un errore.

      Grazie della dritta, non sapevo si potesse forzare la spaziatura di un multirow

    • #89373
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        In ogni caso se usi [tt]\slash[/tt] al posto di [tt] / [/tt] scrivi una barra dopo la quale si può andare a capo. scrivendo /\\ forzi “l’a capo” in quel punto; con \slash lo consenti, non lo forzi; con / lo impedisci e quindi non puoi andare a a capo.

      • #89374
        Up
        0
        Down
        ::

        OldClaudio” post=88875In ogni caso se usi [tt]\slash[/tt] al posto di [tt] / [/tt] scrivi una barra dopo la quale si può andare a capo. scrivendo /\\ forzi “l’a capo” in quel punto; con \slash lo consenti, non lo forzi; con / lo impedisci e quindi non puoi andare a a capo.

        Ma quindi il carattere [tt]/[/tt] fa il perfetto contrario del trattino [tt]-[/tt], che invece permette la censura?

      • #89375
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Sì, / impedisce la cesura e \slash permette la cesura.

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

      Go to top