PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit BibTeX & "crossref"



Blue2
15-01-2008, 15:53
Hallo,

ich habe folgendes Problem: Beim Erstellen eines Literaturverzeichnisses benutze ich auch einige Sammelbände, auf die ich in den .bib Einträgen der zugehörigen Artikel per "crossref" verweise. Allerdiings wird bereits bei zweifachem Verweis der Sammelband selbst mit ins LitVZ aufgenommen und die Artikel erhalten nur noch ein Kürzel als Ergänzung, dies aber möchte ich gern unterbinden weil in dem Fall das Jahr und der Band vom "parent" Eintrag (also der Sammelband) kommen müsste, er aber für fast jeden "child" (also die Artikel) anders ist.

Unterbindet man die Ausgabe des "crossref-parent-Eintrages" wird alles übernommen.

Ich weiß, dass es geht und dass es nur wenige Zeichen sind, die man zusammen mit dem 'bibtex' Befehl eingeben muss. Ich hatte das bis vor Kurzem in Kile so eingestellt, allerdings ging es beim Systemupdate verloren. Ich bin mir auch sehr sicher, es hier im Forum gelesen zu haben, aber trotz unermüdlicher Suche konnte ich es nicht finden :-(

Wer kann mir denn weiterhelfen? Ich schreib es mir diesmal auch ganz bestimmt auf :-)

Danke und Viele Grüße

rais
15-01-2008, 16:50
Hallo und Herzlich Willkommen :)

Beim Erstellen eines Literaturverzeichnisses benutze ich auch einige Sammelbände, auf die ich in den .bib Einträgen der zugehörigen Artikel per "crossref" verweise. Allerdiings wird bereits bei zweifachem Verweis der Sammelband selbst mit ins LitVZ aufgenommen und die Artikel erhalten nur noch ein Kürzel als Ergänzung, (..)
und bei einem einzelnen Eintrag war das noch in Ordnung? Dann brauchst Du bibtex nur mit --min-crossrefs=x aufzurufen, `x' setzt Du einfach entsprechend hoch (default ist 2).
MfG,

Blue2
15-01-2008, 17:42
Hallo und vielen Dank,

ja in etwa (oder genauso ?) war der Befehl, aber er scheint nicht zu funktionieren? Kann das an TexLive liegen oder an Kile 2.0 - da glaube ich zwar nicht dran, aber man weiß ja nie :-(
Vielleicht liegt es aber auch an dem Befehl


bash bibtexall

aus Multibib, welcher beinhaltet



for file in *.aux ; do
bibtex `basename $file .aux`
done


leider reichen meine Kenntnisse nicht dazu aus, das zu verbinden. Alle Versuche bisher scheiterten kläglich :-( Das einzige was mich noch ermutigt ist ja, dass es mal funktioniert hat :-)

*********
Nachtrag
*********

Per try&error hab ich herausgefunden, dass es an der Verwendung von bibtexall liegt, der Befehlszusatz stimmt also. Wäre toll wenn man die Beiden unter einen Hut bekommt :-)

rais
15-01-2008, 18:02
Hallo nochmal,
wäre das dann nicht etwa


for file in *.aux ; do
bibtex --min-crossrefs=9 `basename $file .aux`
done

d. h. wenn Dein Script in dem entsprechenden Verzeichnis aufgerufen wird -- und der Schleifenaufruf sieht ganz danach aus -- sollte


for file in *.aux ; do
bibtex --min-crossrefs=9 ${file%.aux}
done

auch tun...und .aux brauchst Du eigentlich gar nicht erst abzuschneiden, also


for file in *.aux ; do
bibtex --min-crossrefs=9 $file
done
sollte auch schon tun.;)

MfG,

Blue2
15-01-2008, 18:10
Danke :-)

das Skript ist nicht von mir, ich bin nur froh dass es überhaupt funktioniert *g* solche Schleifen habe ich das letzte mal in BASIC geschrieben...

Ich werde deine Varianten mal ausprobieren, viele Dank nochmal!

Blue2
15-01-2008, 18:48
Super, es klappt :-) Ich bin begeistert!