我目前正在使用 Latex 和 Biber 制作电子书。我用于脚注的软件包是该biblatex-chicago
软件包。
我可以成功地从某个段落链接到脚注,但我希望能够单击实际的脚注并返回到原始位置,从而创建反向引用。我查看了一些与类似主题相关的其他帖子,但似乎没有一个适用于biblatex-chicago
我用来\autocite
创建脚注的软件包。
平均能量损失
\documentclass[10pt, letterpaper]{book}
\usepackage{palatino}
\usepackage[notes,backend=biber]{biblatex-chicago}
\addbibresource{mweBib.bib}
\usepackage{footnotebackref}
\usepackage{tocloft}
\renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}}
\date{} \let\cleardoublepage\clearpage
\usepackage{hyperref}
\usepackage{color}
\hypersetup{colorlinks=true, linkcolor=blue, linktoc=all}
\begin{document}
This is a test for footnotebackref.\autocite[100]{test}
\printbibliography
\end{document}
希望我已经清楚地说明了我的问题。任何帮助都将不胜感激!
答案1
确实biblatex-chicago
得益于footnotebackref
包裹不起作用。在 中biblatex-chicago.sty
,我们发现
\renewcommand\@makefntext[1]{% Provides in-line footnote marks
\setlength\parindent{1em}%
\noindent
\makebox[2.3em][r]{\@thefnmark.\,\,}#1}
每当我们加载非memoir
文档类时,都会执行此宏。不幸的是,footnotebackref
无法修改此宏,因此我们必须自己修改。
下面的代码甚至不需要加载footnotebackref
,最重要的方面可以用几行代码来实现(这些代码取自footnotebackref
包裹/Holle 的回答使用 hyperref 进行脚注反向引用冗长地)
\newcounter{BackrefHyperFootnoteCounter}
\makeatletter
\pretocmd{\footnote}
{\refstepcounter{BackrefHyperFootnoteCounter}%
\edef\BackrefFootnoteTag{bhfn:\theBackrefHyperFootnoteCounter}%
\label{\BackrefFootnoteTag}}
{}{}
\renewcommand\@makefntext[1]{% Provides in-line footnote marks
\setlength\parindent{1em}%
\noindent
\makebox[2.3em][r]{\hyperref[\BackrefFootnoteTag]{\@thefnmark}.\,\,}#1}
\makeatother
在最后几行,我们修改了biblatex-chicago
宏以包含脚注的链接。
平均能量损失
\documentclass[10pt, letterpaper]{book}
\usepackage{palatino}
\usepackage[notes,backend=biber]{biblatex-chicago}
\usepackage{hyperref}
\addbibresource{biblatex-examples.bib}
\newcounter{BackrefHyperFootnoteCounter}
\makeatletter
\pretocmd{\footnote}
{\refstepcounter{BackrefHyperFootnoteCounter}%
\edef\BackrefFootnoteTag{bhfn:\theBackrefHyperFootnoteCounter}%
\label{\BackrefFootnoteTag}}
{}{}
\renewcommand\@makefntext[1]{% Provides in-line footnote marks
\setlength\parindent{1em}%
\noindent
\makebox[2.3em][r]{\hyperref[\BackrefFootnoteTag]{\@thefnmark}.\,\,}#1}
\makeatother
\begin{document}
This is a test for footnotebackref.\autocite[100]{wilde}
\printbibliography
\end{document}