仅将 \ 应用于包含列表的环境

仅将 \ 应用于包含列表的环境

我找不到适用\only<n>{content}于整个 itemize 环境的方法。

我的第一个方法是:

\only<1>{\begin{itemize}
    \item A
\end{itemize}}

但我在编译时收到多个错误消息。我也尝试了在网上找到的多种变体。但我找不到隐藏(不占用空间)整个列表的方法。


编辑:

这是一个最小的非工作示例,在阅读了@Schrödinger's cat 的评论后,我意识到当我使用 lstMakeShortInline 时会出现问题,在本例中是。|First|没有它,它也可以工作。

\documentclass{beamer}
\usepackage{listings}
\lstMakeShortInline[language=C,basicstyle=\ttfamily]|
\begin{document}
\begin{frame}[fragile]{Title}
  \begin{columns}[T]
    \column{0.55\textwidth}
    \column{0.45\textwidth}
    \only<1>{
      \begin{itemize}
      \item My code: |First|
      \end{itemize}
    }
    \only<2>{
      \begin{itemize}
      \item Second
      \end{itemize}
    }
  \end{columns}
\end{frame}
\end{document}

答案1

使用onlyenv环境而不是\only宏:

\documentclass{beamer}
\usepackage{listings}
\lstMakeShortInline[language=C,basicstyle=\ttfamily]|
\begin{document}
\begin{frame}[fragile]{Title}
  \begin{columns}[T]
    \column{0.55\textwidth}
    \column{0.45\textwidth}
    \begin{onlyenv}<1>
      \begin{itemize}
      \item My code: |First|
      \end{itemize}      
    \end{onlyenv}
    \begin{onlyenv}<2>
      \begin{itemize}
      \item Second
      \end{itemize}
    \end{onlyenv}
  \end{columns}
\end{frame}
\end{document}

相关内容