Erro \includegraphics dependente da ordem do valor-chave:! Erro gráfico do pacote: divisão por 0

Erro \includegraphics dependente da ordem do valor-chave:! Erro gráfico do pacote: divisão por 0

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 totalheightconstitui a soma da altura mais a profundidade da imagem.

O que tiramos aqui é que isso height=1cmse 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 1cmelevaçã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}

insira a descrição da imagem aqui

informação relacionada