6

I want to create a new environment, based on the frame environment, but I want to modify the command \frametitle so it also shows the title of the current section.

1
  • 1
    That's no bigger problem however knowing which theme you are using would make things much easier. So maybe you could provide a MWE.
    – bloodworks
    Jan 20, 2013 at 20:11

2 Answers 2

8

It would be much easier if you can simply put a simple MWE. It's only six lines of code anyway. So here is my guess.

\documentclass{beamer}
\newenvironment{slide}[1]
{\begin{frame}[environment=slide]
\frametitle{\insertsection-#1}}
{\end{frame}}

\begin{document}
\section{Sec shun 1}
\frame{Dummy frames}
\begin{slide}{My title 1}
Some stufff
\end{slide}


\section{Sec shun 2}
\begin{slide}{My title 2}
Some other stufff
\end{slide}
\frame{Dummy frames}
\end{document}
5
  • Thanks, this was the idea I had but did not know the command \insertsection. But I had to delete -#1 of the code, because it show -L after the section title in the output.
    – juanuni
    Jan 20, 2013 at 20:40
  • Because it expects an additional frame title. Again if you had given a MWE we wouldn't have this now, would we?
    – percusse
    Jan 20, 2013 at 21:12
  • No worries, playing with the code that you have shown me I have achieved to get what I wanted. Thank you again.
    – juanuni
    Jan 20, 2013 at 21:31
  • This approach will not work if you need [allowframebreaks] with manual control in slide. What do you think? Dec 31, 2016 at 17:26
  • I extended another issue about the answer here tex.stackexchange.com/q/346485/13173 Dec 31, 2016 at 17:48
7

With the handy xpatch package, you can simply add the section to the frametitle. No need to define a new environment and run into all the problems this new environment will cause.

\documentclass{beamer}
\usepackage{xpatch}

\makeatletter
\patchcmd\beamer@@tmpl@frametitle{\insertframetitle}{\insertsection-\insertframetitle}{}{}
\makeatother

\begin{document}
\section{Sec shun 1}
\frame{Dummy frames}
\begin{frame}{My title 1}
Some stufff
\end{frame}


\section{Sec shun 2}
\begin{frame}{My title 2}
Some other stufff
\end{frame}
\frame{Dummy frames}
\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .