Vim beamer:动态帧标题
Vim beamer: dynamic frame title
我正在尝试在 Latex Beamer 中创建一个新命令,以自动添加与部分和小节相关的框架标题和副标题。通常,我的命令如下所示:
\newcommand {\myframe}[1] {
\begin{frame}
if in a section {
\frametitle{\secname}
}
if in a subsection {
\framesubtitle{\subsecname}
}
#1
\end{frame}
}
如何检测框架是在节还是小节中?
您可以向 \section
和 \subsection
命令添加条件,您可以使用它们在 \myframe
宏中进行测试:
\documentclass{beamer}
\let\Tiny\tiny% http://tex.stackexchange.com/a/94159/5764
\newif\ifinsection
\newif\ifinsubsection
\let\oldsection\section
\renewcommand{\section}{%
\global\insectiontrue% In section
\global\insubsectionfalse% Not in subsection
\oldsection}
\let\oldsubsection\subsection
\renewcommand{\subsection}{%
%\global\insectionfalse% No in section
\global\insubsectiontrue% In subsection
\oldsubsection}
\newcommand {\myframe}[1] {%
\begin{frame}
\ifinsection\frametitle{\secname}\fi
\ifinsubsection\framesubtitle{\subsecname}\fi
#1
\end{frame}
}
\begin{document}
\begin{frame}
\frametitle{A frame}
\end{frame}
\section{A section}
\myframe{Some content}
\subsection{A subsection}
\myframe{Some content}
\end{document}
我正在尝试在 Latex Beamer 中创建一个新命令,以自动添加与部分和小节相关的框架标题和副标题。通常,我的命令如下所示:
\newcommand {\myframe}[1] {
\begin{frame}
if in a section {
\frametitle{\secname}
}
if in a subsection {
\framesubtitle{\subsecname}
}
#1
\end{frame}
}
如何检测框架是在节还是小节中?
您可以向 \section
和 \subsection
命令添加条件,您可以使用它们在 \myframe
宏中进行测试:
\documentclass{beamer}
\let\Tiny\tiny% http://tex.stackexchange.com/a/94159/5764
\newif\ifinsection
\newif\ifinsubsection
\let\oldsection\section
\renewcommand{\section}{%
\global\insectiontrue% In section
\global\insubsectionfalse% Not in subsection
\oldsection}
\let\oldsubsection\subsection
\renewcommand{\subsection}{%
%\global\insectionfalse% No in section
\global\insubsectiontrue% In subsection
\oldsubsection}
\newcommand {\myframe}[1] {%
\begin{frame}
\ifinsection\frametitle{\secname}\fi
\ifinsubsection\framesubtitle{\subsecname}\fi
#1
\end{frame}
}
\begin{document}
\begin{frame}
\frametitle{A frame}
\end{frame}
\section{A section}
\myframe{Some content}
\subsection{A subsection}
\myframe{Some content}
\end{document}