PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Große Tabelle mit multirow



The EYE
09-03-2010, 08:10
Hallo!

Ich versuche gerade eine relativ große Tabelle (14 Spalten) mit Hilfe von multirow zu erstellen. Leider komme ich noch nicht sehr weit.
Ich habe die Tabelle, die ich nachbauen möchte mal angehängt. Die zweite Spalte kann natürlich entfallen.

Zu multirow: Ich weiß, wie ich den allerersten Teil hinbekomme (siehe mein Minimalbeispiel), doch wie es jetzt noch weiter geht weiß ich nicht. Ich hoffe ihr könnt mir helfen. Die Doku zu multirow hat mir auch noch nicht so richtig die Augen geöffnet.



\documentclass[12pt]{article}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\begin{document}

\begin{table}[h]
\centering
\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\begin{tabular}{cc}
\toprule
\multirow{2}*{Neufundland und Labrador} & \bigstrut\\\cline{2-2}
& Kindergarten \bigstrut\\
\bottomrule
\end{tabular}
\end{table}

\end{document}


Gruß Max

mechanicus
09-03-2010, 16:51
Hi,

soetwas??

\documentclass[12pt]{article}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{rotating}
\begin{document}

\begin{sidewaystable}
\centering
\footnotesize
\renewcommand{\arraystretch}{1.5}
\def\MC#1{\multicolumn{3}{l}{#1}}
\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\begin{tabular}{@{}*{14}{c}@{}}
\toprule
\multirow{2}*{\parbox{2cm}{\centering Neufundland und Labrador}} & & \MC{Primary} & \MC{Elementary} & \MC{Intermediate} & \MC{Senior High} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}\cmidrule(lr){9-11}\cmidrule(l){12-14}
& Kindergarten & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & Level I & Level II & Level III\\
\bottomrule
\end{tabular}
\end{sidewaystable}

\end{document}

Gruß
Marco

The EYE
09-03-2010, 17:28
Ja, so in der Art. Doch es muss in eine Präsentation, daher ist ein Drehen der Tabelle nicht drin.

Wenn ich es "ganz normal" in einer Präsentation einbinde und mit PDFLatex kompiliere, wird die Tabelle dargestellt, jedoch schreibt sie über den Rand.

Leider nutze ich auch noch das Paket pstricks-add. Mit diesem Paket erhalte ich die Fehlermeldung:
Minimalbeispiel.tex:1542:No room for a new \dimen . \newdimen\chart@ColorIndex

Ich bin sehr ratlos...

ohne pstricks-add:

\documentclass{beamer}

\usetheme{Ilmenau}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx, amsmath}
\usepackage[T1]{fontenc}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{rotating}

\begin{document}

\begin{table}
\centering
\footnotesize
\renewcommand{\arraystretch}{1.5}
\def\MC#1{\multicolumn{3}{l}{#1}}
\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\begin{tabular}{@{}*{14}{c}@{}}
\toprule
\multirow{2}*{\parbox{2cm}{\centering Neufundland und Labrador}} & & \MC{Primary} & \MC{Elementary} & \MC{Intermediate} & \MC{Senior High} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}\cmidrule(lr){9-11}\cmidrule(l){12-14}
& Kindergarten & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & Level I & Level II & Level III\\
\bottomrule
\end{tabular}
\end{table}

\end{document}


Mit pstricks-add:

\documentclass{beamer}

\usetheme{Ilmenau}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx, amsmath}
\usepackage[T1]{fontenc}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{rotating}

\usepackage{pstricks-add}

\begin{document}

\begin{table}
\centering
\footnotesize
\renewcommand{\arraystretch}{1.5}
\def\MC#1{\multicolumn{3}{l}{#1}}
\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\begin{tabular}{@{}*{14}{c}@{}}
\toprule
\multirow{2}*{\parbox{2cm}{\centering Neufundland und Labrador}} & & \MC{Primary} & \MC{Elementary} & \MC{Intermediate} & \MC{Senior High} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}\cmidrule(lr){9-11}\cmidrule(l){12-14}
& Kindergarten & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & Level I & Level II & Level III\\
\bottomrule
\end{tabular}
\end{table}

\end{document}


Meine Änderungen bezüglich der Rotation der Tabelle sind rot gekennzeichnet.

Gruß Max

mechanicus
09-03-2010, 17:38
Leider nutze ich auch noch das Paket pstricks-add. Mit diesem Paket erhalte ich die Fehlermeldung:
Was heißt hier leider :mad: -- ;)


\documentclass{beamer}
\usepackage{etex}
\usetheme{Ilmenau}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx, amsmath}
\usepackage[T1]{fontenc}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{rotating}

\usepackage{pstricks-add}

\begin{document}

\begin{table}
\centering
\footnotesize
\renewcommand{\arraystretch}{1.5}
\def\MC#1{\multicolumn{3}{l}{#1}}
\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\begin{tabular}{@{}*{14}{c}@{}}
\toprule
\multirow{2}*{\parbox{2cm}{\centering Neufundland und Labrador}} & & \MC{Primary} & \MC{Elementary} & \MC{Intermediate} & \MC{Senior High} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}\cmidrule(lr){9-11}\cmidrule(l){12-14}
& Kindergarten & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & Level I & Level II & Level III\\
\bottomrule
\end{tabular}
\end{table}

\end{document}

Gruß
Marco

The EYE
09-03-2010, 18:09
Okay, super ;) - so meinte ich das lieder auch nicht :P

Allerdings wird die Tabelle weiterhin über den Rand geschrieben.
Und wie binde ich Bilder ein? Die Fehlermeldung verlangt immer bounding box für die Grafiken.


praesentation_kanada.tex:59:Cannot determine size of graphic in Abbildungen/flagge.jpg (no BoundingBox). \end{frame}

Gruß Max

mechanicus
09-03-2010, 18:13
Allerdings wird die Tabelle weiterhin über den Rand geschrieben.



\documentclass{beamer}
\usepackage{etex}
\usetheme{Ilmenau}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx, amsmath}
\usepackage[T1]{fontenc}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{rotating}

\usepackage{pstricks-add}

\begin{document}

\begin{table}
\centering
\footnotesize
\renewcommand{\arraystretch}{1.5}
\def\MC#1{\multicolumn{3}{l}{#1}}
\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\resizebox{\textwidth}{!}{%
\begin{tabular}{@{}*{14}{c}@{}}
\toprule
\multirow{2}*{\parbox{2cm}{\centering Neufundland und Labrador}} & & \MC{Primary} & \MC{Elementary} & \MC{Intermediate} & \MC{Senior High} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}\cmidrule(lr){9-11}\cmidrule(l){12-14}
& Kindergarten & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & Level I & Level II & Level III\\
\bottomrule
\end{tabular}%
}
\end{table}

\end{document}




Und wie binde ich Bilder ein? Die Fehlermeldung verlangt immer bounding box für die Grafiken.
Bilder müssen im Format ps oder eps vorliegen. jpg, png und pdf funktionieren nur mit pdflatex.

Gruß
Marco

The EYE
10-03-2010, 12:31
Hey!
Die sieht mit deinem Minimalbeispiel super aus! Doch in beamer eingefügt läuft es leider wieder nicht.

Das mit den Bildern hat übrigens super geklappt (als ps) - danke!

Hier nun ein beamer-Tabellen-Minimalbeispiel:

\documentclass{beamer}

\usetheme{Ilmenau}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx, amsmath}
\usepackage[T1]{fontenc}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{rotating}

\usepackage{pstricks-add}

\begin{document}

\begin{table}
\centering
\footnotesize
\renewcommand{\arraystretch}{1.5}
\def\MC#1{\multicolumn{3}{l}{#1}}
\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\resizebox{\textwidth}{!}{%
\begin{tabular}{@{}*{14}{c}@{}}
\toprule
\multirow{2}*{\parbox{2cm}{\centering Neufundland und Labrador}} & & \MC{Primary} & \MC{Elementary} & \MC{Intermediate} & \MC{Senior High} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}\cmidrule(lr){9-11}\cmidrule(l){12-14}
& Kindergarten & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & Level I & Level II & Level III\\
\bottomrule
\end{tabular}%
}
\end{table}

\end{document}

Gruß Max

mechanicus
10-03-2010, 17:14
Hier nun ein beamer-Tabellen-Minimalbeispiel:
wie wäre es, wenn du usepackage{etex} verwendest ;););)

ansonsten funktioniert dein MB. Vielleicht sollten wir mal beginnen, beamer-like eine frame-Umgebung zu nutzen.

Gruß
Marco

The EYE
10-03-2010, 18:41
Oh mann das kommt davon, wenn man überall rumfummelt und dann ein Beispiel zusammenkopiert....naja fällt auch nciht auf wenns nicht geht, wenn man das eh nicht erwartet :P - mom ich teste mal....

Gruß Max

edit:
so, leider läuft es doch noch nicht. Was habe ich vergessen?


\documentclass{beamer}
\usepackage{etex}
\usetheme{Ilmenau}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx, amsmath}
\usepackage[T1]{fontenc}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{rotating}


\usepackage{pstricks-add}

\begin{document}

\begin{frame}
\begin{table}
\centering
\footnotesize
\renewcommand{\arraystretch}{1.5}
\def\MC#1{\multicolumn{3}{l}{#1}}
\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\resizebox{\textwidth}{!}{%
\begin{tabular}{@{}*{14}{c}@{}}
\toprule
\multirow{2}*{\parbox{2cm}{\centering Neufundland und Labrador}} & & \MC{Primary} & \MC{Elementary} & \MC{Intermediate} & \MC{Senior High} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}\cmidrule(lr){9-11}\cmidrule(l){12-14}
& Kindergarten & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & Level I & Level II & Level III\\
\bottomrule
\end{tabular}%
}
\end{table}
\end{frame}

\end{document}


[LaTeX] mit Status 1 beendet
Minimalbeispiel.tex:0: Option `pdfpagelabels' is turned off(hyperref) because \thepage is undefined.
Minimalbeispiel.tex:36:Illegal parameter number in definition of \test. \end{table}
Minimalbeispiel.tex:36:Illegal parameter number in definition of \test. \end{table}
Minimalbeispiel.tex:37:Illegal parameter number in definition of \iterate. \end{frame}
Minimalbeispiel.tex:37:Illegal parameter number in definition of \iterate. \end{frame}
Minimalbeispiel.tex:37:Illegal parameter number in definition of \iterate. \end{frame}
Minimalbeispiel.tex:37:Illegal parameter number in definition of \iterate. \end{frame}
Minimalbeispiel.tex:37:Illegal parameter number in definition of \beamer@doifinframe. \end{frame}
Minimalbeispiel.tex:37:Illegal parameter number in definition of \beamer@doifinframe. \end{frame}

Gruß Max (der glaubt, dass er Tomaten auf den Augen hat) :o

mechanicus
10-03-2010, 19:06
Hi,

das Problem ist die Definition:

\def\MC#1{\multicolumn{3}{l}{#1}}

Du hast zwei Möglichkeiten:

1: Die Definition in den Header packen
2: Die Option fragile an frame übergeben

zu 1.:

\documentclass{beamer}
\usepackage{etex}
\usetheme{Ilmenau}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx, amsmath}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{rotating}


\usepackage{pstricks-add}
\def\MC#1{\multicolumn{3}{l}{#1}}
\begin{document}

\begin{frame}

\begin{table}

\centering
\footnotesize
\renewcommand{\arraystretch}{1.5}

\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\resizebox{\textwidth}{!}{%
\begin{tabular}{*{14}{c}}
\toprule
\multirow{2}*{\parbox{2cm}{\centering Neufundland und Labrador}} & & \MC{Primary} & \MC{Elementary} & \MC{Intermediate} & \MC{Senior High} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}\cmidrule(lr){9-11}\cmidrule(l){12-14}
& Kindergarten & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & Level I & Level II & Level III\\
\bottomrule
\end{tabular}%
}
\end{table}
\end{frame}

\end{document}

zu 2.:

\documentclass{beamer}
\usepackage{etex}
\usetheme{Ilmenau}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx, amsmath}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{rotating}


\usepackage{pstricks-add}

\begin{document}

\begin{frame}[fragile]
\begin{table}
\def\MC#1{\multicolumn{3}{l}{#1}}
\centering
\footnotesize
\renewcommand{\arraystretch}{1.5}

\caption{Beispiel für die Unterschiede zwischen den Provinzen}
\resizebox{\textwidth}{!}{%
\begin{tabular}{*{14}{c}}
\toprule
\multirow{2}*{\parbox{2cm}{\centering Neufundland und Labrador}} & & \MC{Primary} & \MC{Elementary} & \MC{Intermediate} & \MC{Senior High} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}\cmidrule(lr){9-11}\cmidrule(l){12-14}
& Kindergarten & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & Level I & Level II & Level III\\
\bottomrule
\end{tabular}%
}
\end{table}
\end{frame}

\end{document}

Gruß
Marco

The EYE
10-03-2010, 19:33
Hey super! Wieder was gelernt =) - dann werde ich mich mal an der zweiten Hälfte der Tabelle versuchen =)

Danke!

Gruß Max