如何在 beamer 中的一个位置添加两个脚注?

如何在 beamer 中的一个位置添加两个脚注?

我正在使用 beamer 进行演示,我想在一个地方使用两个脚注,它们之间用逗号隔开。

以下内容没有逗号,但脚注正确显示(带有pdflatex):

\documentclass{beamer}

\begin{document}

\begin{frame}
  Text\footnotemark[2]\footnotemark[3]  
  \footnotetext[1]{Text 1}
  \footnotetext[2]{Text 2}
\end{frame}

\end{document}

如果使用同一点有多个脚注使用\usepackage[multiple]{footmisc},我得到了逗号,但没有显示脚注(似乎它破坏了 beamer 脚注配置footmisc-in-beamer-引文-迷失

有人对如何做到这一点有什么建议吗?

答案1

正如您提到的,footmisc 不能与 beamer 一起使用。

新解决方案:重新定义命令\footnotemark

另一种方法是重新定义\footnotemark,使用etoolbox的列表处理(灵感来自此解决方案)。这允许使用多个脚注作为逗号分隔的列表作为参数:\footnotemark[1,2]

\documentclass{beamer}

\usepackage{etoolbox}
\usepackage{ifthen}

\let\origfootnotemark\footnotemark
\renewcommand{\footnotemark}[1][]{%
    \ifthenelse{\equal{#1}{}}{%
        \origfootnotemark%
    }{%
        \def\nextitem{\def\nextitem{\textsuperscript{,}}}% Separator
        \renewcommand*{\do}[1]{\nextitem\origfootnotemark[##1]}% How to process each item
        \docsvlist{#1}% Process list
    }%
}

\begin{document}

\begin{frame}
    \begin{itemize}
    \item
        first automatic footnote\footnotemark
    \item
        another automatic footnote\footnotemark
    \item
        first footnote again\footnotemark[1]
    \item
        both footnotes\footnotemark[1,2]
    \end{itemize}
    \footnotetext[1]{Text 1}
    \footnotetext[2]{Text 2}
\end{frame}

\end{document}

结果

在此处输入图片描述

旧解决方案:简单的解决方法

作为一个简单的解决方法,您可以\textsuperscript{,}在脚注标记之间添加。

\documentclass{beamer}

\begin{document}

\begin{frame}
  Text\footnotemark[1]\textsuperscript{,}\footnotemark[2]  
  \footnotetext[1]{Text 1}
  \footnotetext[2]{Text 2}
\end{frame}

\end{document}

结果

在此处输入图片描述

相关内容