PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabularx und keine Ende



coxthesen
08-09-2007, 14:55
Huhu,
schon wieder eine Frage zu Tabellen mit tabularx. Im Moment stimmt bei mir die Spaltenbreite nicht richtig, d.h. bei einem etwas längeren Spaltentitel wird das ganze nicht vernünftig über die Tabellenbreite verteilt (im unten stehenden Beispiel bei "Humankapital"). Ich habe den längeren Spaltentitel mit \newline umgebrochen. Kann mir da wieder jmd. helfen?
Zweite Frage: Wie kann ich eine horizontale Linie einfügen, die nicht über die gesamte Tabellenbreite geht, sondern nur über einige Spalten?

Hier mein jetziger Code:

\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}


\begin{table}[htbp]
{\centering
\begin{tabularx}{1.00\textwidth}{CCCCCC}
\toprule
\multicolumn{6}{c}{\textbf{Quellen des Wachstums 1978-2006}} \\
\midrule\addlinespace[.5em]
& \multicolumn{5}{c}{Wachstumsraten in \%} \\
\midrule\addlinespace[.5em]
Zeit & Output & Arbeit & Humankapital\newline pro Kopf & Kapital & TFP \\

\midrule\addlinespace[.5em]
1978-1988 & 10.2 & \\
1989-1999 & 9.5 & \\
2000-2006 & 9.6 & \\
\addlinespace[1.5em]
1953-1977 & 6.5 & \\
1978-2006 & 9.8 & \\
\bottomrule
\end{tabularx}\\[.25cm]}

\end{table}


Vielen Dank schonmal!!

coxthesen
08-09-2007, 15:58
gleich noch eine Frage hinterher: wie kann ich in einer tabelle einen text hochstellen? Wenn ich z.b. bei Output hochgestellt ein kleines a haben möchte (damit ich dann unten dazu eine anmerkung dazu einfügen kann).
Danke!!

e. hindman
08-09-2007, 16:26
Die Spaltenbreite stimmt schon, alle X-Spalten - auch wenn man sie zur C-Spalte umbastelt - haben die gleiche Breite. Wenn du für ne bestimmte Spalte ne andere Breite haben willst, so musst du nen anderen Spaltentyp wählen, z.B. mit p{3cm}.
Oder du schaust dir mal tabulary an, das gibt Spalten mit wenig Inhalt auch weniger Breite. Es hält sich aber nicht so wirklich an die gewünschte Gesamtbreite.

\usepackage{tabulary}
%\newcolumntype{C}{>{\centering\arraybackslash}X} <- auskommentieren, C ist ein Spaltentyp von tabulary

\begin{tabulary}{1.00\textwidth}{CCCCCC}

Für Fußnoten in der Tabelle braucht man ne Minipage:

\begin{table}
\begin{minipage}{\linewidth}
\renewcommand{\footnoterule}{} %keine Fußnotenlinie unter der Tabelle
... Tabelle mit \footnote{...} ...
\end{minipage}
\caption{ ... }
\end{table}

edico
08-09-2007, 19:21
Es wäre wirklich nett und hilfreich, wenn Du statt der Codeschnipsel ein kompilierfähiges MB liefern könntest. Es ist doch immer wieder zusätzliche Arbeit, die Du dem Leser aufbürdest --- es ist aber Deine Bringschuld! Punkt.

[1] Die Spaltenbreiten sind noch nicht 'sinnig' ... mögliche Lösung s.MB
Es scheint so zu sein, dass Du in allen Spalten (ausser Spalte_1) Messdaten stehen haben wirst, die gem. Spalte_2 sogar Kommastellen, aber vermutlich unterschiedlich Stellen haben werden. Hier sind nie und nimmer zentrierte Spalten opportun (IMHO), sondern rechtsbündige oder am Komma ausgerichtete Spaltentypen angezeigt. Demnach ist die Wahl mit 'C' falsch. Hierzu habe ich eine Anpassung (R-Spalten) vorgenommen.
Die Spalte_1 ist eine Zeitachse, bei der eine Zentrierung ebenso zumindest fraglich und eher eine Linksbündigkeit angezeigt ist. Insofern würde statt einer 'C'-Zentrierung eine 'reguläre' Ausrichtung der X-Spalte sinnhaft erscheinen.
Alles führt dazu, dass wir bei den letzten 5 Datenspalten eine 'automatische' Breitenanpassung haben, während die X-Spalte_1 den verbleibenden Rest der Textbreit für sich vereinnahmt ...
Jede weitere Spielart ist gleichwohl denkbar ;-)
Eine Reihe 'Unstimmigkeiten' in der Tabelle sind auskommentiert ...
Eine Linie, die nur über eine bestimmte Anzahl von Spalten verlaufen soll, s. im MB
Das Hochstellen ist ebenso im MB zu erkennen, ansonsten nach subscript oder superscript suchen ... ich verwechsel die beiden immer ...


\documentclass{article}
\usepackage{tabularx,booktabs}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{document}


\begin{table}[htbp]
%{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< warum die Klammern
% sind obsolet, weil nach table das 'centering' aufgehoben wird
\centering
\begin{tabularx}{1.00\textwidth}{lRRRRR}
\toprule
\multicolumn{6}{c}{\textbf{Quellen des Wachstums 1978-2006}} \\
\midrule\addlinespace[.5em]
& \multicolumn{5}{c}{Wachstumsraten in \%} \\
\midrule\addlinespace[.5em]
Zeit & Output$^{a}$ & Arbeit & Humankapital\newline pro Kopf & Kapital & TFP \\
\midrule\addlinespace[.5em]
1978-1988 & 10.2 & \\
1989-1999 & 9.5 & \\\cmidrule {1-4}%<<<<< nonsenseline als xmpl:: Sp'1'<->Sp'4'
2000-2006 & 9.6 & \\
\addlinespace[1.5em]
1953-1977 & 6.5 & \\
1978-2006 & 9.8 & \\
\bottomrule
\end{tabularx}%\\[.25cm]<<<<<<<<<<<<<<<<< gehört so hier nicht her
%}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< warum die Klammern
\end{table}
\end{document}


edico

P.S. Aah, ich muss noch nachschieben ... was mich die ganze Zeit an dieser fürchterlichen Tabelle in Rage bringt, ist dieses Unwort Humankapital. Bist Du Betriebswirt oder was -- aber egal, zumindest bedenklich menschenverachtend und verräterisch diese Sprache ... wozu Wissenschaftler eben (auch) fähig sind!

coxthesen
09-09-2007, 16:54
hallo hindman und edico, vielen dank für eure antworten. hat mich sehr gut weitergebracht!!

@edico: ich mach vwl und find das wort humankapital auch beknackt. aber das ist halt der "gängige" ausdruck und da kann ich jetzt in der DA auch keinen boykott anzetteln. aber in meinem normalen sprachgebrauch kommt das bestimmt nicht vor!!:cool:
vg, holger

p.s. ach ja, kannst du mir gerade noch sagen wie ich einen spaltentyp definieren kann, so dass die spalten zentriert und am komma ausgerichtet sind (also nicht die rechtsbündig-variante)? und gibt es eigentlich die calibri-schrift, die das neue MS_office verwendet, auch für tex?!

e. hindman
09-09-2007, 17:08
Hoffe deine Mathematik-Schrift passt zur Text-Schrift, sonst musst gleich wieder fragen :)

\usepackage{dcolumn}%D{,}{,}{Nachkommastellen}
...

\begin{tabular}{D{,}{,}{2}}
3,22\\
12,3\\
\end{tabular}