如何确保两个元素停留在同一页面上?

如何确保两个元素停留在同一页面上?

我正在编写一个非常简单的操作文档,其中包含几张屏幕截图。文档流程大致如下:

A few sentences explaining action 1

\begin{center}
\includegraphics{action_1_screenshot}
\end{center}

A few sentences explaining action 2

\begin{center}
\includegraphics{action_2_screenshot}
\end{center}

但是由于截图通常很大,有时段落和对应的截图之间会有分页符。我希望段落和截图始终在同一页上。

我在每个屏幕截图后都使用过 \clearpage,但这并不能完全满足我的要求。 \clearpage 可以确保每个屏幕截图后都有分页符,但如果合适,我仍然希望在同一页上有多个屏幕截图。理想情况下,我会使用类似下面的命令来保证两个项目位于同一页上,尽管不一定总是会导致分页符:

\begin{samepage}

A few sentences explaining action 2

\begin{center}
\includegraphics{action_2_screenshot}
\end{center}

\end{samepage}

这种情况可能吗?我并不是真的在寻找数字,因为它们往往不适用于较长的描述性段落。数字似乎更适合短句或旁注。

答案1

环境minipage就是你所追求的。

\begin{minipage}{\textwidth}

A few sentences explaining action 2

\begin{center}
\includegraphics{action_2_screenshot}
\end{center}

\end{minipage}

答案2

如果将所有内容放在一个{minipage}{\textwidth}环境中,则可以确保所有内容都放在一页上。但是,这不允许正常的脚注,这需要更多工作。此外,您还会得到难看的分页符。

我宁愿将figure屏幕截图与环境一起使用\caption,这样\label您就可以\ref在文本中对其进行比较。您可以将两个屏幕截图合并为\includegraphics一个,figure并使用单独的\captions 来确保它们始终放在一起。

您还可以定义一个在和代码中samepage使用两个zref页面标签的环境。然后,在一次编译器运行之后,代码可以检查两者是否在不同的页面上,并引发如果不是。我的回答中的代码\begin\end\begin\clearpage测试某个段落是否有分页符?可以用于此目的。

相关内容