PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle zu Gross. Abhilfe?



syrvn
12-10-2012, 10:34
Hallo!


ich habe gerade eine Tabelle mit 13 Spalten erstellt und dabei den informationsgehalt schon so gering wie moeglich gehalten. Leider ist die Tabelle immer noch so breit, dass das letzte viertel oder so nicht mehr angezeigt wird. Gibt es denn irgendeinen latex befehl, um die Tabelle so zu skalieren, dass egal wie breit eine Tabelle ist immer auf eine normale DINA4 Seite passt?

Ich will die Tabelle auch nicht auf 2 aufsplitten noch kann ich informationen herausnehmen. Die Tabelle muss leider so bleiben wie sie ist. Eine Moeglichkeit waere vielleicht einfach die Schriftgroesse zu reduzieren falls man das fuer einzelne abschnitte machen kann. Irgendwelche Ideen?


LG
syrvn

defcon
12-10-2012, 11:03
kannst Du die Seite im Querformat nehmen?
Das geht mit einzelnen Seiten.



\usepackage{pdflscape} %oder nur lscape , je nachdem

\begin{document}
...

\begin{landscape}
%Tabelle
\end{landscape}

syrvn
12-10-2012, 11:38
Hey,

koennte ich theoretisch schon machen. also waere erlaubt aber wuerde ich ehrlich gesagt nur als letzte moeglichkeit in betracht ziehen. Wie schauts denn mit scaling oder kleineren schriftart aus? das sollte doch gehen, oder nicht?

Donalduck
12-10-2012, 11:46
Ja das geht natürlich auch, z.B. mit adjustbox:

\documentclass{report}
\usepackage{adjustbox}
\begin{document}
\begin{tabular}{cccccccccccccccccccccccccccccccc}
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
\end{tabular}

\adjustbox{max width=\textwidth}{
\begin{tabular}{cccccccccccccccccccccccccccccccc}
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
\end{tabular}
}
\end{document}

syrvn
12-10-2012, 11:54
Cool! Ich hab gerade nach adjustbox gegoogelt und noch dieses beispiel gefunden:

\begin{adjustbox}{width=\textwidth,totalheight=\te xtheight,keepaspectratio}
...table...
\end{adjustbox}

mal schauen wo der unterschied in den paramtern liegt. Muss erst noch adjustbox installieren aber irgendwie funktioniert mein tlmgr manager nicht mehr. Ich installier grad die neueste mactex version...

Donalduck
12-10-2012, 12:13
Ich habe bei obigem Beispiel "max width" benutzt, damit die Tabelle nicht vergrößert wird, wenn sie kleiner als die Textbreite ist. Deine Parameter sorgen dafür, dass die Tabelle gleichmäßig vergrößert oder verkleinert wird, bis sie entweder die Seite in der Höhe oder Breite füllt.

syrvn
12-10-2012, 12:37
Ah verstehe! So ich hab jetzt grad das neue mactex plus adjustbox installiert. Irgendwie scheint das package ziemlich anfaellig fuer fehler zu sein. Ich hab gerade deine zwei beispiele ausprobiert und die funktionieren auch. Man sieht das scaling. Hab dann folgende Beispiele hinzugefügt:



\begin{adjustbox}{width=\textwidth,totalheight=\te xtheight,keepaspectratio}
...table...
\end{adjustbox}

\begin{adjustbox}
...table...
\end{adjustbox}

\begin{adjustbox}{width=\textwidth,totalheight=\te xtheight,keepaspectratio}
\begin{table}
\begin{tabular}{ll}
T & T
\end{tabular}
\end{table}
\end{adjustbox}


erstes funktioniert. zweites und drittes nicht. Ich dachte beim zweiten liegts daran, dass die parameter angegeben werden muessen aber das hat beim dritten example ja dann auch nichts geholfen. Versteh nicht warum das nicht funktioniert...

Donalduck
12-10-2012, 12:41
Beim 2. liegts daran, dass die Parameter nicht optional sind, du musst also da was angeben. Beim 3. vermute ich dass es daran liegt, dass du eine Gleitumgebung reingepackt hast. Probier mal so (ungetestet):

\begin{table}
\begin{adjustbox}{width=\textwidth,totalheight=\te xtheight,keepaspectratio}
\begin{tabular}{ll}
T & T
\end{tabular}
\end{adjustbox}
\end{table}

syrvn
12-10-2012, 12:45
Super, jetzt wirds korrekt uebersetzt. Ich wusste nicht, dass adjustbox innerhalb von \begin{table} stehen muss.

Vielen Dank fuer die Unterstuetzung! :-)

Arthorius
12-10-2012, 18:10
Die Ausgabe von adjustbox passt dann schlußendlich auch auf die Seite, wird aber bei viel Text auch stark verkleinert...

Zum Thema "zu breite Tabellen", fallen mir auch die Pakte tabularx, tabulary und tabu ein, welche unten an dem Beispiel ebenfalls illustriert sind.


\documentclass{report}

\usepackage{adjustbox}
\usepackage{tabularx}
\usepackage{tabulary}
\usepackage{tabu}

\begin{document}

\begin{tabular}{*{32}{c}}
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{tabular}

\hrule

\adjustbox{max width=\textwidth}{
\begin{tabular}{*{32}{c}}
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{tabular}
}

\hrule

\begin{tabularx}{\textwidth}{*{32}{X}}
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{tabularx}

\hrule

\begin{tabulary}{\textwidth}{*{32}{C}}
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{tabulary}

\hrule

\begin{tabu}{*{32}{X}}
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{tabu}

\end{document}