定制 biblatex / authoryear:参考书目中的标签和编辑器的格式

定制 biblatex / authoryear:参考书目中的标签和编辑器的格式

我正在尝试自定义 biblatex,以满足我所在大学的所有要求。我使用 authortitle 作为 bibstyle,authoryear 作为 citestyle。我的语言是法语。我已经做了一些更改,请参阅代码示例。但是,有些更改我不知道如何进行。也许我可以在这里找到一些帮助。例如,参考书目条目应如下所示:

(Impey--MacGregor 1985)Impey, O. 和 MacGregor, A.(导演),《博物馆的起源:十六和十七世纪欧洲的珍奇柜》,牛津,克拉伦登出版社,1985 年

缺少以下更改:

  1. 当我在文本中引用来源时(我基本上只使用文章和书籍),格式为:(Impey--MacGregor 1985),我用 \parencite{} 生成。我希望这个标签(带圆括号)也出现在参考书目中相应条目的开头。

  2. 在一些资料中,作者同时担任编辑。在这种情况下,我想在最后一个作者姓名后面写一个 (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

相关内容