Der folgende Code
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[angle=180,width=10cm,height=1cm]{example-image-a}
\end{document}
erzeugt den folgenden Fehler
! Package graphics Error: Division by 0.
See the graphics package documentation for explanation.
Type H <return> for immediate help.
...
l.148 ...0,width=10cm,height=1cm]{example-image-a}
?
Ist das zu erwarten? Wenn ja, warum? Wenn nicht, warum passiert es?
Das ist ursprünglich nicht meine Frage. Einer meiner Studenten hat sie gestellt und ich konnte nicht antworten, außer den Vorschlag,
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=10cm,height=1cm,angle=180]{example-image-a}
\end{document}
das wie erwartet kompiliert wird.
Antwort1
Die Frage wurde in Kommentaren geklärt. Aber hier (5 Monate später) habe ich das Problem für die anderen Leser visuell dargestellt, und zwar über MWE. In der ersten Zeile zeichne ich die Grundlinie und zwei Bilder, die um 90 Grad um ihre Mitte gedreht sind. Das erste ist auf angegeben height=1cm
, während das zweite auf angegeben ist totalheight=1cm
, wobei totalheight
die Summe aus Höhe und Tiefe des Bildes ist.
Was wir hier mitnehmen, ist, dass height=1cm
sich explizit auf die Höhe über der Grundlinie bezieht. Und das ist der Schlüssel zum Verständnis des Fehlschlags des Aufrufs des OP \includegraphics[angle=180,width=10cm,height=1cm]{example-image-a}
. Die Anweisungen werden von links nach rechts verarbeitet. Ein um 180 Grad gedrehtes Bild, wie in der zweiten Zeile der Ausgabe gezeigt, hat eine Höhe von null über der Grundlinie. Es gibt also keine endliche Skalierungsstufe, die auftreten kann, um das resultierende Bild eine 1cm
Höhe über der Grundlinie aufweisen zu lassen. Dieser Versuch einer unbegrenzten Skalierung ist der Grund für den Division-durch-0-Fehler.
\documentclass{amsart}
\usepackage{graphicx}
\begin{document}
\leavevmode\rlap{\rule{3in}{.5pt}}
\raisebox{.4cm}{1cm}%
\rule{1pt}{1cm}
\includegraphics[origin=center,angle=90,height=1cm]{example-image}
\includegraphics[origin=center,angle=90,totalheight=1cm]{example-image}
\rule[-7.2pt]{1pt}{1cm}%
\raisebox{.25cm}{1cm}
\bigskip
Height is zero
\leavevmode\rlap{\rule{3in}{.5pt}}
\includegraphics[angle=180,width=1cm]{example-image}
scaling it by $\infty$\\ still has zero height
\end{document}