Beamer: onslide で取り消し線を引くと、「おそらく \item が欠落している」という結果になる

Beamer: onslide で取り消し線を引くと、「おそらく \item が欠落している」という結果になる

の勧告に従い、Beamerで、表示後にアイテムを取り消す方法、私はこう書きました:

\documentclass[14pt,aspectratio=1610]{beamer}
\usepackage[normalem]{ulem}
\renewcommand{\ULthickness}{1pt}

\newcommand{\myonly}[3]{\only<+>{\item #1#2}\only<+->{\item #3{#1}#2}}
\newcommand{\strike}[1]{\myonly{#1}{?}{\sout}}

\begin{document}

\begin{frame}\frametitle{test}
Well...

\onslide<+->  %%% THIS IS THE PROBLEM!

So...

\begin{itemize}
  \strike{foo}
  \strike{bar}
  \strike{baz}
  \myonly{zot}{!}{\emph}
\end{itemize}
\end{frame}

\end{document}

これはある程度正しい出力を生成するを除外する

  1. エラーが発生しましたLaTeX Error: Something's wrong--perhaps a missing \item
  2. 最初のもの\onslideは無視されます。 とwellは両方ともso1 番目のスライドに表示されます。

1番目を削除する\onslide<+->ない出力は変更されますが、エラー メッセージは削除されます。

\item1 番目より前に追加すると、\strikeエラー メッセージも削除されます。

私が望んでいるのは、so2 番目のスライドに表示されることであり、当然ながら、エラー メッセージは表示したくありません。

PS. オプションを追加するとhandout、もちろんエラー メッセージは削除されます。

関連情報