在投影仪中的脚注标记周围添加文字

在投影仪中的脚注标记周围添加文字

我一直在尝试改变 beamer 中脚注的行为。我可以很好地更改“脚注”模板,但无法在两个地方更改标记。理想情况下,我希望有灵活的控制,但这里有一个简单的示例。

如果我想使用[1]而不是^1。看到之后如何在 Beamer 演示文稿中更改脚注字体大小,这是我尝试过的:

\documentclass{beamer}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makefnmark}{\insertfootnotemark{#1}}{\insertfootnotemark{[#1]}}{}{}
\makeatother
\setbeamertemplate{footnote}{%
    [\insertfootnotemark] \insertfootnotetext
}

\begin{document}

\begin{frame}{Footnote test}
    Hello World.\footnote{Hello Back}
\end{frame}

\end{document}

但 pdflatex 的输出似乎没有变化。我见过很多人弄乱颜色(见在投影仪中为脚注标记添加颜色),但从我所看到的来看,风格并没有太大差别。

答案1

你并没有错,但beamer在某些方面不够灵活(主要是手册中不鼓励的方面)。这里需要几个补丁

\documentclass{beamer}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makefnmark}{\@textsuperscript}{\@makefnmark@aux}{}{}
\newcommand*{\@makefnmark@aux}[1]{[#1]}
\makeatother
\setbeamertemplate{footnote}{%
    \leavevmode \insertfootnotemark~\insertfootnotetext
}

\begin{document}

\begin{frame}{Footnote test}
    Hello World.\footnote{Hello Back}
\end{frame}

\end{document}

这个想法首先是删除\@textsuperscript\@makefnmark然后再处理我们需要一个空间来实际打印脚注的问题。这需要一个\leavevmode,我猜它应该在底层代码中,但显然不是!

相关内容