Как можно использовать организацию в публикации в качестве замены автора или редактора при создании метки цитирования для alphabetic
стиля в biblatex?
Я знаю, что могу использовать label
поле, чтобы вручную назначить метку, но автоматическое решение было бы неплохо.
МВЭ:
\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}
Вместо этого я бы хотел увидеть какой-нибудь ярлык Wik16
.
решение1
Пытаться
\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}
}
}
Так как organization
это список, \DeclareLabelalphaTemplate
мы не можем с ним правильно работать. Поэтому нам нужно скопировать содержимое в поле, которое не является списком ( usera
чтобы нам не нужно было определять новую модель данных). Затем мы можем использовать его \labelelement
в \DeclareLabelalphaTemplate
.