我有同一位作者的三篇条目,但每篇条目中作者名字的格式都不同:
爱德华多·蒙泰罗
爱德华多·恩里克·苏亚雷斯·蒙泰罗
爱德华多·HS·蒙泰罗
我想在我的 bib 文件中保留每篇文章中名称的显示方式,但我想在我的论文中只显示一种形式。我以为字段 shortauthor 会帮我做到这一点,但它不起作用。问题是如果我按原样使用它,在文本中每个条目都会被视为不同的作者:
(Eduardo HS MONTEIRO,2000 年;E. MONTEIRO,2006 年;Eduardo Henrique Soares MONTEIRO,2011 年)
如果我使用 shortauthor 字段:
(蒙特罗,2000 年;蒙特罗,2006 年;蒙特罗,2011 年)
参考文献:
蒙特罗,爱德华多。[...]
蒙特罗,爱德华多 HS [...]
蒙特罗,爱德华多·恩里克·苏亚雷斯。 [...]
我想知道的是,是否有一种方法可以在我的 bib 文件中保留每篇文章中出现的名称,但只显示一种形式,并被视为同一作者,如下所示:
在正文中:
(蒙特罗,2000 年;2006 年;2011 年)
在参考文献中
蒙特罗,爱德华多。[...]
______。 [...]
______。 [...]
我正在使用 biblatex-abnt。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage[
backend=biber,
style=abnt,
ittitles
]{biblatex}
\addbibresource{bibliography.bib}
\setlength\parindent{0cm}
\begin{document}
\cite{Monteiro2000, Monteiro2006, Monteiro2011}
\printbibliography[heading=none]
\end{document}
@Thesis{Monteiro2000,
author = {Eduardo H. S. Monteiro},
title = {Henrique Oswald (1852-1931)},
type = {Tese de Doutorado},
institution = {Université Paris-Sobonne},
year = {2000},
subtitle = {un compositeur brésilien audélà du natiomalisme musical l'exemple de sa musique de chambre avec piano},
location = {Paris},
eventyear = {2000},
}
@Article{Monteiro2006,
author = {Eduardo Monteiro},
title = {Henrique Oswald e os Românticos Brasileiros},
journaltitle = {Textos do Brasil},
date = {2006-04-10},
pages = {68-71},
url = {http://dc.itamaraty.gov.br/imagens-e-textos/revista-textos-do-brasil/portugues/edicao-numero-12},
urldate = {2017-03-08},
edition = {12},
location = {Brasília},
publisher = {Departamento Cultural do Ministério das Relações Exteriores},
subtitle = {em busca do tempo perdido},
}
@Article{Monteiro2011,
author = {Eduardo Henrique Soares Monteiro},
title = {Por uma nova contextualização da obra de Henrique Oswald},
journal = {OPUS - Revista Eletrônica da ANPPOM},
year = {2011},
pages = {9-42},
url = {http://www.anppom.com.br/revista/index.php/opus/article/view/198},
volume = {17},
number = {2},
issn = {1517-7017},
}
答案1
您可以使用 Biber 的源映射来规范化名称
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[foreach={author, editor, translator}]{
\step[fieldsource=\regexp{$MAPLOOP},
match=\regexp{Eduardo\s+(H.\s+S.|Henrique\s+Soares)+\s*Monteiro},
replace={Eduardo Monteiro}]
}
}
}
这会将您提到的通过正则表达式捕获的所有版本标准化为字段author
、editor
和中的“Eduardo Monteiro” translator
。您可以轻松地在 中添加更多名称字段foreach
。