如何将文本垂直对齐到页面中间

如何将文本垂直对齐到页面中间

如果文本不够长,无法填满页面,我想将文本垂直对齐到页面中间。

例如,如果我写了 1.5 页:第一页已满,因此文本在某种意义上会自动与中间对齐。这是因为文本区域内其上方或下方没有更多空间。它已满。第二页是半满的,我希望该页面与页面中间对齐,顶部和底部之间的距离相等(或大致相等)

我试过了,vplace但只有当文本限制在一页时它才有效。我希望它能正常工作,无论文档中有一个或多个页面。

最小示例这样可行(含一页):

\documentclass[12pt,a4paper,onecolumn,oneside,final]{memoir}
\usepackage{lipsum}
\begin{document}
\begin{vplace}
\lipsum[1]
\lipsum[1]
\end{vplace}
\end{document}

最小的例子不起作用(占一页半):

\documentclass[12pt,a4paper,onecolumn,oneside,final]{memoir}
\usepackage{lipsum}
\begin{document}
\begin{vplace}
\lipsum[1]
\lipsum[1]
\lipsum[1]
\lipsum[1]
\end{vplace}
\end{document}

我也尝试过,\makeatletter \let\@texttop\@textbottom \makeatother但似乎没有任何效果。

答案1

放入\advance\topskip by 0pt plus 1fil序言中并vplace按照 John Kormylo 评论中的建议删除。

相关内容