我需要在脚注中插入页码,指向引用首次出现的页面。
例如我在脚注中写到的内容:
20)作者姓名,(脚注3)第11页。
我需要的:
20)作者姓名,(第 15 页,脚注 3)第 11 页。
=> 第 15 页是引用首次出现的页码。
我使用scrbook
biblatex,风格是verbose-inote
。
答案1
该pageref
选项还允许您添加相关脚注的页码。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=verbose-inote, pageref=true]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
\clearpage
Lorem \autocite{sigfridsson}
\printbibliography
\end{document}
默认设置的输出与您显示的输出略有不同。只需进行一些小调整即可获得所需的输出。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=verbose-inote, pageref=true]{biblatex}
\DefineBibliographyStrings{english}{
seenote = {fn\adddot},
}
\makeatletter
\newbibmacro*{footcite:note}{%
\ifnameundef{labelname}
{\printfield{label}}
{\printnames{labelname}}%
\ifsingletitle
{}
{\setunit*{\printdelim{nametitledelim}}%
\printfield[title]{labeltitle}}%
\setunit*{\addspace}%
\printtext[parens]{%
\iftoggle{cbx:pageref}
{\ifsamepage{\the\value{instcount}}
{\csuse{cbx@f@\thefield{entrykey}}}
{}
{\bibstring{page}\addnbspace
\pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
\addcomma\space}}
{}%
\bibstring{seenote}\addnbspace
\ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
}}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
\clearpage
Lorem \autocite{sigfridsson}
\printbibliography
\end{document}