Beamer - 将脚注文本放置在脚注中

Beamer - 将脚注文本放置在脚注中

我必须将脚注和脚注放在框架的底部,如图所示:

脚注上方的线必须始终存在,并且它与底部的距离必须至少为 2.5em。

因此,我看到两种可能的解决方案:

  1. 通过 \setbeamertemplate 将脚注添加到脚注。
  2. 更改脚注行的格式并让其始终出现,即使没有使用脚注。

在过去的几个小时里,我试图完成第 1 点,但毫无成效。你能帮我吗?否则我不得不使用 *whisper* Powerpoint。;)


编辑:您是否知道这种现象:只有在询问某人之后,您才能获得正确的想法?;)

以下是我当前解决方案的 MWE:

\documentclass[xcolor={dvipsnames}]{beamer}

\usepackage[absolute, overlay]{textpos}
\usepackage{environ}


\usetheme{default}
\setbeamertemplate{navigation symbols}{}%remove navigation symbols


\newcommand{\makemyrule}{%
    \setlength{\unitlength}{14pt}%      minimum distance to bottom
    \ifdim\footnoteheight>\unitlength \setlength{\unitlength}{\footnoteheight} \fi%     check which distance is bigger
    \begin{textblock*}{\linewidth}(0pt,\dimexpr\textheight-\unitlength)%    place with use of textpos
        \textcolor{blue}{\rule{\paperwidth}{.3ex}}
    \end{textblock*}
}


\let\oldfootnote\footnote%      redefine the footnote command
\renewcommand{\footnote}[1]{\Addheight{#1}\oldfootnote{#1}}

\newlength{\footnoteheight}
\newsavebox{\mytext}
\newcommand{\Addheight}[1]%     measure height of the text
        {%
                \savebox{\mytext}{\small\strut\parbox{\textwidth}%
                {\hspace*{2em}\thefootnote#1}\strut}%       approximated by eye, not perfect!
                \addtolength{\footnoteheight}{\ht\mytext}%
                \addtolength{\footnoteheight}{\dp\mytext}%
        }




\NewEnviron{myframe}[1]{%
    \begin{frame}{#1}%
    \setlength{\footnoteheight}{0pt}%
    \BODY%
    \makemyrule%
    \end{frame}%
    }



\renewcommand\footnoterule{}

\begin{document}
\begin{myframe}{}
\frametitle{Beamer example}
using\footnote{Y LUSPIN, et al} footnotes\footnote{P. GHOSEZ, et al and a lot more information to create a linebreak} excessively \footnote{You do not need to read this, this is only blindtext to create even more and more text. Blindtext will go on forever, nobody can stop the allmighty blindtext. I think I am a blindtext author.}
\end{myframe}{}
\begin{myframe}
\frametitle{Beamer example}
using\footnote{Y LUSPIN, et al} footnotes\footnote{P. GHOSEZ, et al}
\end{myframe}{}
\begin{myframe}
\frametitle{Another example}
without footnotes\\
\end{myframe}
\end{document}

其作用:在每个我的框架-环境,长度\脚注高度被重置为零。当\脚注放置后,文本的高度将添加到此长度。在每个框架的末尾,通过\makemyrule创建底部规则,该规则位于脚注文本上方(我的解决方案并不完美),或者,如果没有脚注,则至少位于底部上方 14pt。

我的愿望(不是真正的问题,但我希望它能更好地发挥作用)是

  1. 脚注文本的高度只是近似值。我想要一个可以测量格式化脚注高度的解决方案。
  2. 框架环境需要重命名为我的框架我想要一个不改变文档的解决方案。但一切都失败了,因为我无法执行\makemyrule\结束{框架}自动地。

答案1

如果您想使用默认\footnote命令,那么您可以考虑不使用脚注线并重新定义\footnoterule以显示脚注上方的蓝线:

\documentclass[xcolor={dvipsnames}]{beamer}

\mode<presentation> {
    \usetheme{default}
    \setbeamertemplate{navigation symbols}{}%remove navigation symbols
    \renewcommand\footnoterule{\moveleft1cm\vbox{\textcolor{blue}{\rule{\paperwidth}{2pt}}\vskip 1mm}}
}

\begin{document}
\begin{frame}
\frametitle{Beamer example}
using\footnote{Y LUSPIN, et al} footnotes\footnote{P. GHOSEZ, et al}
\end{frame}
\begin{frame}
\frametitle{Another example}
without footnotes
\end{frame}
\end{document}

它看起来如下所示(可能需要一些额外的定制): 在此处输入图片描述

答案2

警告:此“黑客”是对https://stackoverflow.com/questions/3103989/how-do-i-change-the-footer-footline-of-a-single-frame-in-beamer

它只允许更改脚注单行的内容。这不允许超过一行。(我不知道如何扩展脚注的高度)

还要注意,带有脚注更改的括号必须出现在要修改的幻灯片之前。并且括号对于确保这是局部更改而非全局更改至关重要。

此外,我怀疑您必须手动唯一地创建每个参考文献,因为我怀疑通常的 LaTeX 引用工具是否适用于此。

\documentclass{beamer}
\setbeamertemplate{footline}{goo \insertframenumber}

\begin{document}
    \begin{frame}[t]{Frame 1}
        A
    \end{frame}

    { % these braces make the change local to the single frame
        \setbeamertemplate{footline}{This is a dummy reference, however it can only be on one line (as I do not know how to make the footline larger.}
        \begin{frame}[t]{Frame 2}
            B
        \end{frame}
    }

    \begin{frame}[t]{Frame 3}
        C
    \end{frame}
\end{document}

最后,我实际上建议你只在脚注中放置引文编号。这样,如果有人需要知道来源,他们可以稍后查看幻灯片放映末尾的参考文献列表。

答案3

肮脏的黑客,使用该线路的徽标并窃取示例代码https://tex.stackexchange.com/a/290740/36296因为问题没有提供任何内容。

\documentclass[xcolor={dvipsnames}]{beamer}

\usetheme{default}
\setbeamertemplate{navigation symbols}{}%remove navigation symbols

\setbeamertemplate{logo}{%
    \setlength{\unitlength}{1mm}
    % placement: (paperwidth, paperheight)(text margin left, 0)
    \begin{picture}(127,0)(0,0)%
    % insert red top rule
        \put(0,0){% 
            \color{blue}{%
                \rule{1.1\paperwidth}{1mm}%
            }%
        }%
        \end{picture}
    \vspace*{0.6cm}
}   

\renewcommand\footnoterule{}

\begin{document}
\begin{frame}
\frametitle{Beamer example}
using\footnote{Y LUSPIN, et al} footnotes\footnote{P. GHOSEZ, et al}
\end{frame}
\begin{frame}
\frametitle{Another example}
without footnotes
\end{frame}
\end{document}

在此处输入图片描述

相关内容