0

I'm currently making the switch from the integrated LaTeX bibliography tool to BibTeX + BibLaTeX. In the integrated bibliography tool I have a direct (and rather easy) control on the appearance of the bibliographic entries. I am finding it very difficult to control the appearance with BibLaTeX. My question is: how to customize the BibLaTeX style to get an appearance of the form

[DS24] J. Doe, J. Smith, Groundbreaking title, Ann. of Math. 18 (2024), 11-23

That is, the blocks are:

  • Author names as a list of {First name initial}.{Space}{Surname} separated by a comma without final "and"
  • Title of paper in italics
  • {Name of journal} + {Volume number in bold} + {Year in parentheses} (NB: no commas)
  • Start page - end page (NB: no period at the end)

and the blocks are separated by a comma.

1
  • 2
    I guess you should be able to find most things in tex.stackexchange.com/q/12806/35864. Have a look at the answer there and consider updating your question with a short example document showing which questions you could solve that way and what still remains. Please keep in mind that it is usually much better to ask separate questions for separate formatting questions, because that makes the question more helpful for other people (cf. tex.meta.stackexchange.com/q/7425/35864). – moewe Apr 10 at 11:36
2

Something like this will get you started. I used the ext-alphabetic from the biblatex-ext bundle as it simplifies some changes.

\documentclass{article}

\begin{filecontents}[overwrite]{\jobname.bib}
@article{ds24,
  author = {Doe, John and Smith, John},
  title = {Groundbreaking Title},
  journaltitle = {Ann. of Math.},
  volume = {18},
  date = {2024},
  pages = {11-13}
}
\end{filecontents}

\usepackage[style=ext-alphabetic, giveninits, articlein=false]{biblatex}
\addbibresource{\jobname.bib}

\DeclareFieldFormat{titlecase:title}{\MakeSentenceCase*{#1}}

\DeclareFieldFormat[article]{journaltitle}{#1\isdot}
\DeclareFieldFormat[article]{pages}{\mknormrange{#1}}
\DeclareFieldFormat[article]{title}{\mkbibemph{#1}}
\DeclareFieldFormat[article]{volume}{\mkbibbold{#1}}

\DeclareDelimFormat{multinamedelim}{\addcomma\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\finentrypunct}{}

\begin{document}

\cite{ds24}

\printbibliography

\end{document}

output

5
  • 1
    Plus \renewcommand*{\newunitpunct}{\addcomma\space}, I guess. I'd replace \DeclareDelimFormat{finalnamedelim}{\addcomma\space} with \DeclareDelimAlias{finalnamedelim}{multinamedelim}. – moewe Apr 10 at 12:06
  • Ah yes, it's hard to notice everything in this questions – David Purton Apr 10 at 12:07
  • Absolutely (it happened to me lots of times), that's why I try to nudge people to ask separate questions for separate requirements. – moewe Apr 10 at 12:08
  • Thank you for your answer, that's very helpful and I'm going to accept it. To moewe: I agree with your rationale and I apologize for putting too much in a single question. On the other hand, after two-three hours of reading around, I found that tinkering with the style in BibLaTeX is both 1) highly non-trivial 2) lacks readable tutorials IMHO (or at least, I have not been able to find them). That's why I finally decided to ask a "spoonfeeding" question. – Chris Apr 10 at 13:56
  • 1
    @Chris Sure, heaven knows we are aware that biblatex can be tricky to learn. And I don't want to discourage you from asking spoonfeeding questions. I'd just like to recommend to ask separate questions about separate issues. That makes things easier for everyone. (I'd have written an answer immediately and not linked to the general customise biblatex question, if the question had been about only one thing. But with questions like this you always have to be careful not to miss anything.) – moewe Apr 10 at 14:30

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.