PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zu große Tabelle



Ramonette
06-10-2010, 12:18
Hallo,
meine Tabelle ist zu groß, die geht über ein ganzes Blatt hinaus und ich bekomm sie nicht kleiner ({\smal }) hat nicht funktioniert:

documentclass[a4paper,11pt]{book}
\pagestyle{empty}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{exscale}
\usepackage{dsfont}
\usepackage{latexsym}
\usepackage{theorem} % change theoremstyle
\usepackage[dvips]{color}
\usepackage{graphicx}
\usepackage{nomencl}
\usepackage[printonlyused]{acronym}
\usepackage{tocloft}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{capt-of}
\usepackage{tocloft}
\usepackage{caption}
\usepackage{rotating}

Tabelle:

\begin{sidewaystable}
\begin{minipage}{\textwidth}
\centering
\captionof{table}{Mittels OLS-Verfahren geschätzte Betawerte}
\begin{tabular}{|c||c|c|c|c|c|c|c|c|c|c|c|c|c|c|c| c|c|c|c|}
\toprule
\multicolumn{4}{c}{Betawerte nach Branchen} \\ \hline
\midrule
Jahr & \bf AUT & \bf BNK & \bf RES & \bf CHM & \bf CON & \bf CYC & \bf FIN & \bf BEV & \bf IND & \bf INS & \bf MED & \bf HLT & \bf RET & \bf SFT & \bf TEC & \bf TEL & \bf TRN & \bf UTL \\ \hline
\midrule
1988 & 0.40589286 & 1.37863395 & 1.191333 \\



\bottomrule
\end{tabular}
\end{minipage}
\end{sidewaystable}


Hat jemand ne Idee wie ich sie kleiner bekomme?
Danke

rstuby
06-10-2010, 12:35
vielleicht mit resizebox?

Ramonette
06-10-2010, 13:06
Das funktioniert leider auch nicht..

Xenara
06-10-2010, 13:21
Das funktioniert leider auch nicht..

Das ist keine sinnvolle Fehlerbeschreibung. Was hast du gemacht?

Und wette, wenn du in Post #1 gleich ein richtiges Minimalbeispiel gemacht hättest, das einfach mit Copy&Paste lauffähig gewesen wäre, dann hätte rstuby dir die Lösung sicher gleich eingebaut.

Dein Beispiel auf lauffähig erweitert und mit eingebauter Lösung sieht so aus:

\documentclass[a4paper,11pt]{book}
\pagestyle{empty}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{exscale}
\usepackage{dsfont}
\usepackage{latexsym}
\usepackage{theorem} % change theoremstyle
\usepackage[dvips]{color}
\usepackage{graphicx}
\usepackage{nomencl}
\usepackage[printonlyused]{acronym}
\usepackage{tocloft}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{capt-of}
\usepackage{tocloft}
\usepackage{caption}
\usepackage{rotating}
\usepackage{array}

\begin{document}

\begin{sidewaystable}
\centering
\captionof{table}{Mittels OLS-Verfahren geschätzte Betawerte}
\resizebox{\textwidth}{!}{%
\begin{tabular}{|c||c|c|c|c|c|c|c|c|c|c|c|c|c|c|c| c|c|c|c|}
\toprule
\multicolumn{4}{c}{Betawerte nach Branchen} \\ \hline
\midrule
Jahr & \bf AUT & \bf BNK & \bf RES & \bf CHM & \bf CON & \bf CYC & \bf FIN & \bf BEV & \bf IND & \bf INS & \bf MED & \bf HLT & \bf RET & \bf SFT & \bf TEC & \bf TEL & \bf TRN & \bf UTL \\ \hline
\midrule
1988 & 0.40589286 & 1.37863395 & 1.191333 \\
\bottomrule
\end{tabular}%
}
\end{sidewaystable}


\cleardoublepage
\begin{sidewaystable}
\centering
\captionof{table}{Mittels OLS-Verfahren geschätzte Betawerte}
\resizebox{\textheight}{!}{%
\begin{tabular}{c*{19}{>{\centering\arraybackslash}c}}
\toprule
\multicolumn{4}{c}{Betawerte nach Branchen} \\
\midrule
Jahr & \bf AUT & \bf BNK & \bf RES & \bf CHM & \bf CON & \bf CYC & \bf FIN & \bf BEV & \bf IND & \bf INS & \bf MED & \bf HLT & \bf RET & \bf SFT & \bf TEC & \bf TEL & \bf TRN & \bf UTL \\
\cmidrule(lr){1-1}
\cmidrule(lr){2-19}
1988 & 0.40589286 & 1.37863395 & 1.191333 \\
\bottomrule
\end{tabular}%
}
\end{sidewaystable}

\end{document}


Die zweite Tabelle ist ein Vorschlag, wie es eleganter aussehen kann, sowohl im Code als auch in der Ausgabe.

Was mir auffällt:
- Du hast dich soweit ich gesehen habe mit den c-Spalten verzählt.
- Vertikale Linien in Tabellen sollten vermieden werden, erst recht, wenn man die booktabs-Linien verwendet.
- Ich hab zwar keine Ahnung vom Thema, aber: In der Überschrift heisst es, "GESCHÄTZTE Betawerte", und nachher werden Zahlen aufgelistet mit 8(!) Nachkommastellen.

Ramonette
06-10-2010, 13:26
Danke, jetzt klappt es auch bei mir.
Gerade da es Schätzwerte sind brauch ich ja soviele Nachkommastellen. Die Werte unterscheiden sich (von mit anderen Schätzmethoden ermittelten Werten) meist erst in der 3. oder 4. Nachkommastelle...
Ich bin leider noch nicht so gut in latex...die Tabelle habe ich auch nur mit Hilfe hinbekommen. Wie bekomme ich die vertikelan Linien denn weg?

Danke

rstuby
06-10-2010, 13:27
Eine Änderung der Schriftgröße funktioniert übrigens durchaus, wenn man sie direkt nach \begin{sidewaystable} setzt. Man muss allerdings scriptsize oder tiny nehmen, damit alles aufs Blatt passt.


\documentclass[a4paper,11pt]{book}
\pagestyle{empty}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{exscale}
%\usepackage{dsfont}
\usepackage{latexsym}
\usepackage{theorem} % change theoremstyle
\usepackage[dvips]{color}
\usepackage{graphicx}
\usepackage{nomencl}
%\usepackage[printonlyused]{acronym}
\usepackage{tocloft}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{capt-of}
\usepackage{tocloft}
\usepackage{caption}
\usepackage{rotating}

\begin{document}

\begin{sidewaystable}
\scriptsize
\begin{minipage}{\textwidth}
\centering
\captionof{table}{Mittels OLS-Verfahren geschätzte Betawerte}
\begin{tabular}{|c||c|c|c|c|c|c|c|c|c|c|c|c|c|c|c| c|c|c|c|}
\toprule
\multicolumn{4}{c}{Betawerte nach Branchen} \\\hline
\midrule
Jahr & \bf AUT & \bf BNK & \bf RES & \bf CHM & \bf CON & \bf CYC & \bf FIN & \bf BEV & \bf IND & \bf INS & \bf MED & \bf HLT & \bf RET & \bf SFT & \bf TEC & \bf TEL & \bf TRN & \bf UTL \\ \hline
\midrule
1988 & 0.40589286 & 1.37863395 & 1.191333 \\



\bottomrule
\end{tabular}
\end{minipage}
\end{sidewaystable}
\end{document}

Hab jetzt nicht alle überflüssigen Pakete rausgenommen, sondern nur die, die ich nicht hatte (und Babel und utf8x eingeführt, um keine Fehlermeldungen zu bekommen). Es ist also immer noch kein Minimalbeispiel, sorry für die weiteren Helfer...

voss
06-10-2010, 13:28
Das funktioniert leider auch nicht..

sicher geht das ...


\documentclass[english, french, ngerman, 10pt, twoside, DIVcalc, smallheadings]{scrbook}
\usepackage[dvips=false,pdftex=true,verbose]{geometry}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{rotating} %vertikale Beschriftung in Tabellen
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{booktabs,ragged2e}
\geometry{
paperwidth=14.9cm,
paperheight=20.9cm,
inner=1.6cm,
outer=1.8cm,
top=1.3cm,
bottom=1.6cm}
\usepackage [a4, center]{crop}

\newcommand\Rot[1]{%
\multicolumn{1}{@{}c@{}}{\begin{sideways}#1\end{si deways}}}
\newcommand\MCa[1]{\multicolumn{2}{@{}Z{4cm}@{}}{#1}}
\newcommand\MCb[1]{\multicolumn{2}{@{}L{0.5cm}@{}}{#1}}
\newcommand\Taba[1]{\tabular{@{}c@{}}#1\endtabular}
\newcommand\Tabb[2]{\multicolumn{8}{c}{\tabular{@{}lZ{#1}@{}}#2\endta bular}}
\newcommand\Tabc[2]{\multicolumn{12}{c}{\tabular{@{}Z{#1}@{}}#2\endta bular}}

\begin{document}
\crop[cross]
\begin{sidewaystable*}
\newcolumntype{U}[1]{>{\footnotesize\Centering\hspace{0pt}}p{#1}}
\newcolumntype{X}[1]{>{\footnotesize\RaggedRight\hspace{0pt}}p{#1}}
\newcolumntype{Z}[1]{@{}>{\footnotesize\RaggedRight\hspace{0pt}}m{#1}@{}}
\newcolumntype{L}[1]{>{\footnotesize\Centering\hspace{0pt}}p{#1}}

\centering
\resizebox{0.95\linewidth}{!}{%
\sffamily
\begin{tabular}{@{}*{21}{c}@{}}\toprule
\multicolumn{2}{U{2cm}@{}}{Problem }&
\multicolumn{7}{U{5cm}@{}}{Analyse- und Visualisierungsmethode}&
\multicolumn{12}{U{8cm}@{}}{Lean-Gestaltungsprinzipien}\\\midrule

& \Rot{Auslastungsanalyse} & \Rot{Auslastungsanalyse}
& \Rot{Wegediagramm} & \Rot{Zeigerdiagramm}
& \Rot{Austaktungsdiagramm} & \Rot{Wertstromanalyse}
& \Rot{POM} & \Rot{Reichweitenanalyse}
& \Rot{Standard-Arbeitsabläufe}& \Rot{5S}
& \Rot{Rüstzeitreduktion} & \Rot{Nivellierung / Glättung}
& \Rot{Layoutoptimierung} & \Rot{Standardisierte und}
& \Rot{getaktete Transporte} & \Rot{Kanban-Steuerung}
& \Rot{TPM} & \Rot{Visualisierung}
& \Rot{Konsequente Führung} & \Rot{Kontinuierliche Verbesserung}\\\hline

\MCa{\rule{0pt}{3ex}Ungleichmäßigkeit}
& X & & & & & & &X& &X&X& &\MCb{}&O&X&X&X&X\\\midrule
\MCa{Verschwendung\newline durch Transporte}
& X & X & O & & X & X & & X & & & & X &\MCb{X}& & &X&X&X\\\midrule
\MCa{Verschwendung durch ineffiziente Arbeitsprozesse}
& O & & O & & & & & X & X & & & &\MCb{}& &X&X&X&X\\\midrule
\MCa{Verschwendung durch Wartezeiten}
& X & & X & X & X & & &X& &X&X&X&\MCb{X}&X&X&X&X&X\\\midrule
\MCb{}\\
\MCb{}\\\midrule
\Taba{Legende} %& \Taba{X\\O}
& \Tabb{5cm}{X & Methode ist geeignet um das Problem aufzudecken\\
O & Methode ist mit Einschränkungen geeignet, um das Problem aufzudecken}
& \Tabc{8cm}{Gestaltungsprinzip ist geeignet, um das Problem zu beseitigen\\
Gestaltungsprinzip ist mit Einschränkungen geeeignet, um das Problem zu beseitigen}
\\\bottomrule

\end{tabular}}
\caption{X}
\label{Tab:X}
\end{sidewaystable*}
\end{document}


und außerdem mit ein paar weniger senkrechten Strichen, die die Tabelle
extrem unlesbar machen ...

Herbert

rstuby
06-10-2010, 13:33
resizebox geht, wenn man nur das tabular in die Box setzt:


\documentclass[a4paper,11pt]{book}
\pagestyle{empty}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{exscale}
%\usepackage{dsfont}
\usepackage{latexsym}
\usepackage{theorem} % change theoremstyle
\usepackage[dvips]{color}
\usepackage{graphicx}
\usepackage{nomencl}
%\usepackage[printonlyused]{acronym}
\usepackage{tocloft}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{capt-of}
\usepackage{tocloft}
\usepackage{caption}
\usepackage{rotating}

\begin{document}
\begin{sidewaystable}
\begin{minipage}{\textwidth}
\centering
\captionof{table}{Mittels OLS-Verfahren geschätzte Betawerte}
\resizebox{\textwidth}{!}{%
\begin{tabular}{|c||c|c|c|c|c|c|c|c|c|c|c|c|c|c|c| c|c|c|c|}
\toprule
\multicolumn{4}{c}{Betawerte nach Branchen} \\\hline
\midrule
Jahr & \bf AUT & \bf BNK & \bf RES & \bf CHM & \bf CON & \bf CYC & \bf FIN & \bf BEV & \bf IND & \bf INS & \bf MED & \bf HLT & \bf RET & \bf SFT & \bf TEC & \bf TEL & \bf TRN & \bf UTL \\\hline
\midrule
1988 & 0.40589286 & 1.37863395 & 1.191333 \\
\bottomrule
\end{tabular}%
}
\end{minipage}
\end{sidewaystable}
\end{document}

UPD: Oh, Herbert war schneller!

voss
06-10-2010, 13:38
resizebox geht, wenn man nur das tabular in die Box setzt:
\begin{minipage}{\textwidth}
[/CODE]


Die minipage braucht man eigentlich nicht.

Herbert

Ramonette
06-10-2010, 13:43
Danke für die vielen hilfreichen Antworten!!! Auch wenn ich die von voss leider gar nicht verstehe. Bin in latex-Tabellen ein absoluter Anfänger.

Kann mir jemand nur vielleicht nochmal erklären, wie ich die vertikalen Linien entfernen kann? Nur vielleicht nicht ganz sooo kompliziert wie die von voss (ist nicht böse gemeint, mir ist das nur zu hoch...)

rstuby
06-10-2010, 13:46
Indem man die senkrechten Striche einfach nicht setzt. Also nicht

c|c|c|c

sondern

cccc

und so weiter.

Ramonette
06-10-2010, 13:50
Haha, okay, vielen Dank =)

Ramonette
06-10-2010, 15:16
Eine kleine Frage habe ich doch noch, wenns okay ist: Ich habe die Tabelle jetzt so gemacht, aber wenn ich mir die Ausgabe betrachte, ist die ganze Tabelle nun wieder etwas klein....



\begin{sidewaystable}
\centering
\Huge
\captionof{table}{Mittels OLS-Verfahren geschätzte Betawerte}
\resizebox{\textheight}{!}{%
\begin{tabular}{c*{19}{>{\centering\arraybackslash}c}}
\toprule
\multicolumn{4}{c}{Betawerte nach Branchen} \\
\midrule
Jahr & \bf AUT & \bf BNK & \bf RES & \bf CHM & \bf CON & \bf CYC & \bf FIN & \bf BEV & \bf IND & \bf INS & \bf MED & \bf HLT & \bf RET & \bf SFT & \bf TEC & \bf TEL & \bf TRN & \bf UTL \\
\cmidrule(lr){1-1}
\cmidrule(lr){2-19}
\bottomrule
\end{tabular}
}
\end{sidewaystable}


Gibt es etwas was ich einfügen kann, damit ich die Größe beliebig ändern kann, also wie bei Abbildungen ein width=1cm?? Oder so was in der Art? Damit ich individuell bei jeder Tabelle entscheiden kann wie ich sie haben möchte? Danke

Xenara
06-10-2010, 15:24
Du kannst den Parameter \textheight beliebig gegen einen anderen austauschen, z.B. 5cm.

Aber was an der Tabelle ist dir zu klein? Die Schrift?
\textheight ist die Höhe des beschriftbaren Teils der Seite, daher ist das eigentlich schon der maximal mögliche Bereich. Wenn das nicht genügt, kannst du die Tabelle auch auf mehrere Seiten aufteilen.

Ramonette
06-10-2010, 15:28
Achso... In der dvi-Ausgabe sieht es so aus, als wäre nur ein Teil der Seite mit der Tabelle gefüllt. Aber vielleicht täuscht das dann.

Vielen dank für die nette Hilfe.

Wie könnte ich denn die Schrift ändern? Gibt es da auch einen Befehl?

Xenara
06-10-2010, 15:35
Die Schriftart oder die Schriftgrösse?

Bitte versuche, deine Fragen eindeutiger zu formulieren, es ist mühsam, jedesmal nachfragen zu müssen.

ellocco
06-10-2010, 21:32
Achso... In der dvi-Ausgabe sieht es so aus, als wäre nur ein Teil der Seite mit der Tabelle gefüllt. Aber vielleicht täuscht das dann.

Vielen dank für die nette Hilfe.

Wie könnte ich denn die Schrift ändern? Gibt es da auch einen Befehl?
Wenn Du stufenlos die Schriftgröße ändern möchtest, kannst Du die sogenannten
Low-Level Befehle verwenden, siehe "fntguide.pdf", Seite 5.
Hier ein Beispiel:


...
\newcommand{\changefont}[5]{\fontfamily{#1} \fontseries{#2} \fontshape{#3} \fontsize{#4}{#5} \selectfont}
\newcommand{\changefontsize}[2]{\fontsize{#1}{#2} \selectfont}
...
{\changefontsize{20}{22}size20}

{\changefontsize{24}{28}size24}

{\changefont{cmss}{m}{n}{26}{28}size26}
normaler Text

Schweinebacke
07-10-2010, 08:30
Diese \changefont-Anweisung ist IMHO ziemlich überflüssig und wird fast immer falsch oder ungünstig verwendet. Im fntguide findet man die Anweisung \usefont, bei der man auch gleich noch das Font-Encoding mit angeben kann. Es liegen ja nicht alle Fonts in allen Encodings vor. Aber auch diese braucht man eher selten.

Außerdem ist es eventuell besser, wenn man Schriftgrößen nicht absolut, sondern relativ ändert. Das geht nicht nur mit \Huge, \huge, \LARGE, \Large, \large, \normalsize, \small, \footnotesize, \tiny relativ zur Grundschriftgröße sondern auch mit Hilfe des Pakets relsize (http://ctan.org/pkg/relsize) auch relativ zur gerade aktuellen Schriftgröße.

Die Größe der Grundschrift wiederum stellt man per Klassenoption ein (bei KOMA-Script geht das auch noch innerhalb des Dokuments, was aber AFAIK für andere Dinge gedacht ist, als mal eben eine Tabelle in anderer Größe zu setzen). Näheres dazu gibt die Doku der Klasse an. Hier ist insbesondere darauf zu achten, dass nur wenige Klasse alle möglichen Schriftgrößen erlauben.

Die Art der Schrift ändert man hingegen durch Laden entsprechender Schriftpakete. Davon gibt es eine Menge. Die Postscript-Basisschriften sind beispielsweise in der Doku psnfss2e.pdf (http://www.ctan.org/pkg/psnfss) zu finden.

Bei Verwendung von XeLaTeX kann man auch die Systemschriften verwenden. Näheres dazu ist AFAIR u. a. der Anleitung zum Paket fontspec (http://www.ctan.org/pkg/fontspec) zu entnehmen.

voss
07-10-2010, 08:39
Wenn Du stufenlos die Schriftgröße ändern möchtest, kannst Du die sogenannten
Low-Level Befehle verwenden, siehe "fntguide.pdf", Seite 5.
Hier ein Beispiel:


...
\newcommand{\changefont}[5]{\fontfamily{#1} \fontseries{#2} \fontshape{#3} \fontsize{#4}{#5} \selectfont}
\newcommand{\changefontsize}[2]{\fontsize{#1}{#2} \selectfont}
...
{\changefontsize{20}{22}size20}

{\changefontsize{24}{28}size24}

{\changefont{cmss}{m}{n}{26}{28}size26}
normaler Text



das ist falsch, denn dadurch werden andere Größen nicht angepasst, beispielsweise \above/belowdisplyskip.


\documentclass[ngerman,twoside,a4paper]{article}
\usepackage{babel,blindtext}

\newcommand{\changefontsize}[2]{\fontsize{#1}{#2} \selectfont}

\begin{document}

\changefontsize{20}{22}
\blindtext
\[ f(x)=x^-1 \]
\blindtext

\huge
\blindtext
\[ f(x)=x^-1 \]
\blindtext
\end{document}

Herbert

ellocco
07-10-2010, 20:23
das ist falsch, denn dadurch werden andere Größen nicht angepasst, beispielsweise \above/belowdisplyskip.



...
\newcommand{\changefontsize}[2]{\fontsize{#1}{#2} \selectfont}
...


Herbert
Herbert,

jetzt stehe ich auf dem Schlauch, helfe mir mal, Dein Kommando ist
doch identisch mit dem von mir vorgeschlagenen Kommando,
wo liegt denn der Unterschied?

Grüße

ellocco

voss
07-10-2010, 20:30
jetzt stehe ich auf dem Schlauch, helfe mir mal, Dein Kommando ist
doch identisch mit dem von mir vorgeschlagenen Kommando,
wo liegt denn der Unterschied?


Das ist dein Kommando, nicht meins! Um dir zu zeigen, dass bei dir
die Abstände nicht stimmen, aber sehr wohl bei Verwendung von \huge.

Herbert

ellocco
07-10-2010, 22:28
Das ist dein Kommando, nicht meins! Um dir zu zeigen, dass bei dir
die Abstände nicht stimmen, aber sehr wohl bei Verwendung von \huge.

Herbert
o.k. danke für die Aufklärung!
Ich nahm an, daß Ramonette die Abstufung der Standardgrößen nicht ausreichend erscheinen und,
so wie ich ihn verstanden habe, geht es ihm auch nur um die stufenlose Skaliebarkeit der Schrift
innerhalb seiner Tabelle.

Ich habe die beiden Varianten mal verglichen: \Huge <-> \fontsize{27.368}{32.84}
Also ich kann mit blosen Augen keinen Unterschied erkennen (siehe Anhang).

P.S.:
Dein Beispiel finde ich super, ich hab's gleich bei mir als Beispiel abgelegt,
insbes. das Paket "crop" finde ich interessant.

voss
08-10-2010, 09:16
o.k. danke für die Aufklärung!
Ich nahm an, daß Ramonette die Abstufung Standardgrößen nicht ausreichend erscheinen und so wie ich ihn verstanden habe, geht es ihm auch
nur um die stufenlose Skaliebarkeit der Schrift innerhalb seiner Tabelle.

deswegen definiert man sich auch ein \MeinHuge und passt darin auch
die anderen Abstände an und nicht nur den Zeilenvorschub.

Herbert

Schweinebacke
12-10-2010, 14:15
jetzt stehe ich auf dem Schlauch, helfe mir mal, Dein Kommando ist doch identisch mit dem von mir vorgeschlagenen Kommando,
wo liegt denn der Unterschied?
Herberts Beispiel enthält zur Verdeutlichung der Nachteile dieser Anweisung mehr als nur eben diese Anweisung ...