Schlüssel-Wert-Reihenfolge-abhängig \includegraphics Fehler: ! Paketgrafiken Fehler: Division durch 0

Schlüssel-Wert-Reihenfolge-abhängig \includegraphics Fehler: ! Paketgrafiken Fehler: Division durch 0

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 totalheightdie Summe aus Höhe und Tiefe des Bildes ist.

Was wir hier mitnehmen, ist, dass height=1cmsich 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 1cmHö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}

Bildbeschreibung hier eingeben

verwandte Informationen