看过之后这帖子我确信类似的事情——将不同的模板样式应用于特定框架——可以用侧边栏而不是标题来实现。因此我修改了代码,但不幸的是没有成功。
以下是我的想法:
\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}