Use organização se não houver autor ou editor para rótulo de estilo alfabético

Use organização se não houver autor ou editor para rótulo de estilo alfabético

Como posso usar a organização em uma publicação como substituto do autor ou editor ao gerar o rótulo de citação para o alphabeticestilo no biblatex?

Eu sei que posso usar o labelcampo para atribuir um rótulo manualmente, mas uma solução automática seria boa.

MWE:

\documentclass{article}

\usepackage{filecontents}

\usepackage[style=alphabetic,backend=biber]{biblatex}
\bibliography{test}

\begin{filecontents}{test.bib}
@online{Wikipedia2017,
 date = {2016-12-20},
 organization = {Wikipedia},
 title = {Resource contention},
 url = {https://en.wikipedia.org/w/index.php?oldid=755891262},
 urldate = {2017-04-26}
}
@techreport{Volpe2000,
 author = {Volpe, Richard and Nesnas, Issa A. D. and Estlin, Tara and Mutz, Darren and Petras, Richard and Das, Hari},
 date = {2000},
 institution = {Jet Propulsion Laboratory, California Institute of Technology},
 location = {Pasadena, California},
 title = {{CLARAty}: Coupled Layer Architecture for Robotic Autonomy}
}
\end{filecontents}

\begin{document}
This is a test~\autocite{Wikipedia2017}. And this works as expected~\autocite{Volpe2000}.

\printbibliography{}
\end{document}

insira a descrição da imagem aqui

Eu gostaria de ver algum rótulo como Wik16esse.

Responder1

Tentar

\DeclareSourcemap{
  \maps[datatype=bibtex]{
     \map{
       \step[fieldsource=organization, final]
       \step[fieldset=usera, origfieldval]
     }
  }
}

\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field{label}
    \field[strwidth=3,strside=left,ifnames=1]{labelname}
    \field[strwidth=1,strside=left]{labelname}
    \field[strwidth=3]{usera}
  }
  \labelelement{
    \field[strwidth=2,strside=right]{year}    
  }
}

Como organizationé uma lista, \DeclareLabelalphaTemplatenão é possível lidar adequadamente com isso. Portanto, temos que copiar o conteúdo para um campo que não seja uma lista ( useraportanto, não precisamos definir um novo modelo de dados). Então podemos usá-lo em \labelelementof \DeclareLabelalphaTemplate.

informação relacionada