PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bibtex: entfernt " 't :=" das Element vom Stack?



severin
11-03-2010, 16:18
Hallo!
Ich stoße in meinem bibtex-Stil (geralpha) immer wieder auf die Zeile
't :=Jetzt frage ich mich, was die eigentlich macht. Laut Tame the Beast schreibt sie das oberste Element des stack in die Variable t. Die Frage ist nur, ob sie es dazu vom stack entfernt, oder es danach immer noch obenauf liegt.

Also zum Beispiel geht es mir um die
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}Soweit ich die verstehe, muss das Element liegen bleiben, weil sonst das duplicate$ auf dem ehemals zweitobersten Element arbeitet, oder?

Gibt es eigentlich keine elegantere Möglichkeit bibtex zu debuggen als überall "stack$" einzufügen?

Schöne Grüße,
Severin

severin
11-03-2010, 16:59
OK, ich hab's kapiert. ":=" entfernt das Element. Der Trick ist, dass, bevor output.check aufgerufen wird, noch einmal zusätzlich der Name des Feldes auf den stack gelegt wird:
journal "journal" output.checkDann enthält t den String "journal", und duplicate dupliziert den in der bib-Datei im Feld journal eingetragenen Namen des Journals.