Tabelle gibt Fehler aus nach Nutzung von \multicolumn

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabelle gibt Fehler aus nach Nutzung von \multicolumn

von GiFi » So 16. Jun 2019, 12:16

Vielen Dank für die ausführlichen Erläuterungen, jetzt ist mir Alles soweit klar und es läuft Alles.
Aus irgendeinem Grund haben die m- Spalten bei mir nicht funktioniert, jetzt tun sie dies aber.

Damit die Überschriften alle gleich hoch skaliert werden, habe ich "\newline" verwendet, statt dem Umbruch "\\", denn ansonsten waren die Überschriften versetzt, aber auch das funktioniert jetzt super mit "\newline". Es lag tatsächlich an dem Schalter, der das Verhalten von "\\" ändert.


Danke für die rasche, gelungene Hilfe!

von esdd » So 16. Jun 2019, 01:32

\begin{tabular}{|*{2}{>{\centering}p{2.5cm}|}*{2}{>{\centering}p{5cm}|}} 
Die Spaltendefinition beginnt mit der vertikalen Linie |. Mit
*{2}{p{2.5cm}|}
werden 2 aufeinanderfolgende p-Spalten der Breite 2.5cm definiert, die jeweils von einer vertikalen Linie gefolgt werden. Das ist also eine Abkürzung für
p{2.5cm}|p{2.5cm}|
Analog definiert
*{2}{p{5cm}|}
dann noch 2 aufeinanderfolgende p-Spalten der Breite 5cm, die ebenfalls jeweils von einer vertikalen Linie gefolgt werden.

Mit
>{\centering}{p{2.5cm}}
wird zu Beginn jeder Zelle in der Spalte die Anweisung \centering eingefügt. Dafür wird das Paket array benötigt.

In der letzten Zelle einer Zeile musst Du nach \centering noch \arraybackslash einfügen oder Du beendest die Zeilen einfach immer mit \tabularnewline statt \\.

Wenn die Zellen vertikal zentriert werden sollen, dann ersetze alle p-Spalten durch m-Spalten:
\documentclass{scrartcl}
\usepackage{array}
\begin{document}

\begin{tabular}{|*{2}{>{\centering}m{2.5cm}|}*{2}{>{\centering}m{5cm}|}} 
\hline 
\multicolumn{2}{|l|}{\textbf{Kategorie 1:}} & \multicolumn{2}{c|}{Anzahl} \\ 
\hline 
Nr. \\ (Verfahren 1) & Nr. (Verfahren 2) & Verfahren 1 & Verfahren 2 \tabularnewline
Nr. \\ (Verfahren 3) & Nr. (Verfahren 4) & Verfahren 3 & Verfahren 4 \tabularnewline
\hline
\end{tabular} 
\end{document}

von GiFi » Sa 15. Jun 2019, 22:22

Ja, natürlich, ich bin neu hier im Forum und war mir nicht ganz sicher, wie ich Alles richtig mache, also bitte Nachsicht, ich gebe mir alle Mühe, zumal ich allen mathematischen Teil, Grafiken etc. schon eingepflegt habe, das Layout macht mir echt Mühe.


Ich würde es gerne ganz verstehen, daher frage ich nochmal nach: \centering kann ich also bereits oben verwenden und muss nicht jeweils vor das Argument gesetzt werden? Ansonsten könnte man, soweit ich weiß, auch noch:
\begin{center} Text \end{center} nutzen, oder?
Dazu bereits eine Frage: Wie bekomme ich noch die Texte: "Verfahren 1",..., "Verfahren 4" auch vertikal zentriert? Dazu haben meine Versuche leider auch noch nichts ergeben, was das gewünschte Ergebnis erzielt.

Das Beispiel hilft mir auf jeden Fall weiter, da es lauffähig ist, ich möchte gern dennoch ein paar Rückfragen stellen, um es vollständig zu verstehen, denn die Tabelle wird recht groß und verschachtelt, damit ich dann gut weiter komme - ich bedanke mich schon einmal für die rasche, gute Hilfe.

Mir ist noch nicht klar, wieso es bei mir die Probleme gab.
Wann genau verwende ich: \tabularnewline und wann: \\ ? Ich habe bislang immer mit Letzterem gearbeitet.


Zu guter Letzt bedarf es mir noch einer Erläuterung, was genau Alles in folgender Anweisung steckt:
\begin{tabular}{|*{2}{>{\centering}p{2.5cm}|}*{2}{>{\centering}p{5cm}|}} 
Ich versuche mich mal: Die erste Spalte ist linksbündig, "*{2}" kann ich noch nicht deuten, genauso wenig wie ">", die zweite Spalte ist dann zentriert mit Breite 2.5 (und automatischen Umbrüchen).

@Bartman: D.h. ansonsten kann ich das "\\" nicht nutzen bzw. die Bedeutung ändert sich?

Danke für den Hinweis: ich hätte lediglich das "\\" durch "tabularnewline" ersetzen müssen, dann läuft Alles.

Mein Code sieht also so aus:
\documentclass{scrartcl} 
\usepackage{array} 

\begin{document} 
\begin{tabular}{|p{2.5cm}|p{2.5cm}|p{5cm}|p{5cm}|} 
\hline 
\multicolumn{2}{|l|}{\textbf{Kategorie 1:}} & \multicolumn{2}{c|}{Anzahl} \\ 
\hline 
\centering{Nr. \newline (Verfahren 1)} & \centering{Nr. (Verfahren 2)} & \centering{Verfahren 1} & \centering{Verfahren 2} \tabularnewline 
\hline
\centering{Nr. \newline (Verfahren 3)} & \centering{Nr. (Verfahren 4)} & \centering{Verfahren 3} & \centering{Verfahren 4} \\ % Zeile 6 
\end{tabular} 
\end{document} 
Danke!

von Bartman » Sa 15. Jun 2019, 22:18

@GiFi

\centering ändert das Verhalten des Makros \\, d. h. falls der Schalter in der letzten Spalte benutzt wird, ist außerdem noch der Befehl \arraybackslash des Pakets array zu ergänzen.

von esdd » Sa 15. Jun 2019, 21:57

Kannst Du bitte Deinen Code so ändern, dass er lauffähig ist: siehe Minimalbeispiel
Dann haben wir eine Chance Dein Problem zu reproduzieren.

\centering ist übrigens ein Schalter und erwartet kein Argument.

Eventuell hilft Dir auch schon:
\documentclass{scrartcl}
\usepackage{array}
\begin{document}

\begin{tabular}{|*{2}{>{\centering}p{2.5cm}|}*{2}{>{\centering}p{5cm}|}} 
\hline 
\multicolumn{2}{|l|}{\textbf{Kategorie 1:}} & \multicolumn{2}{c|}{Anzahl} \\ 
\hline 
Nr. \\ (Verfahren 1) & Nr. (Verfahren 2) & Verfahren 1 & Verfahren 2 \tabularnewline
Nr. \\ (Verfahren 3) & Nr. (Verfahren 4) & Verfahren 3 & Verfahren 4 \tabularnewline
\hline
\end{tabular} 
\end{document}

Tabelle gibt Fehler aus nach Nutzung von \multicolumn

von GiFi » Sa 15. Jun 2019, 21:20

Hallo zusammen!

Ich habe doch mal eine Frage, die ich bislang noch nicht gelöst habe.

Versuche ich die sechste Zeile einzufügen, kommt folgender Fehler:
! Extra alignment tab has been changed to \cr.
<template> ...rayrulewidth \endgroup \endtemplate

Versuche ich alternativ die siebte Zeile einzufügen (\hline), kommt folgender Fehler:
! Misplaced \omit. \multispan ->\omit \@multispan


Mein exemplarischer, reduzierter Code lautet wie folgt:
\documentclass{scrartcl} 
\usepackage{array} 

\begin{document} 
\begin{tabular}{|p{2.5cm}|p{2.5cm}|p{5cm}|p{5cm}|}
\hline
\multicolumn{2}{|l|}{\textbf{Kategorie 1:}} & \multicolumn{2}{c|}{Anzahl} \\
\hline
\centering{Nr. \newline (Verfahren 1)} & \centering{Nr. (Verfahren 2)} & \centering{Verfahren 1} & \centering{Verfahren 2} \\
%\centering{Nr. \newline (Verfahren 3)} & \centering{Nr. (Verfahren 4)} & \centering{Verfahren 3} & \centering{Verfahren 4} \\ % Zeile 6
%\hline % Zeile 7 
\end{tabular}

\end{document}

Vielen Dank für Hilfe!

Nach oben