Ich hatte die Tabelle in einem relativ großen Dokument. Sie wurde auch eine Zeitlang gesetzt. alt text

Nun kann ich den Fehler nicht finden. Ich weiß nur, dass wenn ich die Zeilen mit multirow auskommentiere, dass die Tabelle dann kompiliert wird. Es wäre super, wenn mir jemand helfen könnte.

Öffne in Overleaf
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{xcolor}
\usepackage[ %per-mode=fraction,
locale=DE   %% Setzt die Lokalisierung auf deutsch: Dezimalpunkt wird zu Komma
]{siunitx}

\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}

\begin{center}
    \begin{tabularx}{0.95\textwidth}{CS|S|S|S|S}
        && \multicolumn{3}{c|}{ Mathematik } & 
         \multirow{2}{*}{Summe}     %wenn ich diese Zeile und eine Zeile weiter unten auskommentiere, wird die Tabelle gesetzt
        \\ 
        && \multicolumn{1}{c|}{gute Noten}  & \multicolumn{1}{c|}{mittlere Noten } & \multicolumn{1}{c|}{schlechte Noten} &\\
        &&&&&\\[-9pt]
        \hline
        &&&&&\\[-9pt]
        \multirow{3}{*}{Musik\ \ \ }    %2. Zeile, die auskommentiert werden muss
        & \multicolumn{1}{r|}{gute Noten}& 6 & 9 &{\color{blue}{}13}&28\\
        & \multicolumn{1}{r|}{mittlere Noten}&10&28&{\color{blue}{}12}&50\\
        & \multicolumn{1}{r|}{schlechte Noten}&4&6&2&12\\ 
        &&&&&\\[-9pt]
        \hline
        &&&&&\\[-9pt]
        \multicolumn{2}{r|}{Summe}&20&43&27&90\\
    \end{tabularx}
\end{center}

\end{document}

gefragt 27 Aug '17, 11:40

Bettina_'s gravatar image

Bettina_
1113
Akzeptiert-Rate: 0%

bearbeitet 27 Aug '17, 23:39

1

Ich würde ja keine tabularx für eine derartige Tabelle verwenden. Abgesehen davon: Du musst die multirow vor der S-Spalte von siunitx schützen indem du Klammern benützt: {\multirow{2}{*}{Summe}}.

(27 Aug '17, 18:07) Ulrike Fischer

Vielen Dank für den Kommentar. Was würdest du denn für die Tabelle verwenden? Ich habe tabularx und siunitx verwendet, weil ich gerne die Zahlen nach dem Komma ausgerichtet haben möchte. Leider funktioniert das mit der Blaufärbung nicht. Mit {multirow{2}{*}{Summe}} wird die hline leider nicht durchgezogen.

(27 Aug '17, 20:31) Bettina_

Keine Ahnung, warum es im Overleaf jetzt so aussieht, wie es eigentlich gedacht war. Leider bekomme ich immer noch eine Fehlermeldung, wenn es mit texstudio setze. Aber egal, ich habe eine Lösung gefunden, die auch für mich funktioniert. Aus der "Spaltenart" "C" habe ich ein "l" gemacht, {multirow{2}{*}{Summe}} von Ulrike benutzt (Vielen Dank, Ulrike!) und wenn nötig die Tabelle etwas breiter gemacht.

(28 Aug '17, 12:12) Bettina_

Sollte ich die Frage jetzt löschen? Oder wie geht man jetzt am besten vor?

(28 Aug '17, 12:14) Bettina_

Wie Ulrike in einem Kommentar zur Frage bereits erklärt hat, muss man \multirow in S-Spalten durch zusätzliche Gruppenklammern schützen, damit siunitx gar nicht erst versucht, eine Zahl darin zu erkennen. Es muss also jeweils {\multirow{2}{*}{…}} an Stelle von \multirow{2}{*}{…} verwendet werden.

Bei der Tabelle liegt aber noch mehr im Argen:

  • So ergibt die Verwendung einer X-Spalte für die erste Spalte eigentlich keinen Sinn. Das weitet die Tabelle ggf. nur unnötig auf und macht sie schlechter lesbar. Eine c-Spalte ist hier vollkommen ausreichend.
  • Darüber hinaus sind auch diverse \multicolumn-Anweisungen überflüssig. Deklariert man die zweite Spalte direkt als r-Spalte statt als S-Spalte erhält man auch ohne \multicolumn in der zweiten Spalte das gewünschte Ergebnis.
  • Auch die \multicolumn-Anweisungen im Kopf sind nicht notwendig. Text in S-Spalten wird ohnehin in der Voreinstellung zum Dezimalpunkt zentriert. Gibt man nun noch an, dass die Zahlen keine Nachkommastellen haben, so passt das Ergebnis eigentlich auch ohne die \multicolumn-Anweisungen sehr gut. Auch hier empfehle ich, den Text mit Gruppenklammern zu schützen.
  • Das Umschalten der Farbe in der vorletzten Spalte zerstört bei Dir die Formatierung. Das liegt daran, dass die Zahlen darin durch die zusätzlichen Gruppenklammern als Text statt als Zahlen formatiert werden. Hier sind die zusätzlichen Klammern also unbedingt zu entfernen.
  • Das Paket multicol wird im Beispiel nicht benötigt. Ich vermute fast, hier wurde irrtümlich angenommen, das Paket wäre für \multicolumn notwendig. Tatsächlich bietet das Paket aber eine Erweiterung des Mehrspaltensatzes und hat mit Tabellen nichts zu tun.

Es ergibt sich damit folgendes, geändertes Beispiel:

Öffne in Overleaf
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{xcolor}
\usepackage[ %per-mode=fraction,
locale=DE   %% Setzt die Lokalisierung auf deutsch: Dezimalpunkt wird zu Komma
]{siunitx}

\begin{document}

\begin{center}
  \sisetup{table-format=2.0}% zwei Vorkomma- aber keine Nachkommastellen
    \begin{tabular}{cr|S|S|S|S}
        && \multicolumn{3}{c|}{ Mathematik } & 
         {\multirow{2}{*}{Summe}}% \multirow durch eine Gruppe vor siunitx schützen
        \\ 
        && {gute Noten}  & {mittlere Noten} & {schlechte Noten} &\\
        &&&&&\\[-9pt]
        \hline
        &&&&&\\[-9pt]
        {\multirow{3}{*}{Musik\ \ \ }}% \multirow durch eine Gruppe vor siunitx schützen
        & gute Noten & 6 & 9 &\color{blue}13&28\\
        & mittlere Noten &10&28&\color{blue}12&50\\
        & schlechte Noten &4&6&2&12\\ 
        &&&&&\\[-9pt]
        \hline
        &&&&&\\[-9pt]
        & Summe &20&43&27&90\\
    \end{tabular}
\end{center}

\end{document}

Bessere Tabelle

Eigentlich sollte man auch noch die seltsamen &&&&&\\[-9pt] eliminieren. Es ergibt ja eigentlich keinen Sinn, erst eine Leerzeile einzufügen und diese dann durch einen negativen vertikalen Abstand wieder zu verringern. Stattdessen wäre es sinnvoller, den Abstand bereits beim vorherigen Zeilenende einzufügen.

Allerdings könnte man auch gleich darüber nachdenken, auf die typografisch ohnehin bedenklichen, vertikalen Linien zu verzichten und dafür das Paket booktabs zu verwenden:

Öffne in Overleaf
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{xcolor}
\usepackage[ %per-mode=fraction,
locale=DE   %% Setzt die Lokalisierung auf deutsch: Dezimalpunkt wird zu Komma
]{siunitx}

\begin{document}

\begin{center}
  \sisetup{table-format=2.0}% zwei Vorkomma- aber keine Nachkommastellen
  \begin{tabular}{crSSSS}
    \toprule
    && \multicolumn{3}{c}{ Mathematik } & 
         {\multirow{2}{*}{Summe}}% \multirow durch eine Gruppe vor siunitx schützen
    \\ 
    && {gute Noten}  & {mittlere Noten} & {schlechte Noten} &\\
    \midrule
    {\multirow{3}{*}{Musik\ \ \ }}% \multirow durch eine Gruppe vor siunitx schützen
    & gute Noten & 6 & 9 &\color{blue}13&28\\
    & mittlere Noten &10&28&\color{blue}12&50\\
    & schlechte Noten &4&6&2&12\\ 
    \midrule
    & Summe &20&43&27&90\\
    \bottomrule
  \end{tabular}
\end{center}

\end{document}

die bessere Tabelle

Permanenter link

beantwortet 17 Okt '17, 10:10

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×32
×9

gestellte Frage: 27 Aug '17, 11:40

Frage wurde gesehen: 7,644 Mal

zuletzt geändert: 17 Okt '17, 10:10