biblatex:严格遵循相同的脚注引用

biblatex:严格遵循相同的脚注引用

我使用的verbose-trad2引用格式是比布拉特克斯并尝试改变一些事情。以我的风格,同上比仅仅相同的作者姓名更受限制,因此我设置了idemtracker=false。我还重新定义了相应的参考书目字符串(ibidem),例如,

  1. 作者姓名,“标题”,同上,第 X 页

  2. 同上,页是的。

如果两个引文的作者和标题相同,但后注中的页码不同。这都没问题。

现在,如果两个引文中的页面相同,我希望在第二个引文中隐藏页面引用(使用 即可解决ibidpage=true)。此外,仅在这种情况下,我希望拉丁文缩写为同上。代替同上。 有没有办法做到这一点?

以下是一些文件的链接:

感谢您的时间和帮助!

答案1

ibidpage=true也可以得到loccittracker=constrict。你想要的情况同上代替同上\ifloccit测试检测到。在 下verbose-trad2,此测试在书目宏中执行cite:ibid。以下是 中的定义verbose-trad2.cbx

\newbibmacro*{cite:ibid}{%
  \printtext{%
    \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{%
      \bibstring[\mkibid]{ibidem}}}%
  \ifloccit
    {\global\toggletrue{cbx:loccit}}
    {}}

您可以重新定义此宏来打印同上\ifloccit产量false

\documentclass{report}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=verbose-trad2,ibidpage,idemtracker=false]{biblatex}
\usepackage[colorlinks]{hyperref}

\renewcommand*{\mkibid}[1]{\emph{#1}}

\makeatletter
\renewbibmacro*{cite:ibid}{%
  \printtext{%
    \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{%
      \ifloccit
        {\bibstring[\mkibid]{ibidem}%
         \global\toggletrue{cbx:loccit}}
        {\bibstring[\mkibid]{idem\thefield{gender}}}}}}
\makeatother

\addbibresource{biblatex-examples.bib}
\begin{document}
\null\vfill
Filler text \autocite{knuth:ct:a}.
Filler text \autocite{knuth:ct:b}.
Same labelname, different work \autocite{knuth:ct:a}.
Same work, different postnote \autocite[16]{knuth:ct:a}.
Same work, same postnote \autocite[16]{knuth:ct:a}.
Same labelname, different work \autocite[10]{knuth:ct:b}.
Same work, same postnote \autocite[10]{knuth:ct:b}.
Same work, different postnote \autocite[10--15]{knuth:ct:b}.
\printbibliography
\end{document}

在此处输入图片描述

相关内容