Archiv verlassen und diese Seite im Standarddesign anzeigen : Bibtex .BST-File bearbeiten
Hallo zusammen,
in meinem Literaturverzeichnis muss ich noch einen Doppelpunkt nach der "Address" einfügen.
Es muss also Frankfurt: Fischer. heißen. Ich habe allerdings keine Ahnung, wo ich dies in meinem .bst-file ändern kann.
Hat da jemand eine Idee? Das .bst-file habe ich in einer .zip-Datei angehängt.
Viele Grüße
Fite
\documentclass{article}
\usepackage[authoryear]{natbib}
\bibliographystyle{mydcugerman}
\begin{document}
\cite{Adler}
\bibliography{Lit}
\end{document}
Lit.bib entry
@BOOK{Adler,
AUTHOR="Adler, Alfred and Metzger, Wolfgang (Hg.)",
YEAR="$^{12}$2006",
TITLE="Praxis und Theorie der Individualpsychologie",
ADDRESS="Fischer",
PUBLISHER="Frankfurt"
}
Hallo, Fite!
Hallo zusammen,
in meinem Literaturverzeichnis muss ich noch einen Doppelpunkt nach der "Address" einfügen.
Es muss also Frankfurt: Fischer. heißen. Ich habe allerdings keine Ahnung, wo ich dies in meinem .bst-file ändern kann.
Hat da jemand eine Idee? Das .bst-file habe ich in einer .zip-Datei angehängt.
Ich habe mich mal der Herausforderung gestellt und bin sogar zu einem Ergebnis gekommen -- allerdings weiß ich nicht genau, wieso es gerade so funktioniert. :-)
Lit.bib entry
ADDRESS="Fischer",
PUBLISHER="Frankfurt"
Das ist doch Blödsinn -- die Adresse ist "Frankfurt" und Publisher ist "Fischer"!
In der bst-Datei habe ich folgende Funktion definiert:
FUNCTION {publisher+address.output}
{ address empty$
{ publisher output }
{ publisher empty$
{ skip$ }
{ ": " * publisher * address pop$ }
if$
}
if$
}
Dann muss nur noch diese Funktion aufgerufen werden. Bei dieser Gelegenheit ändern wir auch noch gleich die Reihenfolge, in der Publisher und Address ausgegeben werden -- dann kannst Du zumindest bei @BOOK schon die beiden Felder korrekt verwenden.
FUNCTION {book}
{ output.bibitem
list.label.output
" " list.year * "" * output.nonnull
new.block
author empty$
{ editor "author and editor" item.check }
{ crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
title.field field.used =
{ skip$ }
{ format.btitle "title" output.check }
if$
crossref missing$
{ format.bvolume output
format.number.series output
format.edition output
% ***** Hier ändert sich etwas! *****
% publisher "publisher" output.check
address output
publisher+address.output
% ***** Das war schon alles! *****
}
{ format.book.crossref output.nonnull
format.edition output
}
if$
new.block
note output
write.urldate % line added by jhe & kho
fin.entry
write.url
}
Analog verfährst Du bei bei den anderen Funktionen, die Address/Publisher ausgeben (inbook, incollection, inproceedings und proceedings). Ich hoffe, dass ich jetzt keine neuen Fehler eingebaut habe; möglicherweise geht es auch eleganter -- ich habe hier nur rumgespielt! :-)
Schönen Abend noch
Andreas
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.