[Tex/LaTex] How to modify an existing bibliography style

bibliographiesbibtex

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 the filecontents 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.

Related Question