Vim beamer:动态帧标题

时间:2016-03-05 06:27:26

标签: latex beamer

我正在尝试在Latex Beamer中创建一个新命令,以自动添加框架标题和副标题,并尊重部分和子部分。通常,我的命令看起来像:

\newcommand {\myframe}[1] {
    \begin{frame}
    if in a section {
        \frametitle{\secname}
    }
    if in a subsection {
        \framesubtitle{\subsecname}
    }
    #1
    \end{frame}
}

如何检测框架是在部分还是子部分?

1 个答案:

答案 0 :(得分:0)

您可以在\section\subsection命令中添加条件,您可以使用该命令在\myframe宏中进行测试:

enter image description here

\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}