将电子印刷本添加到未出版的书目项目中

将电子印刷本添加到未出版的书目项目中

我有一篇研究文章已被接受(有标题、期刊和 doi,但尚无日期或发行日期)。预印本可用。我希望我的 biblatex 书目中有一项可以反映这一点。我目前使用的是标准数字样式。我会想到类似

Bubaya. “Some smart paper.” To appear in: Exclusive journal. DOI: ... Preprint: arXiv:...,

但我很灵活。我想你明白了。到目前为止,我不喜欢的是弄乱相关文章,但也许​​我做得不对。

我怎样才能实现这样的目标?

已经有人问过类似的问题(biblatex 和参考文献:未发表的 eprint 格式),但没有给出令人满意的答案。

编辑:投票反对的人介意解释一下是什么让他们感到不安吗,这样我就可以改变我的问题了?可以说,下面的内容看起来真的很糟糕:

\documentclass{article}
\usepackage{biblatex,hyperref}
\begin{filecontents}[overwrite]{bib.bib}
    @article{entry,
        author = "W. Crawley-Boevey",
        title = "Decomposition of pointwise finite-dimensional persistence modules",
        journal = "Journal of Algebra and Its Applications",
        volumne = "14",
        number = "5",
        year = "2015",
        pubstate = "forthcoming",
        doi = "10.1142/S0219498815500668",
        eprint = "1210.0819",
        eprinttype = "arxiv",
    }
\end{filecontents}
\addbibresource{bib.bib}
\nocite{*}
\begin{document}
    \printbibliography
\end{document}

答案1

您可以修改打印涉及字段的宏,如下所示,测试pubstate

\documentclass{article}
\usepackage{biblatex,hyperref}
\begin{filecontents}[overwrite]{bib.bib}
    @article{entry,
        author = "W. Crawley-Boevey",
        title = "Decomposition of pointwise finite-dimensional persistence modules",
        journal = "Journal of Algebra and Its Applications",
        volume = "14",
        number = "5",
        year = "2015",
        pubstate = "forthcoming",
        doi = "10.1142/S0219498815500668",
        eprint = "1210.0819",
        eprinttype = "arxiv",
    }
    @article{arta,
        author = "A. Author",
        title = "An ordinary article",
        journal = "An ordinary journal",
        volume = "15",
        number = "1",
        year = "2016",
        pubstate = "published",
        doi = "10.1234/S0219498815501234",
        eprint = "1234.1234",
        eprinttype = "arxiv",
   }
   @article{artb,
        author = "B. Buthor",
        title = "A second article",
        journal = "A second journal",
        volume = "16",
        number = "3",
        year = "2020",
        doi = "10.7777/S0219498815501234",
        eprint = "1234.7777",
        eprinttype = "arxiv",
   }
   @article{artc,
        author = "C. Cuthor",
        title = "A submitted article",
        journal = "A third journal",
        year = "2023",
        pubstate = "submittedto",
        doi = "10.7777/S0219498815501234",
        eprint = "1234.7777",
        eprinttype = "arxiv",
   }
\end{filecontents}

\addbibresource{bib.bib}

% from https://tex.stackexchange.com/a/408041/101651
\NewBibliographyString{toappearin}
\NewBibliographyString{submittedto}
\NewBibliographyString{preprint}
\DefineBibliographyStrings{english}{%
  toappearin  = {to appear in},
  submittedto = {submitted to},
  preprint = {preprint},
}

\renewbibmacro*{in:}{%
  \ifboolexpr{not test {\iffieldundef{pubstate}}
              and (test {\iffieldequalstr{pubstate}{toappearin}}
                   or test{\iffieldequalstr{pubstate}{submittedto}}
                   or test{\iffieldequalstr{pubstate}{forthcoming}}
                   )}
    {\printtext{\bibstring{toappearin}\intitlepunct}}%
    {\printtext{\bibstring{in}\intitlepunct}}%
    }

% from https://tex.stackexchange.com/q/295080/101651
\makeatletter
\DeclareFieldFormat*{eprint:arxiv}{{% Note the extra brace
  \ifboolexpr{not test {\iffieldundef{pubstate}}
              and (test {\iffieldequalstr{pubstate}{toappearin}}
                   or test{\iffieldequalstr{pubstate}{submittedto}}
                   or test{\iffieldequalstr{pubstate}{forthcoming}}
                   )}
    {\printtext{\bibstring{preprint}\addcolon\addspace arXiv}}%
    {arXiv}%ù
    \addcolon\space
  \ifhyperref
    {\href{http://arxiv.org/\abx@arxivpath/#1}{%
       \nolinkurl{#1}%
       \iffieldundef{eprintclass}
         {}
         {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}}
    {\nolinkurl{#1}
     \iffieldundef{eprintclass}
       {}
       {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}}}
\makeatother
  
\renewbibmacro*{addendum+pubstate}{%
  \printfield{addendum}}

\nocite{*}

\begin{document}
    \printbibliography
\end{document}

在此处输入图片描述

相关内容