PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vertikale Ausrichtung in Tabellen



milhouse
01-03-2006, 12:53
Hallo...

Ich hab da eine kurze Frage, auf die sicher jemand eine Antwort weiss.
Ich habe eine Tabelle, in der ich in der ersten Spalte Text und in der zweiten Spalte ein EPS habe. Die Tabelle geht ueber mehrere Zeilen und die EPS haben verschiedene Hoehen. Jetzt möchte ich, dass der Text und das Bild in jeder Zeile oben an der Zelle ausgerichtet sind. Ich habe folgendes versucht:



\begin{tabular}{p{0.5\textwidth}p{0.5\textwidth}}
Das ist der Text & \includegraphics{./picture_100x200.eps} \\
Das ist der Text & \includegraphics{./picture_100x400.eps} \\
Das ist der Text & \includegraphics{./picture_100x800.eps}
\end{tabular}


Der Inhalt der Zellen wird aber unten in der Zelle ausgerichtet. Wenn ich aber anstelle von p{width} m{width} benutze, dann wird der Inhalt korrekt in der Mitte der Zeile ausgerichtet...

Irgend jemand eine Idee, wie ich das hinbekomme?

Danke,

milhouse

countbela666
01-03-2006, 15:58
Moin milhouse,

du könntest folgende Bastelvariante nutzen:

\documentclass{article}
\usepackage{calc}
\begin{document}
\begin{tabular}{p{0.5\textwidth}p{0.5\textwidth}}
Das ist der Text & \raisebox{\ht\strutbox-\height}{\rule{3cm}{3cm}} \vspace{5pt}\\
Das ist der Text & \raisebox{\ht\strutbox-\height}{\rule{4cm}{4cm}} \vspace{5pt}\\
Das ist der Text & \raisebox{\ht\strutbox-\height}{\rule{3cm}{3cm}}
\end{tabular}
\end{document}Die \rule{}{}-Befehle sind nur Platzhalter für deine Bilder, die ich ja nicht habe. Die müsstest du natürlich durch das jeweilige \includegraphics{} ersetzen.

Grüße,
Marcel

milhouse
01-03-2006, 16:11
Hey countbela666...

Wie wuerde jetzt ein Amerikaner sagen: You made my day... :)
Es waer noch super, wenn Du kurz erklaeren koenntest, was Du da machst, weil ich da auf den ersten Blick nicht durchsteig :confused: ...

Trotzdem schon mal vielen Dank!

milhouse

countbela666
01-03-2006, 16:30
Soll ich also schonungslos meine Unwissenheit offenlegen... ich hab die Variante nämlich auch nur aus dem Usenet abgeschrieben, ist also nicht auf meinen Mist gewachsen ;).

Das Bild wid hier in eine Raisebox gepackt, also um einen bestimmten Wert vertikal verschoben. Dieser Wert ist die Höhe einer Textzeile (\ht\strutbox) minus der Höhe des Bildes (\height). Das Bild wird also um seine Höhe nach unten und dann wieder um die Höhe einer Zeile nach oben geschoben, damit es mit dem Text abschließt. Dabei wird seltsamerweise noch der Zeilenabstand der Tabellenzeilen verschluckt, den ich dann mit \vspace{5pt} ganz frech simuliere.

Gibt bestimmt ein Paket, das das eleganter löst, aber zumindest funktioniert es so... :D

Grüße,
Marcel