PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bibtex: Marke im Fließtext selber definieren



severin
17-01-2010, 18:53
Hallo zusammen!
Ich möchte bei einem einzigen meiner Zitate den sonst verwendeten Zitierstil ändern. Ich verwende geralpha, erhalte also im Text anstatt "\cite{M2005}" sowas wie "[Mey05]" für
@Article{M2005,
author={Meyer, P.},
title={Was mir so einfiel},
year = 2005,
journal = {Science}
}
Das ist bei den meisten Quellen auch in Ordnung, aber an einer Stelle möchte ich die Marke selber definieren. Ich habe probiert, bibtex mittels
@Article{P2006,
author={Paul, H.},
title={Bla},
year=2006,
journal={Nature},
key={Test}
}zu zwingen, mein "\cite{P2006}" durch ein "Test" zu ersetzen, aber das wird permanent ignoriert. Auch "shorthand" anstatt "key" verändert gar nichts - ich erhalte immer "[Pau06]". Wie kann ich das denn drehen? Ich kann offensichtlich meine bbl-Datei manipulieren, aber geht das nicht eleganter? Ich habe erfahren, dass key nur wirkt, wenn author und editor leer sind - wo in meiner bst-Datei müsste ich was ändern, damit key immer ausgewertet wird?
Oder nach welchem Stichwort muss ich googeln, wie heißen denn diese Marken ([Pau06] und so)?

Schöne Grüße,
Severin

severin
22-01-2010, 22:59
Na gut, ich habe es jetzt gemäß http://www.meinews.net/bibtex-t447364.html? hinbekommen. Die calc.label meiner geralpha.bst habe ich zu
FUNCTION {calc.label}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.organization.label
{ type$ "manual" =
'author.key.organization.label
'author.key.label
if$
}
if$
}
if$
%%Test auf key
key empty$
{duplicate$
year field.or.null purify$ #-1 #2 substring$
*
'label :=
year field.or.null purify$ #-1 #4 substring$
*}
{ key 'label := }
if$
%%Ende key
sortify 'sort.label :=
}umgeschrieben, was mir zumindest den richtigen key in die bbl schreibt. Leider kommt die Sortierung damit nicht klar: die Quelle wird nicht gemäß dem key einsortiert, sondern taucht irgendwo anders auf. Ich müsste also meinen Sortier-Algorithmen beibringen, stupide nach dem Label zu sortieren. Wie kann ich das denn angehen?