PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spaltenbreite in Tabelle



Halteraner
16-02-2010, 13:34
Hallo LaTeX Experten!

Ich habe mal wieder ein Problem mit dem Tabellensatz.

Ich möchte eine Anforderungsliste in meinen Text einbauen. Das klappt an sich schon sehr gut, jedoch möchte ich gerne die zweite Spalte schmaler als die erste Spalte haben.

Ich habe es schon mit der Spaltendefinition

>{\centering}m{Wert}
versucht, jedoch brachte das mein Tabellenlayout vollkommen durcheinander.

Hier mein Beispiel mit tabular:


\documentclass[11pt,oneside,a4paper]{scrbook}

\usepackage[left=3cm,top=2.5cm,right=2cm,bottom=2cm]{geometry}
\usepackage{ngerman}
\usepackage[ansinew]{inputenc}
\usepackage{array}


\begin{document}
\begin{table}[ht!]
\sffamily
\centering
\scriptsize
\begin{tabular}{|c|c|l|c|}
\hline
\multicolumn{2}{|>{\centering}m{4cm}|}{Logo - Institut}
&
\multicolumn{1}{c|}{
\begin{tabular}{c}
\textbf{Anforderungsliste} \\
für \\
gestellte Aufgabe \\
\end{tabular}}& Blatt: 1 \quad Seite: 1 \\
\hline
Änder. &
\begin{tabular}{c}
F \\
W \\
\end{tabular} & \multicolumn{1}{c|}{Anforderung} & Verantw. \\
\hline
\end{tabular}
\end{table}
\end{document}


Mit tabularx waren die Spalten richtig, jedoch wird mir das Logo nicht mehr zentriert gesetzt.
Beispiel mit tabularx:


\documentclass[11pt,oneside,a4paper]{scrbook}

\usepackage[left=3cm,top=2.5cm,right=2cm,bottom=2cm]{geometry}
\usepackage{ngerman}
\usepackage[ansinew]{inputenc}

\usepackage{array,tabularx,graphicx}
\newcolumntype{C}{>{\centering\arraybackslash}X}


\begin{document}
\begin{table}[ht!]
\sffamily
\centering
\scriptsize
\begin{tabularx}{15cm}{|C|c|l|C|}
\hline
\multicolumn{2}{|>{\centering}m{4cm}|}{Logo - Institut}
&
\multicolumn{1}{c|}{
\begin{tabular}{c}
\textbf{Anforderungsliste} \\
für \\
gestellte Aufgabe \\
\end{tabular}}& Blatt: 1 \quad Seite: 1 \\
\hline
Änder. &
\begin{tabular}{c}
F \\
W \\
\end{tabular} & \multicolumn{1}{c|}{Anforderung} & Verantw. \\
\hline
\end{tabularx}
\end{table}
\end{document}

Vielleicht weiß jemand von euch weiter.

Legion
16-02-2010, 19:09
\begin{table}[ht!]
\sffamily
\centering
\scriptsize
\begin{tabularx}{15cm}{|C|c|l|C|}
\hline
\multicolumn{2}{|c|}{Logo - Institut}
&
\multicolumn{1}{c|}{
\begin{tabular}{c}
\textbf{Anforderungsliste} \\
für \\
gestellte Aufgabe \\
\end{tabular}}& Blatt: 1 \quad Seite: 1 \\
\hline
Änder. &
\begin{tabular}{c}
F \\
W \\
\end{tabular} & \multicolumn{1}{c|}{Anforderung} & Verantw. \\
\hline
\end{tabularx}
\end{table}

Halteraner
16-02-2010, 22:22
Danke für die Antwort.

Das habe ich auch schon versucht, leider stimmen dann die vertikalen Abstände nicht mehr. :confused:
Das Logo ist dabei am oberen Rand und der Text in der mittleren Spalte ist am unteren Rand der Zelle angeordnet.

Legion
17-02-2010, 09:52
Kann ich nicht nachvollziehen.

Halteraner
17-02-2010, 10:13
Kann es vielleicht daran liegen, dass ich anstatt des Textes Logo - Institut eine Grafik einbinde?

Wenn ich die Grafik durch den Text ersetze klappt es bei mir auch, jedoch würde ich lieber die Grafik verwenden.

Legion
17-02-2010, 10:36
Yepp, kann es :) Xenara hat hier (http://www.mrunix.de/forums/showthread.php?t=66508&highlight=tabelle+bild) eine schöne Lösung für Bilder in Tabellen aufgezeigt. Wenn du das hier in deine Präambel einfügst
% Bilder in Tabelle passend ausrichten (aus l2picfaq.pdf)
% Aufzurufen über \includegraphicstotab[..]{..}
% Verwendung analog wie \includegraphics
\newlength{\myx} % Variable zum Speichern der Bildbreite
\newlength{\myy} % Variable zum Speichern der Bildhöhe
\newcommand\includegraphicstotab[2][\relax]{%
% Abspeichern der Bildabmessungen
\settowidth{\myx}{\includegraphics[{#1}]{#2}}%
\settoheight{\myy}{\includegraphics[{#1}]{#2}}%
% das eigentliche Einfügen
\parbox[m][1\myy][c]{\myx}{%
\includegraphics[{#1}]{#2}}%
}% (das rot markierte habe ich aus Xenaras Beispiel abgeändert) und dann dein Bild so einbindest:
\multicolumn{2}{|c|}{\includegraphicstotab[scale=0.05]{bild}} (die Skalierung musst du natürlich anpassen ;) ) dann sieht es schon besser aus, oder?

HMPF ... kein Beispiel-PDF diesmal ... ist zu groß :p

Halteraner
17-02-2010, 16:41
Also dein Hinweis hat funktioniert. :)

Jetzt meckert das tabularx-Paket bezüglich der Breite der Tabelle rum und gibt mir eine Warnung aus. :confused:


Package tabularx warning: Target width: \textwidth = 455.24411pt..

Das hatte ich vorher auch schon mal und nachdem ich die Tabelle dann umgestellt hatte, war die Warnung nicht mehr da, allerdings war die Tabelle dann auch nicht so wie ich sie haben wollte. Dazu muss ich noch sagen, dass vom Aussehen her in der Tabelle alles in Ordnung ist.

Legion
17-02-2010, 16:58
Gute Frage, nächste Frage ... weder TexMakerX noch TeXworks geben bei mir eine Fehlermeldung aus. Wenn du statt 15 cm einfach mal \textwidth als Breite deiner Tabelle angibst?

Halteraner
18-02-2010, 10:12
Ich habe es erst mit einer genauen Maßangabe versucht und dann mit \textwidth, in beiden Fällen meckert TeXnicCenter rum.

TeXnicCenter gibt mir allerdings keinen Fehler aus, sondern eine Warnung. Hab schon mal gelesen, dass man Warnungen manchmal ignorieren kann. Die Tabelle ist ja so wie ich sie haben will, nur eben mit dieser Warnung.

u_fischer
18-02-2010, 10:28
Die "Warnung" ist eigentlich nur eine Information. Man bekommt sie, wenn man \tracingtabularx benutzt, oder die Optionen infoshow/debugshow:


\documentclass{article}
\usepackage[infoshow]{tabularx}

\begin{document}
%\tracingtabularx
\begin{tabularx}{5cm}{XX}
a&b
\end{tabularx}
\end{document}

Halteraner
18-02-2010, 10:40
@Ulrike:
Jipp, das wars! Vielen Dank! :D
Hatte den Befehl irgendwann wohl mal eingebaut, ohne wirklich einen Effekt zu merken und dann drin gelassen.

Legion
18-02-2010, 11:16
Wieder was gelernt, vllt wäre ich drauf gekommen wenn das im Minimalbeispiel gestanden hätte ;)

Halteraner
18-02-2010, 11:29
Leider hatte ich diesen Befehl da irgendwann mal eingefügt und vergessen, dass er sich auf tabularx auswirkt.

Beim Erstellen des Beispiels habe ich dann an den Befehl nicht mehr gedacht. :o