Search code examples
latexbiblatex

How can I remove the labels in a bibliography list with biblatex?


In bibtex it is very easy to remove all labels in the bibliography; as, for instance, described here https://stackoverflow.com/a/3003759/6936361.

I cannot find the equivalent to

\makeatletter
\def\@biblabel#1{}
\makeatother

for biblatex.

If I have, for example, this code:

\documentclass{scrartcl}
\usepackage[style=alphabetic]{biblatex}

\addbibresource{foo.bib}
\begin{document}

\nocite{*}
\printbibliography
\end{document}

I get this enter image description here

Instead, I would like to have something like this: enter image description here How can I remove the labels in the bibliography list without changing the style with biblatex?


Solution

  • As a quick hack, you can redefine the bibliography environment:

    \documentclass{scrartcl}
    \usepackage[style=alphabetic]{biblatex}
    
    \addbibresource{biblatex-examples.bib}
    
    \defbibenvironment{bibliography}
      {\list
         {}
         {%
          \setlength{\labelwidth}{0pt}%
          \setlength{\leftmargin}{0pt}%
          \setlength{\labelsep}{0pt}%
          \addtolength{\leftmargin}{0pt}%
          \setlength{\itemsep}{\bibitemsep}%
          \setlength{\parsep}{\bibparsep}}%
          \renewcommand*{\makelabel}[1]{##1\hss}}
      {\endlist}
      {\item}
    
    
    \begin{document}
    \cite{knuth:ct:a}
    \nocite{*}
    \printbibliography
    \end{document}
    

    enter image description here

    (personally I would use an authoryear style instead to avoid having labels in text without any correspondence in the bibliography)