8

I want to have the DOI field explicitly printed for just one (or two) citations (\fullfootcite in my case). For the rest of the document, I use the doi=false option of biblatex combined with a DOI link included in the title of the reference. The other questions about per citation options found here and here are only concerned with modifying the number of printed author names.

  • 2
    Why not skip an explicit call to \fullfootcite and simply use \citefield{<entry key>}{doi} along with \fullcite in a \footnote command? – jon Jul 23 '13 at 19:15
  • @jon That's certainly a possibility, I didn't know the \citefield command. However, it would be interesting to know whether there is a more general solution which does not include the manual workaround. – sebschub Jul 23 '13 at 19:41
  • Well, rather than fiddle with a basic citation command for what you consider to be an exception to the normal operation of things, I think it is better to wrap my suggestion into a custom command of your own (which I should perhaps have mentioned explicitly), or by using biblatex's \DeclareCiteCommand. – jon Jul 23 '13 at 20:43
  • @jon Because \citefield doesn't apply the same format as the bibliography driver. The user would also have to replicate the driver's order and unit punctuation. Small changes to existing citation commands are best handled using the citation hooks. For big changes \DeclareCiteCommand should almost always be preferred over generic LaTeX commands. – Audrey Jul 23 '13 at 21:52
  • @Audrey -- I agree that using biblatex methods is usually the better way forward (and +1 for your simple and elegant answer), but if one is globally turning off the DOI field, there is no a priori reason to assume that the bibliography driver is doing or even needs to be doing the 'right thing' with the formatting of the DOI field. Thus the simpler, and perhaps much faster (depending on one's knowledge of biblatex), though certainly less cleaner, solution may be to use a low-level command for what amounts to an ad hoc problem. – jon Jul 23 '13 at 22:19
9

From standard.bbx it is apparent that the doi option setting toggles the value of bbx:doi. Loading biblatex with doi=false essentially invokes \togglefalse{bbx:doi}. To enable doi for just a few \fullfootcite commands, use:

\AtNextCite{\toggletrue{bbx:doi}}\fullfootcite{<keys>}

Note that use of \AtNextCite is appropriate here because the scope of doi is global. Scope of all standard options can be found in the biblatex manual appendix called "Option Scope".

  • @sebschub As a regular user of FontPro, this is the least I could do. – Audrey Jul 25 '13 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.