1

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
    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 '13 at 20:11
7

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}
  • 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 '13 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 '13 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 '13 at 21:31
  • This approach will not work if you need [allowframebreaks] with manual control in slide. What do you think? – Léo Léopold Hertz 준영 Dec 31 '16 at 17:26
  • I extended another issue about the answer here tex.stackexchange.com/q/346485/13173 – Léo Léopold Hertz 준영 Dec 31 '16 at 17:48
3

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.