Tabelle: Bilder ragen in Kopfzeile rein, Text verschoben
Tabelle: Bilder ragen in Kopfzeile rein, Text verschoben
Hallo da draußen,
ich versuche gerade eine Tabelle mit 4 Spalten zu erzeugen. In den ersten drei Spalten ist Text und in der letzten sollen Beispielbilder untereinander angezeigt werden. Kopfzeile und allgemein die Tabellenzellen sind mit Linien von einander abgegrenzt.
Wenn ich meine Bilder einfüge, dann ist das oberste Bild der Spalte ca 2mm zu weit oben eingefügt, so das es in die Kopfzeile reinragt.
Mein zweites Problem ist, dass der Text in den anderen Spalten nach dem einfügen der Bilder nicht mehr oben anfängt, sondern auf die gesamte Spalte zentriert wurde, also mitten auf dem Blatt beginnt. Die Bilderspalte ist davon unberührt, die fängt oben an (wie gesagt sogar 2mm zu weit oben).
Mein Fragen wären also:
Wie kann ich meine Bilder so einfügen, dass sie genau in die Spalte passen u sich mit der Zeile dadrüber nicht überschneidet? bzw. wie kann ich Bilder verschieben?
Wie kann ich definieren, dass der Text oben anfängt?
[code]
%\documentclass{scrartcl}
\documentclass[11pt]{dinbrief}%Schriftgr"oßen können variieren!
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{lscape}
\usepackage{longtable}
%\usepackage{dpfloat}
\pagestyle{empty}
\pagenumbering{roman}
\begin{document}
\begin{landscape}
\begin{longtable}{|l|p{.2\textwidth}|p{.3\textwidth}|p{.4\textwidth}|}
\hline
\textsc{Nummer} & \textsc{Titel} & \textsc{Beschreibung} & \textsc{Bild}\\
%Nummer & Titel & Beschreibung & Bild\\
\hline
5781269821034785 & Ein etwas zu lang geratener Titel & Hier ist eine sehr sehr sehr lange Beschreibung, welche teilweise auch mal über eine Seite hinausgehen kann. &
\includegraphics{5781269821034785_a.png} \includegraphics{5781269821034785_b.png} \includegraphics{5781269821034785_c.png}\\
\hline
%\end{tabular}
\end{longtable}
\end{landscape}
\end{document}
[/code]
danke für eure Hilfe
ich versuche gerade eine Tabelle mit 4 Spalten zu erzeugen. In den ersten drei Spalten ist Text und in der letzten sollen Beispielbilder untereinander angezeigt werden. Kopfzeile und allgemein die Tabellenzellen sind mit Linien von einander abgegrenzt.
Wenn ich meine Bilder einfüge, dann ist das oberste Bild der Spalte ca 2mm zu weit oben eingefügt, so das es in die Kopfzeile reinragt.
Mein zweites Problem ist, dass der Text in den anderen Spalten nach dem einfügen der Bilder nicht mehr oben anfängt, sondern auf die gesamte Spalte zentriert wurde, also mitten auf dem Blatt beginnt. Die Bilderspalte ist davon unberührt, die fängt oben an (wie gesagt sogar 2mm zu weit oben).
Mein Fragen wären also:
Wie kann ich meine Bilder so einfügen, dass sie genau in die Spalte passen u sich mit der Zeile dadrüber nicht überschneidet? bzw. wie kann ich Bilder verschieben?
Wie kann ich definieren, dass der Text oben anfängt?
[code]
%\documentclass{scrartcl}
\documentclass[11pt]{dinbrief}%Schriftgr"oßen können variieren!
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{lscape}
\usepackage{longtable}
%\usepackage{dpfloat}
\pagestyle{empty}
\pagenumbering{roman}
\begin{document}
\begin{landscape}
\begin{longtable}{|l|p{.2\textwidth}|p{.3\textwidth}|p{.4\textwidth}|}
\hline
\textsc{Nummer} & \textsc{Titel} & \textsc{Beschreibung} & \textsc{Bild}\\
%Nummer & Titel & Beschreibung & Bild\\
\hline
5781269821034785 & Ein etwas zu lang geratener Titel & Hier ist eine sehr sehr sehr lange Beschreibung, welche teilweise auch mal über eine Seite hinausgehen kann. &
\includegraphics{5781269821034785_a.png} \includegraphics{5781269821034785_b.png} \includegraphics{5781269821034785_c.png}\\
\hline
%\end{tabular}
\end{longtable}
\end{landscape}
\end{document}
[/code]
danke für eure Hilfe
hm, keiner der eine Antwort weiß?
also das Problem mit der verschobenen Grafik müsste einfach bloß an der grafischen Ausgabe liegen. Wenn ich es mit nem anderen pdf viewer anschaue sieht es top aus.
Aber das Problem mit dem Text bleibt. Ich habe mitlerweile auch mal an der Ausrichtung rumgespielt. Aber ich habe es nur geschafft den Text von unten nach oben laufen zu lassen in dem ich statt:
geschrieben habe. Also das letzte p durch ein b ersetzt. Dadurch sind die Bilder in ihrer Spalte immer noch oben und der Text beginnt von unten nach oben.
Ich möchte aber das alles oben beginnt.
Weiß keiner Rat?
also das Problem mit der verschobenen Grafik müsste einfach bloß an der grafischen Ausgabe liegen. Wenn ich es mit nem anderen pdf viewer anschaue sieht es top aus.
Aber das Problem mit dem Text bleibt. Ich habe mitlerweile auch mal an der Ausrichtung rumgespielt. Aber ich habe es nur geschafft den Text von unten nach oben laufen zu lassen in dem ich statt:
\begin{longtable}{|p{.2\textwidth}|p{.2\textwidth}|p{.3\textwidth}|p{.4\textwidth}|}
\begin{longtable}{|p{.2\textwidth}|p{.2\textwidth}|p{.3\textwidth}|b{.4\textwidth}|}
Ich möchte aber das alles oben beginnt.
Weiß keiner Rat?
ein weiteres Problem welches sich bei diesem code ergibt ist, dass bei einem Seitenumbruch der fehlender Text der Spalte nicht mit auf die nächste Seite übernommen wird. Ich dachte eigentlich das \longtable dafür sorgt?
der Text beginnt also nicht nur nicht oben sondern schneidet auch noch ein ganzes Stück ab ohne es auf die nächste Seite zu übernehmen.
Wenn das so weiter geht nehme ich wieder ms word -.-
der Text beginnt also nicht nur nicht oben sondern schneidet auch noch ein ganzes Stück ab ohne es auf die nächste Seite zu übernehmen.
Wenn das so weiter geht nehme ich wieder ms word -.-
Hallo Matze,
danke für deine Antwort. Was meinst du mit dem \newline für ne neue Zeile? An welcher Stelle muss das rein? Die aktuelle Zeile wird doch durch die Spaltenbreite vorgegeben. Wenn mein Fließtext an den Rand stößt dann springt er automatisch in die nächste Zeile. Ich wüsste nicht wo ich da noch ein \newline einbauen soll.
Hier das Minimalbeispiel:
Eigentlich habe ich im Vergleich zu meinem Originaldokument nicht viel geändert. Trotzdem habe ich jetzt eine leere Seite 1 und auf Seite 2 die Tabelle in der zwei Kopfzeilen existieren und der Text (wie schon im Originaldokument) abgeschnitten wird, und er beginnt auch mitten in der Tabelle.
Das das Beispielbild bei \includegraphics{Bild} über die Tabelle geht hab ich auf die Schnelle nicht besser hinbekommen. Die Originalbilder passen genau in die Spalte und fangen auch oben an. Nur der Text halt nicht.
danke für deine Antwort. Was meinst du mit dem \newline für ne neue Zeile? An welcher Stelle muss das rein? Die aktuelle Zeile wird doch durch die Spaltenbreite vorgegeben. Wenn mein Fließtext an den Rand stößt dann springt er automatisch in die nächste Zeile. Ich wüsste nicht wo ich da noch ein \newline einbauen soll.
Hier das Minimalbeispiel:
\documentclass[11pt]{dinbrief} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{lscape} \usepackage{longtable} \usepackage{array} \pagestyle{empty} \pagenumbering{roman} \usepackage{graphicx} \begin{document} \begin{landscape} \begin{longtable}{|p{.2\textwidth}|p{.2\textwidth}|p{.3\textwidth}|p{.4\textwidth}|} \hline %Kopfzeile der ersten Seite: Nummer & Titel & Beschreibung & Bild\\ \hline \hline \endfirsthead %Kopfzeile der folgenden Seiten: \hline Nummer & Titel & Beschreibung & Bild\\ \hline \hline \endhead 12345678912345678 & 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 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 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 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 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 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 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 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 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 Text Text Text Text Text Text Text Text Text " & \includegraphics{Bild} \includegraphics{Bild}\\ \hline \end{longtable} \end{landscape} \end{document}
Das das Beispielbild bei \includegraphics{Bild} über die Tabelle geht hab ich auf die Schnelle nicht besser hinbekommen. Die Originalbilder passen genau in die Spalte und fangen auch oben an. Nur der Text halt nicht.
So, also das mit dem \newline und der Größenangabe der Bilder klappt soweit. Der Text fängt jetzt, so wie die Bilder, oben an und läuft nach unten.
Was in dem Minimalbeispiel noch nicht stimmt
- sind die doppelte Kopfzeile
- die leere erste Seite, also das die Tabelle auf Seite zwei beginnt
- der Text immer noch am ende der Seite abgeschnitten wird und nicht auf die nächste Seite mitübernommen wird
- statt des fehlenden Textes auf der letzten Seite nur die Kopfzeile erscheint.
Hier noch mal der aktuelle code dazu:
Was in dem Minimalbeispiel noch nicht stimmt
- sind die doppelte Kopfzeile
- die leere erste Seite, also das die Tabelle auf Seite zwei beginnt
- der Text immer noch am ende der Seite abgeschnitten wird und nicht auf die nächste Seite mitübernommen wird
- statt des fehlenden Textes auf der letzten Seite nur die Kopfzeile erscheint.
Hier noch mal der aktuelle code dazu:
\documentclass[11pt]{dinbrief} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{lscape} \usepackage{longtable} \usepackage{array} \pagestyle{empty} \pagenumbering{roman} \usepackage{graphicx} \begin{document} \begin{landscape} \begin{longtable}{|p{.2\textwidth}|p{.2\textwidth}|p{.3\textwidth}|p{.4\textwidth}|} \hline %Kopfzeile der ersten Seite: Nummer & Titel & Beschreibung & Bild\\ \hline \hline \endfirsthead %Kopfzeile der folgenden Seiten: \hline Nummer & Titel & Beschreibung & Bild\\ \hline \hline \endhead \newline 12345678912345678 & \newline Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text & \newline "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 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 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 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 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 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 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 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 Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text TextText Text Text Text TextText Text Text Text TextText Text Text Text Text" & \newline \includegraphics[width=.2\textwidth, keepaspectratio]{Bild} \includegraphics[width=.2\textwidth, keepaspectratio]{Bild}\\ \hline \end{longtable} \end{landscape} \end{document}
Beispiel zum Spaltenumbruch bei longtable mit p-Spalten
...
Zuletzt geändert von matze am Mo 19. Sep 2011, 00:53, insgesamt 4-mal geändert.
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: 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.
\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}
- 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.
goLaTeX-Knigge (mit Minimalbeispiel und »So stellst Du Deine Frage richtig«)
Wie kann ich Code in meinem Beitrag hervorheben?
Wie hänge ich ein Bild an meine Frage?
KOMA-Script
Wie kann ich Code in meinem Beitrag hervorheben?
Wie hänge ich ein Bild an meine Frage?
KOMA-Script