根据页面可用空间定位图形

根据页面可用空间定位图形

我使用的是 Tufte 样式,带有对称选项。如果当前页面没有足够的空间将图形放置在所需位置,我想强制图形自动转到下一页。虽然它会自动转到下一页,但页面的对称性会受到干扰。我找到了一个解决方案,它使用\needspace{5\baselineskip}重新定义的图形环境来检查 5 条基线的可用性。我在 tufte-common.def 文件中添加了以下代码:

\let\oldfigure\figure
\let\oldendfigure\endfigure
\def\figure{\needspace{5\baselineskip}
\begingroup \oldfigure}
\def\endfigure{\centering \oldendfigure \endgroup}

并且运行正常,但在上一页上它添加了空白。我想添加的是图后的文本,而不是空白。我如何根据自己的要求修改此环境。

以下是 MWE:

\documentclass[a4paper,symmetric, justified,marginals=justified]{tufte-book} 
\usepackage{graphicx}
\usepackage{lipsum}

\begin{document}    
\chapter{MWE} \lipsum[1-2]
\begin{figure}
\includegraphics[width=\textwidth]{ex­am­ple-im­age-4x3.eps}
\caption{Caption} \label{fig:my_label}
\end{figure}

\section{MWE-MWE} \lipsum[3]
\end{document}

在此处输入图片描述

答案1

如果我不编辑

 tufte-common.def

要添加使用\needspace(设计上增加\clearpage并强制缩短页面),则图形浮动以允许良好的分页符,并且所有文本都出现在第 1 页,

在此处输入图片描述

相关内容