
Estou usando o biblatex com a opção maxbibnames=2 para forçar a substituição dos nomes dos autores pore outrosquando seu número excede maxbibnames.
\usepackage[style=numeric-comp,sorting=none,giveninits=true,maxbibnames=2,backend=biber]{biblatex}
No entanto, quero suprimir esse comportamento quando um autor específico estiver na lista de autores. Qualquer sugestão será muito bem-vinda.
EDIT: Adaptando @Werner MWE abaixo, gostaria que a saída bibliográfica do artigo 'def' imprimisse os dois primeiros autores seguidos de et al, com o segundo autor em negrito.
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{references.bib}
@article{abc,
title = {A title},
author = {A Author and B Bauthor and C Cauthor},
year = {2000}
}
@article{def,
title = {A title},
author = {D Duthor and E Eauthor and F Fauthor},
year = {2000},
options = {maxbibnames = 2},
AUTHOR+an = {2=highlight} % used to highlight an author's name, see @PLK suggestion http://tex.stackexchange.com/questions/73136/make-specific-author-bold-using-biblatex
}
\end{filecontents*}
\usepackage[style=numeric-comp,sorting=none,giveninits=true,maxbibnames=2,backend=biber]{biblatex}
\addbibresource{references.bib}
\renewcommand*{\mkbibnamefamily}[1]{%
\ifitemannotation{highlight}
{\textbf{#1}}
{#1}}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
O código acima não produzirá a saída desejada; em vez disso, mostrará o primeiro autor seguido de et al. Se maxbibnames=3 for usado (o número de autores ou superior) serão mostrados todos os autores com o segundo em destaque. A desvantagem adicional é que esses parâmetros (Opções e Autor+an) precisam ser codificados para cada entrada do babador. Alguém pode sugerir uma solução que faça algo como o seguinte pseudocódigo:
define authorsToBoldList = {E Eauthor; D Duthor}
for each BibEntry {
foundAuthorIndex = find(authorsToBoldList,BibEntryAuthors)
If notEmpty(foundAuthorIndex) {
display BibEntryAuthors(1:max(foundAuthorIndex))% followed by et al if less than BibEntryAuthors
for each foundAuthorIndex {
highlight(BibEntryAuthors(foundAuthorIndex ))
}
}
}
Responder1
Cadabiblatex
opção tem um certo escopo. Alguns só podem ser usados "[no] tempo de carregamento" ou como uma referência "global", enquanto outros podem ser definidos adicional/exclusivamente "por tipo" ou "por entrada". maxbibnames
pode ser executado "por entrada" por meio do options
valor-chave:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{references.bib}
@article{abc,
title = {A title},
author = {A Author and B Bauthor and C Cauthor},
year = {2000}
}
@article{def,
title = {A title},
author = {D Duthor and E Eauthor and F Fauthor},
year = {2000},
options = {maxbibnames = 4}
}
\end{filecontents*}
\usepackage[style=numeric-comp,sorting=none,giveninits=true,maxbibnames=2,backend=biber]{biblatex}
\addbibresource{references.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Referência de escopo: ApêndiceEscopo da Opção E(pág. 253 dobiblatex
documentação).