特定のスライドをスキップする if ロジックを Beamer フレームの特定の部分に拡張するにはどうすればよいですか?

特定のスライドをスキップする if ロジックを Beamer フレームの特定の部分に拡張するにはどうすればよいですか?

講義の記事形式から特定の講義スライドを除外するための作業構造は次のとおりです。

\documentclass[11pt,handout]{beamer}

\newif\iflecture

\lecturetrue

% Next three lines for article form of presentation

\lecturefalse 

\documentclass[11pt]{article}

\usepackage{beamerarticle}

\iflecture

...frames for just the lecture and not the article form

\fi

両方の残りのフレーム。

このロジックを単一フレーム内に拡張できますか?

\begin{frame}

...content for both lecture and article, a problem for example

end article content here

...remaining content just for lecture

\end{frame}

答え1

講義としてタイプセットされたファイルでのみ特定の資料を表示したい場合は\lectureture、その資料を で囲むだけで済みます。

\iflecture <lecture only material>...\fi 

同様に、講義用ではない資料の場合は以下を使用します。

\iflecture\else <article only material>...\fi 

もちろん、これらを組み合わせることもできます。

\iflecture <lecture only material>
\else <article only material>\fi 

もう 1 つの便利な構成は、 を使用して、beamer または他のパッケージにさまざまなオプションを渡すことができることです\PassOptionsToClass。以下は完全な MWE です。

\newif\iflecture
\lecturefalse   % uncomment if typesetting as an article
%\lecturetrue   % uncomment if typesetting as a lecture

\iflecture\else
  \PassOptionsToClass{11pt,handout}{beamer}
\fi

\documentclass{beamer}

\begin{document}

  \iflecture
    \begin{frame}{Lecture only frame}
    A framed lecture
    \end{frame}
  \fi

  \begin{frame}
    ...content for both lecture and article, a problem for example
    \iflecture\else article content here\fi

    \iflecture ...remaining content just for lecture\fi
  \end{frame}

\end{document}

関連情報