PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : biber: Bug oder Feature?



Kathrin_B
08-03-2011, 13:52
Hallo zusammen,

ich verwende biblatex und hatte Probleme mit meinem Literaturverzeichnis und der Verwendung von bibtex und bibtex8 (bei bibtex hat er bei einigen Einträgen das Jahr oder andere Felder einfach ignoriert, warum auch immer; bei bibtex8 hat er die ganzen Literaturverweise im Text nicht erkannt). Also bin ich auf biber umgestiegen.

Hierbei ist mir etwas aufgefallen: sobald ich in einem Eintrag an anderer Stelle als in der URL das Prozentzeichen % verwende, streikt biber und gibt nur noch Fehlermeldungen aus. Dass das Prozentzeichen ein Befehl ist, ist mir natürlich klar, aber mit bibtex hat es einwandfrei funktioniert! Das Kuriose ist außerdem, dass das Zeichen am Ende einer Zeile in einem Feld steht, das gar nicht zur Ausgabe verwendet wird...

Weiß einer von Euch, warum das so ist ("früher" mit bibtex war es ja kein Problem)? Ich verwende jetzt natürlich den Workarround, das % zu \% zu machen, aber es erstaunt mich schon.

Hier noch ein Minimalbeispiel für alle, die es testen wollen (die Auskommentierung von key1 lässt den Fehler verschwinden):


\documentclass{scrbook}
\usepackage{filecontents}
\begin{filecontents}{mybib.bib}

@ARTICLE{key1,
author = {Nachname, Vorname},
title = {Titel des Artikels},
journal = {Journalname},
year = {2004},
volume = {45},
pages = {41-49},
issue = {3},
abstract = {Irgendein Text, in dem 50%
fehlerhaft sind}
}

@ARTICLE{key2,
author = {NochEinName, Vorname},
title = {Titel des Artikels},
journal = {Journalname},
year = {2004},
volume = {45},
pages = {41-49},
issue = {3},
abstract = {Irgendein Text, in dem 50\%
fehlerhaft sind}
}

\end{filecontents}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[german=quotes]{csquotes}

\usepackage[backend=biber]{biblatex}
\bibliography{mybib}

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

Außerdem ist es bei mir so, dass mit biber die Kompilierung deutlich länger dauert als vorher mit bibtex (es kann schonmal über 30 Sekunden dauern, bis mein Dokument kompiliert ist, vorher waren es nicht mehr als 10). Häufig "hängt" das Kompilieren bei der Zeile "Transcript written on Minimalbeispiel.log" oder bei einer der biber-Zeilen "INFO - Processing bib section 0", "INFO - Processing bibtex format file "..." for section 0", "INFO - No sort tailoring available for locale 'English_United States.1252'"). Ich habe mir jetzt überlegt, für den "Alltagsgebrauch" bibtex zu nehmen, da das Kompilieren einfach schneller geht, und wenn ich ein langes, korrektes Literaturverzeichnis brauche biber.

Kathrin

bobmalaria
08-03-2011, 14:12
hi,

ich weiss nicht genau wie biber parst, aber eventuell hattest du nur durch diverese zeilenumbrueche etc. glueck das es vorher ging.

ich wuerde sagen es ist einfeature das man % wie immer in latex mit \% escapen muss da es sonst eine kommentarzeile einleitet. in urls wo auf verbatim umgestellt wird ist natuerlich klar das % geht

voss
08-03-2011, 14:36
Hierbei ist mir etwas aufgefallen: sobald ich in einem Eintrag an anderer Stelle als in der URL das Prozentzeichen % verwende, streikt biber und gibt nur noch Fehlermeldungen aus. Dass das Prozentzeichen ein Befehl ist, ist mir natürlich klar, aber mit bibtex hat es einwandfrei funktioniert! Das Kuriose ist außerdem, dass das Zeichen am Ende einer Zeile in einem Feld steht, das gar nicht zur Ausgabe verwendet wird...

Weiß einer von Euch, warum das so ist ("früher" mit bibtex war es ja kein Problem)? Ich verwende jetzt natürlich den Workarround, das % zu \% zu machen, aber es erstaunt mich schon.

Biber macht aus den zwei Zeilen eine Zeile, womit das Ergebnis falsch ist:

\field{abstract}{Irgendein Text, in dem 50% fehlerhaft sind}

bibtex hingegen macht daraus:

\field{abstract}{%
Irgendein Text, in dem 50% fehlerhaft sind%
}

was zu keinem Fehler führt, obwohl es formal auch falsch ist!
Du hast lediglich nicht bemerkt, weil du das abstract-Feld nicht benutzt hast.
Insofern kann man sagen: Bug, ja und nein. Ich werde es mal auf der Entwicklerliste posten.



Außerdem ist es bei mir so, dass mit biber die Kompilierung deutlich länger dauert als vorher mit bibtex (es kann schonmal über 30 Sekunden dauern, bis mein Dokument kompiliert ist, vorher waren es nicht mehr als 10). Häufig "hängt" das Kompilieren bei der Zeile "Transcript written on Minimalbeispiel.log" oder bei einer der biber-Zeilen "INFO - Processing bib section 0", "INFO - Processing bibtex format file "..." for section 0", "INFO - No sort tailoring available for locale 'English_United States.1252'"). Ich habe mir jetzt überlegt, für den "Alltagsgebrauch" bibtex zu nehmen, da das Kompilieren einfach schneller geht, und wenn ich ein langes, korrektes Literaturverzeichnis brauche biber.


das ist immer nach einem Update oder Installation von Biber der Fall, da einmal alle Dateien ausgepackt werden müssen, denn Biber bringt zum Funktionieren alle Perl-Bibliotheken und ein Mini-Perl mit.

Herbert

Kathrin_B
08-03-2011, 17:03
Hallo,

vielen Dank für Eure Hilfe und deine super Erklärung, Herbert.

@Herbert: Du schreibst, dass biber nach einem Update oder der Installation so langsam wäre. Bei mir ist das aber generell der Fall, und noch langsamer läuft es, wenn ich vorher alle Dateien bis auf .tex und .bib gelöscht habe (also .aux, .bst etc.). Ist das normal oder gibt es eine Möglichkeit es schneller zu bekommen? Ich nutze Miktex 2.9 (also auch Windows) und habe Biber einfach "installiert", indem ich die Datei biber.exe ins Verzeichnis kopiert habe und ausführe.

Kathrin

voss
08-03-2011, 18:24
@Herbert: Du schreibst, dass biber nach einem Update oder der Installation so langsam wäre. Bei mir ist das aber generell der Fall, und noch langsamer läuft es, wenn ich vorher alle Dateien bis auf .tex und .bib gelöscht habe (also .aux, .bst etc.). Ist das normal oder gibt es eine Möglichkeit es schneller zu bekommen? Ich nutze Miktex 2.9 (also auch Windows) und habe Biber einfach "installiert", indem ich die Datei biber.exe ins Verzeichnis kopiert habe und ausführe.

Das kann sein, wenn die biber-Dateien von deinem System wieder gelöscht werden, denn dann muss biber sie jedes mal wieder neu auspacken. ICh benutze kein Windows, kann daher auch nicht sagen, wo die Dateien von biber unter Windows gespeichert werden. Bei Linux ist es /tmp/par-voss

Herbert

voss
09-03-2011, 19:48
Ich nutze Miktex 2.9 (also auch Windows) und habe Biber einfach "installiert", indem ich die Datei biber.exe ins Verzeichnis kopiert habe und ausführe.


Die Version 0.8.3 von biber hat das Problem mit einem %-Zeichen am Zeilenende behoben.

Herbert

Kathrin_B
09-03-2011, 20:13
Sie ist aber noch nicht auf der biber-Seite (sourceforge). Ich werde morgen nochmal schauen :-)

Übrigens ist mir aufgefallen, dass es zwei biber-Downloads auf der Sourceforge-Seite gibt: einmal als Link auf der Einstiegsseite (ziemlich weit unten, mit Hinweis auf Version 0.8.2) und einmal wenn man oben auf Download klickt. Der Unterschied ist nur in der Größe der zip-Dateien. Ich war anfangs sehr verwirrt welche Version ich jetzt nehmen soll, und habe beim Ausführen festgestellt, dass es die gleichen Versionen sind ;-)