0

I am using this package in Overleaf for referencing for a Nature journal, but Nature journal requirement is that 'et al' shouldn't be in italics. Can please someone help me to solve this problem.

\usepackage[bibstyle=nature,citestyle=nature,backend=bibtex,style=nature,biblabel=brackets,giveninits=true,abbreviate=true,doi=false,eprint=true,url=false,isbn=false,block=space,natbib]{biblatex}

enter image description here

moewe
  • 175,683
  • done, and thanks for solving the problem. – Ali Babar Oct 19 '22 at 11:11
  • @samcarter_is_at_topanswers.xyz I think it would be useful if you could undelete your answer. Even if the code as posted above will error because of the incompatibility the answer is still useful for people who use biblatex-nature in a context where it does not error. (It may be useful to add a note in the answer that biblatex won't work with revtex, but that need not be the main focus.) – moewe Oct 19 '22 at 15:09
  • @moewe I added a note and undeleted. – samcarter_is_at_topanswers.xyz Oct 19 '22 at 15:13
  • @moewe I'm wondering if it might be good to roll-back the question into the pre-revtex state. I know I was the user who asked the OP to add the code which causes error, but in the pre-revtex state it would at least be useful for biblatex-nature users. In its current state, it is not really useful. – samcarter_is_at_topanswers.xyz Oct 19 '22 at 15:17
  • @samcarter_is_at_topanswers.xyz Thanks. Upvoted. If you want a "reference" for the revtex incompatibility you could link to https://tex.stackexchange.com/q/12047/35864. – moewe Oct 19 '22 at 15:17
  • @moewe Thanks for the link! – samcarter_is_at_topanswers.xyz Oct 19 '22 at 15:18
  • 1
    @samcarter_is_at_topanswers.xyz I think that makes sense. Rolled back to original state when revtex wasn't in the mix. – moewe Oct 19 '22 at 15:19
  • @moewe Your link might also be a good dupe-target for https://tex.stackexchange.com/questions/575366/using-revtex4-2-with-the-biblatex-package (in case you want to use your gold hammer :) ) – samcarter_is_at_topanswers.xyz Oct 19 '22 at 15:19
  • 1
    @AliBabar As mentioned revtex is incompatible with biblatex (see e.g. https://tex.stackexchange.com/q/12047/35864). If you need to use revtex you cannot use biblatex and should instead use the bibliography/citation facilities of the class. – moewe Oct 19 '22 at 15:19

2 Answers2

2

biblatex-nature enforces italics for "et al." in the bibmacro name:andothers (nature.bbx, ll. 216-231 in v1.3d)

\renewbibmacro*{name:andothers}{%
  \ifboolexpr
    {
      test {\ifnumequal{\value{listcount}}{\value{liststop}}}
      and
      test \ifmorenames
    }
    {
      \ifnumgreater{\value{liststop}}{1}
        {\finalandcomma}
        {}%
      \andothersdelim
      \mkbibemph{\bibstring{andothers}}%
    }
    {}%
}

(This is slightly unidiomatic. \mkbibemph{\bibstring{andothers}} would more naturally be \bibstring[\mkbibemph]{andothers}. Or even better a wrapper command instead of bare \mkbibemph.)

If we want no italic andothers string across languages we will want to redefine this macro to get rid of the \mkbibemph.

\documentclass{article}
\usepackage[
  backend=biber,
  style=nature,
]{biblatex}

\renewbibmacro*{name:andothers}{% \ifboolexpr { test {\ifnumequal{\value{listcount}}{\value{liststop}}} and test \ifmorenames } { \ifnumgreater{\value{liststop}}{1} {\finalandcomma} {}% \andothersdelim \bibstring{andothers}% } {}% }

\addbibresource{biblatex-examples.bib}

\begin{document} Lorem \citeauthor{companion} ipsum \textcite{aksin}

\printbibliography \end{document}

Lorem Goossens et al. ipsum Aksın et al. [2]

moewe
  • 175,683
1

You could use

\DefineBibliographyStrings{english}{andothers = {\upshape et al\adddot}}

to format the et al. in whatever way you like (if you write in another language but English, adjust this accordingly).

Please note that I had to remove the biblabel=brackets from your code fragment to avoid it throwing an error.

\documentclass{article}

\usepackage[ %bibstyle=nature, %citestyle=nature, backend=bibtex, style=nature, %biblabel=brackets, giveninits=true, abbreviate=true, doi=false, eprint=true, url=false, isbn=false, block=space, natbib ]{biblatex}

\DefineBibliographyStrings{english}{andothers = {\upshape et al\adddot}}

\addbibresource{biblatex-examples.bib}

\begin{document}

\citeauthor{companion}

\printbibliography

\end{document}

  • A solution that works across languages (but would be a bit longer code-wise) would be to redefine the name:andothers bibmacro, which has \mkbibemph{\bibstring{andothers}} to say just \bibstring{andothers} (https://github.com/josephwright/biblatex-nature/blob/bbcc3d4f399e249de2689b0ddb048cdaa0fff354/nature.bbx#L228). (As an aside, \mkbibemph{\bibstring{andothers}} is a fairly unidiomatic biblatex code \bibstring[\mkbibemph]{andothers} would be more idiomatic.) – moewe Oct 19 '22 at 15:25
  • @moewe can you please post this as answer? – samcarter_is_at_topanswers.xyz Oct 19 '22 at 15:26