问题描述

问题描述

问题描述

在最近在 Debian 测试系统上对 TeXLive 进行升级后,我发现 Beamer(版本 3.40)在<article>模式下解释空框架标题的方式发生了变化。

Beamer 似乎习惯于解释空框架标题,例如,

\begin{frame}{}
   Foo
\end{frame}

与没有标题的框架相同,即

\begin{frame}
   Foo
\end{frame}

然而,在 Beamer 3.40 版本中,Beamer 似乎将空框架标题视为“不可见”,即,它不打印任何标题,但为其留下垂直空间并缩进标题后面的文本。

最小工作示例(MWE)

将以下示例保存到.tex文件并用 进行编译pdflatex

\documentclass{article}

\usepackage{beamerarticle}


\begin{document}


\section{Beamer frame with non-empty title}

\begin{frame}{Foo}%
Text after \verb|\begin{frame}{Foo}| is indented.
\end{frame}


\section{Beamer frame with no title at all}

\begin{frame}%
Text after \verb|\begin{frame}| is \emph{not} indented.
\end{frame}


\section{Beamer frame with empty title}

\begin{frame}{}%
Text after \verb|\begin{frame}{}| is indented, and vertical space
is left for the (empty) title. Neither appears to have been the case
in previous versions of Beamer -- I first encountered it under
Beamer v3.40.
\end{frame}


\end{document}

MWE 输出

MWE 输出

我正在寻找的解决方案

我正在寻找一种恢复现状的解决方案。换句话说,我希望上述 MWE 中的示例 3 生成的输出与示例 2 的输出完全相同

原因是我使用了一个自定义宏\autoframetitle,它在中为空<article>,但在模式中非空<presentation>,我将其用作

\begin{frame}{\autoframetitle}

我编写了这个宏,因为我想<article>完全忽略模式下的框架标题,同时在<presentation>模式下打印它们。

答案1

https://tex.stackexchange.com/a/53091/36296

要修复此问题,您可以向框架标题添加一个测试,告诉您框架标题是否包含文本:

\documentclass{article}

\usepackage{beamerarticle}

\makeatletter
\mode<article>{%
\setbeamertemplate{frametitle}{%
    \setbox0=\hbox{\insertframetitle\unskip}\ifdim\wd0=0pt
        \relax
    \else%
        \paragraph*{\insertframetitle}\ \par\noindent\emph{\insertframesubtitle}\par
    \fi%
}
}
\makeatother

\begin{document}


\section{Beamer frame with non-empty title}

\begin{frame}{Foo}%
Text after \verb|\begin{frame}{Foo}| is indented.
\end{frame}


\section{Beamer frame with no title at all}

\begin{frame}%
Text after \verb|\begin{frame}| is \emph{not} indented.
\end{frame}


\section{Beamer frame with empty title}

\begin{frame}{}%
Text after \verb|\begin{frame}{}| is indented, and vertical space is left for the (empty) title. Neither appears to have been the case in previous versions of Beamer -- I first encountered it under Beamer v3.40.
\end{frame}


\end{document}

在此处输入图片描述

相关内容