Ordenar apenas pelo primeiro autor (não todos os nomes) e depois por ano ou Ordenar por uma entrada parcial no biblatex

Ordenar apenas pelo primeiro autor (não todos os nomes) e depois por ano ou Ordenar por uma entrada parcial no biblatex

Preciso classificar minhas entradas do biblatex apenas com base no primeiro autor (estilo autortítulo), mas preciso da lista completa de autores na bibliografia. Eu posso usar algo como

\DeclareSortingScheme{mio}{
 \sort{\field{author}}
}

mas como posso extrair apenas o primeiro autor? Dito de outra forma, como posso extrair informações parciais das entradas do bibtex (o primeiro autor como exemplo?)

Alguém pode me ajudar?

Obrigado

Eu uso biblatex biber teklive

A ordem de referência aqui deve ser inversa

insira a descrição da imagem aqui

Exemplo:

\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\usepackage[natbib = true, backend = biber, style = authoryear, sorting = nyt]{biblatex}

\begin{filecontents}{\jobname.bib}

@article{A2014,
author={A,B and C,D},
title={Test},
year = {2014}
}

@article{A2000,
author={A,B and D,E},
title={Test},
year = {2000}
}

\end{filecontents} 

\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography

\end{document}

ATUALIZAR

Tenho a resposta agora, mas editei a pergunta mesmo assim porque acho que isso pode ser um problema comum para iniciantes como eu e não encontrei um exemplo na rede

Portanto, responda esta pergunta dando também alguns detalhes sobre o uso de sortname, \DeclareSourcemap \DeclareSortingSchemepara me ajudar a aprender.

Responder1

Como comentei na sua pergunta vejo duas possibilidades de ordenação das entradas das bibliografias:

A primeira: usar apenas o sobrenome do primeiro autor

Como você está usando biber, você consegue usar labelalpha(biblatex.pdf. página 59). Usando labelalphavocê pode usar apenas um autor, com a extensão maxalphanames. Então, se estiver definido como 1biber, use apenas o primeiro autor (na verdade, o sobrenome) para fazer o arquivo labelalpha. Finalmente, é necessário especificar um esquema de classificação que utilize, labelalphapor exemplo anyt(Página 254, biblatex.pdf). Em seguida, carregue biblatexcom:

\usepackage[maxalphanames=1,labelalpha,maxbibnames=99, sorting=anyt, style=authoryear, natbib=true,  backend=biber]{biblatex}

MWE

\documentclass{article}
\begin{filecontents}{MWE.bib}
@article{A2014,
author={A,B and C,D},
title={Test},
year = {2014}
}

@article{A2000,
author={A,B and D,E},
title={Test},
year = {2000}
}

\end{filecontents}
\usepackage[maxalphanames=1,labelalpha,maxbibnames=99, sorting=anyt, style=authoryear, natbib=true,  backend=biber]{biblatex}
\addbibresource{MWE.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

insira a descrição da imagem aqui

Os maxbibanames=99autores são impressos na íntegra na bibliografia.

A segunda: Usando o nome completo do primeiro autor

Isso é possível usando DeclareStyleSourcemap. A maioria dos esquemas de classificação alfabética padrão biblatexsão capazes de usar sortnameo campo. Então é possível utilizar DeclareStyleSourcemappara copiar o nome completo do primeiro autor no sortnamecampo. Para uma explicação sobre Regular Expressionsleia a perldocumentaçãoaqui.

\DeclareStyleSourcemap{
    \maps[datatype=bibtex]{
      \map{
        \step[fieldsource=author, match=\regexp{(.+)\sand}, final]
        \step[fieldset=sortname, fieldvalue=$1, final]  }
}}

MWE

\documentclass{article}
\begin{filecontents}{MWE.bib}
@article{A2014,
author={A,Bo and M,M},
title={Test},
year = {2014}
}

@article{A2000,
author={A,Co and D,E},
title={Test},
year = {2000}
}

\end{filecontents}

\RequirePackage[maxbibnames=99, sorting=nyt, style=authoryear,  backend=biber]{biblatex}

\DeclareStyleSourcemap{
    \maps[datatype=bibtex]{
      \map{
        \step[fieldsource=author, match=\regexp{(.+)\sand}, final]
        \step[fieldset=sortname, fieldvalue=$1, final]  }
}}

\addbibresource{MWE.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

insira a descrição da imagem aqui

informação relacionada