1

I've been scouring the internet for the last hour trying to solve this and I can't yet. I have a list of references, a mix of books, articles/papers, and tech reports. Using biblatex means these are inconsistently formatted - some years are in brackets, other not, some titles are italicised, others not, and so on...

Here's my preamble code:

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[backend=biber, sorting=none, maxbibnames=99, style=numeric]{biblatex}
\addbibresource{bibliography.bib}

\begindocument
\printbibliography
\enddocument

My bibliography is really long, so I won't print all of it, but just as an example of a paper:

Matthew W. Christensen, William K. Jones, and Philip Stier. “Aerosols enhance cloud lifetime and brightness along the stratus-to-cumulus transition”. In: Proceedings of the National Academy of Sciences 117 (2020). visited on 19/04/2021.doi:10.1073/pnas.1921231117

with the .bib entry:

@article{christensen_aerosols_2020,
    title = {Aerosols enhance cloud lifetime and brightness along the stratus-to-cumulus transition},
    volume = {117},
    journal = {Proceedings of the National Academy of Sciences},
    author = {Christensen, Matthew W. and Jones, William K. and Stier, Philip},
    year = {2020},
doi={10.1073/pnas.1921231117},
    note={visited on 19/04/2021}

and an example of a book:

Esam M.A. Hussein. Computed Radiation Imaging; chapter 1 - Radiation Imaging. 1st edition. visited on 09/07/2021. Elsevier, 2011.doi:10.1016/B978-0-12-387777-2.00021-5

with .bib entry:

@book{hussein_inverse_2011,
title={Computed Radiation Imaging; chapter 1 - Radiation Imaging},
year={2011},
edition={1st edition},
publisher={Elsevier},
author={Esam M.A. Hussein},
doi={10.1016/B978-0-12-387777-2.00021-5},
note={visited on 09/07/2021},
}

How do I get one to look like the other?

  • I don't care which - but either the paper title has to be in italics, without quotation marks, or the book needs to be in normal font, with quotation marks.
  • The year either consistently in or consistently out of brackets.

I've tried a bunch of packages, but none of them really seem to work. I've also considered just calling them all the same entry type, but this doesn't work because obviously a book and an article have different kinds of associated information (publisher vs journal, for example..).

7
  • 2
    @Learn4life always feel free to rollback edits, if you click on the "edited 1 min ago" link there is an option to do that. While you are there you could add a 2-entry .bib file so that people could get your result and test any answers. Commented Jul 16, 2021 at 10:54
  • 1
    Off-topic: Why do you show date-last-visited information for entries of type @article and @book? It's not as if the contents of a book or of an article published in a scholarly journal are going to change from one month to another, let alone from one year to another, right? The only entry types for which it may make sense to show a last-visited field are @online, @misc, @unpublished, and @techreport (and maybe a few others) whose contents could conceivably change meaningfully over time.
    – Mico
    Commented Jul 16, 2021 at 10:55
  • 3
    This convention is normal: when you're in a library, and you want to read a book, you find the book by its title, whereas if you xant to read an article, you have find the journal.
    – Bernard
    Commented Jul 16, 2021 at 10:57
  • 1
    This is fair, but my supervisor asked me to make it consistent..so i have to make it consistent
    – Learn4life
    Commented Jul 16, 2021 at 10:59
  • 2
    @Learn4life - It may be time to remind your supervisor of what Ralph Waldo Emerson (1803-1882) had to say about (foolish) consistency: "A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines." For sure, your supervisor's opinion on the topic at hand is simply dead wrong, especially as the opinion flies in the face of well-established and well-tested bibliographic formatting practice. You'd be doing future students of his (hers?) a huge favor by making the case that it's time to drop the consistency pretense.
    – Mico
    Commented Jul 16, 2021 at 11:09

1 Answer 1

1

The output of the standard styles is consistent and makes sense if you cast your mind back to the days of physical libraries and keep in mind that you could see book titles and journal titles on the spines (and the covers) of books/journal volumes and article titles and chapter titles only once you actually opened the book/volume. Titles that are typeset in italics can be seen in a library without opening books, titles in quotation marks can be found in the table of contents once the book is open.

This is not something that biblatex made up, it can be found in well-known and common styles like APA (https://apastyle.apa.org/style-grammar-guidelines/references/examples/journal-article-references, https://apastyle.apa.org/style-grammar-guidelines/references/examples/book-references), Chicago style (https://www.chicagomanualofstyle.org/tools_citationguide/citation-guide-1.html), MLA (https://style.mla.org/works-cited/works-cited-a-quick-guide/), IEEE (https://ieeeauthorcenter.ieee.org/wp-content/uploads/IEEE-Reference-Guide.pdf), New Hart's Rules.

It kind of makes sense to put the year for @articles in brackets because the volume and number information usually implies the year and is more fine grained.

Here different styles guides have different opinions. Chicago style puts @article years in parentheses, but not years of other types (https://www.chicagomanualofstyle.org/tools_citationguide/citation-guide-1.html), IEEE style has no brackets for any year, Hart's has brackets for all years.


If you have to make the output more consistent across types

  • Remove Quotation Marks from Style explains how type-specific formatting works. For all-italic titles you could try

    \DeclareFieldFormat*{title}{\mkbibemph{#1}}
    \DeclareFieldFormat{journaltitle}{\mkbibemph{#1\isdot}}
    \DeclareFieldFormat{issuetitle}{\mkbibemph{#1}}
    \DeclareFieldFormat{maintitle}{\mkbibemph{#1}}
    \DeclareFieldFormat{booktitle}{\mkbibemph{#1}}
    
  • the parentheses around the date for @articles can easily be removed with biblatex-ext (full disclosure: I'm the author)

    \renewcommand*{\volnumdatedelim}{\addcomma\space}
    \DeclareFieldFormat{issuedate}{#1}
    

Note that if you want to cite only one chapter from a @book you should use the @inbook type and not the @book type with chapter number in the title. The MWE below contains entries for both Hussein's @book and @inbook. Indeed, using @inbook here makes things more consistent with @articles with the default settings, because they work analogous in the 'physical library' sense explained above. That said, usually I see full books listed in the bibliography and not individual chapters. (This is different when we are talking about @incollections, i.e. papers in a collection volume. There @incollection is more common than @collection.)

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=ext-numeric, sorting=none, maxbibnames=99,]{biblatex}

\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat{journaltitle}{\mkbibemph{#1\isdot}}
\DeclareFieldFormat{issuetitle}{\mkbibemph{#1}}
\DeclareFieldFormat{maintitle}{\mkbibemph{#1}}
\DeclareFieldFormat{booktitle}{\mkbibemph{#1}}

\renewcommand*{\volnumdatedelim}{\addcomma\space}
\DeclareFieldFormat{issuedate}{#1}

\begin{filecontents}{\jobname.bib}
@article{christensen_aerosols_2020,
  title   = {Aerosols Enhance Cloud Lifetime and Brightness
             Along the Stratus-to-Cumulus Transition},
  volume  = {117},
  journal = {Proceedings of the National Academy of Sciences},
  author  = {Christensen, Matthew W. and Jones, William K. and Stier, Philip},
  year    = {2020},
  doi     = {10.1073/pnas.1921231117},
  urldate = {2021-04-19},
}
@inbook{hussein_inverse_2011:chap1,
  author    = {Esam M. A. Hussein},
  title     = {Radiation Imaging},
  chapter   = {1},
  pages     = {1-12},
  booktitle = {Computed Radiation Imaging},
  year      = {2011},
  edition   = {1},
  publisher = {Elsevier},
  doi       = {10.1016/B978-0-12-387777-2.00001-X},
  urldate   = {2021-07-09},
}
@book{hussein_inverse_2011:book,
  author    = {Esam M. A. Hussein},
  title     = {Computed Radiation Imaging},
  year      = {2011},
  edition   = {1},
  publisher = {Elsevier},
  doi       = {10.1016/C2011-0-00133-3},
  urldate   = {2021-07-09},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson,christensen_aerosols_2020,
  hussein_inverse_2011:chap1,worman,nussbaum,hussein_inverse_2011:book}

\printbibliography
\end{document}

Emma Sigfridsson and Ulf Ryde. Comparison of methods for deriving atomic charges from the electrostatic potential and moments. In: Journal of Computational Chemistry 19.4, 1998, pp. 377–395. doi: 10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P.

5
  • +1 for "if you want to cite only one chapter from a @book you should use the @inbook type". :-)
    – Mico
    Commented Jul 16, 2021 at 13:26
  • Using @inbook will make things consistent: "article title" in Journal Title, and "Chapter title" in Book Title (not: Book Title, Chapter title).
    – Cicada
    Commented Jul 16, 2021 at 13:35
  • @Cicada Yeah, because @article and @inbook are analogous in that regard. But I assume the OP still wants to cite full books, so they still need some code to address that if they want all titles formatted alike.
    – moewe
    Commented Jul 16, 2021 at 13:43
  • @moewe, wow - thank you! The all italics thing worked beautifully. The removing brackets from date is giving me an error though, with the \volnumdatedelim (error: \volnumdatedelim undefined) - is there a package i need to use to make this work?
    – Learn4life
    Commented Jul 16, 2021 at 14:22
  • @Learn4life You will need the biblatex-ext bundle, which is available in MikTeX and TeX live (and has been since 2018). If biblatex-ext cannot be found there should be an error telling you that. Check the error messages in your document. How did you install your TeX system? (The TeX live that comes to linux distributions via apt is often woefully outdated.)
    – moewe
    Commented Jul 16, 2021 at 15:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .