다음 코드
\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도 회전된 이미지는 기준선 위의 높이가 0입니다. 따라서 결과 이미지가 1cm
기준선보다 높은 높이를 나타내도록 발생할 수 있는 스케일링 수준에는 제한이 없습니다 . 경계 없이 확장하려는 시도로 인해 Division by 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}