Seite 1 von 1

[tabu] vertikale Ausrichtung bei Bildern merkwürdig

Verfasst: Di 2. Jul 2013, 13:20
von MoonKid
Wenn ich richtig informiert bin, werden Zelleninhalte bei tabu immer oben ausgerichtet. Das funktinoiert bei mir auch so, wenn ich Text verwende.

Setze ich allerdings eine Grafik in eine Zelle, ändert sich scheinbar das Verhalten und benachbarter Text wird unten ausgerichtet.

Warum? Und wie könnte ich das beeinflussen?
\documentclass{scrartcl}

\usepackage[demo]{graphicx}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}

\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\usepackage{tabu}


\begin{document}

\begin{tabu} spread 0pt { | X[c] | X[c] | }
    \hline
    Zeile 1 Zeile A\linebreak
    Zeile 2 Zeile B\linebreak
    letzteZeile
    &
    \includegraphics{plank} \\
    \hline
\end{tabu}

\end{document}

Verfasst: Di 2. Jul 2013, 13:36
von u_fischer
Setze ich allerdings eine Grafik in eine Zelle, ändert sich scheinbar das Verhalten und benachbarter Text wird unten ausgerichtet.
Nein. Das Verhalten ändert sich nicht. Ersetze mal dein Bild durch
\fontsize{3cm}{3.5cm}\selectfont A, dann verstehst du vielleicht besser, was vor sich geht.
Und wie könnte ich das beeinflussen?
Du kannst z.B. \vspace{0pt} vor das Bild schreiben. Dann gibt es eine "Zeile" über dem Bild, das zur Ausrichtung benutzt wird. Oder du schiebst das Bild mit \raisebox{-\height}[0pt][0pt]{Bild} unter die Grundlinie.

Verfasst: Di 2. Jul 2013, 14:01
von MoonKid
Wirklich verstehen tue ich es noch nicht.

Die Ausrichtung geschieht an der Grundlinie?

Es wird aber die Grundlinie des letzten Zeichens (also A bzw das Bild) verwendet. An dessen Grundlinie wird auch der Inhalt der vorherigen Zelle ausgerichtet?

Mit \vspace{0} erzeuge ich eine neue Grundlinie (ganz oben) an der die vorherige Zelle ausgerichtet wird. Das Bild in der zweiten Zelle wird an einer zweiten Grundlinie ausgrichtet, die in der ersten Zelle keinen Effekt mehr hat, weil es dort keine zweite Zeile gibt.

???

Verfasst: Di 2. Jul 2013, 14:16
von u_fischer
Es werden immer ganze Zellen aneinander ausgerichtet. D.h. bei jeder Zelle wird eine Grundlinie bestimmt. Und dann werden diese Zellengrundlinien entlang der Zeilengrundlinie platziert.


Das ist wie bei Buchstaben in einer Textzeile: Jeder Buchstabe hat eine gedachte Linie, die auf der Grundlinie platziert wird. Diese Linie ist bei manchen Buchstaben am Boden (A oder H), bei anderen geht sie quer durch den Buchstaben (p, q).

Deine erste Zelle hat ihre Grundlinie am Boden von "Zeile 1". Die zweite am Boden des Bildes.