PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle zu breit, was nun?



Matflasch
15-10-2004, 12:40
Hi,

ich schreibe grad nen (Musik)CD-Verwaltungsprogramm in Java und will als Export-Methode XML/SQL/Latex/CSV/CSV(Excel) unterstützen.

Bei Latex habe ich allerdingdas Problem, dass die Tabelle zu breit wird.
Die Tabelle bestehtl, je nach Tabelle aus mehreren Spalten (teilweise 12 oder mehr).

Wie kann ich nun die Tabelle immer ganz darstellen?
Die geht einfach rechts aus dem Rand raus und der rest wird abgeschnitten.
Das Blatt im Querformat zu nehmen bringt auch nicht so sehr viel, denk ich mal, da zu viele Daten in der Tabelle sind. Ich könnte dann höchstens pro Datensatz eine Tabelle machen, jedoch gefällt es mir so nicht besonders...

Wie kann man solche Daten in Latex gut exportieren, dass es übersichtlich und leserlich ist?

PHPmyAdmin unterstützt zwar auch die LaTex-Export Methode, allerdings wird da 'longtable' benutzt, was mein TexLive nicht kennt. (Kann nur Tex-Live nutzen).



/////////////////////////////////////////////////////////////////////
// PHPmyAdmin LaTeX export Beispiel:
Datenbank DB5274 - Tabelle mtf_counter_browser auf 217.13.199.12
% phpMyAdmin LaTeX Dump
% version 2.5.5-pl1
% http://www.phpmyadmin.net
%
% Host: 217.13.199.12
% Erstellungszeit: 15. Oktober 2004 um 12:30
% Server Version: 4.0.15
% PHP-Version: 4.3.9
%
% Datenbank: `DB5274`
%

%
% Struktur: mtf_counter_browser
%
\begin{longtable}{|l|c|c|c|}
\caption{Struktur der Tabelle mtf\_counter\_browser} \label{tab:mtf_counter_browser-structure} \\
\hline \multicolumn{1}{|c|}{\textbf{Feld}} & \multicolumn{1}{|c|}{\textbf{Typ}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{Standard}} \\ \hline \hline
\endfirsthead
\caption{Struktur der Tabelle mtf\_counter\_browser (Fortsetzung)} \\
\hline \multicolumn{1}{|c|}{\textbf{Feld}} & \multicolumn{1}{|c|}{\textbf{Typ}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{Standard}} \\ \hline \hline \endhead \endfoot \textbf{\textit{id}} & int(14) & Nein & \\ \hline
browsername & varchar(255) & Ja & NULL \\ \hline
browserversion & varchar(255) & Ja & NULL \\ \hline
\end{longtable}

%
% Daten: mtf_counter_browser
%
\begin{longtable}{|l|l|l|}
\hline \endhead \hline \endfoot \hline
\caption{Inhalt der Tabelle mtf\_counter\_browser} \label{tab:mtf_counter_browser-data} \\\hline \multicolumn{1}{|c|}{\textbf{id}} & \multicolumn{1}{|c|}{\textbf{browsername}} & \multicolumn{1}{|c|}{\textbf{browserversion}} \\ \hline \hline \endfirsthead
\caption{Inhalt der Tabelle mtf\_counter\_browser (Fortsetzung)} \\ \hline \multicolumn{1}{|c|}{\textbf{id}} & \multicolumn{1}{|c|}{\textbf{browsername}} & \multicolumn{1}{|c|}{\textbf{browserversion}} \\ \hline \hline \endhead \endfoot
1 & Mozilla & 1.7 \\ \hline
2 & MSIE & 6.0 \\ \hline
3 & Mozilla & 1.6 \\ \hline
4 & Bot & \\ \hline
5 & MSIE & 5.00 \\ \hline
6 & Firefox & 0.8 \\ \hline
7 & Mozilla & \\ \hline
8 & Firefox & 0.9 \\ \hline
9 & MSIE & 5.0 \\ \hline
10 & Mozilla & 1.5 \\ \hline
11 & MSIE & 5.5 \\ \hline
12 & Mozilla & 1.8a \\ \hline
13 & Netscape & 7.1 \\ \hline
\end{longtable}


Ein Beispiel von meiner Album-Tabelle ist das hier:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
% Mskdb SQL Dump
% Version: 0.01pre-a
% Homepage: http://www.matflasch.de
% E-Mail: mail at matflasch dot de
% Erstellt: 14.10.2004 10.15
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
% Dokumentinformationen
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
\documentclass[a4paper]{article}
\usepackage{umlaut,german,graphics,graphicx}
\pagenumbering{arabic}
\selectlanguage{german}
\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
% Tex-Titel
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
\title{MskDB Dump}
\date{\today}
\maketitle

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
% Sektion: test_cd
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
\section{test\_cd}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
% Sub-Sektion: Struktur
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
\subsection{Struktur}
\begin{tabular}{|l|c|c|c|c|c|}
\hline
\textbf{Bezeichnung} & \textbf{NN} & \textbf{Default} & \textbf{AI} & \textbf{PK} & \textbf{FK} \\
\hline
id & X & & X & X & \\
\hline
name & X & & & & \\
\hline
interpretid & X & & & & X \\
\hline
labelid & & & & X & \\
\hline
genreid & & & & X & \\
\hline
artid & & & & X & \\
\hline
trackanz & & & & & \\
\hline
release & & & & & \\
\hline
info & & & & & \\
\hline
dateadd & X & & & & \\
\hline
lastchange & & & & & \\
\hline
\end{tabular}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
% Sub-Sektion: Daten
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%
\subsection{Daten}
\begin{tabular}{|l|c|c|c|c|c|c|c|c|c|c|}
\hline
\textbf{ID} & \textbf{Name} & \textbf{InterpretID} & \textbf{LabelID} & \textbf{GenreID} & \textbf{ArtID} & \textbf{Trackanz} & \textbf{Release} & \textbf{Info} & \textbf{Dateadd} & \textbf{Lastchange} \\
\hline
1 & Augen auf und durch & 1 & 1 & 21 & 1 & 13 & 2003 & & 1096538700 & 0 \\
\hline
2 & And out come the wolves & 2 & 2 & 21 & 1 & 19 & 2003 & & 1096542031 & 0 \\
\hline
3 & Life won't wait & 2 & 2 & 21 & 1 & 22 & 2003 & & 1096542193 & 0 \\
\hline
4 & Let's go & 2 & 2 & 21 & 1 & 23 & 2003 & & 1096542308 & 0 \\
\hline
5 & River runs red & 3 & 3 & 21 & 1 & 13 & 1993 & & 1096542542 & 0 \\
\hline
6 & Ugly & 3 & 3 & 21 & 1 & 12 & 1995 & Eines der Lieblingsalben von X. & 1096542654 & 0 \\
\hline
7 & Soul searching sun & 3 & 3 & 21 & 1 & 13 & 1997 & & 1096542767 & 0 \\
\hline
8 & Pennybridge pioneers & 4 & 4 & 21 & 1 & 14 & 2003 & & 1096542899 & 0 \\
\hline
9 & For monkeys & 4 & 4 & 21 & 1 & 12 & 2003 & & 1096542987 & 0 \\
\hline
10 & The melancholy collection & 4 & 4 & 21 & 1 & 22 & 2003 & & 1096543110 & 0 \\
\hline
11 & Home from home & 4 & 4 & 21 & 1 & 13 & 2003 & & 1096543195 & 0 \\
\hline
12 & Life on a plate & 4 & 4 & 21 & 1 & 14 & 2003 & & 1096543291 & 0 \\
\hline
13 & No straight angels & 5 & 4 & 21 & 1 & 15 & 2003 & & 1096543423 & 0 \\
\hline
14 & Master celebrations & 5 & 4 & 21 & 1 & 24 & 2003 & & 1096543579 & 0 \\
\hline
15 & State of flow & 5 & 4 & 21 & 1 & 12 & 2003 & & 1096543688 & 0 \\
\hline
16 & Unknown road & 6 & 2 & 21 & 1 & 13 & 2003 & & 1096543764 & 0 \\
\hline
17 & About time & 6 & 2 & 21 & 1 & 12 & 2003 & & 1096543859 & 0 \\
\hline
18 & Land of the free & 6 & 2 & 21 & 1 & 14 & 2003 & & 1096543948 & 0 \\
\hline
19 & Pennywise & 6 & 2 & 21 & 1 & 14 & 2003 & & 1096544025 & 0 \\
\hline
20 & Straight ahead & 6 & 2 & 21 & 1 & 17 & 2004 & & 1096544138 & 0 \\
\hline
21 & Full circle & 6 & 2 & 21 & 1 & 14 & 2003 & testinfo & 1096544212 & 0 \\
\hline
22 & Freistil & 7 & 5 & 22 & 1 & 14 & 2004 & & 1096544352 & 0 \\
\hline
23 & Trotz und Träume & 1 & 1 & 21 & 1 & 14 & 2001 & & 1096544463 & 0 \\
\hline
24 & Seelenpuzzle & 1 & 1 & 21 & 1 & 13 & 2004 & & 1096544543 & 0 \\
\hline
26 & Sleeping with ghosts & 9 & 6 & 21 & 1 & 12 & 2003 & & 1097214727 & 0 \\
\hline
\end{tabular}
\end{document}

Gibt es sonst evtl eine Möglichkeit ein anderes Format zu benutzen als DIN-A4?
Entsprechend der Tabellengröße?

Druckbar ist es dann zwar nichtmehr, aber naja...

Gibts Vorschläge?

Die Tabelle aus meinem Beispiel ist zwar schon breit, aber für jedes *ID-Feld (interpretid, labelid, genreid, artid) sollte eigentlich ein ein Feld hinzukommen, wo dann drinsteht, wie der Name dieser ID ist...daher wird es noch breiter.


Ne Lösung?

Mfg, Matflasch

mwanaheri
15-10-2004, 13:34
natürlich kannst du andere Papierformate wählen. z.B. a3paper für Din A3.
Sinnvoll dürfte es auch sein, die Tabellenspalten, die furchtbar breit werden
können, in ihrer Breite zu beschränken, z.B mit einer Deklaration wie

\begin{tabular}{p{2cm} l r c p{5cm}}

Matflasch
19-10-2004, 12:12
Danke fur den Beitrag!

Habe nun die Spalten alle so angepasst, dass es auf eine DIN-A4 Seite passt (Hochformat). Die Tabelle ist zwar in \tiny-Groesse, aber was solls. Muss ich heut abend mal ausdrucken und schauen, ob das Ok ist.


Eine weitere Frage habe ich jedoch zu den Tabellen.
Jede Zelle hat ja ein bisschen freiraum in alle 4 richtungen. Wie kann man diesen Einstellen? Darüber finde ich irgendwie nix.
Also damit der Text nicht so weit in der Mitte der Zelle steht, sondern dass der weisse Rand oben/unten/links/rechts kleiner wird. Geht das?

Mittlerweile nutze ich die Longtable, falls das einen unterschied macht.

Mfg, Matflasch