Nach dem LesenDasAntwort auf die Frage, wie man einen bestehenden Bibliographiestil ändert, wenn man nur kleine Änderungen vornehmen möchte (das heißt, wenn man vermeiden möchte, einen komplett neuen Stil mit zu definieren latex makebst
), habe ich mich gefragt, ob es möglich ist, dies zu erreichenohneohne dass ich eine neue Datei erstellen muss .bst
: Kann ich einen vorhandenen Bibliografiestil (z. B. plain
) verwenden und Änderungen direkt in meinem .tex
Dokument vornehmen?
Die Motivation dahinter ist, dass ich in der Lage sein möchte, den zugrunde liegenden Bibliografiestil schnell zu ändern (z. B. von einfach zu Abkürzung) und dabei die Modifikationen (z. B. Schriftartvariationen) beizubehalten, ohne eine neue geänderte Stildatei erstellen zu müssen.
Daher frage ich mich, ob sich so etwas erreichen lässt, wenn man es in einem .tex
Dokument verwendet:
\bibliographystyle{plain}
% modifications to the style come here, e.g. modify FUNCTION {date.block}
Dank im Voraus!
Antwort1
Nein, Sie müssen immer eine neue .bst
Datei erstellen. BibTeX liest die .bst
Datei beim Formatieren, interagiert aber nicht direkt mit der .tex
Datei (es durchsucht die .aux
Datei nach Zitat- und Stilnamen, aber das ist alles). Sie könnten die Umgebung verwenden, um eine Datei in eine Datei filecontents
einzubetten , aber das ist wahrscheinlich nicht so nützlich, da Dateien in der Regel groß sind (üblicherweise über 1000 Zeilen). Beachten Sie, dass Sie keine Datei von Grund auf neu erstellen müssen : Es ist möglich, eine umbenannte Kopie zu erstellen und die erforderlichen Teile zu ändern (fragen Sie bei Bedarf in einer separaten Frage nach Ihrer Änderung)..bst
.tex
.bst
.bst
Einer der Gründe für die Entwicklung vonbiblatex
liegt genau darin, dass die Formatierung der .tex
Datei überlassen wird. Daher biblatex
können die Stile im LaTeX-Dokument angepasst werden. Andererseits biblatex
verwendet es einen völlig anderen Satz von Standardstilen als das traditionelle BibTeX, sodass ein Übergang je nach Ihren Anforderungen möglicherweise nicht trivial ist.