O seguinte código
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[angle=180,width=10cm,height=1cm]{example-image-a}
\end{document}
produz o seguinte erro
! 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}
?
Isso é esperado? Se sim, por quê? Se não, por que isso acontece?
Esta não é originalmente minha pergunta. Um dos meus alunos perguntou isso e eu não pude responder além de sugerir o uso de
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=10cm,height=1cm,angle=180]{example-image-a}
\end{document}
que compila conforme o esperado.
Responder1
A questão foi resolvida nos comentários. Mas aqui (5 meses depois) exponho visualmente qual era o problema para os outros leitores, por meio do MWE. Na primeira linha, traço a linha de base e duas imagens giradas 90 graus em torno de seu centro. O primeiro é especificado como height=1cm
, enquanto o segundo é especificado como totalheight=1cm
, onde totalheight
constitui a soma da altura mais a profundidade da imagem.
O que tiramos aqui é que isso height=1cm
se refere explicitamente à altura acima da linha de base. E esta é a chave para compreender o fracasso da invocação do OP \includegraphics[angle=180,width=10cm,height=1cm]{example-image-a}
. As diretivas são processadas da esquerda para a direita. Uma imagem girada 180 graus, conforme mostrado na 2ª linha da saída, tem altura zero acima da linha de base. Assim, não existe um nível finito de escala que possa ocorrer para fazer com que a imagem resultante exiba uma 1cm
elevação acima da linha de base. Essa tentativa de escalar sem limites é o que provoca o erro de Divisão por 0.
\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}