节头内的脚注:使用 titlesec 和 footnotebackref 包时出错

节头内的脚注:使用 titlesec 和 footnotebackref 包时出错

以下 MWE

\documentclass{article}
\usepackage{titlesec}        
\usepackage{footnotebackref} 
\begin{document}
\section{Whatever\protect\footnote{Problematic footnote}}
\end{document}

titlesec如果同时加载了和包,则会出现错误footnotebackref(如果删除其中任何一个,则它会按预期工作)。我尝试使用\footnotemark\footnotetext,但无济于事。有什么想法可能发生了什么以及如何修复它?(我知道在标题中使用脚注是不可取的,但无论如何......)

答案1

下列的如何将 footnotebackref 包与 \footnotemark 和 \footnotetext 一起使用?,解决方案是使用\footnotemark\footnotetext进行以下重新定义:

\makeatletter
\LetLtxMacro{\BHFN@Old@footnotemark}{\@footnotemark}  
\renewcommand*{\@footnotemark}{%
    \refstepcounter{BackrefHyperFootnoteCounter}%
    \xdef\BackrefFootnoteTag{bhfn:\theBackrefHyperFootnoteCounter}%
    \label{\BackrefFootnoteTag}%
    \BHFN@Old@footnotemark
}
\makeatother

(还必须\protect\footnotemark。完整的 MWE:

\documentclass{article}
\usepackage{titlesec}        
\usepackage{footnotebackref} 
\makeatletter
\LetLtxMacro{\BHFN@Old@footnotemark}{\@footnotemark}
\renewcommand*{\@footnotemark}{%
    \refstepcounter{BackrefHyperFootnoteCounter}%
    \xdef\BackrefFootnoteTag{bhfn:\theBackrefHyperFootnoteCounter}%
    \label{\BackrefFootnoteTag}%
    \BHFN@Old@footnotemark
}
\makeatother
\begin{document}
\section{Whatever\protect\footnotemark}
\footnotetext{Problematic footnote}
\end{document}

在此处输入图片描述

相关内容