我正在尝试自定义 biblatex,以满足我所在大学的所有要求。我使用 authortitle 作为 bibstyle,authoryear 作为 citestyle。我的语言是法语。我已经做了一些更改,请参阅代码示例。但是,有些更改我不知道如何进行。也许我可以在这里找到一些帮助。例如,参考书目条目应如下所示:
(Impey--MacGregor 1985)Impey, O. 和 MacGregor, A.(导演),《博物馆的起源:十六和十七世纪欧洲的珍奇柜》,牛津,克拉伦登出版社,1985 年
缺少以下更改:
当我在文本中引用来源时(我基本上只使用文章和书籍),格式为:(Impey--MacGregor 1985),我用 \parencite{} 生成。我希望这个标签(带圆括号)也出现在参考书目中相应条目的开头。
在一些资料中,作者同时担任编辑。在这种情况下,我想在最后一个作者姓名后面写一个 (dir.),如上例所示,而不是自动写成“sous la direction de ...”,这样会重复提到相同的名字。
在我展示的例子中,我使用了以下来源:
@book{im85,
author = {Impey, O. and MacGregor, A.},
title = {The origins of museums: the cabinet of curiosities in sixteenth- and senventeenth century Europe},
editor = {Impey, O. and MacGregor, A.},
year = {1985},
volume = {},
publisher = {Oxford, Clarendon Press},
pages = {},
isbn = {},
keywords = {bibliographie}
}
这是我的文件:
\documentclass{amsart}
\usepackage[left=2.5cm,bottom=2.8cm,right=2.5cm,top=2.3cm]{geometry}
\usepackage{graphicx}
\usepackage{color}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes} % french quotation marks in the bibliography
\usepackage[french]{babel}
\usepackage[backend=biber,
bibstyle=authortitle,
citestyle=authoryear,
babel = hyphen
]{biblatex}
\bibliography{bibli}
% The following block of code makes names separated by "--" in the citations
\let\oldmultinamedelim\multinamedelim
\let\oldfinalnamedelim\finalnamedelim
\renewcommand*{\multinamedelim}{--}
\renewcommand*{\finalnamedelim}{--}
\AtBeginBibliography{%
\renewcommand*{\multinamedelim}{\oldmultinamedelim}%
\renewcommand*{\finalnamedelim}{\oldfinalnamedelim}%
}
% Changes the point after the author name to a comma
\renewcommand*{\newunitpunct}{\addcomma\space}
% Normally in French the authors appear in small capitals when cited. The following command prevents this.
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}
% Last name first, then first name
\DeclareNameAlias{author}{last-first}
\begin{document}
\title[Projet de thèse]{Titre du projet}
\author{Nom de l'auteur}
\maketitle
On a lu \parencite{im85}.
\printbibheading
\printbibliography[keyword={source}, heading=subbibliography, title={Sources}]
\printbibliography[keyword={bibliographie}, heading=subbibliography, title={Bibliographie}]
\end{document}
提前谢谢您!
答案1
对于第 1 期,您可以使用biblatex-ext
及其introcite=plain
选项。
\documentclass{amsart}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[french]{babel}
\usepackage[backend=biber,
bibstyle = ext-authortitle,
citestyle = ext-authoryear,
introcite=plain,
autolang = hyphen
]{biblatex}
%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@collection{im85,
title = {The Origins of Museums},
subtitle = {The Cabinet of Curiosities in Sixteenth- and Senventeenth-Century {Europe}},
editor = {Impey, Oliver and MacGregor, Arthur},
year = {1985},
location = {Oxford},
publisher = {Clarendon Press},
keywords = {bibliographie},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\DeclareFieldFormat{bbx@introcite}{\mkbibparens{#1}}
\renewcommand*{\introcitepunct}{\addspace}
\renewcommand*{\newunitpunct}{\addcomma\space}
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}
\DeclareDelimFormat{multinamedelim}{--}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareDelimFormat[bib]{multinamedelim}{\addcomma\space}
\DeclareDelimFormat[bib]{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}
\DeclareNameAlias{sortname}{family-given}% sortname is probably what you want, updated to new (>=v3.3) name format
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\renewcommand*{\subtitlepunct}{\addcolon\space}
\renewcommand*{\locpubdelim}{\addcomma\space}
\begin{document}
On a lu \parencite{im85}.
\printbibheading
\printbibliography[keyword={source}, heading=subbibliography, title={Sources}]
\printbibliography[keyword={bibliographie}, heading=subbibliography, title={Bibliographie}]
\end{document}
关于你的第二个问题:我认为,在一部作品中,作者和编辑都是同一个人,而你想将两者合并,只剩下编辑,这种情况非常罕见。
在本例中,通过谷歌搜索,我发现 Impey 先生和 MavGregor 先生author
根本不需要被列为 s。他们是整本书的编辑,但不是作者。因此,正确的输入似乎是(请注意,这是@collection
不同作者的作品集,而不是@book
同一组作者撰写的整本书)
@collection{im85,
title = {The Origins of Museums},
subtitle = {The Cabinet of Curiosities in Sixteenth- and Senventeenth-Century {Europe}},
editor = {Impey, Oliver and MacGregor, Arthur},
year = {1985},
location = {Oxford},
publisher = {Clarendon Press},
keywords = {bibliographie},
}
针对 v0.4 中的名称更改进行了编辑biblatex-ext
。