I'm writing a document class for my faculty. Most users will be relatively casual, non-expert with LaTeX and I want to cause them minimal fuss and work when using the class. In service of this, I thought I would specify the correct citation and bibliography setup (as defined by the faculty's presentation guidelines) for them. I used biblatex. There are other good reasons to use biblatex in the class too (I define a commmand which some users will find very useful, which uses biblatex's advanced features heavily).
This works fine. However, there are some situations where the user might wish to use different options from the ones I pass to biblatex in the class file. The natural way for them to do this is \usepackage[<options>]{biblatex}. But of course doing so produces an error:
From the .log file...
The package biblatex has already been loaded with options:
[style=authoryear-ibid,autocite=inline,sorting=nyt,url=false,doi=false,isbn=f
alse,]
There has now been an attempt to load it with options
[autocite=footnote]
Adding the global options:
style=authoryear-ibid,autocite=inline,sorting=nyt,url=false,doi=false,isbn=fa
lse,,autocite=footnote
to your \documentclass declaration may fix this.
Try typing <return> to proceed.
I imagine this is a pretty common problem: the class file needs to define default behaviour for something and uses a package, the user wants to use the same package to alter the behaviour. Is there a standard way to deal with this sort of thing?
TIA!
PassOptionsToPackage? Although I'm not an expert about these things. – user202729 Oct 24 '21 at 02:10