当没有前一个段落时,抑制宏开头的垂直空格

当没有前一个段落时,抑制宏开头的垂直空格

我想itemize为 Beamer 创建命令的一个变体,使项目垂直展开。这应该会增加项目之间的空间以及前面文本的空间。

换句话说,我想要一个可以消除任何垂直间距命令需要的命令,如下所示:

\documentclass{beamer}

\usetheme[height=10mm]{Rochester}

\newcommand{\items}{
    \item dolor
    \item sit
    \item amet
    \item consectetur
    \item adipiscing
    \item elit
}

\begin{document}
    \begin{frame}{Lorem Ipsum}
        \begin{itemize}
            \setlength{\itemsep}{\fill}
            \items
        \end{itemize}
    \end{frame}
    
    \begin{frame}{Lorem}
        Ipsum:
        \vfill
        \begin{itemize}
            \setlength{\itemsep}{\fill}
            \items
        \end{itemize}
    \end{frame}
\end{document}

为了说明起见,这将产生:

输出:第一帧 输出:第二帧

现在,我已了解:

\newenvironment{itemise}[1][\fill]
{\vspace{#1}\begin{itemize}\setlength{\itemsep}{#1}}
{\end{itemize}}

这样,我可以将上述文档主体缩减为:

\begin{frame}{Lorem Ipsum}
    \vspace{-\fill}
    \begin{itemise}
        \items
    \end{itemise}
\end{frame}

\begin{frame}{Lorem}
    Ipsum:
    \begin{itemise}
        \items
    \end{itemise}
\end{frame}

但是,\vspace{-\fill}第二行中仍然需要一个来否定环境添加的初始空间,由于没有前面的文本,因此它是虚假的。

我怎样才能使我的命令更加智能,以便在没有前一段时不会添加空格?(如果解决方案也适用于后续段落,则可以获得加分。)

相关内容