! Undefined Control Sequence
Die Fehlerhafte Stelle sieht dann in etwa so aus:
\newblock {\latintext \btxurlfont
{http://www.ibm.com/developerworks/webservices/library/ws-soa-design1/}}\btx%
urldatecomment {\btxkeywordlanguage {\btxurldatefont{01.10.2008}}}.
BibTex bricht zu lange Zeilen im Normalfall an Leerzeichen automatisch um und fügt ein %-Zeichen am Ende der Zeile ein, um Fehler bei der Verarbeitung durch TeX zu verhindern. Da bei URLs jedoch keine Leerzeichen vorkommen und der nächtste Befehl direkt an die URL anschließt, bricht BibTeX im schlimmsten Fall mitten im Befehl um und erzeugt somit den Fehler.
Um das Problem zu beheben, bieten sich 3 Möglichkeiten an:
- Manuell die fehlerhaften Zeilenumbrüche in der bbl-Datei (Datei, in die BibTeX die Literaturangaben schreibt) entfernen. Allerdings werden die Zeilenumbrüche bei jedem erneuten Lauf von BibTeX wieder eingefügt.
- Lange URLs manuell umbrechen (Die aktuellen Versionen von url und hyperref können mit %-Zeichen, die durch BibTeX in die URL eingefügt wurden, umgehen)
- Die bibliographischen Stile von babelbib anpassen
In den Bibliography-Stilen von babelbib (Bei installierter MikTeX-Dsitribution findet man sie z.B. im Pfad \MiKTeX 2.7\bibtex\bst\babelbib) sucht man nach der Zeile
"}}\btxurldatecomment {\btxkeywordlanguage {\btxurldatefont{" *
und fügt hinter den ersten beiden geschweiften Klammern ein Leerzeichen ein:
"}} \btxurldatecomment {\btxkeywordlanguage {\btxurldatefont{" *
Das bewirkt, dass entweder die URL automatisch umgebrochen wird (womit die Pakete url oder hyperref umgehen können) oder an diesem Leerzeichen eine neue Zeile beginnt. Das Problem, dass BibTeX den Befehl selbst umbricht, ist damit gelöst.
Diesen Vorgang muss man für jede bst-Datei durchführen, die man von babelbib verwenden möchte.
Keine Kommentare:
Kommentar veröffentlichen