Problema Tabella e \multicolumn

  • Creatore
    Topic
  • #108284
    Up
    0
    Down
    ::


    Salve ragazzi, ho un problemino all’apparenza banale ma che non riesco a risolvere. Una semplice tabella con \multicolumn mi da il seguente errore:

    `Misplaced \omit: \multicolumn{2}{c}{XX}`

    Il problema è nelle prime due colonne, se rimuovo il comando \multicolumn nella prima parte (prime due colonne) non da alcun errore, ma perdo il centramento.
    Questo è il codice completo:

    `\documentclass[a4paper,12pt]{scrreprt}

    \usepackage[italian]{babel}
    \usepackage{eurosym}
    \usepackage[utf8]{inputenc}
    \usepackage[10pt]{type1ec}
    \usepackage[T1]{fontenc}
    \usepackage[table,dvipsnames]{xcolor}
    \usepackage[linedheaders,beramono,pdfspacing,subfig,tocaligned,dottedtoc]{classicthesis}
    \usepackage{graphicx}
    \usepackage{tabularx, array}
    \usepackage[babel]{csquotes}
    \usepackage{guit}
    \usepackage{subfig}
    \usepackage{floatflt,epsfig}

    \begin{document}

    {\renewcommand\arraystretch{1.5}
    \begin{table}[!ht]
    \centering \tabcolsep=3.0mm
    \caption{\footnotesize CAPTION.}
    \vspace{3mm}
    \footnotesize
    \begin{tabular}{lrlr}
    \toprule
    \hline\rule[-2mm]{0mm}{6mm}
    \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY}\\
    \hline
    N: & $XX$ & N: & $XX$\\
    Mean rank: & $XX$ & Mean rank: & $XX$\\
    \hline
    \bottomrule
    \end{tabular}\\
    \label{tab1:1}
    \end{table}}
    \end{document}`

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #108285
      Up
      0
      Down
      ::

      RIDDICK” post=108413Salve ragazzi, ho un problemino all’apparenza banale ma che non riesco a risolvere. Una semplice tabella con \multicolumn mi da il seguente errore:

      `Misplaced \omit: \multicolumn{2}{c}{XX}`

      Il problema è nelle prime due colonne, se rimuovo il comando \multicolumn nella prima parte (prime due colonne) non da alcun errore, ma perdo il centramento.
      Questo è il codice completo:

      `\documentclass[a4paper,12pt]{scrreprt}

      \usepackage[italian]{babel}
      \usepackage{eurosym}
      \usepackage[utf8]{inputenc}
      \usepackage[10pt]{type1ec}
      \usepackage[T1]{fontenc}
      \usepackage[table,dvipsnames]{xcolor}
      \usepackage[linedheaders,beramono,pdfspacing,subfig,tocaligned,dottedtoc]{classicthesis}
      \usepackage{graphicx}
      \usepackage{tabularx, array}
      \usepackage[babel]{csquotes}
      \usepackage{guit}
      \usepackage{subfig}
      \usepackage{floatflt,epsfig}

      \begin{document}

      {\renewcommand\arraystretch{1.5}
      \begin{table}[!ht]
      \centering \tabcolsep=3.0mm
      \caption{\footnotesize CAPTION.}
      \vspace{3mm}
      \footnotesize
      \begin{tabular}{lrlr}
      \toprule
      \hline\rule[-2mm]{0mm}{6mm}
      \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY}\\
      \hline
      N: & $XX$ & N: & $XX$\\
      Mean rank: & $XX$ & Mean rank: & $XX$\\
      \hline
      \bottomrule
      \end{tabular}\\
      \label{tab1:1}
      \end{table}}
      \end{document}`

      Ora ho poco tempo per risponderti con calma, ma solo a guardarlo il tuo codice è un accrocchio che, in confronto, quello montato sulla macchina del Ponchia era a norma! 🙂

      Posso chiederti dove l’hai scovato? È un chiaro esempio di come non bisogna scrivere codice LaTeX. Forse altri prima di me ti risponderanno.

      Ciao
      Tommaso

    • #108286
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Togli`\hline\rule[-2mm]{0mm}{6mm}`

      • #108287
        Up
        0
        Down
        ::

        illinguista1972″ post=108414

        Salve ragazzi, ho un problemino all’apparenza banale ma che non riesco a risolvere. Una semplice tabella con \multicolumn mi da il seguente errore:

        `Misplaced \omit: \multicolumn{2}{c}{XX}`

        Il problema è nelle prime due colonne, se rimuovo il comando \multicolumn nella prima parte (prime due colonne) non da alcun errore, ma perdo il centramento.
        Questo è il codice completo:

        `\documentclass[a4paper,12pt]{scrreprt}

        \usepackage[italian]{babel}
        \usepackage{eurosym}
        \usepackage[utf8]{inputenc}
        \usepackage[10pt]{type1ec}
        \usepackage[T1]{fontenc}
        \usepackage[table,dvipsnames]{xcolor}
        \usepackage[linedheaders,beramono,pdfspacing,subfig,tocaligned,dottedtoc]{classicthesis}
        \usepackage{graphicx}
        \usepackage{tabularx, array}
        \usepackage[babel]{csquotes}
        \usepackage{guit}
        \usepackage{subfig}
        \usepackage{floatflt,epsfig}

        \begin{document}

        {\renewcommand\arraystretch{1.5}
        \begin{table}[!ht]
        \centering \tabcolsep=3.0mm
        \caption{\footnotesize CAPTION.}
        \vspace{3mm}
        \footnotesize
        \begin{tabular}{lrlr}
        \toprule
        \hline\rule[-2mm]{0mm}{6mm}
        \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY}\\
        \hline
        N: & $XX$ & N: & $XX$\\
        Mean rank: & $XX$ & Mean rank: & $XX$\\
        \hline
        \bottomrule
        \end{tabular}\\
        \label{tab1:1}
        \end{table}}
        \end{document}`

        Ora ho poco tempo per risponderti con calma, ma solo a guardarlo il tuo codice è un accrocchio che, in confronto, quello montato sulla macchina del Ponchia era a norma! 🙂

        Posso chiederti dove l’hai scovato? È un chiaro esempio di come non bisogna scrivere codice LaTeX. Forse altri prima di me ti risponderanno.

        Ciao
        Tommaso

        Se questa è la premessa posso fare a meno della tua risposta, grazie. L’atteggiamento da saputello (tienitelo per te…) senza dare alcuna soluzione al problema posto non serve a nulla (per non essere volgare). Passa il tempo, ma certe cose non cambiano mai… 😆

        OldClaudio” post=108415Togli
        `\hline\rule[-2mm]{0mm}{6mm}`

        Grazie Claudio, si avevo già provato con questa soluzione, ma perdo lo stile della tabella… Non c’è modo di mantenere la doppia linea? EDIT: Si la doppia linea può rimanere, il problema è con il comando \rule.

      • #108288
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          I filetti doppi non si mettono mai nelle tabelle professionali. Tuttavia se ahi piacere di divertirti con queste personalizzazioni allora togli quella riga, e anche la riga superiore, quindi sostituisci `\toprule
          \hline\rule[-2mm]{0pt}{0pt}`con`\noalign{%
          \hrule height 1pt
          \vskip 3pt
          \hrule height 0.5pt
          \vkip 2mm
          }`aggiustando le misure che ti ho indicato a titolo di esempio come ti piace.
          Non vorrei che poi la tabella sembri listata a lutto.

        • #108289
          Up
          0
          Down
          ::

          RIDDICK” post=108416

          [quote=”RIDDICK” post=108413]Salve ragazzi, ho un problemino all’apparenza banale ma che non riesco a risolvere. Una semplice tabella con \multicolumn mi da il seguente errore:

          `Misplaced \omit: \multicolumn{2}{c}{XX}`

          Il problema è nelle prime due colonne, se rimuovo il comando \multicolumn nella prima parte (prime due colonne) non da alcun errore, ma perdo il centramento.
          Questo è il codice completo:

          `\documentclass[a4paper,12pt]{scrreprt}

          \usepackage[italian]{babel}
          \usepackage{eurosym}
          \usepackage[utf8]{inputenc}
          \usepackage[10pt]{type1ec}
          \usepackage[T1]{fontenc}
          \usepackage[table,dvipsnames]{xcolor}
          \usepackage[linedheaders,beramono,pdfspacing,subfig,tocaligned,dottedtoc]{classicthesis}
          \usepackage{graphicx}
          \usepackage{tabularx, array}
          \usepackage[babel]{csquotes}
          \usepackage{guit}
          \usepackage{subfig}
          \usepackage{floatflt,epsfig}

          \begin{document}

          {\renewcommand\arraystretch{1.5}
          \begin{table}[!ht]
          \centering \tabcolsep=3.0mm
          \caption{\footnotesize CAPTION.}
          \vspace{3mm}
          \footnotesize
          \begin{tabular}{lrlr}
          \toprule
          \hline\rule[-2mm]{0mm}{6mm}
          \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY}\\
          \hline
          N: & $XX$ & N: & $XX$\\
          Mean rank: & $XX$ & Mean rank: & $XX$\\
          \hline
          \bottomrule
          \end{tabular}\\
          \label{tab1:1}
          \end{table}}
          \end{document}`

          Ora ho poco tempo per risponderti con calma, ma solo a guardarlo il tuo codice è un accrocchio che, in confronto, quello montato sulla macchina del Ponchia era a norma! 🙂

          Posso chiederti dove l’hai scovato? È un chiaro esempio di come non bisogna scrivere codice LaTeX. Forse altri prima di me ti risponderanno.

          Ciao
          Tommaso

          Se questa è la premessa posso fare a meno della tua risposta, grazie. L’atteggiamento da saputello (tienitelo per te…) senza dare alcuna soluzione al problema posto non serve a nulla (per non essere volgare). Passa il tempo, ma certe cose non cambiano mai… 😆

          OldClaudio” post=108415Togli
          `\hline\rule[-2mm]{0mm}{6mm}`

          Grazie Claudio, si avevo già provato con questa soluzione, ma perdo lo stile della tabella… Non c’è modo di mantenere la doppia linea? EDIT: Si la doppia linea può rimanere, il problema è con il comando \rule.[/quote]
          Ho scritto che non avevo tempo per risponderti, non che non ti avrei risposto. La tua tabella, molto semplicemente, può diventare:
          `\documentclass[a4paper]{article}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}
          \usepackage{booktabs,caption}

          \begin{document}

          \begin{table}
          \centering
          \caption{Didascalia}
          \label{tab:etichetta}
          \begin{tabular}{lrlr}
          \toprule
          \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY} \\
          \midrule
          N: & $XX$ & N: & $XX$ \\
          Mean rank: & $XX$ & Mean rank: & $XX$ \\
          \bottomrule
          \end{tabular}
          \end{table}

          \end{document}`
          Se hai bisogno del doppio filetto, cosa da non fare mai, come raccomandano tutti, basta mettere un doppio [tt]\toprule[/tt] e un doppio [tt]\bottomrule[/tt]. Io, almeno, farei così.

          Ciao
          Tommaso

        • #108290
          Up
          0
          Down
          ::

          OldClaudio” post=108417I filetti doppi non si mettono mai nelle tabelle professionali. Tuttavia se ahi piacere di divertirti con queste personalizzazioni allora togli quella riga, e anche la riga superiore, quindi sostituisci `\toprule
          \hline\rule[-2mm]{0pt}{0pt}`con`\noalign{%
          \hrule height 1pt
          \vskip 3pt
          \hrule height 0.5pt
          \vkip 2mm
          }`aggiustando le misure che ti ho indicato a titolo di esempio come ti piace.
          Non vorrei che poi la tabella sembri listata a lutto.

          Grazie, anche se preferisco \vspace a \vskip (che mi causa sempre qualche problema).

          illinguista1972″ post=108418La tua tabella, molto semplicemente, può diventare:
          `\documentclass[a4paper]{article}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}
          \usepackage{booktabs,caption}

          \begin{document}

          \begin{table}
          \centering
          \caption{Didascalia}
          \label{tab:etichetta}
          \begin{tabular}{lrlr}
          \toprule
          \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY} \\
          \midrule
          N: & $XX$ & N: & $XX$ \\
          Mean rank: & $XX$ & Mean rank: & $XX$ \\
          \bottomrule
          \end{tabular}
          \end{table}

          \end{document}`
          Se hai bisogno del doppio filetto, cosa da non fare mai, come raccomandano tutti, basta mettere un doppio [tt]\toprule[/tt] e un doppio [tt]\bottomrule[/tt]. Io, almeno, farei così.

          Ciao
          Tommaso

          Ciao Tommaso, con il codice che mi hai suggerito non è possibile relgolare né l’altezza delle righe né lo spazio tra le colonne. La differenza tra il mio codice e il tuo sta proprio in questo (oltre all’aggiustamento verticale della didascalia che, nelle tabelle va sopra, è troppo attaccata alla tabella). Sono conscio delle standardizzazioni acclamate nella compilazione di documenti professionali, ecc., tuttavia se fossimo tutti uguali… Che noia! 😆 😉

        • #108291
          Up
          0
          Down
          ::

          RIDDICK” post=108420

          I filetti doppi non si mettono mai nelle tabelle professionali. Tuttavia se ahi piacere di divertirti con queste personalizzazioni allora togli quella riga, e anche la riga superiore, quindi sostituisci `\toprule
          \hline\rule[-2mm]{0pt}{0pt}`con`\noalign{%
          \hrule height 1pt
          \vskip 3pt
          \hrule height 0.5pt
          \vkip 2mm
          }`aggiustando le misure che ti ho indicato a titolo di esempio come ti piace.
          Non vorrei che poi la tabella sembri listata a lutto.

          Grazie, anche se preferisco \vspace a \vskip (che mi causa sempre qualche problema).

          illinguista1972″ post=108418La tua tabella, molto semplicemente, può diventare:
          `\documentclass[a4paper]{article}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}
          \usepackage{booktabs,caption}

          \begin{document}

          \begin{table}
          \centering
          \caption{Didascalia}
          \label{tab:etichetta}
          \begin{tabular}{lrlr}
          \toprule
          \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY} \\
          \midrule
          N: & $XX$ & N: & $XX$ \\
          Mean rank: & $XX$ & Mean rank: & $XX$ \\
          \bottomrule
          \end{tabular}
          \end{table}

          \end{document}`
          Se hai bisogno del doppio filetto, cosa da non fare mai, come raccomandano tutti, basta mettere un doppio [tt]\toprule[/tt] e un doppio [tt]\bottomrule[/tt]. Io, almeno, farei così.

          Ciao
          Tommaso

          Ciao Tommaso, con il codice che mi hai suggerito non è possibile relgolare né l’altezza delle righe né lo spazio tra le colonne. La differenza tra il mio codice e il tuo sta proprio in questo (oltre all’aggiustamento verticale della didascalia che, nelle tabelle va sopra, è troppo attaccata alla tabella). Sono conscio delle standardizzazioni acclamate nella compilazione di documenti professionali, ecc., tuttavia se fossimo tutti uguali… Che noia! 😆 😉

          `\documentclass[a4paper]{article}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}

          \usepackage{booktabs}
          \usepackage[skip=2cm]{caption}

          \begin{document}

          \begin{table}
          \centering
          \caption{Didascalia.}
          \label{tab:etichetta}
          \begin{tabular}{l@{\qquad}r@{\qquad\qquad}l@{\hspace{2cm}}r}
          \toprule
          \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY} \\
          \midrule
          N: & $XX$ & N: & $XX$ \\[1cm]
          Mean rank: & $XX$ & Mean rank: & $XX$ \\[1.5cm]
          N: & $XX$ & N: & $XX$ \\[2cm]
          Mean rank: & $XX$ & Mean rank: & $XX$ \\[2.5cm]
          \bottomrule
          \end{tabular}
          \end{table}

          \end{document}`
          Cambia i valori a tuo piacimento.

          Ciao
          Tommaso

        • #108292
          Up
          0
          Down
          ::

          RIDDICK” post=108413Salve ragazzi, ho un problemino all’apparenza banale ma che non riesco a risolvere. Una semplice tabella con \multicolumn mi da il seguente errore:

          `Misplaced \omit: \multicolumn{2}{c}{XX}`

          Il problema è nelle prime due colonne, se rimuovo il comando \multicolumn nella prima parte (prime due colonne) non da alcun errore, ma perdo il centramento.
          Questo è il codice completo:

          `\documentclass[a4paper,12pt]{scrreprt}

          \usepackage[italian]{babel}
          \usepackage{eurosym}
          \usepackage[utf8]{inputenc}
          \usepackage[10pt]{type1ec}
          \usepackage[T1]{fontenc}
          \usepackage[table,dvipsnames]{xcolor}
          \usepackage[linedheaders,beramono,pdfspacing,subfig,tocaligned,dottedtoc]{classicthesis}
          \usepackage{graphicx}
          \usepackage{tabularx, array}
          \usepackage[babel]{csquotes}
          \usepackage{guit}
          \usepackage{subfig}
          \usepackage{floatflt,epsfig}

          \begin{document}

          {\renewcommand\arraystretch{1.5}
          \begin{table}[!ht]
          \centering \tabcolsep=3.0mm
          \caption{\footnotesize CAPTION.}
          \vspace{3mm}
          \footnotesize
          \begin{tabular}{lrlr}
          \toprule
          \hline\rule[-2mm]{0mm}{6mm}
          \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY}\\
          \hline
          N: & $XX$ & N: & $XX$\\
          Mean rank: & $XX$ & Mean rank: & $XX$\\
          \hline
          \bottomrule
          \end{tabular}\\
          \label{tab1:1}
          \end{table}}
          \end{document}`

          I pacchetti type1ec e epsfig sono obsoleti da anni.

          La parte
          `
          {\renewcommand{\arraystretch}{1.5}
          \begin{table}[!ht]

          \end{table}}
          `
          è francamente oscena. Siccome [tt]table[/tt] è un ambiente, la ridefinizione di [tt]\arraystretch[/tt] data all’interno di esso sparisce quando l’ambiente termina.

          Dici di preferire [tt]\vspace[/tt] a [tt]\vskip[/tt] (e fai bene}, ma poi scrivi [tt]\tabcolsep=3.0mm[/tt]. Decidi se vuoi conformarti alla sintassi LaTeX o no! 🙂 Il comando [tt]\footnotesize[/tt] nell’argomento di [tt]\caption[/tt] è un erroraccio da matita blu. Avrai “Figura 1” in corpo normale e il testo della didascalia piccolo.

          La combinazione [tt]\toprule\hline\rule[-2mm]{0mm}{6mm}[/tt] è molto misteriosa. Sta di fatto che [tt]\rule[/tt] è la causa del tuo guaio, perché è un comando di testo (anche se produce un filetto) e quindi comincia una cella, rendendo illegale il [tt]\multicolumn[/tt] che segue.

          Il pacchetto booktabs ti permette di fare molto meglio che [tt]\toprule\hline[/tt], vedi il codice più avanti.

          Invece di aggiungere a mano [tt]\vspace{3mm}[/tt] dopo la didascalia (a proposito, [tt]\label[/tt] si riferisce alla didascalia stessa, meglio scriverli vicini), imposta correttamente il parametro.

          Per finire, il codice un po’ ripulito, anche nell’ordine di caricamento dei pacchetti.

          `
          \documentclass[
          a4paper,
          12pt,
          captions=tableabove,
          ]{scrreprt}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}

          \usepackage[table,dvipsnames]{xcolor}

          \usepackage[
          linedheaders,
          beramono,
          pdfspacing,
          subfig,
          tocaligned,
          dottedtoc
          ]{classicthesis}
          \usepackage{eurosym}
          %\usepackage{graphicx}
          \usepackage{tabularx, array,booktabs}
          \usepackage[babel]{csquotes}
          \usepackage{guit}
          \usepackage{caption}
          \usepackage{subfig}
          \usepackage{floatflt}

          \captionsetup{font=footnotesize}
          \captionsetup[table]{skip=3mm}

          \begin{document}

          \begin{table}[!htp]
          \centering\footnotesize

          \caption{CAPTION.}\label{tab1:1}

          %\renewcommand\arraystretch{1.5}
          \setlength{\tabcolsep}{3.0mm}

          \begin{tabular}{lrlr}
          \toprule
          \toprule[\lightrulewidth]
          \multicolumn{2}{c}{XX} & \multicolumn{2}{c}{YY}\\
          \midrule
          N: & $XX$ & N: & $XX$\\
          Mean rank: & $XX$ & Mean rank: & $XX$\\
          \bottomrule[\lightrulewidth]
          \bottomrule
          \end{tabular}

          \end{table}

          \end{document}
          `

          Se, per caso, l’impostazione [tt]\footnotesize[/tt] è solo per la particolare tabella, la riga
          `
          \captionsetup{font=footnotesize}
          `
          va nell’ambiente [tt]table[/tt] specifico. Non dimenticare [tt][p][/tt] tra le opzioni a [tt]table[/tt].

          [attachment=1776]ScreenShot2016-10-18at16.54.47.png[/attachment]

          Se ritieni che il mio tono sia da saputello, pazienza. Ma io so.

          Ciao
          Enrico

          Attachments:
          You must be logged in to view attached files.
      Visualizzazione 7 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top