我正在使用 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}