Anpassung von alpha.bst | Key mit 4 Ziffern
Verfasst: Di 23. Apr 2013, 17:49
Hallo zusammen!
ich stelle gerade meine meine Bachelorthesis fertig und muss den BibTex-Stil meines Institutes erfüllen. Der ist der alpha.bst ziemlich ähnlich. Daher habe ich mich entschlossen den alpha.bst-Stil anzupassen. (Ich weiß, dass dies nicht die schönste Lösung ist!
)
Bei den Keys komme ich leider nicht weiter. Es sollen durchgehend 4 Ziffern verwendet werden und bei mehr als 4 Autoren nur die Anfangsbuchstaben der ersten 4 Autoren.
Durch Trial&Error habe ich rausgefunden, dass die FUNCTION {format.lab.names} angepasst werden muss. Soweit habe ich es hinbekommen:

Bei 2 oder 3 Autoren ist es noch falsch. Es sollte so sein wie auf dem roten Pfeil geschrieben. Ich habe keine Idee wie ich das hinkriegen soll! Wäre echt super, wenn mir da jemand helfen könnte!
Bisherige Anpassungen in der FUNCTION {format.lab.names}:
Danke!
Gruß,
Alex
ich stelle gerade meine meine Bachelorthesis fertig und muss den BibTex-Stil meines Institutes erfüllen. Der ist der alpha.bst ziemlich ähnlich. Daher habe ich mich entschlossen den alpha.bst-Stil anzupassen. (Ich weiß, dass dies nicht die schönste Lösung ist!

Bei den Keys komme ich leider nicht weiter. Es sollen durchgehend 4 Ziffern verwendet werden und bei mehr als 4 Autoren nur die Anfangsbuchstaben der ersten 4 Autoren.
Durch Trial&Error habe ich rausgefunden, dass die FUNCTION {format.lab.names} angepasst werden muss. Soweit habe ich es hinbekommen:

Bei 2 oder 3 Autoren ist es noch falsch. Es sollte so sein wie auf dem roten Pfeil geschrieben. Ich habe keine Idee wie ich das hinkriegen soll! Wäre echt super, wenn mir da jemand helfen könnte!
Bisherige Anpassungen in der FUNCTION {format.lab.names}:
FUNCTION {format.lab.names} { 's := s num.names$ 'numnames := numnames #1 > { numnames #4 > { #4 'namesleft := } %vorher: { #3 'namesleft := } { numnames 'namesleft := } if$ #1 'nameptr := "" { namesleft #0 > } { nameptr numnames = { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = { "{\etalchar{+}}" * #1 'et.al.char.used := } { s nameptr "{v{}}{l{}}" format.name$ * } if$ } { s nameptr "{v{}}{l{}}" format.name$ * } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ numnames #4 > { "" * % vorher: { "{\etalchar{+}}" * #1 'et.al.char.used := } 'skip$ if$ } { s #1 "{v{}}{l{}}" format.name$ duplicate$ text.length$ #2 < { pop$ s #1 "{ll}" format.name$ #4 text.prefix$ } % vorher: { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } 'skip$ if$ } if$ }
Gruß,
Alex