
У меня есть это MWE (продолжение отэтот)
\documentclass{beamer}
\usepackage{graphicx}
\usepackage{xparse}
\let\beameroldsection\section% Store the old definition first
\def\sectiondesc{}
\RenewDocumentCommand{\section}{sO{#3}m O{}}{%
\gdef\sectiondesc{}
\IfBooleanTF{#1}{% Grab the starred version, i.e. \section*
\beameroldsection*{#3}%
}{%
\beameroldsection[#2]{#3}%
\gdef\sectiondesc{#4}% Store argument 4
}%
}
\setbeamertemplate{section page}
{
\begin{centering}
\begin{beamercolorbox}[sep=12pt,center]{part title}
\usebeamerfont{section title}{\insertsection}\par \insertsectionhead
\end{beamercolorbox}
\end{centering}
\begin{center}
\sectiondesc
\end{center}
}
\AtBeginSection[]{
\begin{frame}{Overview}
\hfill
\begin{minipage}{.45\textwidth}
nothing?\sectionpage%\sectiondesc %%% Tried both `\sectionpage` and `\sectiondesc`
\end{minipage}
\end{frame}
}
\begin{document}
\section[short title]{Long Title}[Really long description \\ multiple lines, often with graphics \includegraphics[width=.5\textwidth]{example-image-a}]
\begin{frame}
\sectionpage
\end{frame}
% \section*{Foo}
% \begin{frame}
% \sectionpage
% \end{frame}
\end{document}
Я пытался сделать так, чтобы \sectionpage
в начале каждого раздела было . Однако \sectiondesc
на этой странице пусто.
Что мне нужно сделать, чтобы напечатать \sectiondesc
начальный слайд?
решение1
Код «выполняется» до того, как вызывается \AtBeginSection
остальная часть , т. е. реальный код раздела ( ). В определении ответа в связанном вопросе редактировано как , поэтому это всегда пусто в начале.\section
\beameroldsection
\sectiondesc
\gdef
{}
\gdef\sectiondesc{#4}
работает, если описания нет (т.е. 4-й аргумент пустой), макрос \sectiondesc
расширяется в ничто.
\documentclass{beamer}
\usepackage{graphicx}
\usepackage{xparse}
\let\beameroldsection\section% Store the old definition first
\def\sectiondesc{}
\RenewDocumentCommand{\section}{sO{#3}m O{}}{%
\gdef\sectiondesc{#4}% Store the 4th argument beforehand
\IfBooleanTF{#1}{% Grab the starred version, i.e. \section*
\beameroldsection*{#3}%
}{%
\beameroldsection[#2]{#3}%
}%
}
\setbeamertemplate{section page}
{
\begin{centering}
\begin{beamercolorbox}[sep=12pt,center]{part title}
\usebeamerfont{section title}{\insertsection}\par \insertsectionhead
\end{beamercolorbox}
\end{centering}
\begin{center}
\sectiondesc
\end{center}
}
\AtBeginSection[]{
\begin{frame}{Overview}
\hfill
\begin{minipage}{.45\textwidth}
\sectionpage%%% Tried both `\sectionpage` and `\sectiondesc`
\end{minipage}
\end{frame}
}
\begin{document}
\section[short title]{Long Title}[Really long description \\ multiple lines, often with graphics \includegraphics[width=.5\textwidth]{example-image-a}]
\begin{frame}
\sectionpage
\end{frame}
\end{document}