段落中重复引用,但后文不同

段落中重复引用,但后文不同

我使用的是 biblatex 的字母样式。我在一段中引用了来自同一来源的大量引文。例如,

blablba, see \cite[prop.~12]{AB12}, and blabla, see \cite[prop.~34]{AB12}. Also, blabla from \cite[prop.~56]{AB12}.

因此输出如下所示:

blablba,参见 [AB12, prop. 12],blabla,参见 [AB12, prop. 34]。另外,blabla 参见 [AB12, prop. 56]。

它包含大量重复的“AB12”。如果我没记错的话,人们在这种情况下通常使用[loc.cit., prop. 34]或更短的[lc, prop. 34]。

我的问题是: 如何让 biblatex 识别重复的引用并通过“lc”重新引用?

答案1

您所指的功能在 中通常称为 ibidem(或 ibid.)功能biblatex。对同一作品的重复引用将替换为“ibid.”。biblatex还具有 loccit 功能以打印“loc. cit.”,但其用法通常略有不同。

authoryear与and不同authortitle,标准alphabetic样式不附带提供-ibid开箱即用的 ibidem 功能的版本。必须手动添加。(我想我从未见过alphabticornumeric样式中的“ibid。”。无论如何,使用它不会节省很多空间。)

以下是如何与“ibid”配合使用的方法。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=alphabetic, ibidtracker=true]{biblatex}

\providecommand*{\mkibid}[1]{#1}
\letbibmacro{cite:normal}{cite}
\newbibmacro*{cite:ibid}{%
  \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}}

\renewbibmacro*{cite}{%
  \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
    {\usebibmacro{cite:ibid}}
    {\usebibmacro{cite:normal}}}

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite[prop.~12]{sigfridsson}
ipsum \autocite[prop.~13]{sigfridsson}

\printbibliography
\end{document}

Lorem [SR98,道具。 12] ipsum [同上,prop. 13]

如果你更喜欢“lc”或“loc.cit.”,你可以重新定义“ibidem”bibstring

\DefineBibliographyStrings{english}{ibidem = {l\adddot c\adddot}}

相关内容