tabularx mit \multicolumn

Tabellen und Grafiken erstellen und anordnen


Sputnik1983
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Mo 27. Jan 2014, 20:29

tabularx mit \multicolumn

Beitrag von Sputnik1983 »

Ich beschäftige mich gerade erstmals mit Tabellen in LaTeX und bin eigentlich ziemlich zufrieden für den ersten Versuch.

An der Stelle, an der der \blindtext steht, soll einiges an Text rein.
Ich hatte mir das so vorgestellt, das der Text über die ganze noch zur Verfügung stehenden Breit läuft, aber das mag ernicht machen.

Dachte mit dem multicolumn-Befehl genau das zu erreichen, aber das war wohl ein Trugschluss.

Würde mich sehr über Hilfe freuen!

Gruß
\documentclass[]{scrreprt}
\usepackage{selinput}
\SelectInputMappings{
 adieresis={ä},
 germandbls={ß},
 }
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{blindtext}
\usepackage{rotating}
\usepackage{tabularx}
\usepackage{booktabs}

\begin{document}	


\begin{sidewaystable}
	\caption{Tabellenunterschrift}
\begin{tabularx}{\textwidth}{lXllX} 
		\toprule
		 	\textbf{Datum und Zeit:} 
		 	&
		 	\multicolumn{2}{l}{05.04.2014}
		 	&
		 	\textbf{Klasse:} 1a
		 	&
		 	\textbf{Fach:} Deutsch\\

			\textbf{Thema der Einheit:}
			&
			\multicolumn{4}{l}{Die Schuldruckerei} \\
			\textbf{Thema der Stunde:}
			&
			\multicolumn{4}{l}{Einführung der Schuldruckerei} \\
			\textbf{Ziel(e)/ Kompetenzen:}
			&
			\multicolumn{4}{l}{Schriftspracherwerb} \\
			\textbf{Voraussetzungen:}
			&
			\multicolumn{4}{X}{\blindtext}\\
		\midrule
			\textbf{Zeit/ Unterrichtsphase} 
			& 
			\textbf{Geplantes Unterrichtsgeschehen} 
			& 
			\textbf{Sozialform} 
			& 
			\textbf{Medien}
			&
			\textbf{Didaktisch-/ Methodischer Kommentar} \\
		\midrule
			Unterrichtseinstieg
			&
			Test
			& 
			Freiarbeit 
			& 
			Ritterbuch
			& 
			Anmerkungen \\
		\bottomrule
\end{tabularx}
	\label{tab:Verlauf}
\end{sidewaystable}

\end{document}

Studi
Forum-Century
Forum-Century
Beiträge: 185
Registriert: So 5. Jan 2014, 20:18

Beitrag von Studi »

Die X-Spalten haben gleiche breite, die "innere" X-Spalte dehnt sich nicht einfach aus. Ich würde nicht zuviel Zeit verlieren und dann eben mal eine Breite manuell setzen, um zum Ergebnis zu kommen.
\multicolumn{4}{p{16cm}}{\blindtext}\\
Studi

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Du kannst für die erste Spalte eine Breite direkt vorgeben (oder diese für den längsten Eintrag in der Spalte ermitteln lassen) und dann aus dieser die Spaltenbreite für den langen Text ausrechnen.

Außerdem würde ich den Text in den X-Spalten nicht im Blocksatz setzen, sondern linksbündig ausgeben.
\documentclass[]{scrreprt} 
\usepackage{selinput} 
\SelectInputMappings{ 
  adieresis={ä}, 
  germandbls={ß}, 
  } 
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage{lmodern} 
\usepackage{blindtext} 
\usepackage{rotating} 
\usepackage{tabularx} 
\usepackage{booktabs}

\usepackage{ragged2e}
\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X}

\begin{document}   


\begin{sidewaystable} 
    \caption{Tabellenunterschrift} 
\begin{tabularx}{\textwidth}{p{4.5cm}LllL} 
       \toprule 
           \textbf{Datum und Zeit:} 
           & 
           \multicolumn{2}{l}{05.04.2014} 
           & 
           \textbf{Klasse:} 1a 
           & 
           \textbf{Fach:} Deutsch\\ 

          \textbf{Thema der Einheit:} 
          & 
          \multicolumn{4}{l}{Die Schuldruckerei} \\ 
          \textbf{Thema der Stunde:} 
          & 
          \multicolumn{4}{l}{Einführung der Schuldruckerei} \\ 
          \textbf{Ziel(e)/ Kompetenzen:} 
          & 
          \multicolumn{4}{l}{Schriftspracherwerb} \\ 
          \textbf{Voraussetzungen:} 
          & 
          \multicolumn{4}{p{\dimexpr\linewidth-4.5cm-4\tabcolsep\relax}}{\blindtext}\\ 
       \midrule 
          \textbf{Zeit/ Unterrichtsphase} 
          & 
          \textbf{Geplantes Unterrichtsgeschehen} 
          & 
          \textbf{Sozialform} 
          & 
          \textbf{Medien} 
          & 
          \textbf{Didaktisch-/ Methodischer Kommentar} \\ 
       \midrule 
          Unterrichtseinstieg 
          & 
          Test 
          & 
          Freiarbeit 
          & 
          Ritterbuch 
          & 
          Anmerkungen \\ 
       \bottomrule 
\end{tabularx} 
    \label{tab:Verlauf} 
\end{sidewaystable} 

\end{document}
Gruß
Elke

Sputnik1983
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Mo 27. Jan 2014, 20:29

Danke!

Beitrag von Sputnik1983 »

Funktioniert wunderbar!
Danke für die Hilfe!

Jetzt muss ich nur noch versuchen es fürs nächste mal zu verstehen ;)

Sputnik1983
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Mo 27. Jan 2014, 20:29

Umbau in longtabu

Beitrag von Sputnik1983 »

Ich musste leider nochmal etwas nachbasteln, da die Tabelle zu umfangreich geworden ist.
Ich hab sie jetzt in eine longtabu verwandelt und noch etwas hin un her probiert.
Funktioniert soweit auch alles, solange kein Feld die entsprechende Spalte über die Seite hinweg ausdehnt. Seitenumbrüche scheinen nur innerhalb von Spalten möglich zu sein. Außerdem funktioniert dann auch die Formatierung des Headers nicht mehr.
Gibt es eine Möglichkeit einen Seitenumbruch auch innerhalb einer Zeile zu erreichen?

Beim Rumprobieren habe ich alle Spalten auf X gesetzt, weil sich damit die Spalten so elegant um den Faktor X verbreitern lassen. Kann man das so machen?

Ich bekomme auch immer Overfull/ bzw Underfull \hbox Warnungen. Ich nehme mal an die sind normal und vernachlässigbar?

Zur Verdeutlichung zwei VMs.

Das erste als Orientierung, wie es aussehen soll:
\documentclass[a4paper]{scrreprt}

\usepackage{selinput}
\SelectInputMappings{
 adieresis={ä},
 germandbls={ß},
 }
 
\usepackage[ngerman]{babel}

\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{setspace}
\usepackage{blindtext}
\usepackage{pdflscape}
\usepackage{booktabs}
\usepackage{ragged2e}
\usepackage{array}
\usepackage{longtable}
\usepackage{tabularx}
\usepackage{tabu}	

\begin{document}

\begin{landscape} 
\begin{singlespacing}
\begin{small}
\tabulinesep=3pt
\begin{longtabu}to\linewidth{XXXX[4]X[2]}
\caption{Eine Tabelle}
\label{tab:Unterrichtsentwurf}\\
\toprule
\multicolumn{2}{l}{\textbf{Datum und Zeit}} & \today & & \textbf{Klasse:} 1a\\

\multicolumn{2}{l}{\textbf{Thema der Einheit:}} & \multicolumn{2}{l}{Die Schuldruckerei} & \textbf{Fach:} Deutsch\\

\multicolumn{2}{l}{\textbf{Thema der Stunde:}} & \multicolumn{2}{l}{Einführung der Schuldruckerei}\\

\multicolumn{2}{l}{\textbf{Ziel(e)/ Kompetenzen:}} & \multicolumn{2}{l}{Schriftspracherwerb}\\

\multicolumn{2}{l}{\textbf{Vorerfahrungen:}} & \multicolumn{3}{p{\dimexpr\linewidth-4.5cm-4\tabcolsep\relax}}{Hier kommt viel Text} \\

\toprule
\textbf{Das} & \textbf{ist} & \textbf{der} & \textbf{erste} & \textbf{Header}\\ \toprule
\endfirsthead
\toprule
\textbf{Das} & \textbf{ist} & \textbf{der} & \textbf{zweite} & \textbf{Header}\\ \toprule
\endhead
\midrule
\multicolumn{5}{r}{Fortsetzung auf der nächsten Seite}\\ 
\endfoot
\midrule
\multicolumn{2}{l}{\textbf{Weiterer Verlauf:}} & \multicolumn{3}{p{\dimexpr\linewidth-4.5cm-4\tabcolsep\relax}}{Hier kommt nochmal viel Text} \\
\bottomrule
\endlastfoot
Test1 & Test1 & Test1 & Hier kommt auch viel Text & Hier etwas weniger \\

\end{longtabu}
\end{small}
\end{singlespacing}
\end{landscape}

\end{document}

und das Zweite mit ordentlich blindtext um das Problem mit dem Seitenumbruch zu verdeutlichen:
\documentclass[a4paper]{scrreprt}

\usepackage{selinput}
\SelectInputMappings{
 adieresis={ä},
 germandbls={ß},
 }
 
\usepackage[ngerman]{babel}

\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{setspace}
\usepackage{blindtext}
\usepackage{pdflscape}
\usepackage{booktabs}
\usepackage{ragged2e}
\usepackage{array}
\usepackage{longtable}
\usepackage{tabularx}
\usepackage{tabu}	

\begin{document}

\begin{landscape} 
\begin{singlespacing}
\begin{small}
\tabulinesep=3pt
\begin{longtabu}to\linewidth{XXXX[4]X[2]}
\caption{Eine Tabelle}
\label{tab:Unterrichtsentwurf}\\
\toprule
\multicolumn{2}{l}{\textbf{Datum und Zeit}} & \today & & \textbf{Klasse:} 1a\\

\multicolumn{2}{l}{\textbf{Thema der Einheit:}} & \multicolumn{2}{l}{Die Schuldruckerei} & \textbf{Fach:} Deutsch\\

\multicolumn{2}{l}{\textbf{Thema der Stunde:}} & \multicolumn{2}{l}{Einführung der Schuldruckerei}\\

\multicolumn{2}{l}{\textbf{Ziel(e)/ Kompetenzen:}} & \multicolumn{2}{l}{Schriftspracherwerb}\\

\multicolumn{2}{l}{\textbf{Vorerfahrungen:}} & \multicolumn{3}{p{\dimexpr\linewidth-4.5cm-4\tabcolsep\relax}}{\blindtext} \\

\toprule
\textbf{Das} & \textbf{ist} & \textbf{der} & \textbf{erste} & \textbf{Header}\\ \toprule
\endfirsthead
\toprule
\textbf{Das} & \textbf{ist} & \textbf{der} & \textbf{zweite} & \textbf{Header}\\ \toprule
\endhead
\midrule
\multicolumn{5}{r}{Fortsetzung auf der nächsten Seite}\\ 
\endfoot
\midrule
\multicolumn{2}{l}{\textbf{Weiterer Verlauf:}} & \multicolumn{3}{p{\dimexpr\linewidth-4.5cm-4\tabcolsep\relax}}{\blindtext} \\
\bottomrule
\endlastfoot
Test1 & Test1 & Test1 & \blindtext[2] & \blindtext \\

\end{longtabu}
\end{small}
\end{singlespacing}
\end{landscape}

\end{document}
Lieben Gruß und Dank![/code]

Antworten