플로트가 너무 높을 때의 시각적 표시기

플로트가 너무 높을 때의 시각적 표시기

초안 모드에서 LaTeX는 텍스트를 줄 바꿈할 수 없고 여백까지 확장되는 경우(hbox가 가득 찬 경우) 검정색 마커를 인쇄합니다. 플로트가 페이지에 비해 너무 크고 바닥글 영역까지 확장되는 경우 유사한 시각적 표시기를 가질 수 있습니까?

답변1

LaTeX는 로그에 경고를 표시하며 동시에 무언가를 인쇄하도록 할 수 있습니다.

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

\documentclass{article}

\usepackage{color}
\makeatletter


\def \@largefloatcheck{%
  \ifdim \ht\@currbox>\textheight
    \@tempdima -\textheight
    \advance \@tempdima \ht\@currbox
    \@latex@warning {Float too large for page by \the\@tempdima}%
    \global\setbox\@currbox\hbox{%
      \box\@currbox
      {\color{red}\smash{\llap{FLOAT TOO BIG}}\vrule width 5pt}}%
    \ht\@currbox \textheight
  \fi
}

\makeatother
\begin{document}


\begin{figure}

\rule{2cm}{19cm}
\caption{a figure}
\end{figure}

\end{document}

\smash원본 코드가 일부 글꼴에 대해 반복될 수 있다는 주석에서 제기된 문제를 해결하기 위해 여기에 추가되었습니다 . 그렇지 않으면 \smash대문자 텍스트에 깊이가 없을 것이라고 가정했지만 FLOAT TOO BIG일부 글꼴의 글꼴 메트릭은 대문자에 0이 아닌 깊이를 제공합니다.

답변2

전체 규칙은 가로 상자에만 적용됩니다.

본문 영역 주위에 상자가 있으면 바닥글 영역에 대한 위반도 더 쉽게 볼 수 있습니다. geometry옵션과 함께 사용하는 경우 패키지는 페이지 레이아웃을 상자로 표시합니다 showframe. geometry달리 사용하지 않는 경우 옵션은 레이아웃 매개변수를 건드리지 말라고 pass알립니다 .geometry

\usepackage[pass, showframe]{geometry}

관련 정보