3

I am using biblatex/biber to typeset the bibliography for my thesis. For one particular reference where I am the joint first author, my PhD examiners have requested that I should expressly indicate this using appropriate markup that makes this fact unambiguous to readers.

Let's say. we have a thesis.bib file with the relevant entry.

@article{Doe2018,
author = {Doe, John and Bloggs, Joe and Supervisor, Nice},
journal = {Journal of Pure Awesomeness},
month = {jun},
pages = {507--514},
publisher = {DodgyPublisher},
title = {{The next big breakthrough in science}},
volume = {17},
year = {2018}
}

In this case, both John Doe and Joe Bloggs have been designated as the joint first authors. The PDF of the published article and the publisher's HTML landing page for the article identifies this clearly. The internal examiner and additionally the supervisor (also a co-author/last author on the aforementioned article) are aware that the contribution from both authors is split equally and therefore, neither one can claim full credit in the thesis.

So the question is, in the bibliography, how can this entry be specially marked e.g. with underlines for the two first author names? Following the bibliography entry formatted according to whichever style being used (barring the newly introduced underlines), the following sentence should be appended - "The underlined authors are joint first authors and contributed equally to this work".

Can we make up a custom bibliography command for this, given that we are using the highly flexible biber/biblatex combo?

Here is a minimal non-working example. The \customcite command does not yet exist, but indicated what is required.

\documentclass[a4paper]{book}
\usepackage[backend=biber, style=numeric-comp, sorting=none, citestyle=numeric-comp, maxbibnames=50, url=true, doi=true, eprint=false, backref=true, backrefstyle=three]{biblatex}
\usepackage{csquotes}
\addbibresource{thesis.bib}

\begin{document}

Blah blah \dots as seen in the research article published~\customcite{Doe2018}.

\printbibliography

\end{document}
5

You can use data annotations for that. Have a look at §3.6 Data Annotations of the biblatex documentation.

The annotation jointfirst can be attached to each name in a name list. If a name has this annotation it will be printed in bold (in this example).

\documentclass[a4paper]{article}
\usepackage[backend=biber, style=numeric-comp, sorting=none,
  maxbibnames=50, eprint=false,
  backref=true, backrefstyle=three]{biblatex}
\usepackage{csquotes}

\renewcommand*{\mkbibnamefamily}[1]{%
  \ifitemannotation{jointfirst}
    {\textbf{#1}}
    {#1}}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Doe2018,
  author    = {Doe, John and Bloggs, Joe and Supervisor, Nice},
  author+an = {1=jointfirst;2=jointfirst},
  title     = {The next big breakthrough in science},
  journal   = {Journal of Pure Awesomeness},
  volume    = {17},
  date      = {2018-06},
  pages     = {507--514},
}
\end{filecontents}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Blah blah \dots as seen in the research article published~\cite{Doe2018}.

Blah blah \dots as seen in the research article published~\cite{sigfridsson}.

\printbibliography
\end{document}

"John Doe, Joe Bloggs, and Nice Supervisor. “The next big breakthrough in science”. In: Journal of Pure Awesomeness 17 (June 2018), pp. 507–514" with the first two family names in bold. "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" with no bold names.


If you want to have the full name in bold you can redefine \mkbibnamecomplete (new in biblatex 3.13, https://github.com/plk/biblatex/issues/853, see the edit history of this question if you need an implementation or a cheap workaround)

\renewcommand*{\mkbibnamecomplete}[1]{%
  \ifitemannotation{jointfirst}
    {\textbf{#1}}
    {#1}}
4
  • Amazing, exactly what I wanted. Thank you. Accepted and upvoted. I feel there needs to be a standard way to do this, at least defining a macro to handle an author's complete name is not an unusual requirement. – Dr Krishnakumar Gopalakrishnan Jan 4 '19 at 22:41
  • @Krishna I agree that ideally there should be a command like \mkbibnamecomplete. There is at least one theoretical technical difficulties with this though, as the argument of \mkbibnamecomplete would have to be slightly more complicated than that of the other \mkbibname... macros. That should not be an issue for most applications, but could be for really complicated macros like underlining commands. Secondly changes like this have the potential to break backwards compatibility, though again the chances are small. – moewe Jan 4 '19 at 22:46
  • hmm... Maybe we can ask Joseph Wright to take a look at this question? – Dr Krishnakumar Gopalakrishnan Jan 4 '19 at 22:47
  • @Krishna Comments are welcome: github.com/plk/biblatex/issues/853 – moewe Jan 6 '19 at 17:03
1

Largely drawn from the excellent answer posted here by @moewe, for the sake of completeness and future reference by others, I'd like to post the complete solution to the specific question I asked (underline & bold joint first authors and additionally, append a suitable note at the end of printed citation). Note that, in addition to the content @moewe posted, the informative note is done by including an addendum field which instructs biber/biblatex to typeset its contents after the citation is formatted.

Here is the complete code.

\documentclass[a4paper]{article}
\usepackage[backend=biber, style=numeric-comp]{biblatex}
\usepackage{csquotes}

\usepackage{xcolor} % <---- required for coloured highlighting of addendum text if desired.

\usepackage[normalem]{ulem}   % <---- For underlining. Note that the [normalem] option is critical, otherwise the `emph` macro is redefined which messes up typeset bibliography
\setlength{\ULdepth}{4.0pt}   
\renewcommand{\ULthickness}{0.75pt}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Doe2018,
    author    = {Doe, John W. and Bloggs, Joe and Supervisor, Nice  J.},
    author+an = {1=jointfirst;2=jointfirst},
    title     = {The next big breakthrough in science},
    journal   = {Journal of Pure Awesomeness},
    volume    = {17},
    date      = {2018-06},
    pages     = {507--514},
    addendum = {\textcolor{brown}{\emph{The highlighted authors are joint first authors with equal contributions.}}} % <-- note the extra information in the addendum field
}
\end{filecontents}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\newcommand*{\mkbibnamecomplete}[1]{%
    \ifitemannotation{jointfirst}
    {\textbf{\uline{#1}}}           % <--- underline + bold
    {#1}}

\renewbibmacro*{name:family}[4]{%
    \ifuseprefix
    {\usebibmacro{name:delim}{#3#1}%
        \usebibmacro{name:hook}{#3#1}%
            \mkbibnamecomplete{%
                \ifdefvoid{#3}
                {}
                {\ifcapital
                    {\mkbibnameprefix{\MakeCapital{#3}}\isdot}
                    {\mkbibnameprefix{#3}\isdot}%
                    \ifprefchar{}{\bibnamedelimc}}%
                        \mkbibnamefamily{#1}\isdot}}
    {\usebibmacro{name:delim}{#1}%
        \usebibmacro{name:hook}{#1}
        \mkbibnamecomplete{%
            \mkbibnamefamily{#1}\isdot}}}%

\renewbibmacro*{name:given-family}[4]{%
    \usebibmacro{name:delim}{#2#3#1}%
        \usebibmacro{name:hook}{#2#3#1}%
        \mkbibnamecomplete{%
            \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\bibnamedelimd}%
                \ifdefvoid{#3}{}{%
                    \mkbibnameprefix{#3}\isdot
                        \ifprefchar
                        {}
                    {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}%
            \mkbibnamefamily{#1}\isdot
                \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}

    \renewbibmacro*{name:family-given}[4]{%
        \ifuseprefix
        {\usebibmacro{name:delim}{#3#1}%
            \usebibmacro{name:hook}{#3#1}%
                \mkbibnamecomplete{%
                    \ifdefvoid{#3}{}{%
                        \ifcapital
                        {\mkbibnameprefix{\MakeCapital{#3}}\isdot}
                        {\mkbibnameprefix{#3}\isdot}%
                        \ifprefchar{}{\bibnamedelimc}}%
                            \mkbibnamefamily{#1}\isdot
                            \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
                            \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}}}
        {\usebibmacro{name:delim}{#1}%
            \usebibmacro{name:hook}{#1}%
                \mkbibnamecomplete{%
                    \mkbibnamefamily{#1}\isdot
                        \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
                        \ifboolexpe{%
                            test {\ifdefvoid{#2}}
                            and
                                test {\ifdefvoid{#3}}}
                    {}
                    {\revsdnamepunct}%
                    \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
                        \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}}

\begin{document}
Blah blah \dots as seen in the research article published~\cite{Doe2018}.

Blah blah \dots as seen in the research article published~\cite{sigfridsson}.

\printbibliography
\end{document}

which produces the output,

underlines,bold,joint first authors with addendum

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.