考虑下面的输出,它是用biblatex
和其原始 authoryear-icomp 方案创建的,并将引用放在尾注中(使用包enotez
)。
看起来没什么不对。但你知道第三个引用命令实际上指向的是 Malinowski,而不是 Knuth。
\documentclass{scrartcl}
\usepackage{blindtext,enotez}
\usepackage[style=authoryear-icomp,notetype=endonly,autocite=footnote,backend=biber]{biblatex}
\addbibresource[location=remote]{http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/examples/biblatex-examples.bib}
\let\footnote\endnote%
\begin{document}
\blindtext
\footcite{malinowski}
\blindtext
\footnote{That's also what \textcite{knuth:ct} says.}
\blindtext
\footcite{malinowski}
\printendnotes
\printbibliography
\end{document}
注释 1 和 3 是使用常规\footcite
命令生成的,这已经足够了,因为没有在引文中添加任何评论。但注释 2 是\footnote
在某些文本中嵌入引文。
没什么特别的,但似乎这足以让 biblatex 的 ibid 跟踪器感到困惑。它似乎没有注意到 note 2 内部发生的事情。
很可能我忽略了某些内容(如果是那样的话,那是什么?)。但如果你们认为我应该就此事联系 biblatex 团队,我当然会这么做。
附言:只需澄清:当使用脚注而不是尾注时,不会发生这种情况。https://i.stack.imgur.com/Lc1f2.png
答案1
目前biblatex
不支持该enotez
包,因为它无法修补enotez
用于脚注(尾注)检测的命令。
您可以通过 忽略脚注和文本之间的区别ibidtracker=true
,但这可能不是最好的选择。
我设法修改了一些enotez
内部组件,包括脚注检测切换,并且它在 MWE 中工作正常
\ExplSyntaxOn
\cs_undefine:N \enotez_endnote:nn
\cs_new_protected:Npn \enotez_endnote:nn #1#2
{
\enotez_endnote_mark:n {#1}
\enotez_endnote_text:nn {#1} {\toggletrue{blx@footnote}#2}
}
\ExplSyntaxOff
但这有点不妥。