在 biblatex 中使用字母风格的 ibidtracker

在 biblatex 中使用字母风格的 ibidtracker

我想知道是否可以将该ibidtracker选项与 citestyle=alphabeticin结合使用biblatex。如下所示:

\usepackage[
    citestyle=alphabetic,
    bibstyle=authoryear,
    sortcites,ibidtracker]{biblatex}
]

不起作用。也许,我完全搞错了……

答案1

它不能立即使用,因为alphabetic.cbx没有定义任何与 ibid 相关的内容。添加到您的序言中的以下内容应该可以解决问题,但我尚未测试过:

\providecommand*{\mkibid}[1]{#1}
\newbool{cbx:loccit}

\DeclareBibliographyOption{ibidpage}[true]{%
    \ifstrequal{#1}{true}
    {\ExecuteBibliographyOptions{loccittracker=constrict}}
    {\ExecuteBibliographyOptions{loccittracker=false}}}

\DeclareCiteCommand{\cite}[\mkbibbrackets]
    {\usebibmacro{prenote}}
    {\usebibmacro{citeindex}%
        \usebibmacro{cite}}
    {\multicitedelim}
    {\usebibmacro{cite:postnote}}

\renewbibmacro*{cite}{%
    \global\boolfalse{cbx:loccit}%
    \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
      {\usebibmacro{cite:ibid}}
      {\printtext[bibhyperref]{%
        \printfield{prefixnumber}%
        \printfield{labelalpha}%
        \printfield{extraalpha}}}}

\newbibmacro*{cite:ibid}{%
    \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}%
    \ifloccit
      {\global\booltrue{cbx:loccit}}
      {}}

\newbibmacro*{cite:postnote}{%
    \ifbool{cbx:loccit}
      {}
      {\usebibmacro{postnote}}}

我从 中借用并修改了许多定义authoryear-icomp.cbx,包含在标准 Biblatex 安装中。它还添加了一个新的参考书目选项,ibidpage如果您要依赖 ibid 引文,您可能应该使用它。

相关内容