投影机:\item. 每个 \item 的高度相同吗?

投影机:\item. 每个 \item 的高度相同吗?

我希望每个项目的高度都是恒定的(自动调整到最高的一个)。就像“套印”一样,不需要枚举。

\documentclass[11pt]{beamer}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usetheme{Warsaw}

\begin{document}

    \begin{frame}
        \begin{example}
        Have a look to :
            \begin{enumerate}[<only@+>]
                \item One line
                \item Two\\ lines
                \item And now\\three\\lines
            \end{enumerate}
        \end{example}
    \end{frame}

\end{document}

答案1

这是因为only不会为其他项目分配空间。您需要根据自己的情况使用其他方法(请参阅beamer使用指南.pdf第 9 章:创建覆盖)。您需要手动执行此操作(据我所知,但您肯定可以自动执行此操作,请等待 latex 专业人士),选择最大的项目并\onslide+在那里使用。其余的都可以\onslide*。我创建了以下解决方案:

\documentclass[11pt]{beamer}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usetheme{Warsaw}

\newcommand{\tlap}[1]{\raisebox{0pt}{#1}}
\newcommand{\myitem}[1]{\tlap{\rlap{\parbox[t]{\linewidth}{\item {\vspace{-2.2ex} \strut#1\strut}}}}}


\begin{document}

\begin{frame}
    \begin{example}
    Have a look to :
    \begin{enumerate}
        \onslide*<1>{\myitem{One line}}%
        \onslide*<2>{\myitem{Two\\lines}}%
        \onslide+<3>{\myitem{And now\\three\\lines}}
    \end{enumerate}

    \end{example}
\end{frame}

\end{document}

这里的技巧是对较短的项目使用only\onslide*(不分配空间),对最长的项目使用visible\onslide+(分配空间)。

我不知道为什么,但\item在 parbox 中使用会导致枚举顶部出现空格。这就是我添加的原因\vspace,看起来不错,但希望有更好的方法。顺便说一句,我假设您想使用环境itemize,而不是enumeration?在这种情况下,枚举对我来说没有多大意义……

我添加它\rlap仅仅是为了测试目的,在一张幻灯片上查看项目。

编辑:如果环境上方没有文本,这似乎无法正常工作enumerate。第一个条目总是太低,其余的似乎没问题。\vspace如果这个问题解决了,可能就不再需要调整了。有什么想法吗?

编辑2:为了为您省去很多麻烦,并且不需要一些花哨的东西,只需在这个示例环境中分配所需的空间可能会更容易,我非常喜欢这种方法!

\documentclass[11pt]{beamer}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usetheme{Warsaw}

\newenvironment{examplefix}[1]{\begin{example}\begin{minipage}[t][#1\baselineskip]{\linewidth}}{\end{minipage}\end{example}}


\begin{document}

\begin{frame}
    \begin{examplefix}{4}
        Have a look to :
        \begin{enumerate}[<only@+>]
            \item One line
            \item Two\\ lines
            \item And now\\three\\lines
        \end{enumerate}

    \end{examplefix}
\end{frame}

\end{document}

相关内容