PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu Tabellen



frontloop33
20-06-2008, 13:32
Hallo,

aus der Diplomarbeit-Vorlage des Users pospiech hab ich die Tabelle mit alternierenden Farben verwendet:
Das ganze sieht so aus:
Für alle Tabelle gilt: (d.h. wird vor der 1. Tabelle einmalig eingetragen):


%--Einstellungen für Tabellen ----------
\renewcommand\tablestylecommon{%
\renewcommand{\arraystretch}{1.4} % Groessere Abstaende zwischen Zeilen
\normalfont\normalsize %
\sffamily\tablefontsize % Serifenlose und kleine Schrift
\centering% % Tabelle zentrieren
}

\renewcommand{\tablestyle}{%
\tablestylecommon%
}

\renewcommand\tablebody{%
\tablefontsize\sffamily\upshape%
}
%
sowie für die alternierenden Farben:

\colorlet{tablesubheadcolor}{gray!40}
\colorlet{tableheadcolor}{gray!25}
\colorlet{tableblackheadcolor}{black!60}
\colorlet{tablerowcolor}{gray!15.0}


\renewcommand\tablehead{%
\tableheadfontsize%
\sffamily\bfseries%
\slshape
\color{white}
}

\renewcommand\tableheadcolor{
\rowcolor{tableblackheadcolor}
}

Die eigentliche Tabelle sieht dann wie folgt aus:

\begin{table}[H]
\tablestyle
\tablealtcolored
\begin{tabular}{*{2}{v{0.45\textwidth}}}
\hline
\tableheadcolor
\tablehead Tabellenkopf &
\tablehead Tabellenkopf
\tabularnewline\hline

\tablebody
Inhalt & Inhalt \tabularnewline
Inhalt & Inhalt \tabularnewline
Inhalt & Inhalt \tabularnewline
Inhalt & Inhalt \tabularnewline
Inhalt & Inhalt \tabularnewline
Inhalt & Inhalt \tabularnewline
\hline
\end{tabular}
\end{table}


Jetzt habe ich damit aber 2 Probleme:

Nummer 1:
Die Tabellenbreite insgesamt.
Wenn ich in dieser Zeile: \begin{tabular}{*{2}{v{0.45\textwidth}}} den Wert 0.45 variiere, kann ich die Breite ändern. Aber die hängt dann wohl immernoch vom Tabelleninhalt ab. (der Wert 2 legt die Anzahl der spalten fest, oder?)

Ich will, dass alle Tabellen Seitenbreit sind.

Nummer 2:
Alle Spalten sind gleich breit. Jetzt habe ich aber eine Tabelle, die in Spalten 1 und 2 nur sehr wenig inhalt hat (laufende Nummern) dafür in Spalte 3 sehr viel.
Dementsprechend soll Spalte 3 wesentlich breiter als Spalte 1 bzw. 2 sein.

Wie mache ich das?

Sabrina.Dankers
20-06-2008, 13:51
Was ist denn überhaupt der Spaltentyp v{0.45\textwidth} für ein Spaltentyp. Hab ich das überlesen? Wenn du eine Tabelle mit fester Breite haben möchtest, dann verwende das Paket tabularx (http://www.cs.ualberta.ca/~c603/latex/tabularx.pdf). Und nimm dann eben


\begin{tabularx}{\textwidth}{llX}
Inhalt
\end{tabularx}

Die X-Spalte musst du dir dann ggf. noch umdefinieren, so wie du sie haben willst. Das steht in der Doku wie das geht.

frontloop33
24-06-2008, 10:29
also so ganz blick ich da nicht durch.

hab jetzt folgendes: (3 spalten)
\begin{tabularx}{\textwidth}{XXX}
Inhalt & inhalt & InHalt
\end{tabularx}

Das Problem ist, dass er manchmal einen Zeilenumbruch macht und mal nicht.

2 Tabellen und beide gleich aufgebaut und gleicher inhalt.

In Tabelle 1 macht er nen Zeilenumbruch, damit ein Wort in der Tabelle reinpasst, in Tabelle 2 schneidet er es einfach ab.
Warum?

Und wie mach ich das mit den variablen Spaltenbreiten bei seitenbreiter Gesamttabelle? In der Doku find ich nichts.

Sabrina.Dankers
25-06-2008, 08:46
also so ganz blick ich da nicht durch.

hab jetzt folgendes: (3 spalten)
\begin{tabularx}{\textwidth}{XXX}
Inhalt & inhalt & InHalt
\end{tabularx}

Das Problem ist, dass er manchmal einen Zeilenumbruch macht und mal nicht.

2 Tabellen und beide gleich aufgebaut und gleicher inhalt.

In Tabelle 1 macht er nen Zeilenumbruch, damit ein Wort in der Tabelle reinpasst, in Tabelle 2 schneidet er es einfach ab.
Warum?

Und wie mach ich das mit den variablen Spaltenbreiten bei seitenbreiter Gesamttabelle? In der Doku find ich nichts.

Dein Problem kann man ohne Minimalbeispiel (www.minimalbeispiel.de) nicht nachvollziehen.
Die Tabelle ist doch mit \textwidth auf Seitenbreite. Und die X-Spalten passen die Breite eben daran an.

frontloop33
26-06-2008, 12:30
ok. dann aber gleich ein extrembeispiel.

Die folgende Tabelle soll quer gedruckt sein. also seitenhoch, nicht seitenbreit.
Alles soll rein passen, die Höhe der Zeilen ist egal.
Spalte A und B sollten entsprechend schmal, Spalten C und D entsprechend breit und bei bedarf mehrzeilig sein:


%--Einstellungen für Tabellen ----------
\renewcommand\tablestylecommon{%
\renewcommand{\arraystretch}{1.4} % Groessere Abstaende zwischen Zeilen
\normalfont\normalsize %
\sffamily\tablefontsize % Serifenlose und kleine Schrift
\centering% % Tabelle zentrieren
}

\renewcommand{\tablestyle}{%
\tablestylecommon%
}

\renewcommand\tablebody{%
\tablefontsize\sffamily\upshape%
}

\colorlet{tablesubheadcolor}{gray!40}
\colorlet{tableheadcolor}{gray!25}
\colorlet{tableblackheadcolor}{black!60}
\colorlet{tablerowcolor}{gray!15.0}


\renewcommand\tablehead{%
\tableheadfontsize%
\sffamily\bfseries%
\slshape
\color{white}
}

\renewcommand\tableheadcolor{
\rowcolor{tableblackheadcolor}
}


Als Einstellung für alle Tabellen.


Die eigentliche Tabelle:


\begin{sidewaystable}
\tablestyle
\tablealtcolored
\begin{tabularx}{\textwidth} {XXXX}
\hline
\tableheadcolor
\tablehead Spalte A &
\tablehead Spalte B &
\tablehead Spalte C &
\tablehead Spalte D &
\tabularnewline \hline
\tablebody
A & Text B & =WENN(Eingabe Schatz!G11="`Nein"';0;WENN(K3<30;13686;WENN(K3<37;15767;WENN(K3<45;17738;WENN(K3<55;19678;WENN(K3<75;22273;WENN(K3<90;23563;WENN(K3<110;25178;27546)))))))) & Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text \tabularnewline
\hline
\end{tabularx}
\end{sidewaystable}


Das als Extrembeispiel.
Wie muss das ganze aussehen, dass es als Quer-Tabelle passt (wie oben) bzw. was muss dann noch für ne "gerade" Tabelle geändert werden (außer "table" statt "sidewaystable")?

Edit: Das Beispiel mit dem Zeilenumbruch folgt noch.

Sabrina.Dankers
26-06-2008, 13:01
ok. dann aber gleich ein extrembeispiel.

Die folgende Tabelle soll quer gedruckt sein. also seitenhoch, nicht seitenbreit.
Alles soll rein passen, die Höhe der Zeilen ist egal.
Spalte A und B sollten entsprechend schmal, Spalten C und D entsprechend breit und bei bedarf mehrzeilig sein:


%--Einstellungen für Tabellen ----------
\renewcommand\tablestylecommon{%
\renewcommand{\arraystretch}{1.4} % Groessere Abstaende zwischen Zeilen
\normalfont\normalsize %
\sffamily\tablefontsize % Serifenlose und kleine Schrift
\centering% % Tabelle zentrieren
}

\renewcommand{\tablestyle}{%
\tablestylecommon%
}

\renewcommand\tablebody{%
\tablefontsize\sffamily\upshape%
}

\colorlet{tablesubheadcolor}{gray!40}
\colorlet{tableheadcolor}{gray!25}
\colorlet{tableblackheadcolor}{black!60}
\colorlet{tablerowcolor}{gray!15.0}


\renewcommand\tablehead{%
\tableheadfontsize%
\sffamily\bfseries%
\slshape
\color{white}
}

\renewcommand\tableheadcolor{
\rowcolor{tableblackheadcolor}
}


Als Einstellung für alle Tabellen.


Die eigentliche Tabelle:


\begin{sidewaystable}
\tablestyle
\tablealtcolored
\begin{tabularx}{\textwidth} {XXXX}
\hline
\tableheadcolor
\tablehead Spalte A &
\tablehead Spalte B &
\tablehead Spalte C &
\tablehead Spalte D &
\tabularnewline \hline
\tablebody
A & Text B & =WENN(Eingabe Schatz!G11="`Nein"';0;WENN(K3<30;13686;WENN(K3<37;15767;WENN(K3<45;17738;WENN(K3<55;19678;WENN(K3<75;22273;WENN(K3<90;23563;WENN(K3<110;25178;27546)))))))) & Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text \tabularnewline
\hline
\end{tabularx}
\end{sidewaystable}


Das als Extrembeispiel.
Wie muss das ganze aussehen, dass es als Quer-Tabelle passt (wie oben) bzw. was muss dann noch für ne "gerade" Tabelle geändert werden (außer "table" statt "sidewaystable")?

Edit: Das Beispiel mit dem Zeilenumbruch folgt noch.

Das ist kein Minimalbeispiel. Du musst das Beispiel so erstellen, dass man es per Copy & Paste kopieren kann. Und es so in ein neues Dokument einfügen kann. Deshalb hatte ich den Link angegeben.

Aber ein Problem ist auf jeden Fall die rot markierte Zeile. Da existiert für LaTeX keine mögliche Trennstelle. Du könntest das url-Paket verwenden und es als URL bezeichnen.



\usepackage{url}
\urlstyle{rm}

Und dann den Eintrag als URL

\url{=WENN(Eingabe Schatz!G11="`Nein"';0;WENN(K3<30;13686;WENN(K3<37;15767;WENN(K3<45;17738;WENN(K3<55;19678;WENN(K3<75;22273;WENN(K3<90;23563;WENN(K3<110;25178;27546))))))))}


Und wenn nicht alle Spalten in der Breite angepasst werden sollen, dann nimm halt für die meisten andere Spaltentypen. Es muss nur mindestens eine X-Spalte vorhanden sein. Ansonsten kannst du alles verwenden (l, r, c, p{}).