
Hallo, Am Sat, 27 Nov 2004, Hannes Vogelmann schrieb:
Am Sam, 27 Nov 2004, schrieb David Haller:
Am Sat, 27 Nov 2004, Hannes Vogelmann schrieb: [..]
Kannst Du mir den Zaubertrick verraten?
Ich hab format.names mit dem in plain.bst verglichen, wo diese Form verwendet wird. Dort steht an dieser Stelle eben das "{ff~}{vv~}{ll}" (und das restliche zusammenbasteln mit "{ff}" und "{vv}" fehlt.
Sowas in der Art hatte ich auch schon versucht, nur hatte ich einfach die gesamten format.full.names und format.names Teile ausgetauscht, was aber leider zu Fehlermeldungen von bitex führte, irgendwas mit fehlendem oder leerem Stack oder so ähnlich.
Jep.
Irgendwo in nem Kommentar war bei nem "{vv~}" auch von "von" die Rede. Ah ja, ein Stueck weiter in format.names in dinat.bst (also auch in hvogelmann.bst):
% third get all "von" s nameptr "{ vv}" format.name$ 'u :=
Teste also mal hvogelmann.bst mit einem Bib-Eintrag wo ein Name ein "von" hat, der koennte dann doppelt auftauchen: "VName von NName von", was normalerweise bei dinat.bst zu "NName, VName von" wuerde. Dann musst du auch noch die o.g. Zeile auskommentieren. Bei deinem Eintrag ist mir das halt nicht aufgefallen.
Naja, da ich nichts auf Adelstitel gebe, lasse ich "von" schon in der literatur.bib weg ;-)
Naja, korrekt ist das nicht. Ich hab's jetzt probiert und bekomme fuer ==== @Article{test04, Author = {Vicco von B\"ulow}, Title = {Wum}, Journal = {Die Welt des Loriot}, Volume = {60}, Pages = {2888-2892}, Year = {1989}, Abstract = {blabla}, } @Article{deSade1789, Author = {Marquis de Sade}, Title = {Autsch}, Journal = {Sadismus f\"ur Anf\"anger}, Volume = {1}, Pages = {2888-2892}, Year = {1789}, Abstract = {blabla}, } ==== und beide mit \citep zitiert, folgende Eintraege: ==== \bibitem[von B\"ulow(1989)]{test04} \dinatlabel{von B\"ulow 1989} \textsc{Vicco von B\"ulow} von: [..] ^^^ ^^^ \bibitem[de~Sade(1789)]{deSade1789} \dinatlabel{de~Sade 1789} \textsc{Marquis de~Sade} de: ==== ^^ ^^ was bei dinat eben eigentlich \dinatlabel{...} \textsc{B\"ulow}, Vicco von: \dinatlabel{...} \textsc{Sade}, Marquis de: waere. Aender ich's... ==== $ diff -u hvogelmann.bst~ hvogelmann.bst --- hvogelmann.bst~ Fri Nov 26 17:33:50 2004 +++ hvogelmann.bst Sat Nov 27 22:28:29 2004 @@ -630,7 +630,8 @@ { skip$ } if$ % third get all "von" - s nameptr "{ vv}" format.name$ 'u := + % got the "von" already with the name (cf. above) + %s nameptr "{ vv}" format.name$ 'u := % put it all together t v * u * hrsg * 't := ==== ...dann passt es: \dinatlabel{von B\"ulow 1989} \textsc{Vicco von B\"ulow}: \dinatlabel{de~Sade 1789} \textsc{Marquis de~Sade}: Kommentiere also einfach diese eine Zeile aus, mir zuliebe, ok? ;)
Ansonsten kenn ich mich bst eigentlich auch nicht aus ;) Ausser, dass inverse (aka Stack) Notation wie in PS verwendet wird.
Hmm, also die Denkweise dieser bst-Programmierung durchschaue ich nachwie vor überhaupt nicht, aber hauptsache es funktioniert jetzt so wie ich will.
*g* AFAIK gibt's halt fuer die diversen Teile eines Zitates Funktionen, die Eintraege eben formatieren... -dnh -- Paranoid schizophrenics outnumber their enemies at least two to one. -- from the fortune file