Grafik mit Seitenhöhe oder Seitenbreite einfügen

Tabellen und Grafiken erstellen und anordnen


jabaa
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Do 16. Apr 2009, 00:03

Grafik mit Seitenhöhe oder Seitenbreite einfügen

Beitrag von jabaa »

Ich muss eine Grafik einfügen, die entweder die volle Seitenbreite oder die volle Seitenhöhe hat. Da ich die Grafiken weiterverarbeiten muss und dafür Tikz nutzen möchte, sollte es optimalerweise mit includegraphics funktionieren.
\documentclass[]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[papersize={1189mm,841mm},left=0pt,right=0pt,top=0pt,bottom=0pt]{geometry}
\usepackage{mwe}
\usepackage{tikz}
\setlength{\parindent}{0pt}
\begin{document}
\begin{tikzpicture}
	\node[inner sep=0,outer sep=0] at (0,0) {\includegraphics[width=0.5\textwidth,height=\textheight]{example-image-a}};
\end{tikzpicture}
\end{document}
Jedoch bekomme dabei ein overfull vbox bzw. overfull hbox. Im ersten Fall bekomme ich sogar eine leere erste Seite und die Grafik erst auf Seite 2. Was ist da los und wie bekommt man das behoben?

Besserwisser

Beitrag von Besserwisser »

Material einer Seite kann normalerweise nur so groß sein, wie der Satzspiegel. Alles, was größer ist, ergibt eine overfull \hbox oder eine overfull \vbox. Letzteres führt auch zu einem zwangsweisen Seitenumbruch, was in deinem Fall eine Leerseite nach sich zieht.

Normalerweise würde ich eine ganzseitige Abbildung mit \includepdf (Paket pdfpages) einfügen. Theoretisch könnte man per Option pagecommand darauf dann auch mit pgf/tikz zeichnen. Allerdings bietet über page node bereits selbst die Möglichkeit, Inhalt relativ zur Seite statt zum Satzspiegel zu platzieren. Dieser Inhalt darf dann auch größer als der Satzspiegel sein.

jabaa
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Do 16. Apr 2009, 00:03

Beitrag von jabaa »

Das Bild ist ja nicht größer sondern genau \textwidth x \textheight. Es funktioniert nichtmal, wenn man die Geometrie nicht verändert.

Mir ist jetzt auch aufgefallen, dass es funktioniert, wenn ich bei includegraphics das width=... weglasse.
\documentclass[]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[papersize={1189mm,841mm},left=0pt,right=0pt,top=0pt,bottom=0pt]{geometry}
\usepackage{mwe}
\usepackage{tikz}
\setlength{\parindent}{0pt}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}
	\node[inner sep=0,outer sep=0] at (0,0) {\includegraphics[height=\textheight]{example-image-a}};
\end{tikzpicture}
\end{document}
Mit dem Code wird das Bild auch eingefügt ohne irgendwelche overfull box und ohne Leerseite. Jedoch soll es ja auf eine bestimmte Breite gestreckt werden. Kann es sein, dass es beim Strecken zu Rundungsfehlern kommt? Es ist ja komisch, dass das Bild ohne Streckung passt aber mit Streckung auf einmal ein halbes Pixel größer wird. Was ebenfalls für einen Rundungsfehler spricht, ist der Eintrag im log. Das Bild ist 0.16693pt zu hoch. So ein kleiner Wert könnte irgendwo bei einer Rundung entstehen.

Eine andere Lösung ist
\includegraphics[height=.9999\textheight,width=.9999\textwidth]{...}
So kann man keinen Unterschied erkennen. Wenn man das Bild ein wenig größer macht, klappt es schon nicht mehr.

Ich schließe das mal an dieser Stelle ab, denn es gibt es ja jetzt zwei Optionen, die funktionieren und gegen Rundungsfehler in grundlegenden LaTeX-Funktionen werde ich wohl nicht viel machen können.

Noch so einer

Beitrag von Noch so einer »

Nichts desto trotz musst Du Dir mit page nodes in der Tat keine Gedanken über solche Rundungsfehler machen:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[papersize={1189mm,841mm},left=0pt,right=0pt,top=0pt,bottom=0pt]{geometry}
\usepackage{mwe}
\usepackage{tikz}
\setlength{\parindent}{0pt}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
  \node[anchor=south west] at (current page.south west) {%
    \includegraphics[width=0.5\textwidth,height=\textheight]{example-image-a}%
  };
\end{tikzpicture}
\end{document}

Antworten