Beamer 模板具有用于框架侧边栏的不同样式选项

Beamer 模板具有用于框架侧边栏的不同样式选项

看过之后帖子我确信类似的事情——将不同的模板样式应用于特定框架——可以用侧边栏而不是标题来实现。因此我修改了代码,但不幸的是没有成功。

以下是我的想法:

\documentclass[14pt]{beamer}
\usetheme{Frankfurt}
\usepackage{etoolbox}

\defbeamertemplate{sidebar left}{MyDefault}{%
    \setbeamersize{sidebar width left=0}
}

\defbeamertemplate{sidebar left}{Alternative}{%
    \setbeamersize{sidebar width left=1.75cm}
    \setbeamercolor{sidebar left}{bg=black, fg=green}
    \setbeamertemplate{sidebar left}{%
        \vspace*{\headheight}
        \vfill
        This
        \vfill
        Text
        \vfill
        Should
        \vfill
        Show
        \vfill
        In The
        \vfill
        Sidebar
        \vfill
    }
}



\BeforeBeginEnvironment{frame}{%
    \setbeamertemplate{sidebar left}[MyDefault]%
}

\makeatletter
\define@key{beamerframe}{Alternative}[true]{%
    \setbeamertemplate{sidebar left}[Alternative]%
}
\makeatother

\begin{document}
\begin{frame}
  Normal
\end{frame}
\begin{frame}[Alternative]
  Alternative
\end{frame}
\begin{frame}
  Normal
\end{frame}
\end{document}

这里的需求是,侧边栏只会出现在[Alternative]标有启动框架的命令的框架上,否则将不存在。

提前致谢。

答案1

剩余问题:即使普通幻灯片上的侧边栏是空的,它仍然会占用空间。从单个投影仪框架中删除侧边栏或者删除 Beamer 中的侧边栏可能有帮助。

\documentclass[14pt]{beamer}
\usetheme{Frankfurt}
\usepackage{etoolbox}

\setbeamersize{sidebar width left=1.75cm}

\defbeamertemplate{sidebar left}{Alternative}{%
        \vspace*{\headheight}
        This
        \vfill
        Text
        \vfill
        Should
        \vfill
        Show
        \vfill
        In The
        \vfill
        Sidebar
        \vfill
}

\BeforeBeginEnvironment{frame}{%
    \setbeamercolor{sidebar left}{bg=white, fg=green}
    \setbeamertemplate{sidebar left}{}%
}

\makeatletter
\define@key{beamerframe}{Alternative}[true]{%
    \setbeamercolor{sidebar left}{bg=black, fg=green}
    \setbeamertemplate{sidebar left}[Alternative]%
}
\makeatother

\begin{document}
    \begin{frame}
        Normal
    \end{frame}

    \begin{frame}[Alternative]
        Alternative
    \end{frame}

    \begin{frame}
        Normal
    \end{frame}

\end{document}

在此处输入图片描述

相关内容