PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Tabellen, Zeilenumbruch



blueberry
30-12-2010, 18:17
hallo liebe Leute!

Ich schreib an meiner Diplomarbeit mit Latex und werde alle drei Tage wahnsinnig damit. Zum Umsteigen auf Word ist es allerdings schon zu spät.

Komme leider nicht auf die Lösung meines Problems: Ich habe eine Tabelle mit Daten, deren Zeilen recht lang sind, und will diese mit Zeilenumbruch schön darstellen.

Das ganze sollte folgendermaßen aussehen:

..................1960 1961 ..........
Deutschland a b ............ (an diesem Punkt werden die Daten zu breit)
Italien c d ...........
.
.
.
..................2005 2006 .........
Deutschland q t .........
Italien r n .........

daher soll er mir die tabelle so darstellen, dass es unterhalb weitergeht.

Eine andere Möglichkeit wäre natürlich, dass er es mir skaliert sodass es auf eine Seite passt. TabularX tut aber genau das nicht bei mir
(siehe mein Beispiel unten).

Ich habe schon mit verschiedenen Sachen herumprobiert, feste Spaltenbreite, longtable, aber nie hat es funktioniert.

Weiß jemand Rat? Es sollte eine möglichst automatische Lösung sein, ich habe mehrere Tabellen, und will ungern die nächsten zwei Wochen damit verbringen alles manuell einzustellen.

Danke und viele Grüße,
blue

Mein Beispiel:

\documentclass{scrreprt}

\usepackage{tabularx}
\usepackage{lscape}
\usepackage{pdflscape}
\usepackage{booktabs} % Tabellenlinien individuell breit setzen
\usepackage[ansinew]{inputenc} % Umlaute
\usepackage[T1]{fontenc} % bewirkt anzeigen der Umlaute
\usepackage{graphicx} % ermöglicht Einfügen von Grafiken
\usepackage{caption} % ermöglicht Bildunterschrift
\usepackage{rotating} % ermöglicht Bilder im Querformat

\begin{document}

% Table generated by Excel2LaTeX from sheet 'Eff.WK_real'
\begin{sidewaystable}[htbp]
\centering
\caption{Real effective exchange rates}
\begin{tabularx}{\textwidth}{XXXXXXXXXXXXXXXXXXXXX XXXX}
\addlinespace
\toprule & 1990 & 1991 & 1992 & 1993 & 1994 & 1995 & 1996 & 1997 & 1998 & 1999 & 2000 & 2001 & 2002 & 2003 & 2004 & 2005 & 2006 & 2007 & 2008 & 2009 & Change 1999-2009 & Change 1999-2007 & Change 2007-2009 & Change 1990-1999 \\
\midrule
Deutschland & 100,0 & 97,1 & 103,6 & 108,3 & 109,3 & 116,5 & 112,0 & 103,8 & 103,3 & 100,0 & 94,1 & 93,2 & 93,7 & 97,7 & 98,2 & 95,7 & 93,2 & 93,2 & 94,4 & 96,4 & -3,6 & -6,8 & 3,1 & 0,0 \\
Italien & 127,3 & 128,8 & 125,3 & 104,0 & 100,3 & 91,4 & 104,2 & 105,8 & 102,2 & 100,0 & 94,4 & 96,1 & 99,5 & 107,2 & 110,3 & 111,7 & 113,3 & 115,3 & 119,5 & 121,3 & 21,3 & 15,3 & 6,0 & -27,3 \\
Irland & 112,6 & 107,7 & 112,3 & 109,4 & 108,5 & 104,6 & 105,8 & 105,9 & 104,1 & 100,0 & 95,4 & 98,6 & 99,3 & 107,5 & 113,5 & 117,5 & 120,3 & 123,7 & 132,7 & 125,8 & 25,8 & 23,7 & 2,2 & -12,6 \\
Österreich & 101,5 & 100,2 & 102,9 & 106,2 & 108,5 & 111,3 & 107,4 & 102,9 & 102,5 & 100,0 & 95,8 & 95,5 & 95,0 & 97,4 & 97,1 & 97,4 & 97,9 & 98,8 & 100,0 & 101,4 & 1,4 & -1,2 & 2,6 & -1,5 \\
Griechenland & 90,2 & 83,4 & 83,7 & 84,2 & 87,7 & 94,0 & 96,3 & 101,3 & 99,0 & 100,0 & 94,0 & 91,9 & 100,6 & 103,7 & 105,3 & 106,8 & 106,6 & 109,4 & 112,0 & 115,7 & 15,7 & 9,4 & 6,3 & 9,8 \\
Spanien & 112,6 & 115,9 & 118,5 & 107,1 & 101,3 & 102,9 & 105,2 & 100,8 & 101,3 & 100,0 & 97,5 & 99,0 & 100,9 & 105,6 & 108,2 & 110,0 & 112,4 & 116,1 & 120,2 & 117,2 & 17,2 & 16,1 & 1,1 & -12,6 \\
Portugal & 75,0 & 83,3 & 93,8 & 90,4 & 89,1 & 95,1 & 98,2 & 99,0 & 99,9 & 100,0 & 99,8 & 101,4 & 103,7 & 108,8 & 109,5 & 111,3 & 111,1 & 111,5 & 113,9 & 115,9 & 15,9 & 11,5 & 4,4 & 25,0 \\
Niederlande & 98,6 & 96,7 & 99,3 & 101,9 & 102,5 & 105,7 & 103,0 & 99,2 & 101,0 & 100,0 & 98,3 & 101,8 & 105,9 & 110,6 & 110,9 & 109,2 & 109,1 & 110,8 & 113,3 & 116,2 & 16,2 & 10,8 & 5,4 & 1,4 \\
Belgien & 97,5 & 98,4 & 100,2 & 103,6 & 106,4 & 110,0 & 106,9 & 101,2 & 101,4 & 100,0 & 95,3 & 97,9 & 99,3 & 102,4 & 102,0 & 102,2 & 103,1 & 104,9 & 108,0 & 109,7 & 9,7 & 4,9 & 4,8 & 2,5 \\
Frankreich & 106,6 & 101,6 & 102,9 & 104,9 & 105,1 & 108,7 & 108,8 & 103,3 & 102,6 & 100,0 & 94,9 & 95,5 & 98,1 & 102,6 & 104,1 & 104,5 & 105,7 & 107,5 & 109,6 & 109,1 & 9,1 & 7,5 & 1,6 & -6,6 \\
Finnland & 146,5 & 142,8 & 118,7 & 95,8 & 101,7 & 113,4 & 109,3 & 103,5 & 102,7 & 100,0 & 94,3 & 96,8 & 97,5 & 101,2 & 102,0 & 103,1 & 102,7 & 103,3 & 108,2 & 113,3 & 13,3 & 3,3 & 10,0 & -46,5 \\
\bottomrule
\end{tabularx}
\label{tab:REER}
\end{sidewaystable}

\end{document}

u_fischer
30-12-2010, 18:58
Ich würde als erstes die Daten in eine csv-exportieren. Und zwar in so einem Format:

Jahr,Deutschland,Finnland,....
1999, .....
2000, ....

Und anschließend würde ich die Daten mit Datatools einlesen und vertikal ausgeben. Also die Jahre links, und die Länder oben. Dann kannst die Daten leicht in mehrere Tabellen aufspalten. Und wenn es vertikal zu lang wird, kannst du longtable benutzen.

edico
30-12-2010, 19:51
IMHO ist die Tabelle 'zu gross', zumal die Spalten (mit 25) besser als Zeilen geführt werden könnten. (ahh - wie Ulrike schon gesagt hat!)
Oder villeicht ist es ratsam, die Tabelle in eigener Datei zu erstellen und mit pdfpages einzufügen ...
Wenn's dann nicht anders sein soll, könntest du vielleicht den folgenden Ansatz weiter auf deine Bedürfnisse zu schneidern.



\documentclass[10pt]{scrreprt}
\usepackage[a4paper,top=.5in,bottom=.5in]{geometry}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%\usepackage{graphicx}
%\usepackage{caption}
\usepackage{rotating}

\usepackage{tabularx}
\usepackage{array,booktabs,ragged2e,calc}
\usepackage{dcolumn}
\newcolumntype{N}{>{\RaggedLeft}m{.03\linewidth}}
\newcolumntype{Y}{D{.}{.}{3.1}@{~~}}
\usepackage{pdflscape}



\begin{document}


\begin{sidewaystable}%[htbp]
\small
%\centering
\caption{Real effective exchange rates}

\resizebox{\linewidth}{!}{%
%\begin{tabularx}{\textwidth}{XXXXX XXXXX XXXXX XXXXX XXXXX}
%\begin{tabularx}{\textwidth}{X*{20}{m{.022\linewi dth}}*{4}{m{.03\linewidth}}}
\begin{tabularx}{\textwidth}{ X *{20}{Y} *{4}{N}}
\addlinespace
\toprule
& 1990 & 1991 & 1992 & 1993 & 1994 & 1995 & 1996 & 1997 & 1998 & 1999 & 2000 & 2001 & 2002 & 2003 & 2004 & 2005 & 2006 & 2007 & 2008 & 2009 & Change 1999-2009 & Change 1999-2007 & Change 2007-2009 & Change 1990-1999 \\
\midrule
Deutschland & 100,0 & 97,1 & 103,6 & 108,3 & 109,3 & 116,5 & 112,0 & 103,8 & 103,3 & 100,0 & 94,1 & 93,2 & 93,7 & 97,7 & 98,2 & 95,7 & 93,2 & 93,2 & 94,4 & 96,4 & -3,6 & -6,8 & 3,1 & 0,0 \\
Italien & 127,3 & 128,8 & 125,3 & 104,0 & 100,3 & 91,4 & 104,2 & 105,8 & 102,2 & 100,0 & 94,4 & 96,1 & 99,5 & 107,2 & 110,3 & 111,7 & 113,3 & 115,3 & 119,5 & 121,3 & 21,3 & 15,3 & 6,0 & -27,3 \\
Irland & 112,6 & 107,7 & 112,3 & 109,4 & 108,5 & 104,6 & 105,8 & 105,9 & 104,1 & 100,0 & 95,4 & 98,6 & 99,3 & 107,5 & 113,5 & 117,5 & 120,3 & 123,7 & 132,7 & 125,8 & 25,8 & 23,7 & 2,2 & -12,6 \\
Österreich & 101,5 & 100,2 & 102,9 & 106,2 & 108,5 & 111,3 & 107,4 & 102,9 & 102,5 & 100,0 & 95,8 & 95,5 & 95,0 & 97,4 & 97,1 & 97,4 & 97,9 & 98,8 & 100,0 & 101,4 & 1,4 & -1,2 & 2,6 & -1,5 \\
Griechenland & 90,2 & 83,4 & 83,7 & 84,2 & 87,7 & 94,0 & 96,3 & 101,3 & 99,0 & 100,0 & 94,0 & 91,9 & 100,6 & 103,7 & 105,3 & 106,8 & 106,6 & 109,4 & 112,0 & 115,7 & 15,7 & 9,4 & 6,3 & 9,8 \\
Spanien & 112,6 & 115,9 & 118,5 & 107,1 & 101,3 & 102,9 & 105,2 & 100,8 & 101,3 & 100,0 & 97,5 & 99,0 & 100,9 & 105,6 & 108,2 & 110,0 & 112,4 & 116,1 & 120,2 & 117,2 & 17,2 & 16,1 & 1,1 & -12,6 \\
Portugal & 75,0 & 83,3 & 93,8 & 90,4 & 89,1 & 95,1 & 98,2 & 99,0 & 99,9 & 100,0 & 99,8 & 101,4 & 103,7 & 108,8 & 109,5 & 111,3 & 111,1 & 111,5 & 113,9 & 115,9 & 15,9 & 11,5 & 4,4 & 25,0 \\
Niederlande & 98,6 & 96,7 & 99,3 & 101,9 & 102,5 & 105,7 & 103,0 & 99,2 & 101,0 & 100,0 & 98,3 & 101,8 & 105,9 & 110,6 & 110,9 & 109,2 & 109,1 & 110,8 & 113,3 & 116,2 & 16,2 & 10,8 & 5,4 & 1,4 \\
Belgien & 97,5 & 98,4 & 100,2 & 103,6 & 106,4 & 110,0 & 106,9 & 101,2 & 101,4 & 100,0 & 95,3 & 97,9 & 99,3 & 102,4 & 102,0 & 102,2 & 103,1 & 104,9 & 108,0 & 109,7 & 9,7 & 4,9 & 4,8 & 2,5 \\
Frankreich & 106,6 & 101,6 & 102,9 & 104,9 & 105,1 & 108,7 & 108,8 & 103,3 & 102,6 & 100,0 & 94,9 & 95,5 & 98,1 & 102,6 & 104,1 & 104,5 & 105,7 & 107,5 & 109,6 & 109,1 & 9,1 & 7,5 & 1,6 & -6,6 \\
Finnland & 146,5 & 142,8 & 118,7 & 95,8 & 101,7 & 113,4 & 109,3 & 103,5 & 102,7 & 100,0 & 94,3 & 96,8 & 97,5 & 101,2 & 102,0 & 103,1 & 102,7 & 103,3 & 108,2 & 113,3 & 13,3 & 3,3 & 10,0 & -46,5 \\
\bottomrule
\end{tabularx}
}

\label{tab:REER}
\end{sidewaystable}

\end{document}


edico

voss
30-12-2010, 21:37
Weiß jemand Rat? Es sollte eine möglichst automatische Lösung sein, ich habe mehrere Tabellen, und will ungern die nächsten zwei Wochen damit verbringen alles manuell einzustellen.



die tabularx brauchst du nicht, da sie eh zu breit ist, also einfach tabular und dann auf Seitenbreite skalieren:


\documentclass[10pt]{scrreprt}
\usepackage[a4paper,top=.5in,bottom=.5in]{geometry}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{rotating}
\usepackage{array,booktabs,ragged2e,calc}
\usepackage{dcolumn}
\newcolumntype{N}{>{\RaggedLeft}m{.034\linewidth}}
\newcolumntype{Y}{D{.}{.}{3.1}@{~~}}

\begin{document}

\begin{sidewaystable}
\caption{Real effective exchange rates}\label{tab:REER}
\resizebox{\linewidth}{!}{%
\begin{tabular}{ l *{20}{Y} *{4}{N}}\addlinespace\toprule
& 1990 & 1991 & 1992 & 1993 & 1994 & 1995 & 1996 & 1997 & 1998 & 1999 & 2000 & 2001 & 2002 & 2003 & 2004 & 2005 & 2006 & 2007 & 2008 & 2009 & Change 1999-2009 & Change 1999-2007 & Change 2007-2009 & Change 1990-1999 \\
\midrule
Deutschland & 100,0 & 97,1 & 103,6 & 108,3 & 109,3 & 116,5 & 112,0 & 103,8 & 103,3 & 100,0 & 94,1 & 93,2 & 93,7 & 97,7 & 98,2 & 95,7 & 93,2 & 93,2 & 94,4 & 96,4 & -3,6 & -6,8 & 3,1 & 0,0 \\
Italien & 127,3 & 128,8 & 125,3 & 104,0 & 100,3 & 91,4 & 104,2 & 105,8 & 102,2 & 100,0 & 94,4 & 96,1 & 99,5 & 107,2 & 110,3 & 111,7 & 113,3 & 115,3 & 119,5 & 121,3 & 21,3 & 15,3 & 6,0 & -27,3 \\
Irland & 112,6 & 107,7 & 112,3 & 109,4 & 108,5 & 104,6 & 105,8 & 105,9 & 104,1 & 100,0 & 95,4 & 98,6 & 99,3 & 107,5 & 113,5 & 117,5 & 120,3 & 123,7 & 132,7 & 125,8 & 25,8 & 23,7 & 2,2 & -12,6 \\
Österreich & 101,5 & 100,2 & 102,9 & 106,2 & 108,5 & 111,3 & 107,4 & 102,9 & 102,5 & 100,0 & 95,8 & 95,5 & 95,0 & 97,4 & 97,1 & 97,4 & 97,9 & 98,8 & 100,0 & 101,4 & 1,4 & -1,2 & 2,6 & -1,5 \\
Griechenland & 90,2 & 83,4 & 83,7 & 84,2 & 87,7 & 94,0 & 96,3 & 101,3 & 99,0 & 100,0 & 94,0 & 91,9 & 100,6 & 103,7 & 105,3 & 106,8 & 106,6 & 109,4 & 112,0 & 115,7 & 15,7 & 9,4 & 6,3 & 9,8 \\
Spanien & 112,6 & 115,9 & 118,5 & 107,1 & 101,3 & 102,9 & 105,2 & 100,8 & 101,3 & 100,0 & 97,5 & 99,0 & 100,9 & 105,6 & 108,2 & 110,0 & 112,4 & 116,1 & 120,2 & 117,2 & 17,2 & 16,1 & 1,1 & -12,6 \\
Portugal & 75,0 & 83,3 & 93,8 & 90,4 & 89,1 & 95,1 & 98,2 & 99,0 & 99,9 & 100,0 & 99,8 & 101,4 & 103,7 & 108,8 & 109,5 & 111,3 & 111,1 & 111,5 & 113,9 & 115,9 & 15,9 & 11,5 & 4,4 & 25,0 \\
Niederlande & 98,6 & 96,7 & 99,3 & 101,9 & 102,5 & 105,7 & 103,0 & 99,2 & 101,0 & 100,0 & 98,3 & 101,8 & 105,9 & 110,6 & 110,9 & 109,2 & 109,1 & 110,8 & 113,3 & 116,2 & 16,2 & 10,8 & 5,4 & 1,4 \\
Belgien & 97,5 & 98,4 & 100,2 & 103,6 & 106,4 & 110,0 & 106,9 & 101,2 & 101,4 & 100,0 & 95,3 & 97,9 & 99,3 & 102,4 & 102,0 & 102,2 & 103,1 & 104,9 & 108,0 & 109,7 & 9,7 & 4,9 & 4,8 & 2,5 \\
Frankreich & 106,6 & 101,6 & 102,9 & 104,9 & 105,1 & 108,7 & 108,8 & 103,3 & 102,6 & 100,0 & 94,9 & 95,5 & 98,1 & 102,6 & 104,1 & 104,5 & 105,7 & 107,5 & 109,6 & 109,1 & 9,1 & 7,5 & 1,6 & -6,6 \\
Finnland & 146,5 & 142,8 & 118,7 & 95,8 & 101,7 & 113,4 & 109,3 & 103,5 & 102,7 & 100,0 & 94,3 & 96,8 & 97,5 & 101,2 & 102,0 & 103,1 & 102,7 & 103,3 & 108,2 & 113,3 & 13,3 & 3,3 & 10,0 & -46,5 \\
\bottomrule
\end{tabular}}

\end{sidewaystable}

\end{document}

blueberry
01-01-2011, 19:47
Vielen Dank für die Antworten, sind sehr hilfreich.

Werde ich mir genauer anschauen.

Leider habe ich auch ein paar Tabellen, wo es nicht erst 1990, sondern schon 1960 losgeht. Da scheint dann das Zeilen/Spalten vertauschen notwendig zu sein.

Danke,
blue