我想改变 biblatex-option 的行为idemtracker=constrict
。在文档中它描述如下:
此模式与上下文类似,但有一个附加条件:只有当给出当前引用和先前引用时,脚注中的引用才会被视为无歧义在同一个脚注中或紧接着的脚注中。
与“相同脚注或紧接连续的脚注”不同,只有当引用位于同一脚注内时,idemtracker 才应使用 idem。
如果引文出现在紧接着的脚注中,则应打印作者姓名。我该如何更改此行为?
我使用的biblatex-juradiss
是基于的authortitle-dw
。我有,autocite=footnote
并且\cite
我使用的命令会创建脚注或在脚注内创建普通引号(请参阅Biblatex \autocite 以防嵌套脚注)。
答案1
解决这个问题的最佳方式可能是修补用于跟踪模式的内部脚注测试constrict
。要更改constrict
所有跟踪器的模式,您可以将以下内容添加到序言中。
\makeatletter
\patchcmd{\blx@ifmpfncheck}{\tw@}{\@ne}{}{}
\makeatother
此示例constrict
仅改变跟踪器的模式idem
。
\documentclass{article}
\usepackage[style=biblatex-juradiss]{biblatex}
\makeatletter
\let\cbx@ifmpfncheck\blx@ifmpfncheck
\patchcmd{\cbx@ifmpfncheck}{\tw@}{\@ne}{}{}
\let\cbx@ifciteidem@constrict\blx@ifciteidem@constrict
\patchcmd{\cbx@ifciteidem@constrict}{\blx@ifmpfncheck}{\cbx@ifmpfncheck}{}{}
\let\blx@imc@ifciteidem\cbx@ifciteidem@constrict
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
\null\vfill
Filler.\footnote{Filler \cite{knuth:ct:a}. Filler \cite{knuth:ct:b}.}
Filler \autocite{knuth:ct:a}.
Filler \autocite{knuth:ct:a}.
\end{document}
注意这里的样式使用了选项设置
autocite=footnote,ibidtracker=constrict,idemtracker=constrict