Verwenden Sie die Organisation, wenn kein Autor oder Herausgeber für das alphabetische Stiletikett vorhanden ist

Verwenden Sie die Organisation, wenn kein Autor oder Herausgeber für das alphabetische Stiletikett vorhanden ist

Wie kann ich die Organisation in einer Veröffentlichung als Ersatz für Autor oder Herausgeber verwenden, wenn ich das Zitatlabel für den alphabeticStil in Biblatex generiere?

Ich weiß, dass ich das Feld verwenden kann, labelum manuell ein Label zuzuweisen, aber eine automatische Lösung wäre schön.

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}

Bildbeschreibung hier eingeben

Ich würde stattdessen gerne ein Etikett wie dieses sehen Wik16.

Antwort1

Versuchen

\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}    
  }
}

Da organizationes sich um eine Liste handelt, \DeclareLabelalphaTemplatekönnen wir damit nicht richtig umgehen. Wir müssen also den Inhalt in ein Feld kopieren, das keine Liste ist ( useradamit wir kein neues Datenmodell definieren müssen). Dann können wir es in \labelelementverwenden \DeclareLabelalphaTemplate.

verwandte Informationen