Beamertheme 忽略了讲义模式

Beamertheme 忽略了讲义模式

我正在准备一次演讲,并使用讲义选项编译了我的投影仪幻灯片:

\documentclass[a4paper,handout,final]{beamer}
\usetheme{TUC}

我的文件beamerthemeTUC.sty内容如下:

\mode<all>{
  \usefonttheme {TUC}
  \usecolortheme{TUC}
  \useinnertheme{TUC}
}

\mode<presentation>{
  \useoutertheme{TUC}
}

\mode<handout>{
  \useoutertheme{TUC-handout}

但日志文件显示:

(/用户/tmjb/图书馆/texmf/tex/latex/TUC/tuc-cd/TUC-Beamer/beamerthemeTUC.sty(/用户/tmjb/图书馆/texmf/tex/latex/TUC/tuc-cd/TUC-Beamer/beamerfontthemeTUC.sty)(/用户/tmjb/图书馆/texmf/tex/latex/TUC/tuc-cd/TUC-Beamer/beamercolorthemeTUC.sty)(/用户/tmjb/图书馆/texmf/tex/latex/TUC/tuc-cd/TUC-Beamer/beamerinnerthemeTUC.sty) (/用户/tmjb/图书馆/texmf/tex/latex/TUC/tuc-cd/TUC-Beamer/beamerouterthemeTUC.sty)(/用户/tmjb/图书馆/texmf/tex/latex/TUC/tuc-cd/TUC-Beamer/beamerouterthemeTUC-handout.sty

如您所见,除了handout设置了该选项之外,LaTeX 还会加载两个样式文件。

当然,我尝试过不同的命令,但没有任何变化。

我的错误是什么?

(正常的 TUC 主题使用导航元素,我想在印刷的讲义中抑制它。在这种情况下它绝对没有用...)

答案1

Sam Carter 在她的回答中指出了一个特殊的细节,这对我来说是新的。

解决我的问题的方法是在我的beamerthemeTUC.sty文件中使用以下代码。

\mode<handout>{
  \useoutertheme{TUC-handout}
}

\mode<beamer|second|trans>{
  \useoutertheme{TUC}
}

Sam Carter 给出了重要的提示,众数presentation包含handoutbeamer。与此同时,我发现了这个 https://tex.stackexchange.com/a/263442/120477并了解到以下内容:

存在以下模式:

  • beamer
  • second
  • trans
  • handout
  • article

然后我们有一些模式“组”:

  • presentation其中包含:beamersecondtrans handout
  • all其中包含上述所有模式。

我错了,正如我所想的,presentation不会包括讲义。

通过使用,mode<beamer|second|trans>我可以选择除了讲义之外的每种演示模式,而讲义正是我想要的。

答案2

presentation模式还包含handout模式,请参阅 beamer 用户指南中的这张图:

在此处输入图片描述

如果您只想在“真实”演示文稿中使用某些内容,而不在讲义中使用,请使用beamer模式:

\documentclass[
handout
]{beamer}


\usepackage{filecontents}
\begin{filecontents*}{beamerouterthemeTUC.sty}
    \setbeamercolor{background canvas}{bg=blue}
\end{filecontents*}
\begin{filecontents*}{beamerouterthemeTUC-handout.sty}
    \setbeamercolor{background canvas}{bg=green}
\end{filecontents*}
\begin{filecontents*}{beamerthemeTUC.sty}

\mode<handout>{
  \useoutertheme{TUC-handout}
}

\mode<beamer>{
  \useoutertheme{TUC}
}


\end{filecontents*}

\usetheme{TUC}



\begin{document}
    
\begin{frame}
    abc
\end{frame} 
    
\end{document}

如果handout主题在主题之后加载presentation,则可以覆盖它:

\documentclass[
%handout
]{beamer}


\usepackage{filecontents}
\begin{filecontents*}{beamerouterthemeTUC.sty}
    \setbeamercolor{background canvas}{bg=blue}
\end{filecontents*}
\begin{filecontents*}{beamerouterthemeTUC-handout.sty}
    \setbeamercolor{background canvas}{bg=green}
\end{filecontents*}
\begin{filecontents*}{beamerthemeTUC.sty}
\mode<presentation>{
  \useoutertheme{TUC}
}

\mode<handout>{
  \useoutertheme{TUC-handout}
}
\end{filecontents*}

\usetheme{TUC}



\begin{document}
    
\begin{frame}
    abc
\end{frame} 
    
\end{document}

相关内容