Literaturstellenverwaltung mit biblio, (g)refer, BibTeX

  1. Perl-Skript stn2biblio
  2. (g)refer und (g)roff
  3. (g)lookbib und lkbib
  4. biblio (SGML)
  5. BibTeX
  6. bibview

Bei Online-Recherchen in bibliographischen Datenbanken (z.B. bei STN) fallen die Daten in der Regel in einem Format an, das für die Verwendung in Literaturzitaten nicht ohne Umformatierung nutzbar ist, zumal verschiedene Zeitschriften hierfür unterschiedliche Vorschriften haben. Ein weiteres Problem liegt in der Verwaltung privater Literaturdatenbanken, d.h., dem schnellen Wiederauffinden des passenden Zitats.

An dieser Stelle sollen nicht die Möglichkeiten besprochen werden, die es auf PCs gibt. Dort kann man als Datenbankprogramm z.B. STN-PFS einsetzen, das allerdings keine sinnvollen Exportmöglichkeiten für Literaturzitate bietet; Ähnliches gilt für BiblioFile. Literaturverwaltungsprogramme auf PCs (mit Exportmöglichkeiten) sind z.B. VCH Biblio oder Reference Manager.

1. Perl-Skript stn2biblio

Das Skript stn2biblio hat den Zweck, Protokolldateien (transcripts) von STN-Online-Recherchen in bibliographischen Datenbanken zu säubern, zu analysieren und wahlweise in verschiedenen Formaten auszugeben (STN/CAS [default], SGML/biblio, refer, BibTeX); die Optionen werden beim Aufruf

stn2biblio -h

ausgegeben. Beispiele:

1. Ausgabe im STN/CAS-Format:
  stn2biblio screenlog > myfile.cas
2. Ausgabe im SGML-biblio-Format ohne Abstract:
  stn2biblio -a -b screenlog > myfile.sgml
3. Ausgabe im refer-Format ohne Abstract:
  stn2biblio -a -r screenlog > myfile.ref

Mit Hilfe des Programms biblio (s.u.) können aus der SGML-biblio-Datei u.a. die Formate refer oder BibTeX oder eine PostScript- oder ASCII-Datei erhalten werden.

2. (g)refer und (g)roff

Unter Unix gibt es innerhalb der "Text Software" das refer-Paket (refer, indxbib, lookbib, addbib) bzw. die entsprechenden GNU-Programme im groff-Paket (grefer, gindxbib, glookbib, lkbib). Im ChemNet (SGI) steht z.Zt. nur das GNU-Paket zur Verfügung. Man benötigt eine Datenbank im refer- bzw. grefer-Format, sollte diese zwecks schnelleren Zugriffs mittels gindxbib indizieren und kann sie dann entweder interaktiv (mittels glookbib) oder im "grep"-Stil (mittels lkbib) durchsuchen.

Eine Formatierung ist mittels der nroff/troff/groff-Software möglich, wesentlich leistungsfähiger ist allerdings die LaTeX/BibTeX-Software (s.u.). In der (g)refer-Eingabedatei werden Literaturverweise über die Formatierungsanweisungen .[ und .] (jeweils am Zeilenanfang) eingefügt, zwischen denen ein oder mehrere Stichworte stehen (und-Verknüpfung), die die Literaturstelle eindeutig beschreiben (wie in der Suche mittels (g)lookbib bzw. lkbib). Einfaches Beispiel:

Die Verbindung wurde schon von Justus Liebig beschrieben.
.[
Liebig60
.]

Bei grefer werden Zeilen zwischen .R1 und .R2 als Kommandos interpretiert. Damit kann man z.B. die gesamte Bibliographie ausgeben lassen:

Hier folgt die Bibliographie:
.R1
bibliography mybibliography.ref
.R2

Man bearbeitet die Eingabedatei zuerst mit grefer, dann mit groff und den Macros -ms oder -me. Beispiel:

grefer -p mybibliography.ref myfile.input | groff -ms -T latin1 > myfile.txt

oder

grefer -p mybibliography.ref myfile.input | groff -me -T ps > myfile.ps

Mit der Unix-Text-Software (nicht auf den SGIs im ChemNet) kann man die Bibliographie folgendermaßen ausgeben:

sortbib mybibliography.ref | roffbib > mybibliography.txt

3. (g)lookbib und lkbib

Vor der Verwendung von refer-Datenbanken für Recherchen oder in den Textpaketen (grefer/groff) empfiehlt es sich, zunächst mittels gindxbib einen invertierten Index zu erzeugen:

gindxbib -oInd mybibliography.ref

Im ChemNet findet man einige refer-Datenbanken sowie eine Index-Datei Ind.i im Verzeichnis

/software/db/refer

Um diese zu nutzen, kann man entweder die Umgebungsvariable REFER definieren, oder man spezifiziert die zu verwendende Indexdatei (oder refer-Datenbank) über die Option -p.

(csh, tcsh:)
setenv REFER '/software/db/refer/Ind'

Recherchen mittels glookbib (interaktiv) oder lkbib (im "grep"-Stil) sind einfach, es können ein oder mehrere Stichworte angegeben werden. Die Stichworte werden logisch durch und verknüpft; eine kompliziertere Suchlogik wird hier nicht unterstützt. Beispiel:

lkbib -p /software/db/refer/Ind buckyball

oder

(csh, tcsh:)
setenv REFER '/software/db/refer/Ind'
lkbib porphyrin quinone triplet

oder

glookbib /software/db/refer/Ind
> azophenine

4. biblio (SGML)

Eine Literaturdatenbank im SGML-biblio-Format gestattet es unter Einsatz des Programms biblio, Ausgabedateien in verschiedenen Formaten zu erzeugen: BibTeX, refer, grefer (grops), PostScript oder ASCII; die Optionen erhält man beim Aufruf

   biblio -help

Beispiel (BibTeX-Ausgabe):

   biblio -T bibtex mybibliography[.sgml] > mybibliography.bib

Eine Literaturdatenbank im biblio-Format kann man durch Konvertierung eines STN-Online-Protokolls bzw. einer Datei im STN/CAS-Format mittels stn2biblio (s.o.) oder manuell erstellen.

Wichtig: Die syntaktischen Regeln müssen streng eingehalten werden, d.h., für jeden Zitattyp (z.B. article, report, book, inbook, incoll, phd) müssen alle erforderlichen Felder angegeben werden, nicht unterstützte Felder dürfen nicht erscheinen, nur bei optionalen Feldern hat man die Wahl. Eine Beschreibung findet man im Dokument über SGML Bibliographies. Um auf syntaktische Fehler zu prüfen, verwendet man die Option -c:

   biblio -c mybibliography[.sgml]

Beispiel für einen biblio-Datensatz (mit DTD-Angabe):

<!doctype biblio public "-//GMD//DTD biblio//EN">
<biblio>

<article id="Hucho89">
<author>F. Hucho
<and>R. Hilgenfeld
<title>The selectivity filter of a ligand-gated ion channel. The helix-M2
    model of the ion channel of the nicotinic acetylcholine receptor
<journal>FEBS Lett.
<vol>257
<no>1
<pp>17-23
<year>1989
<id>FEBLAL-257-17

</biblio>

Einige Datenbanken im SGML-biblio-Format findet man im ChemNet im Verzeichnis:

   /software/db/biblio

5. BibTeX

BibTeX ist ein separates Programm, das als Hilfsmittel zur Erstellung eines Literaturverzeichnisses unter LaTeX dient. Um es einzusetzen, muß man in die LaTeX-Datei die Befehle \bibliography{} (Argument: eine oder mehrere Datenbankdateien [.bib]) und \bibliographystyle{} (Argument: ein BibTeX-Stil [.bst], z.B. plain) einfügen. Zitate fügt man über den LaTeX-Befehl \cite{label} ein; der Befehl \nocite{*} liefert die komplette Literaturliste. Beispiel:

\documentclass{article}
% \documentstyle{article}

\title{Bibliography Listing}
\author{N.N.}
\begin{document}
\maketitle
\nocite{*}
\section{Bibliography}
\bibliography{mybibliography}
\bibliographystyle{jacs}
\end{document}

Die Prozessierung einer LaTeX-Datei unter Einsatz von BibTeX erfordert folgende Sequenz:

latex myfile
bibtex myfile
latex myfile
latex myfile

Beispiel für einen BibTeX-Datensatz:

@article{Hucho89, 
author={F. Hucho
 and R. Hilgenfeld}, 
title={The selectivity filter of a ligand-gated ion channel. The helix-M2
    model of the ion channel of the nicotinic acetylcholine receptor}, 
journal={FEBS Lett.}, 
volume={257}, 
number={1}, 
pages={17-23}, 
year={1989}, 
id={FEBLAL-257-1}, 
private={Englisch
}} 

Im ChemNet verfügbare BibTeX-Stile

Im ChemNet sind u.a. folgende BibTeX-Stile allgemein verfügbar:

(Verzeichnis /software/texmf/bibtex/bst.)

6. bibview

Ein hübsches X-basiertes graphisches Benutzerprogramm zur Manipulation von BibTeX-Datenbanken (Recherchen, Änderungen, Neueinträge) bietet das Programm bibview.

Aufruf-Beispiele:

bibview &
bibview -file myfile.bib &
bibview -help

Burkhard Kirste, 1996-03-28, 1996-11-14