PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bibtex bibstyle Problem wp.bst



clessmann
09-04-2010, 10:04
Hallo Experten,

ich bin Latex-Amateur und habe versucht, den Style meiner Bibliographie zu editieren. Mein Problem ist, dass im Output erscheint:

Name (1999). Titel. Journal, ....

Ich hätte aber gern:

Name (1999): Titel, Journal, ....

Wenn ich unter format.date einen Doppelpunkt einfüge, dann ist der zwar da, der Punkt aber leider auch noch. Wie ich den Punkt nach dem Titel in ein Komma umwandele weiß ich leider auch nicht.

Den Style wp.bst habe ich von einer Kollegin bekommen und finde ihn sehr schick. Habe auch diverse andere ausprobiert, die aber alle nicht das machen was ich will. Kann mir jemand von Euch bei der Editierung der wp.bst helfen? Ich kenne mich damit leider gar nicht aus.

Die Datei habe ich als txt angehängt

1000 Dank für Eure Hilfe

clessmann

DanielDD
09-04-2010, 15:09
"Name (1999)" "Titel" "Journal, ... " sind drei eigenständige Blöcke,
und enden jeweils mit einem Punkt. (Die Angaben hinter dem Wort Journal
gehören noch zu dem Block, der mit Journal beginnt, somit steht hinter
Journal nur ein Komma.)

Du kannst Zeile 909 (new.block) entfernen, dann bilden Titel und Journal, ...
zusammen einen Block und als Trennung wird ein Komma eingefügt.

Damit ist das Problem nur bei bibitems von Typ article gelöst, Du musst
wahrscheinlich noch hinter allen anderen Aufrufen von format.title den Befehl
new.block löschen.

Das Problem mit dem : ist schwierig. Das Grundprinzip in wp.txt ist:
Ein bibitem ist in Blöcke unterteilt, jeder Block endet mit einem Punkt.
Verschiedene Dinge innerhalb eines Blocks werden durch Kommas getrennt.
Deine Idee mit dem : hinter dem Jahr verträgt sich nicht mit diesem Grundprinzip.

Um dieses Problem ordentlich zu lösen, müsste man in den Zeilen 82-85 eine
neue Konstante einführen und die Funktion output.nonnull (Zeilen 88-107) und
date.block (Zeilen 147-150) anpassen. Dann hätte man einen neuen Blocktyp
eingeführt, welcher mit : endet.

Du kannst es auch mit folgenden, ziemlich üblen Hack versuchen. Ersetze die
Funktion date.block (Zeilen 147 - 150) durch


FUNCTION {date.block}
{ output.state before.all =
'skip$
{ before.all 'output.state := }
if$
}

Wahrscheinlich werden dadurch Name (1999) und Titel zu einer Einheit
zusammengefügt, und der Punkt fällt weg.

clessmann
09-04-2010, 20:38
Super, danke!

Es funktioniert!!! Muss nur noch die richtigen Zeilen für book etc. finden, das sollte ich aber selbst hinbekommen.