PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit @{\extracolsep\fill}



syrvn
06-11-2009, 14:45
Hi,

folgender code abschnitt funktioniert. Ersetze ich allerdings die \begin{tab...} zeile durch die auskommentierte, die \extracolsep enthält funktioniert selbiges beispiel nicht mehr. Kann mir einer sagen warum.
Ich hab in meinen bisherigen Tabellen immer mit \extra.. gearbeitet und es
hat dort auch funktioniert. Allerdings habe ich bis dato noch nie mit mutlicolumns oder rows gearbeitet. Folgenden Fehler erhalte ich von latex wenn ich die auskommentierte Zeile gegen die momentane austausche:

LaTeX: Extra alignment tab has been changed to \cr



\chapter{Overview}

\begin{minipage}{\textwidth}
%\begin{tabularx}{\textwidth}{|@{\extracolsep\fill }lll}
\begin{tabularx}{\textwidth}{llll}
\hline
\multicolumn{4}{l}{Overview} \\
\hline

\end{tabularx}
\end{minipage}

Xenara
06-11-2009, 14:56
Kann es sein, dass du einfach eine "l"-Spalte vergessen hast in deinem Code?
Du definierst nämlich nur 3x lll, gibts bei multicolumn aber 4 an.
So klappt beides:


\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tabularx}

\begin{document}
\chapter{Overview}

\begin{minipage}{\textwidth}
\begin{tabularx}{\textwidth}{|@{\extracolsep\fill} llll}
%\begin{tabularx}{\textwidth}{llll}
\hline
\multicolumn{4}{l}{Overview} \\
\hline
\end{tabularx}
\end{minipage}
\vspace{2cm}
\begin{minipage}{\textwidth}
%\begin{tabularx}{\textwidth}{|@{\extracolsep\fill }llll}
\begin{tabularx}{\textwidth}{llll}
\hline
\multicolumn{4}{l}{Overview} \\
\hline
\end{tabularx}
\end{minipage}

\end{document}


Rein interessehalber, wozu ist das @{\extracolsep\fill} gut?

syrvn
06-11-2009, 15:03
Oh man ich hab den | als l gedeutet....Bei der Schriftart in meinem Editor lassen sich die beiden kaum unterscheiden. Danke.

extracolsep bewirkt, dass alle Spalten gleichmaessig ueber die ganze Seite verteilt werden. Hab gerade gelesen, dass man das gleiche auch mit XXXX machen kann. Vorausgesetzt man verwendet tabularx.

Weisst du wie ich das Overview noch centern kann. Aendere ich l zu c passiert gar nichts :)

Xenara
06-11-2009, 15:16
Bitte schau dir mal eine gute Doku zu LaTeX an, du machst es dir doch viel zu kompliziert.

Du nimmst tabularx ja schon, wieso verwendest du es nicht richtig?

Wozu ist die Minipage? Den einzigen Sinn würde es machen mit captionof und einem label, aber beides verwendest du ja nicht.

Hatte ich vorhin übersehen, senkrechte Striche in einer Tabelle sind verpönt. Sowas geht auch schöner (und man verwechselt nicht | mit l ;) )

Das Overview im multicolum zu zentrieren funktioniert bei mir sehr gut mit c (siehe MB).


Hier ein Beispiel, wie so eine Tabelle aussehen kann:


\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tabularx}
\usepackage{booktabs}

\begin{document}
\chapter{Overview}

\begin{tabularx}{\textwidth}{XXXX}
\toprule
\multicolumn{4}{c}{Overview} \\
\midrule
Etwas & Text & zur & Demo \\
\bottomrule
\end{tabularx}

\end{document}

syrvn
06-11-2009, 15:26
captionof und label kommen schon noch dazu...wollte erst einmal die normale tabelle designen :)
Ich werd mal mit deiner Version weiterbasteln. Danke für die Anregung!

Grüße