With Biber we have more or less full control of the label for the alphabetic style.
The relevant command is \DeclareLabelalphaTemplate
(see §4.5.4 Labels, pp. 163-168 of the biblatex
documentation).
For your purposes
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{label}
\field[strwidth=3,strside=left,ifnames=1]{labelname}
\field[strwidth=1,strside=left]{labelname}
}
}
seems to be appropriate: If we have a label
or shorthand
field, those override any automatic label selection, otherwise we just go with the first three letters of the single author (or truncated first, in case of et al), and the first letter of the last name for any other number of authors.
With
\DeclareFieldFormat{extraalpha}{#1}
you can control the format of the disambiguation that is added if need be.
MWE
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber,style=alphabetic]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareFieldFormat{extraalpha}{#1}
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{label}
\field[strwidth=3,strside=left,ifnames=1]{labelname}
\field[strwidth=1,strside=left]{labelname}
}
}
\begin{document}
\cite{worman,geer,baez/article,wilde,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}
Note that [Knu1] and [Knu2] have an added "extra label" to help tell them apart.