超链接脚注和脚注标记自动用逗号分隔

超链接脚注和脚注标记自动用逗号分隔

该贴footmisc-option multiple 与 hyperref 不兼容 包含一个解决方案,使连续的脚注标记超链接自动用逗号分隔。

当有一系列脚注时如何获得相同的效果和脚注, 例如

Text\footnote{First footnote}\footcite{firstcitation}\footnote{citation}

这是链接页面上的解决方案:

\documentclass{article}
\usepackage{hyperref}

\let\oldFootnote\footnote
\newcommand\nextToken\relax

\renewcommand\footnote[1]{%
    \oldFootnote{#1}\futurelet\nextToken\isFootnote}

\newcommand\isFootnote{%
    \ifx\footnote\nextToken\textsuperscript{,}\fi}

\textheight=3cm
\begin{document}

Text\footnote{First footnote}\footnote{Second footnote}\footnote{Third footnote} Text\footnote{Fourth footnote} Text

\end{document} 

答案1

您的查询的解决方案涉及对@Holle 的代码您在您的帖子中引用了。

  • 首先,修改\isFootnote宏来测试下一个标记是否是\footnote 或者 \footcite(并且,如果测试为“真”,则指示 LaTeX 插入\textsuperscript{,})。

  • 其次,按照与更新宏\footcite相同的方式更新宏。\footnote

在此处输入图片描述

\documentclass{article}
\usepackage{biblatex} % for '\footcite' macro
\usepackage[colorlinks]{hyperref}

\let\oldFootnote\footnote
\let\oldFootcite\footcite
\newcommand\nextToken\relax   
\renewcommand\footnote[1]{%
    \oldFootnote{#1}\futurelet\nextToken\isFootnoteOrFootcite}
\renewcommand\footcite[1]{%
    \oldFootcite{#1}\futurelet\nextToken\isFootnoteOrFootcite}
\newcommand\isFootnoteOrFootcite{%
    \ifx\footnote\nextToken\textsuperscript{,}%
    \else\ifx\footcite\nextToken\textsuperscript{,}\fi%
    \fi}

\setlength\textheight{3cm} % just for this example
\begin{document}

Text.\footnote{First footnote}\footcite{An entry to be cited}\footcite{Another entry to be cited}\footnote{Second footnote}  
More text

\end{document} 

相关内容