Beamer:在框架标题中使用脚注时会出现两次

Beamer:在框架标题中使用脚注时会出现两次

我正在尝试使用第三方提供的自定义模板在投影仪幻灯片上插入脚注。以下是简单的代码:

\begin{frame}
\frametitle{Something\footnote[frame]{text goes here}}

\end{frame}

产生两个(?!)脚注,如下图所示这里

我尝试交替使用 \footnotemark 和 \footnotetext,在这种情况下,脚注文本根本不会在幻灯片上出现,只有标记。

此行为特定于与框架标题关联的脚注,否则它会正常工作 - 只出现一个脚注。有没有办法让脚注在标题内起作用?

答案1

问题是,你的模板使用了\insertframetitle两次,一次是在保存框中,然后用来测量大小,然后在实际插入框架标题时再使用一次。一种解决方案可能是在插入框架标题时简单地重复使用保存框:

\documentclass{beamer}


\usetheme[fontPath=Fonts/, imagesPath=Images/, titleHeight=1.45cm]{IMT}
\title{A title for the presentation}
\subtitle{A subtitle}
\author{An author}
\date{\today}

\usepackage[english]{babel}
%\usepackage{geometry}
\geometry{paperwidth=\the\paperwidth,   paperheight=\the\paperheight,   hmargin=1cm,   vmargin=0cm,   head=0cm, headsep=0pt,foot=0cm}
\makeindex

\makeatletter
\setbeamertemplate{frametitle}%
{\newcommand*{\stilltodo}{T}
\newcommand{\mytrue}{T}
\ForEachX
{,}
{
\ifthenelse{\equal{\stilltodo}{T}}{%
    \savebox{\titlebox}{
        \ifblue%
            \begin{beamercolorbox}[wd=\twidth,center]{title in head/foot}
                \usebeamerfont*{frametitle}\thislevelitem\setstretch{.9}\insertframetitle%
            \end{beamercolorbox}
        \else%
            \begin{beamercolorbox}[wd=\twidth,center]{}
                \usebeamerfont*{frametitle}\thislevelitem\setstretch{.9}\insertframetitle%
            \end{beamercolorbox}
        \fi%
        }

    \ifthenelse{\titleheight > \ht\titlebox}{%
        \renewcommand{\stilltodo}{F}%
        \setlength{\titlemargin}{\titleheight}%
        \addtolength{\titlemargin}{-\ht\titlebox}%

        \vspace*{-\titleheight}%

        \nointerlineskip

        \begin{beamercolorbox}[wd=\textwidth,ht=.5\titlemargin,center]{}\end{beamercolorbox}

        \nointerlineskip

        \hfill\usebox{\titlebox} % NEW !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

%       \ifblue
%       \hfill%
%       \begin{beamercolorbox}[wd=\twidth,ht=\ht\titlebox,center, dp=0cm]{title in head/foot}
%       \usebeamerfont*{frametitle}\thislevelitem\setstretch{.9}\insertframetitle
%       \end{beamercolorbox}
%       \else
%       \hfill%
%       \begin{beamercolorbox}[wd=\twidth,ht=\ht\titlebox,center, dp=0cm]{}
%       \usebeamerfont*{frametitle}\thislevelitem\setstretch{.9}\insertframetitle
%       \end{beamercolorbox}
%       \fi


    }{}
}{}
}
{\LARGE,\Large,\large,\normalsize,\small,\footnotesize}
}
\makeatother


\begin{document}

\section{A Section}
\begin{frame}
\frametitle{Something\footnote[frame]{text goes here}}

\end{frame}



\end{document}

相关内容