根据投影仪是否处于分发模式来定义命令

根据投影仪是否处于分发模式来定义命令

我正在定义一个命令,该命令在讲义和演示文稿中的行为应该有所不同。有没有简单的方法可以检查?

理想情况下,它应该是这样的:

\newcommand{\mycom}{
\ifthenelse{[check if handout mode]}{[Behave accordingly]}{[Behave otherwise]}
}

我怎样才能做到这一点?

答案1

无需额外的软件包,您可以使用\mode相应定义命令:

\documentclass[handout]{beamer}

\mode<beamer|second|trans|article>{\newcommand\mycmd{No H mode}}
\mode<handout>{\newcommand\mycmd{H mode}}

\begin{document}

\begin{frame}
\mycmd
\end{frame}

\end{document}

答案2

相关检测赋予 documentclass 的选项的值

\documentclass[handout]{beamer}
\usepackage{xstring}
\makeatletter
\IfSubStr{\@classoptionslist}{handout}
  {\newcommand{\printmode}{Handout mode.}}
  {\newcommand{\printmode}{Not-handout mode.}}
\makeatother
\begin{document}

\begin{frame}
\printmode
\end{frame}

\end{document}

相关内容