重新定义脚注引用

重新定义脚注引用

需要添加对以下自定义脚注定义的引用:

 \documentclass[a4paper,10pt]{article}

\usepackage{hyperref}
\hypersetup{
    colorlinks=true,
    citecolor={black},
    linkcolor={black},
    urlcolor={blue},
    pdfborder={0 0 0},
}


\usepackage{manyfoot}
\newfootnote{B}
\makeatletter
\def\sfootnote#1{\ifx\protect\@typeset@protect
    \Footnotemark{*}\FootnotetextB{*}{#1}%
  \else
    \relax
  \fi
}

\begin{document}
\tableofcontents

\newpage
\section[abc]{abc\sfootnote{cde}}

text\footnote{foot}
\end{document}

这将生成该节的脚注美国广播公司,但点击它时不会指向脚注计算机辅助设计但要转到第一页。

您是否知道上述定义如何支持此功能?

答案1

这是可行的,但是正如前面提到的,hyperref它不能很好地与它不知道如何修补的软件包配合使用,例如manyfoot

请注意,您需要多次运行 LaTeX 才能正确解析交叉引用。

我扩展了你的例子,以便进行更好的测试。

\documentclass[a4paper,10pt]{article}

\usepackage{hyperref}
\hypersetup{
    colorlinks=true,
    citecolor={black},
    linkcolor={black},
    urlcolor={blue},
    pdfborder={0 0 0}
}


\usepackage{manyfoot}
\newfootnote{B}
\newcounter{footB}
\makeatletter
\def\sfootnote#1{\ifx\protect\@typeset@protect
    \stepcounter{footB}%
    \hyperlink{fn:B\thefootB}{\Footnotemark{{*}}}%
    \FootnotetextB{*}{\Hy@raisedlink{\hypertarget{fn:B\thefootB}{}}#1}%
  \else
    \relax
  \fi
}
\makeatother

\begin{document}
\tableofcontents

\newpage
\section[abc]{abc\sfootnote{cde}}

text\footnote{foot}

\newpage
\section[abc2]{abc2\sfootnote{cde2}}

text2\footnote{foot2}


\end{document}

相关内容