BibTeX: Stile anpassen
Apr 2021 LaTeX
In diesem Tutorial wird gezeigt, wie man BibTeX-Stile anpassen kann, indem man Änderungen an der bst-Datei vornimmt.
Ich möchte in einem meiner Dokumente auf Quellen verweisen, die zu keinem der vordefinierten Stile von BibTeX passen. Hier zeige ich, wie man mit ein paar einfachen Änderungen das gewünschte Ergebnis erzielen kann.
Das Ergebnis sieht so aus:

Um den Stil der zitierten Quellen zu ändern, kopiert man zuerst die Datei
Dann wird in
Nach dem Kompilieren sollte man man das gleiche Ergebnis wie oben erhalten.
Änderungen am Literaturtyp
Nun soll der Eintrag für die Heiratsurkunde geändert werden.
vorher:

hinterher:

… d.h. hinter dem Wort „Heiratsurkunde“ soll ein Komma anstelle eines Punktes stehen, die Namen sollen nicht kursiv gesetzt sein, und es soll ein Feld für einen Dateinamen oder eine URL eingefügt werden.
Zuerst ändern wir den Punkt und die Formatierung der Namen:
Das Auskommentieren von
Das Ergebnis sieht so aus:

Jetzt sieht es so aus:

Nun soll noch ein Feld eingefügt werden, in dem ein Dateiname oder ein URL stehen soll, der als solche auf einen Blick kenntlich ist. Hierfür verwende ich das Feld
…und dann die Ausgabe des Feldes in
Jetzt sieht es so aus:

Damit der Inhalt des Feldes
…und in
Das Ergebnis sieht so aus:

Änderungen am Literaturtyp
Als nächstes soll der Adreßbucheintrag angepaßt werden:
vorher:

nachher:

Zuerst entfernen wir den Punkt hinter dem Wort „Freiberg“:
Der Stern (*) anstelle von
Jetzt sieht es so aus:

Jetzt muß noch die Reihenfolge von Jahr und Seite getauscht werden, die in den Feldern
Die Zeile

LaTeX Version: TeX Live 2017
BibTeX Version: 0.99d
pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017)
TeXShop Version 3.92 (3.92)
macOS Sierra
Ich möchte in einem meiner Dokumente auf Quellen verweisen, die zu keinem der vordefinierten Stile von BibTeX passen. Hier zeige ich, wie man mit ein paar einfachen Änderungen das gewünschte Ergebnis erzielen kann.
Beispieldokument erstellen
Zuerst erstelle ich ein minimales LaTeX-DokumentDokument.tex
, das Referenzen aus der Datei Literatur.bib
nutzt. Ich nutze den Zitierstil bibliographystyle{alpha}
, weil man damit bereits am Verweis erkennen kann, um welche Art Dokument es sich handelt und aus welchem Jahr es stammt.Dokument.tex
:\documentclass{article}
% für Umlaute
\usepackage[latin1]{inputenc}
% für deutsche Überschrift
\usepackage[german]{babel}
% für Quellenangaben
\usepackage{cite}
\begin{document}
Eine Heiratsurkunde \cite{Hei33}.
Ein Eintrag im Adressbuch \cite{Fre96}.
\bibliographystyle{alpha}
\bibliography{Literatur}
\end{document}
Literatur.bib
:@Manual{Hei33,
title = {Robert Traugott Pöhle und Martha Tugendreich Borrmann},
year = {1933},
author = {Heiratsurkunde},
organization = {Standesamt Großenhain},
address = {Nr. 1716},
month = {30. Januar},
note = {beglaubigte Kopie},
}
@Misc{Fre96,
year = {1896},
howpublished = {S. 239},
author = {Adressbuch Freiberg},
note = {Eintrag im Namensteil},
}
Das Ergebnis sieht so aus:

Um den Stil der zitierten Quellen zu ändern, kopiert man zuerst die Datei
alpha.bst
unter einem neuen Namen in das Verzeichnis, in dem das Dokument liegt. In diesem Beispiel ist das der Ordner BibTeX_Beispiel
, die neue Stildatei heißt meinalpha.bst
. (Der Speicherort der Datei alpha.bst
hängt von der verwendeten LaTeX-Distribution ab.)BibTeX_Beispiel$ cp /usr/local/texlive/2017basic/texmf-dist/bibtex/bst/base/alpha.bst meinalpha.bst
Dann wird in
Dokument.tex
der Eintrag für bibliographystyle
angepaßt:anpassen:
…
Ein Eintrag im Adressbuch \cite{Fre96}.
\bibliographystyle{meinalpha}
\bibliography{Literatur}
…
Nach dem Kompilieren sollte man man das gleiche Ergebnis wie oben erhalten.
Änderungen am Literaturtyp Manual
Nun soll der Eintrag für die Heiratsurkunde geändert werden.vorher:

hinterher:

… d.h. hinter dem Wort „Heiratsurkunde“ soll ein Komma anstelle eines Punktes stehen, die Namen sollen nicht kursiv gesetzt sein, und es soll ein Feld für einen Dateinamen oder eine URL eingefügt werden.
Zuerst ändern wir den Punkt und die Formatierung der Namen:
BibTeX_Beispiel$ vi meinalpha.bst
anpassen:
…
FUNCTION {manual}
{ output.bibitem
author empty$
{ organization empty$
'skip$
{ organization output.nonnull
address output
}
if$
}
{ format.authors output.nonnull }
if$
% new.block
% format.btitle "title" output.check
format.title "title" output.check
author empty$
{ organization empty$
…
Das Auskommentieren von
new.block
macht aus dem Punkt ein Komma, und format.title
setzt den Text im Feld title
normal statt kursiv. Das Ergebnis sieht so aus:

format.title
setzt die Anfangsbuchstaben der Wörter im Feld title
klein, nur das erste Wort wird großgeschrieben. Das kann man in Literatur.bib
ändern, indem man den Eintrag in doppelte geschweifte Klammern setzt:einfügen:
title = {{Robert Traugott Pöhle und Martha Tugendreich Borrmann}},
Jetzt sieht es so aus:

Nun soll noch ein Feld eingefügt werden, in dem ein Dateiname oder ein URL stehen soll, der als solche auf einen Blick kenntlich ist. Hierfür verwende ich das Feld
volume
, das im Stil Manual
von Haus aus nicht enthalten ist. Zuerst wird das Feld volume
und sein Inhalt in Literatur.bib
eingefügt:einfügen:
month = {30. Januar},
volume = {Hei33.pdf},
note = {beglaubigte Kopie},
…und dann die Ausgabe des Feldes in
meinalpha.bst
ergänzt:einfügen:
…
FUNCTION {manual}
…..
format.edition output
format.date output
new.block
volume output
note output
fin.entry
}
…
Jetzt sieht es so aus:

Damit der Inhalt des Feldes
volume
optisch heraussteht und auch eine URL enthalten kann, wird in Dokument.tex
der Inhalt des Feldes volume
als URL gekennzeichnet:anpassen:
volume = {\url{Hei33.pdf}},
…und in
Dokument.tex
das Paket url
eingefügt:einfügen:
…
% für Quellenangaben
\usepackage{cite}
% für URLs
\usepackage{url}
…
Das Ergebnis sieht so aus:

Änderungen am Literaturtyp Misc
Als nächstes soll der Adreßbucheintrag angepaßt werden:vorher:

nachher:

Zuerst entfernen wir den Punkt hinter dem Wort „Freiberg“:
BibTeX_Beispiel$ vi meinalpha.bst
anpassen:
…
FUNCTION {misc}
{ output.bibitem
% format.authors output
format.authors *
" " *
title howpublished new.block.checkb
format.title output
howpublished new.block.checka
howpublished output
format.date output
new.block
note output
fin.entry
empty.misc.check
}
…
Der Stern (*) anstelle von
output
sorgt dafür, daß Punkt und Leerzeichen entfallen, letzteres wird in der folgenden Zeile wieder eingefügt.Jetzt sieht es so aus:

Jetzt muß noch die Reihenfolge von Jahr und Seite getauscht werden, die in den Feldern
date
und howpublished
stehen.BibTeX_Beispiel$ vi meinalpha.bst
anpassen:
…
FUNCTION {misc}
{ output.bibitem
% format.authors output
format.authors *
" " *
title howpublished new.block.checkb
format.title output
% howpublished new.block.checka
% howpublished output
format.date output
howpublished output
new.block
note output
fin.entry
empty.misc.check
}
…
Die Zeile
howpublished output
wird nach unten verschoben, die Zeile howpublished new.block.checka
wird auskommentiert, da sonst ein Punkt zwischen Jahr und Seite anstelle des gewünschten Kommas stehen würde. Das Ergebnis sieht jetzt so aus:
Zusammenfassung
Hier sind noch einmal alle Änderungen an der Stildatei auf einen Blick:BibTeX_Beispiel$ diff /usr/local/texlive/2017basic/texmf-dist/bibtex/bst/base/alpha.bst meinalpha.bst
714,715c714,716
< new.block
< format.btitle "title" output.check
---
> % new.block
> % format.btitle "title" output.check
> format.title "title" output.check
731a733
> volume output
753c755,757
< format.authors output
---
> % format.authors output
> format.authors *
> " " *
756,757d759
< howpublished new.block.checka
< howpublished output
758a761,762
> % howpublished new.block.checka
> howpublished output
LaTeX Version: TeX Live 2017
BibTeX Version: 0.99d
pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017)
TeXShop Version 3.92 (3.92)
macOS Sierra