Probleme bei urls im Literaturverzeichnis

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Anouar

Probleme bei urls im Literaturverzeichnis

Beitrag von Anouar »

Hallo, ich habe ein seltsames problem:

wenn meine url im literaturverzeichnis eine bestimmte (sozusagen kritische) länge hat, wird sie zwar korrekt dargestellt, und ggf. auch korrekt umgebrochen, doch danach sollte nun "besucht:datum" stehen, dies passiert bei der "kritischen" länge jedoch nicht. Stattdessen kann man dort einen teil des kommandos btxurldatecomment lesen.
\documentclass[12pt, a4paper,]{scrartcl}
\usepackage[german]{babel}
\usepackage{babelbib}
\usepackage[pdfstartview=FitH, colorlinks]{hyperref}

\begin{document}

Ein Zitat\cite{1}. Zwei Zitate\cite{2}. Drei Zitate\cite{3}.
 
\bibliography{bib}
\bibliographystyle{babalpha}

\end{document}
mein literaturverzeichnis, hier bib.bib, sieht folgendermaßen aus:
%
@online{1,
author={Xautor},
title={xxxxx},
url={http://www.xxxxxx.xxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx},
urldate={1.1.0},
}%
@online{2,
author={Yautor},
title={xxxxx},
url={http://www.xxxxxx.xxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx},
urldate={1.1.0},
}
%
@online{3,
author={Zautor},
title={xxxxx},
url={http://www.xxxxxx.xxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx},
urldate={1.1.0},
}
Die Einträge unterscheiden sich also jeweils um einen Buchstaben, was dazu führt, dass der erste Eintrag im Verzeichnis korrekt dargestellt wird, die anderen beiden aber nicht.
Ich kann diesen Fehler manuell beheben, indem ich die erstellte datei *.bbl folgendermaßen ändere:
Bei den fehlerhaften Einträgen wird hier das \btxurldatecomment durch ein % getrennt, der abgeschnittene Teil erscheint dann (ungewünscht) im Dokument. Füge ich nun die fälschlicherweise getrennten Kommandos zusammen, also zB
\btxurldatecomm%
ent
zu
\btxurldatecomment
, lasse LaTeX noch einmal laufen, passt das Endergebnis.

Liegt der Fehler bei mir? Oder macht hier babelbib den Fehler? Ich bin für jede Hilfe dankbar.
A.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Das Problem ist BibTeX. BibTeX will unbedingt nach einer bestimmten Anzahl an Zeichen einen Zeilenumbruch haben. Um den zu erzwingen fügt es ggf. ein »%« am Zeilenende ein, falls an der entsprechenden Stelle kein Leerzeichen stand oder bricht einfach an einem Leerzeichen um. Das ist normalerweise ganz in Ordnung. Es ist aber nicht in Ordnung, wenn LaTeX zuvor in einen Modus versetzt wird, indem en »%« keinen Kommentar mehr einleitet oder das Leerzeichen oder der Zeilenumbruch selbst eine neue Bedeutung hat.

Ich habe bei der KOMA-Script-Anleitung ein ähnliches Problem, das ich mit einer sed-Nachbearbeitung der erzeugten bbl-Datei löse. Im Prinzip liese sich das Problem am besten dadurch lösen, dass man ein BibTeX schreibt, das keinen automatischen Umbruch mehr durchführt, sondern einen kompletten BibTeX-Eintrag in einer Zeile ausgibt. Eventuell können neuere Implementierungen so etwas sogar schon. Damit habe ich mich ehrlich gesagt bisher nicht beschäftigt.

Anouar

unschöne Lösung gefunden

Beitrag von Anouar »

danke, dann bin ich ja unschuldig. Ich habe zumindest eine akzeptable Lösung gefunden:
@online{2,
author={Yautor},
title={xxxxx},
url={http://www.xxxxxx.xxx/
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx},
urldate={1.1.0},
} 
Breche ich die "Probleme" in der bib.bib selber um, sozusagen bevor bibtex das selber macht, muss ich zumindest die *.bbl nicht bei jedem kompilieren verändern, sondern jeden falsch gesetzten eintrag nur einmal bearbeiten. Es sind nur vier bei mir, deswegen ist die Lösung akzeptabel.
Leider kann man beim schreiben der *.bib nicht erkennen (außer man zählt die Buchstaben mit...) welcher eintrag zu problemen führt, also kompilieren, fehler suchen, umbrechen. Oder jeden Eintrag gleich in so kleine stücke umbrechen, das das problem gar nicht erst auftaucht... auch nicht schön.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Ich habe gerade mal einen kurzen Blick in die web-Sourcen von BibTeX geworfen und im Change-File bibtex.ch tatsächlich den Hinweis gefunden, dass es eventuell besser wäre, wenn bei der Ausgabe keine zusätzlichen Umbrüche eingefügt würden. Da fragt man sich natürlich, warum das dann trotzdem gemacht wird und man es nicht zumindest abschalten kann. Dann könnten Zeilen immerhin so lang werden, wie der Puffer groß ist (original 1000 Zechen, verbessert 20000 Zeichen).

In bibtex8 zu schauen, habe ich zeitlich noch nicht geschafft. Ich gehe aber davon aus, dass es noch leichter ist, dort ein entsprechenes Feature einzubauen. Wäre vielleicht eine Anfrage wert. Der Umbruch in der Eingabedatei macht einen nämlich von dem verwendeten Literaturstil und der verwendeten Anweisung abhängig. Im Zweifelsfall kann das auch zu einem Leerzeichen in der URL führen. Ob ein Prozent am Ende der ersten Zeile der URL dann dieses Leerzeichen verhindert oder sogar selbst in der URL landet, hängt ebenfalls von den Umständen ab.

Antworten