使用非标准页码时强制引用同上

使用非标准页码时强制引用同上

我正在使用 BibLaTeX,我需要通过标题而不是页码来引用来源。当标题和位置相同时,有没有办法强制 BibLaTeX 使用 ibid?

注意:问题Biblatex:脚注中重复引用的技巧同上,引用同标题和页码不要解决这个问题。我特别需要使用除简单页码之外的其他方式来引用。

据我所知,我使用了正确的软件包选项(例如ibidpage=true)。以下是最小工作示例:

\documentclass{book}

\usepackage
    [backend=biber,
     style=verbose-ibid,
     citepages=omit,
     ibidpage=true,
     firstinits=true]
   {biblatex}

\usepackage{filecontents}

\begin{filecontents}{ibid.bib}

@book{a,
  title    = {Summa theologiae},
  author   = {{Thomas Aquinas}},
}

\end{filecontents}

\addbibresource{ibid.bib}

\begin{document}

Here is some reference.\footcite[2]{a}
Here is some reference.\footcite[2]{a}
Here is some reference.\footcite[I, q.~1, a.~4]{a}
Here is some reference.\footcite[I, q.~1, a.~4]{a}
\printbibliography

\end{document}

我得到的前两篇使用标准页码的脚注是

1托马斯·阿奎那。神学大全
,第2页。2同上。

正如预期的那样。然而,另外两个使用标题的函数产生了

3同上,I,q. 1,a. 4。4
同上,I,q. 1,a. 4。

第四个脚注的期望输出很简单

4同上。

这能做到吗?

答案1

ibidpage中的选项隐式verbose-ibid设置loccittracker=constrict(见verbose-ibid.cbx)。loccittracker=strict不仅可以区分脚注和正文引用并抑制潜在的歧义情况,还可以“检查[...]参数是否postnote为数字(基于\ifnumerals[...])。”(第 60 页,占biblatex文档)。

这意味着

Here is some reference.\footcite[2]{cicero}
Here is some reference.\footcite[2]{cicero}

被识别为相同的后注,因为在两种情况下它是相同的后注,并且后注是数字。但是

Here is some reference.\footcite[I, q.~1, a.~4]{cicero}
Here is some reference.\footcite[I, q.~1, a.~4]{cicero}

尽管两个后记完全相同,但仍未通过测试,因为它们不是经过测试的数字\ifnumerals

我们可以用 明确覆盖此行为loccittracker=context。使用该选项在检查匹配的附注时biblatex不考虑测试结果。\ifnumerals

\documentclass{book}
\usepackage[backend=biber, style=verbose-ibid, citepages=omit,
  ibidpage=true, firstinits=true, loccittracker=context]{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}
Here is some reference.\footcite[2]{cicero}
Here is some reference.\footcite[2]{cicero}
Here is some reference.\footcite[I, q.~1, a.~4]{cicero}
Here is some reference.\footcite[I, q.~1, a.~4]{cicero}
\end{document}

在此处输入图片描述

相关内容