将填充值传播到 Beamer 列

将填充值传播到 Beamer 列

我希望能够fill在 Beamer 列内(或者,在小页面内)使用粘性长度,以便最终分配的长度在列内外保持一致。

MWE:

\documentclass[xcolor=dvipsnames,compress,9pt]{beamer}

\setlength{\parskip}{0pt plus 1fill}

\begin{document}
\maketitle

\begin{frame}{Propagating \textsc{fill} values to columns}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\par
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\vspace*{\parskip}
\begin{columns}[t]
\begin{column}{\textwidth}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\par
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\end{column}
\end{columns}
\end{frame}
\end{document}

在此处输入图片描述

观察第 3 段和第 4 段之间的 \parskip 值以及其他段落之间的值名义上是相同的,但结果却截然不同。

我猜这是因为 Beamer 列被实现为小页面,然后在构建小页面时,fill会计算其自身的值。

有什么解决方法吗?

答案1

\vfill不会在 beamer 列中提供可伸缩空间,原因与为什么 \vfill 在 minipage 中不起作用?

两种解决方法:

minipage指定高度:

\documentclass[xcolor=dvipsnames,compress,9pt]{beamer}

\setlength{\parskip}{0pt plus 1fill}

\makeatletter
\newcommand{\@minipagerestore}{\setlength{\parskip}{0pt plus 1fill}}
\makeatother

\begin{document}

\begin{frame}{Propagating \textsc{fill} values to columns}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\par
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

\begin{minipage}[t][.2\textheight][t]{\textwidth}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\par
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\end{minipage}
\end{frame}

\end{document}

固定的\parskip

\documentclass[xcolor=dvipsnames,compress,9pt]{beamer}

\setlength{\parskip}{1cm}
\makeatletter
\newcommand{\@minipagerestore}{\setlength{\parskip}{1cm}}
\makeatother

\begin{document}

\begin{frame}{Propagating \textsc{fill} values to columns}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\par
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\vspace*{\parskip}
\begin{columns}[t]
\begin{column}{\textwidth}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\par
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\end{column}
\end{columns}
\end{frame}

\end{document}

相关内容