ASCII2BIBTEX
Einleitung:
ASCII2BIBTEXist ein Pascal-Programm, das aus dem Wunsch heraus
entstanden ist, eMedia-Archiv (Verlag Heinz Heise) mit seiner
fehlertoleranten Suche als Literaturdatenbank zu verwenden, und
trotzdem BIBTEX nutzen zu können. Da es leider nicht möglich
ist, die Daten direkt im BIBTEX-Format zu exportieren, habe ich
diese Programm geschrieben, das ein Filter für speziell
formatierte ASCII-Dateien dient.
Diese ASCII-Dateien sollten eigentlich auch von anderen
Programmen erzeugbar sein, somit ist der Einsatz von
ASCII2BIBTEX nicht nur auf eMedia-Archiv beschränkt.
Ein Nachteil dieser Lösung ist, dass nicht alle BIBTEX-Felder
genutzt werden.
Unter eMedia Archiv kann mittels der Exportfunktion (Bearbeiten -
Exportieren - Formatierte Ausgabe) und der Ausgabemaske (Datei -
Ausgabemaske) die benötigte Datei für die Umwandlung ins
BIBTEX-Format erzeugt werden.
In eMedia Archiv sollte die Ausgabemaske
folgendermaßen aussehen (wobei die Feldnamen natürlich nicht
verbindlich sind ...):
Typ: *(Typ)
Kur: *(Shortname)
Tit: *(Titel)
Unt: *(Untertitel)
Aut: *(Autor)
Her: *(Herausgeber)
Que: *(Quelle)
Ban: *(Band)
Ort: *(Ort)
Jah: *(Jahrgang)
Sei: *(Seite)
ISB: *(ISBN)
Noz: *(Notiz)
lNr: *(Lfde. Nummer)
Am Ende sind 2 Leerzeilen, so dass die Datensätze durch genau eine
Leerzeile getrennt sind!
Die Ausgabedatei der Datenbank bzw. die Eingabedatei für
ASCII2BIBTEX sieht dann so aus:
Typ: Artikel
Kur: Ikeda82
Tit: Frequency Acceleration Characteristics in Internal ...
Unt:
Aut: Ikeda, Yasuyuki; Tanaka, Toshikatsu
Her:
Que: #TEI
Ban: Vol. 17, No. 1
Ort:
Jah: 1982
Sei: 64-69
ISB:
Noz:
lNr: 1234
Typ: Buch
...
Ein Export in diesem Format sollte eigentlich von allen
Datenbanken aus möglich sein. Wichtig sind übrigens die ersten
fünf Zeichen (Groß- Kleinschreibung ist auch egal), wobei es auf
die Reihenfolge der Einträge nicht ankommt, lediglich auf die eine
Leerzeile Abstand.
Autoren werden in der Form Nachname, Vorname; Nachname2,
Vorname2 eingegeben.
Sonderzeichen werden von ASCII2BIBTEX
automatisch in TeX-Befehle umgesetzt.
TEX-Befehle können in geschweiften
Klammern {}
eingegeben werden z.B. {$\rm SF_6$}
,
sie werden von ASCII2BIBTEX bzw. BIBTEX so in das
.BBL-File übernommen.
Die Felder sind eigentlich
selbsterklärend, für Typ gibt es folgende Möglichkeiten:
Bezeichnung |
Typ |
BibTeX |
Artikel |
(Zeitungs-) Artikel |
article |
Bericht |
Forschungsbericht o.ä. |
techreport |
Buch |
|
book |
Diplomarbeit |
|
mastersthesis |
Dissertation |
|
phdthesis |
Konferenz |
|
conference |
Manual |
|
manual |
Norm |
|
manual |
alles andere |
|
misc |
Zu beachten ist hierbei, dass lediglich die ersten drei Buchstaben
des Typs ausgewertet werden, d.h. dass statt Dissertation
die Eingabe Diss bzw. Dis reicht.
4.1 Techreport
Beim Typ Bericht (bzw. Techreport in BIBTEX) gibt es folgende
Besonderheit: Wenn die ersten vier Zeichen Typ: sind, werden
die folgenden Zeichen als Type : ''...''; in BIBTEX
exportiert. Also gibt Typ: Typ:MeinBericht den
BIBTEX-Eintrag @TECHREPORT mit TYPE :
''MeinBericht''. Vgl dazu auch den ,,LATEXBegleiter``
S. 425.
Quelle ist verschieden verwendet und
wird so zugeordnet:
Typ |
Art |
BibTeX |
Buch |
Verlag |
publisher |
Artikel |
Zeitung |
journal |
Konferenz |
Konferenz |
booktitle |
Sollen in der Datenbank bzw. in der BIBTEX-Datei
eigene Abkürzungen benutzt werden, so sind diese durch ein
vorangestelltes # zu kennzeichnen. Die Quelle könnte dann
z.B. #TEI für ,,Transactions on Electrical
Insulation`` sein. Die Abkürzungen müssen natürlich in einer
.BIB-Datei definiert werden - aber das hat nichts mehr mit
ASCII2BIBTEX zu tun.
7 Programmaufruf
ASCI2BIB input.txt output.bib [Nr2Note]
Nr2Note (Groß- Kleinschreibung egal) ist ein optionaler Parameter.
Mit diesem wird der Eintrag des Feldes lNr als Database
Entry No: xyz als note angehängt. Hilfreich ist das, wenn man
den Datenbankbestand überprüft.
Bei weniger als zwei oder mehr als drei Parametern bricht das
Programm ab. Ebenso bei nicht existierender Eingabedatei.
Achtung: Eine evtl. existierende Ausgabedatei wird ohne
Warnung überschrieben.
Bei fehlerhafter Parameteranzahl oder nicht existierender
Eingabedatei bricht das Programm mit einem entsprechenden Hinweis
ab.
Für jeden geschriebenen Datensatz wird ein ,.` auf den
Bildschirm geschrieben, gefolgt von der Anzahl der insgesamt
geschriebenen Datensätze beim Programmende.
Wird der Parameter Nr2Note verwendet erfolgt noch ein
diesbezüglicher Hinweis.
ASCII2BIBTEXgibt es hier als ZIP-Datei (16kB)
zum runterladen, in dieser sind das EXE-File
sowie diese Anleitung als DVI-Datei enthalten. Beide sind auch
ungepackt erhältlich: EXE
(21kB), DVI
(19kB).
ASCII2BIBTEXist ein DOS-Programm und akzeptiert als solches nur
Dateinamen in 8+3-Notation. Entsprechend heißt das .EXE auch
ASCI2BIB und nicht ASCII2BIBTEX.
Bugs werden beseitigt sobald ich sie
merke - oder sie mir mitgeteilt werden.
Features werden eingebaut sobald ich sie brauche - oder mich
jemand vom Sinn des gewünschten Features überzeugt und es nicht zu
viel Arbeit ist.
Den Namen finde ich zwar nicht sonderlich gelungen, aber so dürfte
das Abmahn-Risiko relativ gering ausfallen ...(Ursprünglich
hieß das Prog so, wie das eMedia Archiv früher hieß - aber der
Heise-Verlag wird schon einen Grund gehabt haben den Namen zu
ändern), außerdem wäre eine Name mit Bezug auf ein bestimmtes
Programm nicht sinnvoll, da es ja um eine ASCII auf
BIBTEX-Umwandlung geht. Bei ADBE2BIBTEX(für
AsciiDatenBankExport) droht schon wieder potenziell eine Abmahnung
- und besser ist der Name auch nicht.
Erste Version mit Nummer :-)
Auflage und ISBN werden für Bücher übernommen
Normen bekommen bei key ein aaa vorangestellt, damit
sie ganz vorne einsortiert werden
Bug bei der Umsetzung des ersten Eintrags beseitigt (Umlaut2TeX-Aufruf fehlte)
Herausgeber ergänzt
Norm auf @MANUAL geändert
Notiz bei @MISC, @MANUAL ergänzt
Bericht als @TECHREPORT aufgenommen
Notiz bei allen Typen ergänzt
Neuer Typ URL als MISC
Fehler beim Zählen der Einträge korrigiert
Feld KEY ergänzt, dient zu Ausgabe der lfd. Nr bei BIB-Listen (in V1.6 wieder entfernt)
Ausgabe von TYPE eingeführt (für Techreport, Angabe des Typs, vgl. Latex Begleiter
S.425) Eingabe im Feld Typ mit Ber: beginnen, gefolgt vom Typ,
also Typ: Ber:MeinGanzSpeziellerBericht.
Wenn kein AUTHOR bei ,verdächtigen` Typen (z.B. Norm)
angegeben ist wird TITLE als KEY genommen (Damit entfällt natürlich
der Key aus der Datenbank)
lfd. Nr als KEY aus V1.5.0 entfernt, da nicht sinnvoll (Denkfehler)
Der Paramter ,,Nr2Note`` beim Aufruf wandelt lfd. Nr der
Datenbank in ,note = ,,Datenbank-Nr. xxx``` (vgl.
Kapitel 7).
Die Doku etwas verbessert (zu TYPE aus V1.5.0)
Achtung: Die Typ-Angabe erfolgt jetzt nicht mehr über Ber: sonder über Typ: (siehe Kapitel 4.1).
Bugfix zu V1.6.1 (TYP wurde ignoriert).
Einführung vom Typ @InBook @Proceedings (intern wie Konferenz) und
@InProceedings. Der Typ InB[ook] gibt jetzt ein crossref auf
Que[lle] aus, das gleiche gilt für InP[roceedings]. Beide Typen
übernehmen nur Autor, Titel, Seiten und Quelle (=crossref), der
Rest muss im zugehörigen Book bzw. Proceedings stehen.
Umstellung des Compilers von TurboPascal auf VirtualPascal - damit
sollten die Probleme mit dem Zählerüberlauf bei schnellen
Prozessoren behoben sein.
Das Copyright für eMedia Archiv liegt beim Heise-Verlag,
ASCII2BIBTEX ist Freeware, aber (noch?) kein Open Source. Wer
Interesse hat kann aber nach dem Sourcen fragen. Das Programm ist
in PASCAL geschrieben.
Zu meiner Homepage
This document was generated using the
LaTeX2HTML translator Version 2K.1beta (1.50)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html ascii2bibtex.tex -init_file l2h-a2b.ini
The translation was initiated by Mark Paede on 2002-01-18
Mark Paede
2002-01-18