.png)
Eu tenho arrancado meus cabelos nos últimos dias tentando configurar o biblatex para lidar com colaboradores únicos e múltiplos em entradas bibliográficas.Suspiro exasperado.
Dado este exemplo:
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{LadymanRoss07,
author = {Ladyman, James and Ross, Don},
collaborator = {David Spurrett and Collier, John},
title = {Every Thing Must Go: Metaphysics Naturalized},
publisher = {Oxford University Press},
year = {2007}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}
como posso conseguir com elegância:
Ladyman, James and Don Ross (2007). Every Thing Must Go: Metaphysics Naturalized.
With collaborators: David Spurrett and John Collier. Oxford University Press.
na saída, e With collaborator:
se apenas um colaborador estivesse envolvido?
Para sua informação, minha "correção" mais insatisfatória atual envolve mudar collaborator =
para annotator =
onde quer que apareça em meus arquivos .bib e adicionar
\DefineBibliographyStrings{english}{
withannotator = With collaborators:\addspace ,
}
ao meu código de configuração biblatex. (Esta é claramente uma "solução" terrível de várias maneiras!)
Responder1
Acho que a maneira mais adequada de permitir que você tenha "colaborador" no banco de dados e ainda usar os estilos padrão sem mexer em nenhum driver é adicionar um mapa de origem (você precisará do Biber 1.0+ e do biblatex 2.0+).
A “mágica” aqui está na \DeclareSourcemap
seção, que funciona basicamente da seguinte forma:
Identifique entradas com um campo de colaborador: se a entrada não tiver esse campo, não processe mais:
\step[fieldsource=collaborator, final=true]
Copie o campo colaborador para o campo editora:
\step[fieldtarget=editora, origfieldval]
Defina o campo editoratype como "colaborador":
\step[fieldset=editoratype, fieldvalue=collaborator
Se você estivesse satisfeito com a formatação "padrão" ("In collab[oration] with"), isso seria tudo que você precisava. Um pouco de complexidade extra surge porque você deseja um formato diferente, "Com colaborador(es)". O problema aqui é que na string "bytype", os estilos padrão do biblatex não tentam distinguir entre nomes únicos e múltiplos. Nesse ponto você tem três opções:
Se você quiser manter as coisas simples, vá em frente e aceite um formato que possa funcionar para um ou mais colaboradores, como o padrão. Isso é o mais simples e, a menos que você esteja apegado à fórmula "com colaboradores", provavelmente é o melhor. Nesse caso, você pode excluir toda a segunda etapa do mapa,
\newbibliographystring
a definição de umabycollaborators
string.Se você quiser estar "correto", reescreva as macros internas para identificar vários nomes e imprima sequências introdutórias diferentes de forma apropriada. Isso daria bastante trabalho e provavelmente mais do que é realmente justificável.
Distinguir no
.bib
próprio arquivo entre um e vários colaboradores, usando “colaborador” para um e “colaboradores” para dois. No que diz respeito ao biblatex, ele está lidando com "tipos" bastante diferentes ("colaboradores" podem muito bem ser "colaboradores de nabos" no que diz respeito), mas ao definir uma forma adequadabibstring
para lidar com a forma plural o problema está resolvido. Isso não é perfeito, mas parece aceitável, e foi isso que fiz aqui.
O resultado final, dada a sua contribuição fracionadamente alterada para que "colaborador" se torne "colaborador" (pelos motivos explicados acima), é o seguinte:
\documentclass{article}
\usepackage{filecontents}
\usepackage[style=authoryear,backend=biber]{biblatex}
\DeclareSourcemap{
\maps[datatype=bibtex,overwrite=false]{
\map{
\step[fieldsource=collaborator, final=true]
\step[fieldset=editora, origfieldval]
\step[fieldset=editoratype, fieldvalue=collaborator]
}
% THIS MAP STEP IS ONLY THERE TO ENABLE US TO USE "COLLABORATORS"
% AS WELL AS "COLLABORATOR", BECAUSE THE QUESTION WANTS TO USE THE
% "WITH COLLABORATORS" INTRODUCTION
\map{
\step[fieldsource=collaborators, final=true]
\step[fieldset=editora, origfieldval]
\step[fieldset=editoratype, fieldvalue=collaborators]
}
}
}
\NewBibliographyString{bycollaborators}% ONLY FOR "WITH COLLABORATORS"
\DefineBibliographyStrings{english}{%
bycollaborator = {with collaborator\addcolon\space},
% AND ONLY FOR "WITH COLLABORATORS"
bycollaborators = {with collaborators\addcolon\space}}
\begin{filecontents}{\jobname.bib}
@book{LadymanRoss07,
author = {Ladyman, James and Ross, Don},
collaborators = {David Spurrett and Collier, John},
title = {Every Thing Must Go: Metaphysics Naturalized},
publisher = {Oxford University Press},
year = {2007}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}
Responder2
De acordo com o manual do biblatex, o tratamento de colaboradores pode ser feito definindo a lista nos campos do editor e usando editortype=collaborator
.
Para o biblatex, isso diz semanticamente que você deseja considerar que não está dando uma entrada de editor, mas sim de colaborador, já que eles não queriam multiplicar muito as novas chaves para mantê-las bastante padronizadas.
Você também pode especificar a forma como deseja que ele se refira ao colaborador.
- Por padrão, a
collaborator
palavra-chave traduzida paracollaborator
oucollab.
para a versão curta. - A
bycollaborator
palavra-chave se traduz emin collaboration with
ouin collab with
. - Você também pode usar a chave
collaborators
que se traduz emcollaborators
oucollab.
.
Observe, entretanto, que isso não parece se comportar exatamente como descrito pela documentação no meu computador e que as traduções de palavras-chave não estão disponíveis para todos os idiomas.
Além disso, essas chaves são seguidas por vários % FIXME: unsure
arquivos de idioma, então talvez ainda não funcione corretamente.
Ao fornecer uma lista de nomes ao biblatex, você deve separar cada nome por and
palavra-chave, pois a vírgula é reconhecida como um separador de nome/sobrenome. Então, o biblatex interpreta sua entrada como David Spurett
e John Collier
.
Então você deve ter algo assim:
@book{LadymanRoss07,
author = {Ladyman, James and Ross, Don},
editor = {David Spurrett and Collier, John},
editortype = {collaborator},
title = {Every Thing Must Go: Metaphysics Naturalized},
publisher = {Oxford University Press},
year = {2007}
}
Acho que isso deve funcionar para você. No meu documento de teste, usando o idioma inglês, obtenho o seguinte:
[1] James Ladyman and Don Ross. Every Thing Must Go: Metaphysics Naturalized. In collab.
with David Spurrett, Collier, and John. Oxford University Press, 2007.
Isso parece ser exatamente o que você está esperando.
Responder3
Aqui está um exemplo de outro livro com o mesmo problema. Esta solução é do MathSciNet. Eles usam o note
campo nesse caso.
@BOOK{Buergisser1997,
AUTHOR = {B{\"u}rgisser, Peter and Clausen, Michael and Shokrollahi, M. Amin},
TITLE = {{A}lgebraic {C}omplexity {T}heory},
SERIES = {Grundlehren der Mathematischen Wissenschaften [Fundamental Principles of Mathematical Sciences]},
VOLUME = {315},
NOTE = {With the collaboration of Thomas Lickteig},
PUBLISHER = {Springer-Verlag},
ADDRESS = {Berlin},
YEAR = {1997},
PAGES = {xxiv+618},
ISBN = {3-540-60582-7},
MRCLASS = {68-02 (12Y05 65Y20 68Q05 68Q15 68Q25 68Q40)},
MRNUMBER = {1440179 (99c:68002)},
MRREVIEWER = {Alexander I. Barvinok},
}