我正在使用 Biblatex 和 verbose-ibid,我想使用作者、期刊名称来重复引用同一篇文章,使用作者、编辑姓名和书籍简称来引用会议论文集。我想保留书籍简称选项。
我该如何实现这一点?或者已经有这样的风格了吗?
任何帮助表示感谢
为了更好地解释:我举一个我想要实现的例子:
A. Assmann,“这是一篇文章”,比法奥56 (2000), 23-45。
本文稍后将简写为
阿斯曼,比法奥56.
对于会议论文集或编辑书籍的投稿,原始参考文献应完整:
R. Parkinson,“这是一项贡献”,载于 V. Davies,这是一本书的论文集,巴黎:我的出版商,第 34-56 页。
稍后应缩短为
帕金森症书籍论文集。
书名应该像通常书籍一样缩短。我从我的书目中给出了三个例子,但 Habachi 条目是“完美的”(刚刚添加):
@article{Spalinger.1978b,
author = {Spalinger, A. J.},
year = {1978},
title = {Psammetichus, King of Egypt: II},
pages = {49–57},
paginationtype = {page},
volume = {15},
journaltitle = {JARCE}
}
@incollection{Hornung.2006,
author = {Hornung, E. and Krauss, R. and Warburton, David A.},
title = {Royal Annals},
pages = {19–25},
bookpaginationtype = {page},
subtitle = {Ancient Egyptian Chronology}
}
@incollection{Habachi.1977,
author = {Habachi, Labib},
title = {Mentuhotpe, the Vizier and Son-in-Law of Taharqa},
pages = {165–170},
bookpaginationtype = {page},
publisher = {Akademie-Verlag},
series = {Schriften zur Geschichte und Kultur des Alten Orients},
editor = {Endesfelder, E. and Priese, K.-H and Reineke, W.-F and Wenig, S.},
booktitle = {Ägypten und Kusch},
year = {1977},
usera = {Yes},
shorttitle = {Mentuhotp},
location = {Berlin},
booksubtitle = {Fritz Hintze zum 60. Geburtstag},
number = {13}
}
答案1
把这句话放在你的序言中似乎有效:
\renewbibmacro*{cite:short}{%
\printnames{labelname}%
\setunit*{\nametitledelim}%
% If article:
\ifentrytype{article}{%
\usebibmacro{journal}%
\setunit{\addspace}%
\printfield{volume}}{%
% If incollection:
\ifentrytype{incollection}{%
\usebibmacro{in:}%
\printtext[booktitle]{\printfield[titlecase]{booktitle}}}{%
% Else:
\printtext[bibhyperlink]{\printfield[citetitle]{labeltitle}}}}}
cite:short
对于至少被引用过一次的参考文献,将调用该宏verbose-ibid
。我所做的就是重新定义它,以便它将打印作者姓名,然后,如果是一篇文章,则打印期刊和卷 或者如果它是某些诉讼程序中的文本,则“in”字符串和书名 或者否则只是书名。
如果您也使用其他条目类型(inproceedings 等),则可能需要添加它们。确保使用 字符注释每一行的末尾%
,以避免出现不必要的空格。