von KOMA » Mo 6. Jun 2011, 13:16
Wenn ich das richtig verstehe, gibt es eigentlich zwei Probleme, deren Ursache ich mal beleuchten will:
- \includegraphics setzt ein Bild als eine Box, bei der die Höhe das Bildes, die Höhe der Box und die Tiefe 0 ist. Damit sitzt das gesamte Bild oberhalb der Grundlinie. Da p-Spalten oben ausgerichtete Boxen sind, ist bei p-Spalten die oberste Grundlinie maßgeblich für die Ausrichtung der Spalten zueinander. Hat man also in einer p-Spalte eine (hohe) Grafik und in der p-Spalte daneben mehrzeiligen Text, dann wird die Grafik oberhalb der Grundlinie der ersten Zeile des Textes ausgerichtet genau wie bei:
\documentclass[ngerman]{article}
\usepackage{babel,blindtext}
\usepackage[demo]{graphicx}
\begin{document}
\noindent
\parbox[tt]{.2\linewidth}{%
\includegraphics[width=\linewidth,height=4\baselineskip]{Bild}}%
\parbox[tt]{.8\linewidth}{\blindtext}
\end{document}
Um nun die vertikale Ausrichtung zu ändern, kann man entweder eine leere Zeile in die \parbox einfügen (das ist der Vorschlag mit dem \newline, der übrigens im Beispiel mit der \parbox nicht funktionieren würde und eher pragmatisch als sauber ist), oder man verschiebt die Grafik einfach unter die Grundlinie. Eine ausführliche Beleuchtung der verschiedenen Möglichkeiten, die es hier gibt, findet sich in http://www.golatex.de/wichtige-hinweise ... t4688.html, so dass ich diese hier nicht wiederholen muss. Für Grafiken in Tabellen ist ggf. noch der Hinweis angebracht, dass es neben p-Spalten bei Verwendung von array (also auch bei Verwendung von tabularx und anderen Tabellenpaketen, die array laden) auch noch m-Spalten und b-Spalten gibt. Diese verhalten sich dann wie entsprechend ausgerichtete Boxen aus den Beispielen in obigem Link.
- longtable bricht eine Tabelle zwar über mehrere Seiten hinweg um, das gilt jedoch nicht innerhalb von Tabellenzeilen/-zellen, sondern nur zwischen Tabellenzeilen/-zellen. Das ist übrigens beim sehr empfehlenswerten Paket tabu ganz genauso. Ein Tabellenpaket, das innerhalb einer Tabellenzelle einen Seitenumbruch durchführen kann, gibt es meines Wissens nach nicht.
Sollte ich das Problem falsch eingeschätzt haben, so bitte ich um Entschuldigung.
Wenn ich das richtig verstehe, gibt es eigentlich zwei Probleme, deren Ursache ich mal beleuchten will: [list][*]\includegraphics setzt ein Bild als eine Box, bei der die Höhe das Bildes, die Höhe der Box und die Tiefe 0 ist. Damit sitzt das gesamte Bild oberhalb der Grundlinie. Da p-Spalten oben ausgerichtete Boxen sind, ist bei p-Spalten die oberste Grundlinie maßgeblich für die Ausrichtung der Spalten zueinander. Hat man also in einer p-Spalte eine (hohe) Grafik und in der p-Spalte daneben mehrzeiligen Text, dann wird die Grafik oberhalb der Grundlinie der ersten Zeile des Textes ausgerichtet genau wie bei: [code]\documentclass[ngerman]{article}
\usepackage{babel,blindtext}
\usepackage[demo]{graphicx}
\begin{document}
\noindent
\parbox[tt]{.2\linewidth}{%
\includegraphics[width=\linewidth,height=4\baselineskip]{Bild}}%
\parbox[tt]{.8\linewidth}{\blindtext}
\end{document}[/code]
Um nun die vertikale Ausrichtung zu ändern, kann man entweder eine leere Zeile in die \parbox einfügen (das ist der Vorschlag mit dem \newline, der übrigens im Beispiel mit der \parbox nicht funktionieren würde und eher pragmatisch als sauber ist), oder man verschiebt die Grafik einfach unter die Grundlinie. Eine ausführliche Beleuchtung der verschiedenen Möglichkeiten, die es hier gibt, findet sich in [url]http://www.golatex.de/wichtige-hinweise-und-vorabhilfen-fuer-dieses-unterforum-t4688.html[/url], so dass ich diese hier nicht wiederholen muss. Für Grafiken in Tabellen ist ggf. noch der Hinweis angebracht, dass es neben p-Spalten bei Verwendung von [url=http://www.ctan.org/pkg/array]array[/url] (also auch bei Verwendung von tabularx und anderen Tabellenpaketen, die array laden) auch noch m-Spalten und b-Spalten gibt. Diese verhalten sich dann wie entsprechend ausgerichtete Boxen aus den Beispielen in obigem Link.
[*] longtable bricht eine Tabelle zwar über mehrere Seiten hinweg um, das gilt jedoch nicht innerhalb von Tabellenzeilen/-zellen, sondern nur zwischen Tabellenzeilen/-zellen. Das ist übrigens beim sehr empfehlenswerten Paket [url=http://www.ctan.org/pkg/tabu]tabu[/url] ganz genauso. Ein Tabellenpaket, das innerhalb einer Tabellenzelle einen Seitenumbruch durchführen kann, gibt es meines Wissens nach nicht.[/list]
Sollte ich das Problem falsch eingeschätzt haben, so bitte ich um Entschuldigung.