我尝试创建一种动态的方式在 Beamer 中为幻灯片添加标签。
\documentclass{beamer}
\newcommand{\partName}{blank}
\newcommand {\defPartName}[1]{\renewcommand{\partName}{#1}}
%\includeonlyframes{firstChapter}
\begin{document}
\defPartName{firstChapter}
\begin{frame}[label=\partName]{A title}
The label of the current frame is \partName .
\end{frame}
\defPartName{secondChapter}
\begin{frame}[label=\partName]{A title}
The label of the current frame is \partName .
\end{frame}
\end{document}
宏可以工作,因为框架显示了当前标签的正确名称。但它们似乎没有“接收”标签,因为当我使用时\includeonlyframes{}
,它不起作用(这正是我想要使用它的原因)。
任何想法?
答案1
这是可能的,如果你添加fragile
到你frame
的
梅威瑟:
\documentclass{beamer}
\newcommand{\partName}{blank}
\newcommand {\defPartName}[1]{\renewcommand{\partName}{#1}}
\includeonlyframes{firstChapter}
\begin{document}
\defPartName{firstChapter}
\begin{frame}[fragile,label=\partName]{A title}
The label of the current frame is \partName .
\end{frame}
\defPartName{secondChapter}
\begin{frame}[fragile,label=\partName]{A title}
The label of the current frame is \partName .
\end{frame}
\end{document}
输出: