Spaltenbreite von longtables verändern

Tabellen und Grafiken erstellen und anordnen


fploink
Forum-Anfänger
Forum-Anfänger
Beiträge: 36
Registriert: Mo 15. Feb 2010, 15:09

Spaltenbreite von longtables verändern

Beitrag von fploink »

Hallo,
ich habe ein Problem mit "longtabels"!
Das Problem ist in folgendem Minimalbeispiel dargestellt.
Dabei ist ein Vergleich für eine normale bzw. eine long table dargestellt.
Das Ergebnis soll bei der longtable genauso wie bei der normalen ausschauen.
Wie erreiche ich das?
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{longtable}
\usepackage{lmodern}
\usepackage{tabularx}				
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} % zentrierte Spalten mit Breitenangabe 
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} % rechtsbündig mit Breitenangabe 
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} % linksbündig mit Breitenangabe 

\begin{document}


\begin{table}
\centering
\begin{tabular}{|C{2.5cm}|C{1.5cm}|C{2.5cm}|}
\hline
  extrem langer Text 1         & Text 2  & langer Text 3 \\
\hline\hline
       Wert &       1 &      2 \\
\hline
\end{tabular}  
\end{table}



\begin{center}
\begin{longtable}{|C{2.5cm}|C{1.5cm}|C{2.5cm}|}

\hline \multicolumn{1}{|c|}{extrem langer Text1} & \multicolumn{1}{c|}{Text2}& \multicolumn{1}{c|}{langer Text3} 

\\ \hline \hline 
\endfirsthead

\multicolumn{3}{c}
{{\bfseries \tablename\ \thetable{} -- Fortsetzung von der vorigen Seite}} \\
\hline \multicolumn{1}{|c|}{extrem langer Text1} &
\multicolumn{1}{c|}{Text2} &
\multicolumn{1}{c|}{langer Text3}  \\ \hline 
\endhead

\hline \multicolumn{3}{|c|}{{Fortsetzung auf der nächsten Seite}} \\ \hline \hline
\endfoot

\hline \hline
\endlastfoot

          Wert &       1 &      2 \\


\end{longtable}
\end{center}

\end{document}
Die erste Spalte soll nur 2.5cm breit sein! Bei der "normalen" table erfolgt der Umbruch automatisch.
Wie ist das bei der longtable möglich bzw. wie kann man händisch einen zweizeiligen Tabellenkopf erstellen.

Hoffe mir kann da jemand weiterhelfen.

mfg Florian

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Weshalb verwendest du denn multicolumn in der longtable? Die Spalten sind doch sowieso schon als zentriert definiert.
Wenns unbedingt multicolumn mit Umbruch sein soll, dann musst du auch eine Spaltendefinition angeben, die das zulässt. Also etwa die gleiche Definition, die die Spalte per se schon hat (was sich aber natürlich nicht automatisch auf multicolumn auswirkt):
\multicolumn{1}{C{2.5cm}}{extrem langer Text1}
Was mir an deinem Code noch aufgefallen ist:
- Weshalb verwendest du "article" als Dokumentenklasse? "scrartcl" wäre empfehlenswerter.
- Vertikale Linien in Tabellen sind in der Typographie ein Tabu.
- Tabellen und die horizontalen Linien lassen sich mit Hilfe des Pakets "booktabs" schöner setzen, es stellt die Linien \toprule, \midrule, \bottomrule und \cmidrule zur Verfügung und kümmert sich um die Abstände.

fploink
Forum-Anfänger
Forum-Anfänger
Beiträge: 36
Registriert: Mo 15. Feb 2010, 15:09

Beitrag von fploink »

Vielen Dank, für deine Antwort und die Hinweise!

mfg

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

Beitrag von KOMA »

Noch ein Hinweis: Eine longtable in eine center-Umgebung zu packen ist nicht sinnvoll. Die Standardausrichtung einer longtable-Tabelel ist ohnehin horizontal zentriert. Per optionalem Argument kann man die Ausrichtung ggf. auch ändern. Siehe dazu die longtable-Anleitung.

Antworten