PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : citation (natbib) - Problem



styrke
27-10-2006, 11:25
Hallöchen!
Erstmal was ich möchte:
"\citet{alte1}" sollte z.B. im Text "Alte et al. [2006]" liefern
"\citep{alte1" sollte im Text "[Alte et al. 2006]" ergeben
Das ganze funktioniert soweit, in Smallcaps, wie ich es gern hätte.

Was nicht funktioniert ist dann die Bibliographie, die ich gerne so hätte:
"[Alte et al. 2006] J. Alte, P. Greuel and S.C. Dittrich, bla bla ..."
was aber z.B. mit apalike, apalike2 usw. immer so aussieht:
"J. Alte, P. Greuel and S.C. Dittrich, bla bla bla ..."
D.h. das Label wird in der Bibliographie nicht nochmal aufgeführt.

Einige auf natbib basierende styles können das (apasoft,gerapali) allerdings hab ich festgestellt, dass die sämtlichst kein "\citet" mehr beherrschen.
"\citet{alte1}" liefert dort stets "(author?)[Alte et al. 2006]" und 'ne Warnung, dass der Autor nicht erkannt sei.

Die vordergründige Ursache war schnell gefunden: im Standardfall sieht das bibitem aus der *.bbl so aus
"\bibitem{[Alte et~al., 2006]{alte1}...."
in der apasoft-gerapali-Variante so:
"\bibitem{[Alte et~al. 2006]{alte1}...."
Das Komma ist also der Unterschied. Und in der Tat, füge ich in apalike2 an der entsprechenden Stelle ein Komma ein, verhält sich's auch genauso - \citet funzt nicht mehr, aber das label erscheint in der Bibliographie. Ich brauch also einen natbib.sty-hack.
Hab mal dort rein geschaut, es gibt nur eine Funktion, in der dieses (author?) als Meldung auftaucht. Aber die Syntax - also ich kann das nicht lesen. Leider.

Ich vermute mal, das Label in der Bibliographie ist sozusagen die Notlösung für den Fall, dass natbib den Autor im bibitem nicht erkennen kann, wofür es das ominöse Komma braucht. Die Notlösung ist meine Wunschlösung, aber der Autor sollte für \citet bekannt sein. Kann mir da jemand weiterhelfen?

Gruß,
Ben

jonas88
28-10-2006, 10:08
Das steht in der Dokumentation des natbib-styles.

Diese Art zu zitieren geht nur wenn der Style das Feld authoryear hat, glaub ich und dass muss eingegeben sein.

also musst du einen anderen Style verwenden oder citep benützen

styrke
28-10-2006, 11:27
Genau, natbib will das nicht ... aber ich will :D
Deswegen such ich ja nach jemandem, der weiß, wie man die natbib-Funktion umschreiben kann. Aufwendig kann das nicht sein, hängt wohl nur an einer if-Abfrage und diesem Komma, nur ist die Syntax eben sehr kryptisch für mich, so dass ich's ohne Riesenaufwand nicht selbst hacken kann.

Grüße!

ps: hat jemand ansonsten 'nen Link zu einer Einführung in diese Sprache/Syntax ?

Kris22
27-11-2006, 16:10
Hat denn jemand eine Lösung finden können?
Hab gerade dasselbe Problem, dass citet gar nicht erkannt wird und ich ne Bemerkung à la citation undefined bekomme.

mhaesel
12-12-2006, 13:58
Habe das gleiche Problem. Hat mich echt ne Menge Nerven gekostet, aber es ist gelöst. Zu hacken ist aber nicht etwa natbib.sty, sondern vielmehr gerapali.bst. Schau mal in die gerapali.bst und suche nach dem Begriff "Andreas". Die Komma-Problematik sollte sich damit gelöst haben...

Seltsam, dass den Fehler anscheinend seit 14 Jahren niemand bemerkt hat...