Having read this answer on how to modify an existing bibliography style if you only want to apply small changes (that is, if you want to avoid defining a completely new style using latex makebst
), I was wondering whether it is possible to achieve this without having to create a new .bst
file: Can I use an existing bibliography style (say, plain
) and make changes to it directly in my .tex
document?
The motivation behind this is that I would like to be able to quickly change the underlying bibliography style (e.g. from plain to abbrv) while keeping the modifications (e.g. font variations) without having create a new modified style file.
So I am wondering whether anything like this can be achieved, used in a .tex
document:
\bibliographystyle{plain}
% modifications to the style come here, e.g. modify FUNCTION {date.block}
Thanks in advance!
Best Answer
No, you always have to create a new
.bst
file. BibTeX reads the.bst
file when doing formatting, but has no direct interaction with the.tex
file (it scans the.aux
file for citation and style names, but that is all). You could use thefilecontents
environment to embed a.bst
file inside a.tex
file, but this is probably not that useful as.bst
files tend to be large (1000+ lines is typical). Note that you don't have to generate a.bst
file from scratch: making a renamed copy and altering the required parts is doable (ask about your modification in a separate question if needed).One of the reasons for the development of
biblatex
is precisely because it leaves formatting to the.tex
file. As such,biblatex
styles can be adjusted in the LaTeX document. On the other hand,biblatex
uses a completely separate set of standard styles to traditional BibTeX, so a transition may not be trivial, depending on your requirements.