PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : biblatex mit backref ist inkompatibel zu musixtex



rstuby
01-08-2012, 17:54
Hallo! Ich wollte grad mal anfangen, mit biblatex umgehen zu lernen, und habe gleich festgestellt, dass die Option backref nicht funktioniert, wenn das Dokument auch das Paket musixtex benutzt.

\documentclass{scrbook}

% \usepackage{graphicx}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}

\usepackage[backend=biber,backref]{biblatex}

\addbibresource{testbib.bib}
\usepackage[unicode]{hyperref}
\usepackage{musixtex}


\begin{document}
text
\cite{muster}
\printbibliography
\end{document}

Inhalt der testbib:
@Book{muster,
title = {Мегакнига},
publisher = {Издевательство},
year = {2011},
ALTauthor = {},
editor = {Издеватель},
}
Es kommen beim zweiten Durchlauf Fehlermeldungen, die erste ist:
! Missing number, treated as zero.
Ich weiß allerdings sowieso noch nicht, ob ich sonst damit etwas erreichen könnte, weil ich eigentlich die sections (aka Lieder) und nicht die Seiten aufgelistet haben möchte und auch noch aus ein paar anderen Gründen.

rstuby
01-08-2012, 19:02
UPD: Der Fehler tritt auch auf, wenn nicht backref verwendet wird, aber mehrere durch "and" getrennte Autoren oder Herausgeber angegeben werden.

rstuby
01-08-2012, 19:30
UPD2: Es scheint daran zu liegen, dass musixtex den Befehl \addspace umdefiniert und wenn biblatex ihn dann braucht, bekommt es Probleme.

Kann man da mit vertretbarem Aufwand etwas machen?

rstuby
01-08-2012, 19:36
Wow, es funktioniert:
\makeatletter
\renewrobustcmd*{\addspace}{%
\unspace\blx@postpunct
\space\blx@imc@resetpunctfont}
\makeatother
direkt vor \printbibliography einfügen.
Das ist die Definition aus biblatex2.sty mit \makeatletter ... \makeatother drumherum und renew... anstatt new...