Ошибка \includegraphics, зависящая от порядка значений ключа: ! Ошибка пакета graphics: деление на 0

Ошибка \includegraphics, зависящая от порядка значений ключа: ! Ошибка пакета graphics: деление на 0

Следующий код

\documentclass{article}
\usepackage{graphicx}
\begin{document}
  \includegraphics[angle=180,width=10cm,height=1cm]{example-image-a}
\end{document}

выдает следующую ошибку

! 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}

? 

Ожидается ли это? Если да, то почему? Если нет, то почему это происходит?

Это не мой вопрос изначально. Один из моих студентов задал его, и я не смог ответить, кроме как предложить использовать

\documentclass{article}
\usepackage{graphicx}
\begin{document}
  \includegraphics[width=10cm,height=1cm,angle=180]{example-image-a}
\end{document}

который компилируется, как и ожидалось.

решение1

Вопрос был решен в комментариях. Но здесь (5 месяцев спустя) я наглядно излагаю, в чем была проблема для других читателей, посредством MWE. В первой строке я наношу базовую линию и два изображения, повернутых на 90 градусов относительно их центра. Первое указано как height=1cm, а второе указано как totalheight=1cm, где totalheightпредставляет собой сумму высоты и глубины изображения.

Что мы здесь выносим, ​​так это то, что height=1cmявно относится к величине высоты над базовой линией. И это ключ к пониманию неудачи вызова OP, \includegraphics[angle=180,width=10cm,height=1cm]{example-image-a}. Директивы обрабатываются слева направо. Изображение, повернутое на 180 градусов, как показано во 2-й строке вывода, имеет нулевую высоту над базовой линией. Таким образом, не существует конечного уровня масштабирования, который может возникнуть, чтобы заставить результирующее изображение демонстрировать возвышение 1cmнад базовой линией. Эта попытка масштабирования без ограничений и приводит к ошибке деления на 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}

введите описание изображения здесь

Связанный контент