[Tex/LaTex] put biblatex style modifications

biblatexexternal files

Guidelines for customizing biblatex styles says:

Finally, assuming that I'll want to use my style adjustments in a multitude of documents: Where do I put the relevant macro stuff?

The recommended answer is a copy of biblatex.cfg in one's local texmf tree. However, going away from above precondition:

What are all the places, i.e. file types and respective locations, where I can put biblatex style modifications?

I know you can write your own bbx and cbx styles, and there's probably a way to put modifications directly in a tex file? What are the limitations, advantages and disadvantages of each of these, which kind of modification typically goes where, which overrule others …?

Best Answer

I am not sure to correctly understand your questions, but the BibLaTeX style files can be put in:

/texmf/tex/latex/biblatex/bbx ---> .bbx files (= bibliographies)
/texmf/tex/latex/biblatex/cbx ---> .cbx files (= in text citations)
/texmf/tex/latex/biblatex/lbx ---> .lbx files (= language strings)
/texmf/tex/latex/biblatex/    ---> other files (.cfg for instance)

You can put most modifications directly in a .cls, .sty or .tex file as well (I say "most" to be on the safe side, I have not tried extensively but so far everything I have modified in a .tex file has worked).

The last modification overrides the previous ones as usual. Indeed, if you are writing in a .tex file, you must input your modifications after loading BibLaTeX, because it creates the macros and commands you will be using.

If you have somewhat significant modifications to make, it is better to put them in a dedicated style file in texmf, so as not to clutter your other files. Also, you can load any style file as an option to the biblatex package – which seems more appropriate than inputing / loading a separate file. (But nothing prevents you from making shortcuts to your style files if you are lazy to navigate texmf every time you want to change them.)

Whenever you make a style file, whatever method you pick, you run the risk that a BibLaTeX update may cause some errors (although it is very rare).


Edit (trying to make my answer more complete)

As regards writing style files, I would suggest finding the one that is closest to your needs in the texmf-dist folder, duplicating it to texmf and then modifying it. This way you can learn from the style, and you have something to start from.

As regards .bbx files, as hinted above they are used for typesetting the entire bibliography. Many styles eventually load standard.bbx. A typical file will contain some information about formatting fields (\DeclareFieldFormat), some information about formatting entries (\DeclareBibliographyDriver) and various user (re)defined macros.

In .cbx files, you will find some information about formatting fields (\DeclareFieldFormat) and the definition of various citation commands (\DeclareCiteCommand and \DeclareMultiCiteCommand). The latter are also implemented through macros.

The .lbx files contain language related information, which typically includes some typographic settings for the specific language, and the strings that BibLaTeX will use when printing citations and bibliographies (\DeclareBibliographyStrings).