Frage:
Ich suche eine Möglichkeit, trotz Alphadin die
Erstellung des "Zitiercodes" für einzelne Literaturtypen
(Entry Types) zu ändern. Konkret möchte ich Normen und
Patente mit ihrer Nummer zitieren.
Ein Beispiel:
@misc{DIN66252,
Key = {DIN},
Month = {April},
Note = {Deutsches Institut f{\"u}r Normung, Beuth-Vertr.-Nr.:
1234},
Number = {DIN 66252-3},
Title = {Farbmessung und Farbmanagement},
Type = {Norm},
Year = {1996}}
Auf diese Norm wird im Text bislang so verwiesen: [DIN96]
Kann man dies abändern in [DIN66252]?
----
Mögliche Lösung:
Dafür müssen die Label für Normen/Patente anders erzeugt werden als
für alle anderen Typen.
Eine mögliche Lösung besteht darin, neue Typen für "norm" und "patent"
anzulegen, die prinzipiell so formatiert werden wie "misc" (also wie
bisher), nur wird als Label der komplette key verwendet, kein Kürzel
+Jahr.
Dazu sind folgende drei Schritte nötig:
1) die Zeilen
FUNCTION {norm} {misc}
FUNCTION {patent} {misc}
nach FUNCTION{misc} einfügen
2)
FUNCTION {norm.label} %%fuer Normen und Patente
{ key empty$
{ 'author.key.label}
{ key #20 text.prefix$ }
if$
}
vor die Funktion calc.label setzen
3) Funktion calc.label durch folgende neue Version ersetzen:
FUNCTION {calc.label}
{ type$ "book" =
type$ "booklet" =
type$ "inbook" =
or or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.organization.label
{ type$ "manual" =
'author.key.organization.label
{
type$ "norm" =
'norm.label
'author.key.label
if$ }
if$
}
if$
}
if$
type$ "patent" =
type$ "norm" =
or %%keine Jahreszahl anhaengen
{ duplicate$
"" *
'label :=
"" *
}
{ duplicate$
year field.or.null purify$ #-1 #2 substring$
*
'label :=
year field.or.null purify$ #-1 #4 substring$
*
}
if$
sortify 'sort.label :=
}
Diese Lösung sollte auch für die anderen DIN-Stile aus dem Paket
din1505 funktionieren (allerdings nicht getestet).
Nachteile dieser Lösung:
Im bib-File muss der Typ geändert werden (aus @misc wird @norm oder
@patent);
und im key-Feld muss man das Label selbst eintragen (das wird von
Funktion norm.label nur kopiert). Es ist zu erwarten, dass die bib-
Datei mit anderen Stilen Warnmeldungen produziert, die die
Eintragstypen "norm" und "patent" nicht kennen (die Einträge werden
dann als misc-Typen behandelt).
Beispiel für Anpassung im bib-File:
@norm{DIN66252,
Key = {DIN66252},
Month = {April},
Note = {Deutsches Institut f{\"u}r Normung, Beuth-Vertr.-Nr.:
1234},
Number = {DIN 66252-3},
Title = {Farbmessung und Farbmanagement},
Type = {Norm},
Year = {1996}}
Nach dem Vorbild von FUNCTION{misc} in alphadin.bst oder natdin.bst
könnte man auch noch eine elegantere Lösung stricken, die nur das type-
Feld abfragt und keinen eigenen Eintragstypen verwendet.