키-값 순서에 따라 다름 \includegraphics 오류: ! 패키지 그래픽 오류: 0으로 나누기

키-값 순서에 따라 다름 \includegraphics 오류: ! 패키지 그래픽 오류: 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도 회전된 이미지는 기준선 위의 높이가 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}

여기에 이미지 설명을 입력하세요

관련 정보