当 vbox 未满时,如何将所有内容推到页面顶部?

当 vbox 未满时,如何将所有内容推到页面顶部?

我正在准备一些文本,其中的图片应放在“此处”。由于文本和图像的混合,这样做实际上效果很好。但我保留了一页内容不足的页面(较大的图像从下一页开始),我希望将剩余的段落推到页面顶部,而不是均匀分布;我实际上希望在页面底部而不是段落之间留出一些自由空间。然而,简单的 \vfill(见下面的示例)对我没有帮助:

\documentclass[a5paper,twoside]{article}
\usepackage[demo]{graphicx}
\usepackage[framefit=yes,heightadjust=all,framearound=all]{floatrow}
\usepackage{float}
\usepackage{lipsum}

\begin{document}
\lipsum[2]
\lipsum[3]\vfill
\begin{figure}[H]
        \centering
        \begin{floatrow}
                \ffigbox[0.5\textwidth]{
                            \includegraphics[width=\linewidth,keepaspectratio=true]{74.jpeg}
                }{
                        \caption{some}
                        \label{fig:74}
                }
                \ffigbox[0.5\textwidth]{
                            \includegraphics[angle=90,width=\linewidth,keepaspectratio=true]{75.jpeg}
                }{
                        \caption{some}
                        \label{fig:74}
                }
        \end{floatrow}
\end{figure}

\lipsum[2]
\end{document}

有没有提示如何让 \vfill 工作?谢谢!

答案1

我怀疑您愿意手动调整文档清除您认为必要的页面...

尝试:

\documentclass[a5paper,twoside]{article}
\usepackage[demo]{graphicx}
\usepackage[framefit=yes,heightadjust=all,framearound=all]{floatrow}
\usepackage{float}
\usepackage{lipsum}

%-------------------------------- show page layout, only for test
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
\lipsum[2]
\lipsum[3]\clearpage%where is necessary
\begin{figure}[H]
        \centering
        \begin{floatrow}
                \ffigbox[0.45\textwidth]{
                            \includegraphics[width=\linewidth]{74.jpeg}
                }{
                        \caption{some}
                        \label{fig:74}
                }\hfil
                \ffigbox[0.45\textwidth]{
                            \includegraphics[angle=90,width=\linewidth]{75.jpeg}
                }{
                        \caption{some}
                        \label{fig:74}
                }
        \end{floatrow}
\end{figure}

\lipsum[2]
\end{document}

在此处输入图片描述

答案2

只是为了好玩:

\documentclass[a5paper,twoside]{article}
\usepackage[demo]{graphicx}
\usepackage[framefit=yes,heightadjust=all,framearound=all]{floatrow}
\usepackage{float}
\usepackage{lipsum}

\begin{document}
\bgroup
\advance\baselineskip by 0pt plus 1fil %bwaa-ha-ha-ha
\lipsum[2]
\lipsum[3]
\egroup
\begin{figure}[H]
        \centering
        \begin{floatrow}
                \ffigbox[0.5\textwidth]{
                            \includegraphics[width=\linewidth,keepaspectratio=true]{74.jpeg}
                }{
                        \caption{some}
                        \label{fig:74}
                }
                \ffigbox[0.5\textwidth]{
                            \includegraphics[angle=90,width=\linewidth,keepaspectratio=true]{75.jpeg}
                }{
                        \caption{some}
                        \label{fig:74}
                }
        \end{floatrow}
\end{figure}

\lipsum[2]
\end{document}

相关内容