BibTeX und Stardards (RFC, IEEE, etc.)

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Ovaron
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Fr 5. Jun 2009, 11:51

BibTeX und Stardards (RFC, IEEE, etc.)

Beitrag von Ovaron »

Hi!

Für meine Literaturangaben greife ich den BibTeX-Stil amsalpha zurück. Der klappt auch wunderbar bei normalen Büchern, jedoch passt er nicht bei Standards wie RFCs. Ich würde gerne einen Standard etwa so im Text stehen haben wollen ... [RFC5342]. Leider nimmt mir der amsalpha-Style aber immer den jeweiligen Author, und wenn ich den nicht angebe, bekomme ich [RFC], das ja auch nicht der Sinn ist. Gibts da eine Lösung, wie ich zum gewünschten Ergebnis komme? Ich hab das vor einiger Zeit schon mal im mrunix.de Forum gefragt, aber da hatte niemand eine gute Lösung parat.

Gruß Ovaron

PS: Hier ein Beispiel aus mener BibTeX-Datei:
@MISC{RFC3768,
            AUTHOR = {R. Hinden},
            TITLE = "{RFC2338 - Virtual Router Redundancy Protocol}",
	    PUBLISHER = {Network Working Group},
	    MONTH = {apr},
            YEAR = {2004},
            HOWPUBLISHED = "{URL: \url{http://www.ietf.org/rfc/rfc3768.txt}}", 
            NOTE = {accessed: 2009-05-27},
	    key={RFC3768},
}


Ovaron
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Fr 5. Jun 2009, 11:51

Beitrag von Ovaron »

hat niemand einen tipp für mich ?

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Mach mal ein vollständiges Minimalbeispiel (siehe erste Zeile meiner Signatur). Dann kann ich eine Idee, die ich möglicherweise habe, nämlich auch gleich testen. Nur mit dem bib-Eintrag kann ich hingegen allenfalls spekulieren.

Ovaron
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Fr 5. Jun 2009, 11:51

Beitrag von Ovaron »

Hi!

Dann werd ich mal ein Minimalbeispiel erstellen.
Ich verwende für eine Vorlage (dafh.cls), die ich über die Zeile
\documentclass[a4paper, oneside, 11pt]{dafh} 
einbinde. Hat diese Vorlage irgendeine Relevanz für das Minimalbeispiel? Ich selbst finde dort nichts, dass "bib" enthalten würde.

btw: Was mir im Prinzip reichen würde, wäre wenn für den Verweis im Text der "key" des Bibtex-Eintrags herangezogen wird.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Ovaron hat geschrieben:Dann werd ich mal ein Minimalbeispiel erstellen.
Ich verwende für eine Vorlage (dafh.cls), die ich über die Zeile
\documentclass[a4paper, oneside, 11pt]{dafh} 
einbinde. Hat diese Vorlage irgendeine Relevanz für das Minimalbeispiel?
Es ist Teil des Erstellens eines Minimalbeispiels, das herauszufinden, indem Du quasi als letzten Schritt der Minimalisierung ersatzweise eine Standardklasse, also article, report oder book, verwendest.

Ovaron
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Fr 5. Jun 2009, 11:51

Beitrag von Ovaron »

Entschuldige, dass es so lange gedauert hat. Mir hats bei einem Update den X-Server zerschossen und auf meinem anderen System war latex noch nicht installiert.

Ich hab jetzt ein Minimalbeispiel erzeugt. Leider kann ich es auf diesem System nicht kompilieren und komm auch nicht auf den Fehler. Kile gibt mir nur folgendes zurück:
[LaTeX] minimalbeispiel.tex => minimalbeispiel.dvi (latex)
[LaTeX] mit Status 1 beendet
minimalbeispiel.tex:0: Overwriting file `./buch.bib'.
minimalbeispiel.tex:0:Emergency stop.
[LaTeX] 1 Fehler, 1 Warnung, 0 BadBoxes
Hier das Minimalbeispiel:
\documentclass[12pt,a4paper,ngerman]{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\usepackage{url}
\begin{filecontents*}{buch.bib}
@MISC{RFC5342,
author={Donald, E.},
TITLE = "{RFC5342 - IANA Considerations and IETF Protocol Usage for IEEE 802 Parameters}",
PUBLISHER = {Eastlake Enterprises},
MONTH = {sep},
YEAR = {2008},
HOWPUBLISHED = "{URL: \url{http://standards.ieee.org/getieee802/download/802.1D-2004.pdf}}",
NOTE = {accessed: 2009-01-23},
key={RFC5342},
}
\end{filecontents*}


\begin{document}
... wie im \cite{RFC5342} zu lesen ist, gibt es ...
\bibliographystyle{amsalpha}
\bibliography{buch}

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

In Deinem Minimalbeispiel fehlt das \end{document} am Ende. Wenn ich das hinzufüge, dann funktioniert folgendes:
  1. amsalpha.bst kopieren und dabei in myalpha.bst umbenennen
  2. myalpha.bst editieren und die Funktion calc.label wie folgt ändern:
    FUNCTION {calc.label}
    { key empty$
    { type$ "book" =
      type$ "inbook" =
      or
        'author.editor.key.label
        { type$ "proceedings" =
    	'editor.key.organization.label
    	{ type$ "manual" =
    	    'author.key.organization.label
    	    'author.key.label
    	  if$
    	}
          if$
        }
      if$
      duplicate$
      year field.or.null purify$ #-1 #2 substring$
      *
      'label :=
      year field.or.null purify$ #-1 #4 substring$
      *
      sortify 'sort.label :=
    }
    { key
      duplicate$
      'label :=
      sortify 'sort.label := }
    if$
    }
  3. Im Beispiel \bibliographystyle{amsalpha} in
    \bibliographystyle{myalpha}
    ändern.
  4. LaTeX-Lauf durchführen
  5. BibTeX-Lauf durchführen
  6. LaTeX-Lauf durchführen
Hintergrund. Die Funktion bestimmt das zu verwendende Label. In der geänderten Funktion wird zunächst einfach getestet, ob ein key existiert. Ist dies der Fall, wird er unverändert als label verwendet - was etwas ungewöhnlich ist, weil normalerweise noch das Jahr angehängt wird. Das gilt dann übrigens für alle Eintragsarten nicht nur für @MISC!

Das Minimalbeispiel war übrigens wirklich notwendig. Eigentlich hatte ich nämlich eine andere Idee, die ohne bst-Änderung auskommen sollte, aber wie ein Test mit dem Beispiel zeigte, nicht funktioniert hat.

Ovaron
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Fr 5. Jun 2009, 11:51

Beitrag von Ovaron »

Ich hab das mal probiert. Leider kommt bei mir ein fehler, wenn ich "bibtex minimalbeispiel.aux" ausführe: "I couldn't open style file myalpha.bst"

Hier meine Vorgehensweise:
1.) Im Verzeichnis /usr/share/texmf-texlive/bibtex/bst/ams/ amsalpha.bst mit "mid sudo cp amsalpha.bst myalpha.bst" kopiert
2.) mit "sudo vim myalpha.bst" die entsprechenden Zeilen eingefügt
3.) den bibstype im dokument geändert
4.) "latex minimalbeispiel.tex"
5.) "bibtex minimalbeispiel.aux"
6.) "latex minimalbeispiel.tex"

was hab ich falsch gemacht ?

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Wenn Du eine neue Datei im TEXMF-Baum der Distribution ablegst, dann musst Du anschließend texhash aufrufen, damit die Datei dort auch gefunden wird (MiKTeX-Anwender verwenden stattdessen den Knopf für die Erneuerung der Filename Database im MiKTeX-Konfigurationstool). Allerdings solltest Du im TEXMF-Baum der Distribution keine Dateien ablegen, sondern ggf. im lokalen Baum. Den findet man bei TeXLive per
kpsewhich -var-value=TEXMFLOCAL
wobei dort wiederum die korrekte Verzeichnishierarchie zu verwenden ist, die auch im Distributionsbaum verwendet wird.

Ansonsten werden Dateien im aktuellen Arbeitsverzeichnis immer gefunden. Für Dinge, die man nur einmal braucht, ist das ein guter Platz. Für Dinge, die man vielleicht einmal wieder braucht, ist der Ort weniger geeignet.

Ovaron
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Fr 5. Jun 2009, 11:51

Beitrag von Ovaron »

Ich hab alles gemacht, was du gesagt hast .. irgendwas davon hat geholfen :D

wirklich fein, das ist genau das was ich wollte! Ein Riesen-Dankeschön an dich!

Antworten