Biblatex,引用尾注,ibid 跟踪器被丢弃

Biblatex,引用尾注,ibid 跟踪器被丢弃

考虑下面的输出,它是用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

但这有点不妥。

相关内容