自动垂直居中页面

自动垂直居中页面

我的页面上有很多图形和文本,我想让它们自动垂直居中。在某些情况下,由于分页符留下了大量页脚空间,导致页面出现多余的空白,使页面看起来顶部较重。我不想手动添加垂直空间,因为图形和文本的组织可能会发生变化,迫使我更新所有 vfill 或 vspace。

有没有办法在后台帮我完成这个?

答案1

是的,有。您需要定义\@texttop\@textbottom。它们用于 LaTeX 内核输出例程,可以包含跳过长度。

\documentclass{article}
\usepackage{lipsum}
\usepackage{graphicx,alltt}
\makeatletter
\def\nobottom{%
\def\@texttop{\ifnum\c@page>0\vskip \z@ plus 3fil\relax\fi}
\def\@textbottom{\ifnum\c@page>0\vskip \z@ plus 2fil\relax\fi}}
\nobottom
\begin{document}
\pagestyle{headings}
\lipsum[1]
\clearpage
\lipsum[1-2]
\clearpage
\begin{alltt}
This can be a poem
     to see how it will
print
\end{alltt}
\end{document}

使用 \@texttop 和 \@textbottom 进行垂直定位以获得更技术性的解释。

相关内容