我习惯beamerappendixnote
在讲座幻灯片中提供代码示例,供那些想要重做课堂所做内容的学生使用。
将代码放在幻灯片上并进行漂亮的突出显示等操作需要[fragile]
框架选项。这似乎不适用于beamerappendixnote
。
梅威瑟:
\documentclass[20pt]{beamer}
\usepackage[backposition=title]{beamerappendixnote}
\usepackage{lipsum}
\begin{document}
\begin{frame}{Main title}
Main content \vfill
\appxnote[fragile]{Long note}{\lipsum[3]}
\end{frame}
\printappxnotes
\end{document}
问题:
错误消息,因为beamerappendixnote
不接受[fragile]
理想的解决方案(按实用性排序):
beamerappendixnote
按原样运行的代码- 补丁
beamerappendixnote
修复了这个问题 - 替代包也可以自动管理
\beamergotobuttons
fragile
非常欢迎任何关于谁可以获得带有此类附录幻灯片的框架的指点。
答案1
你可以使用subframe
包来将代码示例保存在主幻灯片附近
\documentclass[20pt]{beamer}
\usepackage[append]{beamersubframe}
\usepackage{lipsum}
\usepackage{listings}
\begin{document}
\begin{frame}[label=foo]
\frametitle{Main title}
Main content
\hyperlink{bar}{\beamerbutton{Appendix}}
\end{frame}
\begin{subframe}[fragile,label=bar]
\hyperlink{foo}{\beamerbutton{Back}}
\begin{lstlisting}
test
\end{lstlisting}
\end{subframe}
\begin{frame}
normal frame
\end{frame}
\appendsubframes
\end{document}
这也适用于 markdown:
---
output:
beamer_presentation:
keep_tex: true
header-includes:
- \usepackage[append]{beamersubframe}
- \usepackage{listings}
- \makeatletter\beamer@ignorenonframefalse\makeatother
- \AtEndDocument{\appendsubframes}
---
test \label{foo}\hyperlink{bar}{\beamerbutton{Appendix}}
``` {=latex}
\end{frame}
\begin{subframe}[fragile,label=bar]
\hyperlink{foo}{\beamerbutton{Back}}
\begin{lstlisting}
test
\end{lstlisting}
\end{subframe}
\begin{frame}
```
test