PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : .bst Datei ändern



LOC
20-08-2006, 18:20
Hallo,

wer weiss, ob man unter texniccenter die .bst Datei ändern kann?

Ich hab mir eine bst. Datei mit makebst erstellt, möchte jetzt aber im Nachhinein etwas ändern. Ich möchte z.B den Nachnamen vor den Vornamen haben. Es erscheint umgekehrt. Ich würd ganz gern mit der .dbj Datei etwas rum experimentieren, ohne immer dafür in DOS alle Fragen durchlaufen zu müssen.

Übrigens ist es möglich ein Literaturverzeichnis zu erstellen, das sowohl "Vol." für englischsprachige Quellen als auch "Jahrgang" für deutschsprachige Quellen enthält?

Danke schonmal

Hier mal der betreffende teil, den ich wohl ändern müsste:


FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{ff~}{vv~}{ll}{, jj}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
namesleft #1 >
{ "/ " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
"/" *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.names.ed}
{
format.names
}
FUNCTION {format.key}
{ empty$
{ key field.or.null }
{ "" }
if$
}

FUNCTION {format.authors}
{ author "author" format.names
}

FUNCTION {format.full.names}
{'s :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}

FUNCTION {author.key.full}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.full.names }
if$
}

rais
20-08-2006, 19:06
Hallo,

wer weiss, ob man unter texniccenter die .bst Datei ändern kann?

kA ob das mit texniccenter geht - eigentlich reicht ein ganz gewöhnlicher Texteditor.


Ich hab mir eine bst. Datei mit makebst erstellt, möchte jetzt aber im Nachhinein etwas ändern. Ich möchte z.B den Nachnamen vor den Vornamen haben. Es erscheint umgekehrt.

"{ff~}{vv~}{ll}{, jj}"
heißt soviel wie "Vorname~von~Nachname, Jr.", so die Felder alle belegt sind.


Übrigens ist es möglich ein Literaturverzeichnis zu erstellen, das sowohl "Vol." für englischsprachige Quellen als auch "Jahrgang" für deutschsprachige Quellen enthält?

Du hast doch Deine eigen .bst gebastelt, da weißt Du doch selbst am Besten, ob Dein Stil das unterstützt oder nicht :confused:
MfG,

LOC
20-08-2006, 20:49
Danke für die "Übersetzung" von "{ff~}{vv~}{ll}{, jj}", das hat wunderbar geklappt.

Ich habe meine .bst nicht wirklich selber gebastelt, sonder nur die Fragen bei erstellen der Datei beantwortet. Ich wüsste nicht, wie man eine .bst zusammenbastelt.

LOC
21-08-2006, 12:03
Ich hab noch ein paar Kleinigkeiten, die ich ändern möchte:

Ich möchte, dass nur beim jeweilig erstgenannten Autor der gesamte Vorname auftaucht und sonst nur die initialien. Wenn ich bei FUNCTION {format.lab.names} ff zu f. ändere gilt das leider für alle Vornamen. Wenn ich bei FUNCTION {sort.format.names} oder FUNCTION {sort.format.names} ff zu f. ändere, passiert nix.

Ausserdem trenne ich die einzelnen Autoren durch einen Schrägtrich, nun taucht leider nach dem Schrägstrich ein Leerzreichen. Wenn ich das Leerzeichen bei "/ " rausnehme (also: "/") oder bei "/ " * rausnehme (also: "/ "*) fällt der Schrägstrich ganz weg oder nix passiert.

nameptr #1 >
{
namesleft #1 >
{ "/ " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
"/ " *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}

LOC
26-08-2006, 12:46
Ich hab noch ein paar Kleinigkeiten, die ich ändern möchte:

Ich möchte, dass nur beim jeweilig erstgenannten Autor der gesamte Vorname auftaucht und sonst nur die initialien. Wenn ich bei FUNCTION {format.lab.names} ff zu f. ändere gilt das leider für alle Vornamen. Wenn ich bei FUNCTION {sort.format.names} oder FUNCTION {sort.format.names} ff zu f. ändere, passiert nix.

Ausserdem trenne ich die einzelnen Autoren durch einen Schrägtrich, nun taucht leider nach dem Schrägstrich ein Leerzreichen. Wenn ich das Leerzeichen bei "/ " rausnehme (also: "/") oder bei "/ " * rausnehme (also: "/ "*) fällt der Schrägstrich ganz weg oder nix passiert.

nameptr #1 >
{
namesleft #1 >
{ "/ " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
"/ " *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}

Hat denn dazu keine eine Idee?