[Tex/LaTex] biblatex IEEE bibliography style: Alphabetical labels rather than numerical labels

biblatexieee-style

I am having a problem with biblatex, where the citations look like [XYZ05] but the entries in the bibliography are simply numeric like [1]. Here are my package options:

\usepackage[firstinits=false,sorting=none,bibstyle=ieee,
citestyle=alphabetic,maxnames=99,doi=false,url=false,isbn=false]{biblatex}

and I generate the bibliography with calls like

\printbibliography[heading=subbibliography,keyword=conference,title=Conferences]

You can see the generated file at http://dave-pritchard.net/tmp/cv.pdf and notice that the hyperlinks from citations to bibliographic entries even work! So the things are connected in some sense, it is just the superficial label in the bibliography which is printing wrong. What could cause printbibliography to ignore my citestyle?

Updated as per Marco's comment: I am using ieee.bbx as a bibstyle (in fact a derivative but the problem is equally bad with either). So I hope the problem is better phrased as:

in ieee.bbx, how can I change the labels attached to each
bibliographic entry, to be the same as in alphabetic.cbx?

Best Answer

As the IEEE use a numerical style, you will need to add some code from alphabetical styles into your source. Add the labelalpha option to those used when loading biblatex, to come after the bibstyle=ieee option, and add the following code after loading biblatex:

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelalphawidth]{%
        \printfield{prefixnumber}%
    \printfield{labelalpha}%
        \printfield{extraalpha}}}
     {\setlength{\labelwidth}{\labelalphawidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{##1\hss}}
  {\endlist}
  {\item}
\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}
Related Question