PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bibtex - Anzahl der Literaturquellen



tobias.vdk
09-01-2006, 15:13
Hallo!

Ich verwende Bibtex um das Literaturverzeichnis zu erstellen. Kann ich damit auch automatisch die Anzahl der Literaturquellen ermitteln?
Vielen Dank im Voraus für eure Bemühungen.

Tschüss Tobias

rais
09-01-2006, 17:37
Hallo Tobias,
bei einem plain Stil bekommst Du die Anzahl ganz einfach über \cite{letzter_Eintrag} heraus.
Stilunabhängig könnte das unter Linux etwa so aussehen:
latex foo.tex
bibtex foo
cat foo.bbl | grep -c "bibitem" > foo.bne
dann steht in foo.bne die Anzahl der angegebenen Literaturquellen - darauf könntest Du im Dokument dann mit \input{foo.bne} zugreifen.
MfG,

tobias.vdk
11-01-2006, 17:16
Hallo,

vielen Dank für die Antwort! Nutze die 2. Methode und funktioniert einwandfrei!

Tschüss Tobias

tobias.vdk
27-01-2006, 09:41
Hallo nochmal,

immer noch das gleiche Problem - Anzahl der Literaturquellen herausfinden. In dem .aux-File stehen die Einträge dafür in der Form:
\bibcite{whitepaper}{1}wobei die "1" ein Zähler sein muss.
Weiß jemand, wie dieser Zähler heißt?!
Danke.

Tschüss Tobias

ice8878
09-10-2006, 14:50
Hat jemand inzwischen das Problem gelöst? Hab mir leider inzwischen die Finger wund gegoogelt.

Danke schonmal

EdiT: Hab jetzt was von einem Tool namens Bibcount gelesen, weis zufällig jemand wie ich das automatisiert zur Anwendung bringe? Tool siehe: http://www.ecst.csuchico.edu/~jacobsd/bib/tools/bibtex.html

ice8878
08-12-2006, 16:36
Keiner eine Idee, wie man das machen könnte? Hab leider keine Linuxumgebung, kann deswegen den Tip von rais nich nachbilden. Wäre für eure Hinweise echt dankbar.

rais
08-12-2006, 22:51
Keiner eine Idee, wie man das machen könnte? Hab leider keine Linuxumgebung, kann deswegen den Tip von rais nich nachbilden. Wäre für eure Hinweise echt dankbar.
hmm, mal abgesehen davon, daß es grep auch für Windows geben soll...
funzt vllt
type foo.bbl | find -c "bibitem" > foo.bne
?
MfG,

rais
09-12-2006, 15:58
öhhmm, wenn schon, dann hier vllt besser
type foo.bbl | find /c "bibitem" > foo.bne
MfG,

ice8878
03-02-2007, 22:23
Habs leider immernoch nich hinbekommen. Hat vielleicht inzwischen jemand eine Idee wie man die Anzahl aller Literaturqellen aus einer .bib Datei zählen kann und diese dann als Zahl in der Arbeit verwenden kann?

rais
03-02-2007, 23:27
Habs leider immernoch nich hinbekommen. Hat vielleicht inzwischen jemand eine Idee wie man die Anzahl aller Literaturqellen aus einer .bib Datei zählen kann und diese dann als Zahl in der Arbeit verwenden kann?
oh, Du wolltest gar nicht die Anzahl der tatsächlich im Text zitierten Literaturstellen haben, sondern bloß die `rauhe´ Anzahl an Einträgen in der .bib? Dann zähl' doch einfach die "@"-Zeichen schreib' das Ergebnis in eine Datei und lies den Wert mit \input{Datei} in Deinem LaTeX-Dokument aus.
MfG,

ice8878
04-02-2007, 00:47
Genau wie du sagtest, das will ich machen. Mir kam die Idee mit den @ Zeichen auch schon, aber wie greife ich auf die .bib Datei so zu das dabei die @ Zeichen gezählt werden und anschließend in einen Datei geschrieben werden? Und wie lese ich diese dann wieder aus?

rais
04-02-2007, 01:02
unter Win/Dos sollte das etwa so aussehen:


find /C "@" foo.bib > foo.baz

das sollte die Anzahl der vorhandenen "@"-haltigen Zeilen aus der Datei "foo.bib" in die Datei "foo.baz" schreiben. Aus Deinem LaTeX-Dokument solltest Du dann mit
\input{foo.baz} auf diesen Wert zugreifen können.
MfG,

ice8878
04-02-2007, 01:19
Ich habe das (find /C "@" input/Quellen.bib > bibcount.baz) jetzt mal in der CMD ausgeführt was auch funktioniert. Einziger Nachteil ist das in der Datei jetzt
---------- QUELLEN.BIB: 17 steht. Wenn ich das mit input einfüge, kommt nicht nur die Zahl sondern auch der Text vorher, kann man das noch so einstellen das nur die Zahl kommt?

Würde es eigentlich funktionieren den find Befehl in eine .bat Datei zu schieben und die im Postprocessing bei TC mit auszuführen? Habs gleich probiert, die .baz wird erzeugt, jedoch ohne Inhalt - eine Ahnung woran das liegen kann?


Danke aber erstmal für die schnelle Hilfe :)

ice8878
04-02-2007, 01:42
Ok habs jetzt doch gleich noch selbst hinbekommen. Mit deiner Idee etwas weiter oben klappts noch besser, da kommt genau das bei rum was ich wollte.

Hab jetzt in eine .bat Datei folgenden geschrieben:


type foo.bbl | find /C "bibitem" > foo.bne und diese Datei als Postprocessor im TC eingebunden, das Ergebnis ist perfekt.

Im Dokument kann man dann den Inhalt der Datei so verwenden:


\makeatletter\@input{foo.bne}\makeatother

Besten Dank rais für deinen Input :)