Следующий код
\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}