浮标过高时的视觉指示器

浮标过高时的视觉指示器

在草稿模式下,如果文本无法换行并且延伸到页边距(超出水平盒子),LaTeX 会打印黑色标记。如果浮动元素对于页面来说太高,并且延伸到页脚区域,是否可以有类似的视觉指示?

答案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将没有深度,但某些字体的字体度量确实会为大写字母提供非零深度。

答案2

溢出规则仅适用于水平框。

如果主体区域周围有一个方框,那么页脚区域的违规行为也会更容易被看到。geometry如果使用 option ,则包会用方框标记页面布局showframe。如果geometry没有使用其他方法,则 optionpass会通知geometry不要触碰布局参数:

\usepackage[pass, showframe]{geometry}

相关内容