我使用的是 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 功能的版本。必须手动添加。(我想我从未见过alphabtic
ornumeric
样式中的“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}
如果你更喜欢“lc”或“loc.cit.”,你可以重新定义“ibidem”bibstring
\DefineBibliographyStrings{english}{ibidem = {l\adddot c\adddot}}