更改 lineskip 以填充可用空间

更改 lineskip 以填充可用空间

有没有办法改变lineskip以使文本填满一定的空间?

平均能量损失

\documentclass{article}
\usepackage{blindtext}

\begin{document}
\begin{minipage}[c][\textheight]{\linewidth}
\blindtext
\end{minipage}
\end{document}

第一行位于页面顶部,最后一行位于页面底部,好像\vfill每一行后面都有一个。

理想情况下,任何解决方案都应该相当强大,并允许wrapfigure类似

不那么简单的工作示例

\documentclass{article}
\usepackage{blindtext}

\begin{document}
\noindent\begin{minipage}[c][\textheight]{\linewidth}
\blindtext
  \begin{wrapfigure}{r}{2in}
  \includegraphics[width=\linewidth]{picture.png}
  \end{wrapfigure}
  \blindtext
\end{minipage}
\end{document}

答案1

您应该使用[s](拉伸)选项minipage

\documentclass{article}
\usepackage[pass,showframe]{geometry}
\usepackage{blindtext}

\begin{document}
\noindent\begin{minipage}[c][\textheight][s]{\linewidth}
\baselineskip=1\baselineskip plus 1fill % stretch as much as needed
\lineskip=0pt plus 1fill % just for safety

\blindtext
\end{minipage}
\end{document}

`geometry 包仅用于显示框架。

在此处输入图片描述

答案2

哦,好问题(+1),每天学习新东西。

通常情况下,您可以设置一个拉伸空间,它会拉伸以填充该空间,但它被后台的\baselineskip装箱和拆箱所击败。minipage

可能最简单的方法就是使用原始\vbox且可收缩的胶水。

\documentclass{article}
\usepackage{blindtext}

\begin{document}


\noindent\vbox to \textheight{\baselineskip=\textheight minus \textheight
\blindtext
}
\end{document}

在此处输入图片描述

相关内容