脚注上方的线必须始终存在,并且它与底部的距离必须至少为 2.5em。
因此,我看到两种可能的解决方案:
- 通过 \setbeamertemplate 将脚注添加到脚注。
- 更改脚注行的格式并让其始终出现,即使没有使用脚注。
在过去的几个小时里,我试图完成第 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。
我的愿望(不是真正的问题,但我希望它能更好地发挥作用)是
- 脚注文本的高度只是近似值。我想要一个可以测量格式化脚注高度的解决方案。
- 这框架环境需要重命名为我的框架我想要一个不改变文档的解决方案。但一切都失败了,因为我无法执行\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
它只允许更改脚注单行的内容。这不允许超过一行。(我不知道如何扩展脚注的高度)
还要注意,带有脚注更改的括号必须出现在要修改的幻灯片之前。并且括号对于确保这是局部更改而非全局更改至关重要。
此外,我怀疑您必须手动唯一地创建每个参考文献,因为我怀疑通常的 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}