Tabelle zu breit

Tabellen und Grafiken erstellen und anordnen


Shooter182
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Di 10. Nov 2009, 11:51

Tabelle zu breit

Beitrag von Shooter182 »

Hallo Zusammen,

ich bastel gerade eine Tabelle und ärger mich darüber das sie zu breit für die Seite ist.
\begin{table}[ht]
\centering
\begin{tabular}{cccccccc}
\toprule
\multicolumn{1}{c|}{\color{navi}\textbf{Mode}}											&
\multicolumn{1}{c|}{\color{navi}\textbf{Frequenzbereich}}						&
\multicolumn{1}{c|}{\color{navi}\textbf{Trägerabstand}}							&
\multicolumn{1}{c|}{\color{navi}\textbf{Anzahl der COFDM-Träger}}		&
\multicolumn{1}{c|}{\color{navi}\textbf{Anwendungsbereich}}					&
\multicolumn{1}{c|}{\color{navi}\textbf{Symboldauer}}								&
\multicolumn{1}{c|}{\color{navi}\textbf{Schutzintervall Länge}}			&
\multicolumn{1}{c}{\color{navi}\textbf{Främelänge}}									\\

\cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}

\multicolumn{1}{c|}{\lbrack - \rbrack}	&
\multicolumn{1}{c|}{\lbrack -\rbrack}			&
\multicolumn{1}{c|}{\lbrack kHz\rbrack}			&
\multicolumn{1}{c|}{\lbrack -\rbrack}				&
\multicolumn{1}{c|}{\lbrack -\rbrack}				&
\multicolumn{1}{c|}{\lbrack \textmu s\rbrack}				&
\multicolumn{1}{c|}{\lbrack \textmu s\rbrack}				&
\multicolumn{1}{c}{\lbrack -\rbrack}				\\

\midrule
I	&	Band III VHF 		&1		&1526	&Gleichwellennetz (SFN)		&1000		&246		&96ms 76 Symbole	\\
I	&	Band III VHF 		&1		&1526	&Gleichwellennetz (SFN)		&1000		&246		&96ms 76 Symbole	\\
I	&	Band III VHF 		&1		&1526	&Gleichwellennetz (SFN)		&1000		&246		&96ms 76 Symbole	\\
I	&	Band III VHF 		&1		&1526	&Gleichwellennetz (SFN)		&1000		&246		&96ms 76 Symbole	\\

\bottomrule
\end{tabular}
\caption{DAB-Modes}
\label{dab-modes}
\end{table}
8 Spalten mit langen Wörter ist nunmal ne Hausnummer, ist es möglich das Latex die Langen Wörter mehrzeilig macht? Also einen Zeilenumbruch?

bsp.
jetzt:
Frequenzbereich

danach:
Frequenz-
bereich

damit die Tabelle auf eine Blattbreite passt?

Beste Grüße Andi

skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Beitrag von skater »

Ich sehe zwei Möglichkeiten:
  1. Der gesamten Tabelle die Schriftgröße um eine Stufe verkleinern.
  2. Die Tabelle um 90° drehen.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag von Stefan Kottwitz »

Hallo Andi,

für den Umbruch muss LaTeX wissen, bei welcher Breite es umbrechen und ggf. trennen soll. Daher könntest Du p-Spalten mit definierter Breite verwenden, hier insbesondere in multicolumn-Zellen, da diese breit sind:
\multicolumn{1}{p{2.1cm}|}{\head{Frequenzbereich}}
Damit man nicht x-mal die Formatierung wiederholen muss, habe ich hier ein Makro verwendet. So werden auch folgende Anpassungen leichter. Beispielsweise hier:
\newcommand*{\head}[1]{\hspace{0pt}\color{navi}\textbf{#1}}
Viele Grüße,

Stefan

Shooter182
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Di 10. Nov 2009, 11:51

Beitrag von Shooter182 »

Hallo Stefan,

erstmal danke für deine Hilfe, aber die Tabelle passt immer noch nicht ganz auf die Seite:
\newcommand*{\head}[1]{\hspace{0pt}\color{navi}\textbf{#1}}
\begin{table}[ht]
\centering
\begin{tabular}{p{1.0cm}p{2.0cm}p{1.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}}
\toprule
\multicolumn{1}{p{1.0cm}|}{\head{Mode}}											&
\multicolumn{1}{p{2.0cm}|}{\head{Frequenzbereich}}						&
\multicolumn{1}{p{2.0cm}|}{\head{Trägerabstand}}							&
\multicolumn{1}{p{2.0cm}|}{\head{Anzahl der COFDM-Träger}}		&
\multicolumn{1}{p{2.0cm}|}{\head{Anwendungsbereich}}					&
\multicolumn{1}{p{2.0cm}|}{\head{Symboldauer}}								&
\multicolumn{1}{p{2.0cm}|}{\head{Schutzintervall Länge}}			&
\multicolumn{1}{p{2.0cm}}{\head{Främelänge}}									\\

\cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}

\multicolumn{1}{p{1.0cm}|}{\lbrack - \rbrack}	&
\multicolumn{1}{p{2.0cm}|}{\lbrack -\rbrack}			&
\multicolumn{1}{p{2.0cm}|}{\lbrack kHz\rbrack}			&
\multicolumn{1}{p{2.0cm}|}{\lbrack -\rbrack}				&
\multicolumn{1}{p{2.0cm}|}{\lbrack -\rbrack}				&
\multicolumn{1}{p{2.0cm}|}{\lbrack \textmu s\rbrack}				&
\multicolumn{1}{p{2.0cm}|}{\lbrack \textmu s\rbrack}				&
\multicolumn{1}{p{2.0cm}}{\lbrack -\rbrack}				\\

\midrule
I		&	Band III VHF 				&1		&1526	&Gleichwellennetz (SFN)					&1000		&246		&96ms 76 Symbole	\\
II	&	L-Band (<1.5GHz) 		&4		&384	&Mehrfrequenznetzwerk (MFN)			&250		&62			&24ms 76 Symbole	\\
III	&	L-Band (<3GHz) 			&8		&192	&Satellit												&125		&31			&24ms 152 Symbole	\\
IV	&	L-Band (<1.5GHz) 		&2		&768	&Kleines Gleichwellennetz (SFN)	&500		&123		&48ms 76 Symbole	\\

\bottomrule
\end{tabular}
\caption{DAB-Modes \cite{Fischer200901}}
\label{dab-modes}
\end{table}
Mehrfrequenznetzwerk wird nicht gebrochen.

Ich denke am einfachsten wäre es die Tabelle in einen kleineren Schrift zu machen oder?

gruß Andi

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Shooter182 hat geschrieben:Mehrfrequenznetzwerk wird nicht gebrochen.
Sei froh, sonst wäre das Netzwerk anschließend sicher kaputt.¹ ;-)
Lösung siehe »Hinweise und Vorabhilfen für dieses Unterforum«.
Shooter182 hat geschrieben:Ich denke am einfachsten wäre es die Tabelle in einen kleineren Schrift zu machen oder?
Da wir in Ermangelung der Vollständigkeit des Beispiels nicht wissen, wieviel Platz Dir fehlt, ist das schwer zu beantworten. Siehe dazu den ersten Link in meiner Signatur.


1 Umbrechen in der Bedeutung von »Einen Zaun umbrechen.« und in der Bedeutung »Einen Absatz umbrechen.« sind zwei gänzlich unterschiedliche Wörter. Beim zweiten ist der Wortstamm nicht »brechen«, sondern »umbrechen« und deshalb heißt es auch »Der Absatz wird umbrochen.«

Shooter182
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Di 10. Nov 2009, 11:51

Beitrag von Shooter182 »

hier das minimalbeispiel mit meiner Problematik die Tabelle passt nicht auf die Seitenbreite.
\documentclass[12pt,pdftex,a4paper,listof=numbered]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{eurosym}% EuroSymbol
\usepackage{multicol}% Zweispalitig schreiben
\usepackage{textcomp}% Sonderzeichen
\usepackage{xcolor}% farbig schreiben
\usepackage{tabularx} % Tabellen



\usepackage{booktabs}% Lässt Tabellen besser aussehen
\usepackage{multirow}% Spalten in Tabelle zusammenfassen
\usepackage{colortbl}% Farben in Tabellen
\heavyrulewidth=.15em
\lightrulewidth=.10em
\cmidrulewidth=.05em

\begin{document}
\newcommand*{\head}[1]{\hspace{0pt}\textbf{#1}}
\begin{table}[ht]
\centering
\begin{tabular}{p{1.0cm}p{2.0cm}p{1.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}}
\toprule
\multicolumn{1}{p{1.0cm}|}{\head{Mode}} &
\multicolumn{1}{p{2.0cm}|}{\head{Frequenzbereich}} &
\multicolumn{1}{p{2.0cm}|}{\head{Trägerabstand}} &
\multicolumn{1}{p{2.0cm}|}{\head{Anzahl der COFDM-Träger}} &
\multicolumn{1}{p{2.0cm}|}{\head{Anwendungsbereich}} &
\multicolumn{1}{p{2.0cm}|}{\head{Symboldauer}} &
\multicolumn{1}{p{2.0cm}|}{\head{Schutzintervall Länge}} &
\multicolumn{1}{p{2.0cm}}{\head{Främelänge}} \\

\cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}

\multicolumn{1}{p{1.0cm}|}{\lbrack - \rbrack} &
\multicolumn{1}{p{2.0cm}|}{\lbrack -\rbrack} &
\multicolumn{1}{p{2.0cm}|}{\lbrack kHz\rbrack} &
\multicolumn{1}{p{2.0cm}|}{\lbrack -\rbrack} &
\multicolumn{1}{p{2.0cm}|}{\lbrack -\rbrack} &
\multicolumn{1}{p{2.0cm}|}{\lbrack \textmu s\rbrack} &
\multicolumn{1}{p{2.0cm}|}{\lbrack \textmu s\rbrack} &
\multicolumn{1}{p{2.0cm}}{\lbrack -\rbrack} \\

\midrule
I & Band III VHF &1 &1526 &Gleichwellennetz (SFN) &1000 &246 &96ms 76 Symbole \\
II & L-Band (<1.5GHz) &4 &384 &Mehrfrequenznetzwerk (MFN) &250 &62 &24ms 76 Symbole \\
III & L-Band (<3GHz) &8 &192 &Satellit &125 &31 &24ms 152 Symbole \\
IV & L-Band (<1.5GHz) &2 &768 &Kleines Gleichwellennetz (SFN) &500 &123 &48ms 76 Symbole \\

\bottomrule
\end{tabular}
\caption{DAB-Model}
\label{dab-modes}
\end{table}

\end{document}
Dateianhänge
test.pdf
(31.42 KiB) 411-mal heruntergeladen

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Du kannst es ja einmal mit drehen versuchen:
\usepackage{rotating}

...

\begin{sidewaystable}
[...]
\end{sidewaystable}
Aus deinen zwei Codefragmenten:
\documentclass[12pt,pdftex,a4paper,listof=numbered]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{eurosym}% EuroSymbol
\usepackage{multicol}% Zweispalitig schreiben
\usepackage{textcomp}% Sonderzeichen
\usepackage{xcolor}% farbig schreiben
\usepackage{tabularx} % Tabellen
\usepackage{rotating}


\usepackage{booktabs}% Lässt Tabellen besser aussehen
\usepackage{multirow}% Spalten in Tabelle zusammenfassen
\usepackage{colortbl}% Farben in Tabellen
\heavyrulewidth=.15em
\lightrulewidth=.10em
\cmidrulewidth=.05em

\begin{document} 
\newcommand*{\head}[1]{\hspace{0pt}\color{red}\textbf{#1}}
%\begin{table}[ht]
\begin{sidewaystable}

\centering
\begin{tabular}{p{1.0cm}p{2.0cm}p{1.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}}
\toprule
\multicolumn{1}{p{1.0cm}|}{\head{Mode}}                                 &
\multicolumn{1}{p{2.0cm}|}{\head{Frequenzbereich}}                  &
\multicolumn{1}{p{2.0cm}|}{\head{Trägerabstand}}                     &
\multicolumn{1}{p{2.0cm}|}{\head{Anzahl der COFDM-Träger}}      &
\multicolumn{1}{p{2.0cm}|}{\head{Anwendungsbereich}}               &
\multicolumn{1}{p{2.0cm}|}{\head{Symboldauer}}                        &
\multicolumn{1}{p{2.0cm}|}{\head{Schutzintervall Länge}}         &
\multicolumn{1}{p{2.0cm}}{\head{Främelänge}}                           \\

\cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}

\multicolumn{1}{p{1.0cm}|}{\lbrack - \rbrack}   &
\multicolumn{1}{p{2.0cm}|}{\lbrack -\rbrack}         &
\multicolumn{1}{p{2.0cm}|}{\lbrack kHz\rbrack}         &
\multicolumn{1}{p{2.0cm}|}{\lbrack -\rbrack}            &
\multicolumn{1}{p{2.0cm}|}{\lbrack -\rbrack}            &
\multicolumn{1}{p{2.0cm}|}{\lbrack \textmu s\rbrack}            &
\multicolumn{1}{p{2.0cm}|}{\lbrack \textmu s\rbrack}            &
\multicolumn{1}{p{2.0cm}}{\lbrack -\rbrack}            \\

\midrule
I      &   Band III VHF             &1      &1526   &Gleich-wellen-netz (SFN)               &1000      &246      &96ms 76 Symbole   \\
II   &   L-Band (<1.5GHz)       &4      &384   &Mehr-frequenz-netzwerk (MFN)         &250      &62         &24ms 76 Symbole   \\
III   &   L-Band (<3GHz)          &8      &192   &Satellit                                    &125      &31         &24ms 152 Symbole   \\
IV   &   L-Band (<1.5GHz)       &2      &768   &Kleines Gleich-wellen-netz (SFN)   &500      &123      &48ms 76 Symbole   \\

\bottomrule
\end{tabular}
\caption{DAB-Modes \cite{Fischer200901}}
\label{dab-modes}
%\end{table} 
\end{sidewaystable}

\end{document}
Gruß, Sepp.-
Dateianhänge
tab_dreh.pdf
(41.42 KiB) 397-mal heruntergeladen

Shooter182
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Di 10. Nov 2009, 11:51

Beitrag von Shooter182 »

wäre natürlich eine Möglichkeit, was würdet ihr Professioneller finden, kleinere Schrift oder Tabelle drehen?

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Shooter182 hat geschrieben:hier das minimalbeispiel mit meiner Problematik die Tabelle passt nicht auf die Seitenbreite.
Du hast da Leider QUOTE und CODE verwechselt, was bezüglich Umbruch etwas ungünstig ist.
Shooter182 hat geschrieben:
\begin{tabular}{p{1.0cm}p{2.0cm}p{1.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}p{2.0cm}}
\toprule
\multicolumn{1}{p{1.0cm}|}{\head{Mode}}											&
\multicolumn{1}{p{2.0cm}|}{\head{Frequenzbereich}}						&
\multicolumn{1}{p{2.0cm}|}{\head{Trägerabstand}}							&
\multicolumn{1}{p{2.0cm}|}{\head{Anzahl der COFDM-Träger}}		&
\multicolumn{1}{p{2.0cm}|}{\head{Anwendungsbereich}}					&
\multicolumn{1}{p{2.0cm}|}{\head{Symboldauer}}								&
\multicolumn{1}{p{2.0cm}|}{\head{Schutzintervall Länge}}			&
\multicolumn{1}{p{2.0cm}}{\head{Främelänge}}
Es bringt nichts in der Tabellendeklaration, die dritte Spalte nur 1 cm breit zu machen, dann aber anschließend diese per \multicolumn doch wieder auch 2 cm aufzuweiten.

Übrigens solltest auch Du Option "pdftex" durch Option "pagesize" ersetzen und das mal in der KOMA-Script-Anleitung nachlesen.
Typografisch und physikalisch ist es übrigens falsch, Einheiten in eckige Klammern zu stellen, weil die eckigen Klammern "Einheit von" bedeuten. "Einheit von kHz" ist aber natürlich nicht korrekt. Außerdem trennt man Zahl und Einheit durch einen kleinen Abstand (siehe DUDEN oder die Microtypografie-Anleitung auf CTAN). Dafür sollte man zwischen Zahl und Wort den Umbruch in der Regel verbieten.

Die ganzen vertikalen Linien sind im Zusammenspiel mit booktabs auch eher störend. Wenn man dann noch meinen obigen Hinweis aufgreift und zusätzlich noch ein wenig am Spaltenabstand dreht, erhält man bereits eine brauchbare Tabelle:
\documentclass[12pt,a4paper,listof=numbered]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}% Sonderzeichen
\usepackage{tabularx} % Tabellen
\usepackage{ragged2e}


\usepackage{booktabs}% Lässt Tabellen besser aussehen
\heavyrulewidth=.15em
\lightrulewidth=.10em
\cmidrulewidth=.05em

\newcolumntype{x}{>{\hspace{0pt}\RaggedRight}X}

\begin{document}
\newcommand*{\head}[1]{\textbf{#1}}
\begin{table}[ht]
\setlength{\tabcolsep}{.4em}
\centering
\begin{tabularx}{\linewidth}{l*8x}
\toprule
\head{Mode} &
\head{Frequenzbereich} &
\head{Trägerabstand} &
\head{Anzahl der {\small COFDM}-Träger} &
\head{Anwendungsbereich} &
\head{Sym\-bol\-dauer} &
\head{Schutzintervall"=Länge} &
\head{Främelänge} \\

\cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}

\multicolumn1c{--} & 
\Centering -- & 
\Centering kHz & 
\Centering -- & 
\Centering -- & 
\Centering \textmu s & 
\Centering \textmu s & 
\Centering -- \\
% oder:
% -- & -- & kHz & -- & -- & \textmu s & \textmu s & -- \\
% oder:
%  &  & kHz &  &  & \textmu s & \textmu s &  \\
% oder:
%  &  & in kHz &  &  & in \textmu s & in \textmu s &  \\
% oder:
%  &  & / kHz &  &  & / \textmu s & / \textmu s &  \\

\midrule
I & Band III VHF &1 &1526 &Gleich\-wellen\-netz (SFN) &1000 &246 &96\,ms 76~Symbole \\
II & L-Band (<1.5GHz) &4 &384 &Mehrfrequenznetzwerk (MFN) &250 &62 &24\,ms 76~Symbole \\
III & L-Band (<3GHz) &8 &192 &Satellit &125 &31 &24\,ms 152~Symbole \\
IV & L-Band (<1.5GHz) &2 &768 &Kleines Gleich\-wellen\-netz (SFN) &500 &123 &48\,ms 76~Symbole \\

\bottomrule
\end{tabularx}
\caption{DAB-Model}
\label{dab-modes}
\end{table}

\end{document}
Ich habe mir dabei erlaubt, das Beispiel weiter zu minimieren (was eigentlich Deine Aufgabe gewesen wäre). Wenn man ganz genau hin schaut (oder einmal Option draft aktiviert), sieht man, dass die Spalten nicht ganz ihre Grenzen einhalten. Das stört aber nicht wirklich, da die Lesbarkeit unter dieser leichten Spaltenauflösung nicht leidet. Als Änderung würde ich trotzdem Spalte 1, 3, 4, 6 und 7 rechtsbündig (mit \RaggedLeft statt \RaggedRight) setzen. Das überlasse ich jedoch Dir als Übung. In dem Fall natürlich auch die ganzen Einheiten rechtsbündig setzen!

Shooter182
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Di 10. Nov 2009, 11:51

Beitrag von Shooter182 »

KOMA hat geschrieben:Als Änderung würde ich trotzdem Spalte 1, 3, 4, 6 und 7 rechtsbündig (mit \RaggedLeft statt \RaggedRight) setzen. Das überlasse ich jedoch Dir als Übung. In dem Fall natürlich auch die ganzen Einheiten rechtsbündig setzen!
Erstmal vielen Dank für dein Minimalbeispiel. Die Tabelle sieht so wirklich gut aus.

Verstehe ich es richtig das du Spalten Links- und Rechtsbündig machen würdest? muss das nicht einheitlich sein?

Antworten