![使用 BibLateX 进行带有页码的多个脚注引用](https://linux22.com/image/453167/%E4%BD%BF%E7%94%A8%20BibLateX%20%E8%BF%9B%E8%A1%8C%E5%B8%A6%E6%9C%89%E9%A1%B5%E7%A0%81%E7%9A%84%E5%A4%9A%E4%B8%AA%E8%84%9A%E6%B3%A8%E5%BC%95%E7%94%A8.png)
对于我的论文,每次在文中出现文档时,我都需要将参考文献完整地作为脚注呈现。
为此,我一直在使用 BibLatex 及其以下选项:
\usepackage[backend=biber,style=apa,language=english]{biblatex}
在文中,必要时插入参考文献,我使用的命令是\footfullcite{ref}
。但是,有时我需要在同一个脚注中插入多个参考文献,为此,命令是\footfullcite{ref1,ref2,ref3}
。
当我引用文章时它运行得很好。
问题是当我需要指示文档(例如书籍)的页面时。\footfullcite[p. x]{ref}
当仅指示一个参考文献时,该命令可以完美运行,但当指示多个参考文献时,我无法指示某个特定参考文献的页面。
如果我尝试使用命令\footfullcite[p. x]{ref1,ref2,ref3}
,则页码会出现在所有参考文献的末尾,无论它引用的是哪部作品。
我尝试过采用类似目前的解决方案这里,但没有效果。
我正在尝试的 MWE:
\begin{filecontents*}{\jobname.bib}
@article{test,
title = {Synthesis of Enantiopure Alcohols},
volume = {71},
number = {17},
journal = {J. Org. Chem.},
author = {Test T.},
month = aug,
year = {2006},
pages = {6333--6445}
}
\end{filecontents*}
\documentclass[12pt, a4paper, twoside, english]{abntex2}
\usepackage[backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
First\footfullcite{test}, second\footfullcite{test} and third time.\footfullcite{test}
Multiple times.\footfullcite{test,test,test}
Multiple times with page number.\footfullcite[p. 15]{test,test,test}
\end{document}
结果是:
但是,我想在第二个参考文献中插入页码,而不是在所有参考文献的末尾插入页码。
有人能帮帮我吗?谢谢!!
PS:在我的系统上,我正在使用命令\usepackage[backend=biber,style=apa,language=english]{biblatex}
,但是由于某种我不知道的原因,当我尝试在 MWE 中使用此命令时,参考文献无法正确显示。
答案1
您可以使用多引用命令给出具有单独postnote
(页面范围)的多个引用。默认情况下没有多引用版本\footfullcite
,大概是因为没有想到这\footfullcite
会成为您的首选引用命令,但制作它的多引用版本并不难
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=apa]{biblatex}
% just for the example
\AtEveryCitekey{\clearfield{annotation}}
\DeclareMultiCiteCommand{\footfullcites}[\mkbibfootnote]{\footfullcite}{\multicitedelim}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \footfullcites[380]{sigfridsson}[12]{worman}[51]{geer}
\printbibliography
\end{document}
答案2
我找到的解决方案:
尽管 BibLaTeX 手册提到,如果将多个输入键传递给引用命令,默认情况下它将不会对引用进行排序,但它仍按照参考书目 (NTY) 的默认排序对引用的条目进行排序。
为了改变这种情况,我必须强制它忽略任何排序顺序,并添加选项sortcites=false
。
现在使用以下选项调用 BibLateX:
\usepackage[backend=biber,style=apa, sortcites=false, language=english]{biblatex}
这使我能够继续使用该\footfullcite
命令,并且我只需要对引用的条目进行排序,以便将显示页码的条目保留为最后一个。
该命令将把\footfullcite[p. 15]{test1,test2,test3}
页码插入到参考编号 #3,或\footfullcite[p. 15]{test3,test2,test1}
将页码插入到参考编号 #1。
我知道这不是一个完整的解决方案,因为如果需要向不同的条目插入不同的页码,那么这个解决方案将不起作用。