答案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}