通过 biblatex/biber 中的特殊标记表明共同第一作者

通过 biblatex/biber 中的特殊标记表明共同第一作者

我正在使用biblatex/biber排版来排版我论文的参考书目。对于一个我是共同第一作者的特定参考文献,我的博士论文考官要求我使用适当的标记明确指出这一点,让读者清楚地了解这一事实。

假设我们有一个thesis.bib包含相关条目的文件。

@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}
}

在这种情况下,两者约翰·多伊乔·布洛格斯被指定为共同第一作者。已发表文章的 PDF 和出版商的文章 HTML 登陆页面清楚地标明了这一点。内部审查员和导师(也是上述文章的合著者/最后一位作者)都知道两位作者的贡献是平等的,因此,没有人能在论文中享有全部荣誉。

所以问题是,在参考书目中,如何特别标记此条目,例如下划线两位第一作者的名字?在按照所使用的样式格式化的参考书目条目之后(除新引入的下划线外),应附加以下句子 -“带下划线的作者为共同第一作者,对本文贡献相同”

鉴于我们正在使用高度灵活的组合,我们可以为此制定自定义参考书目命令biber/biblatex吗?

这是一个最小的非工作示例。该\customcite命令尚不存在,但表明了所需的内容。

\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}

答案1

您可以使用数据注释来实现这一点。请参阅 §3.6数据注释biblatex

注释jointfirst可以附加到姓名列表中的每个姓名上。如果姓名有此注释,它将以粗体显示(在此示例中)。

\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 和 Nice Supervisor。“科学的下一个重大突破”。刊于:Journal of Pure Awesomeness 17(2018 年 6 月),第 507–514 页,前两个姓氏以粗体显示。“Emma Sigfridsson 和 Ulf Ryde。“从电势和电矩推导原子电荷的方法比较”。刊于:Journal of Computational Chemistry 19.4(1998 年),第 377–395 页。doi:10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P”,无粗体名称。


如果你想用粗体显示全名,你可以重新定义\mkbibnamecomplete(3.13 版新增biblatexhttps://github.com/plk/biblatex/issues/853,如果您需要实现或廉价的解决方法,请参阅该问题的编辑历史)

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

答案2

大部分内容都取自 @moewe 在此处发布的出色答案,为了完整性和供其他人将来参考,我想发布我提出的具体问题的完整解决方案(用下划线和粗体标出共同第一作者,并在印刷引文末尾附加适当的注释)。请注意,除了 @moewe 发布的内容外,信息性注释还通过包含一个指示排版其内容的addendum字段来完成biber/biblatex引用已格式化。

这是完整的代码。

\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}

产生输出,

下划线、粗体、共同第一作者及附录

答案3

biblatex3.13(2019-08-17 发布)开始,有该\mkbibcompletename命令。

在序言中:

\renewcommand*{\mkbibcompletename}[1]{%
  \ifitemannotation{jointfirst}
    {\underline{#1}*}%   e.g., J͟o͟h͟n͟_D͟o͟e͟* (if jointfirst)
    {#1}%                e.g., John Doe  (otherwise)
}

现在将作者“1”和“2”注释为jointfirst作者:

@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},
}

完整示例:

\documentclass{article}
\usepackage{biblatex}

\renewcommand*{\mkbibcompletename}[1]{%
  \ifitemannotation{jointfirst}
    {\underline{#1}*}%   e.g., J͟o͟h͟n͟_D͟o͟e͟* (if jointfirst)
    {#1}%                e.g., John Doe  (otherwise)
}

\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}

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

使成为

相关内容