\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}
Grafik mit Seitenhöhe oder Seitenbreite einfügen
Grafik mit Seitenhöhe oder Seitenbreite einfügen
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.
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?
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.
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.
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.
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
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.
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}
Eine andere Lösung ist
\includegraphics[height=.9999\textheight,width=.9999\textwidth]{...}
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.
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}