biblatex 中的文章编号是多少?

biblatex 中的文章编号是多少?

biblatex 有articleno字段或等效项吗?此外,我可以在页码范围中使用文章编号吗?问题中的问题文章有以下内容:

pages = {19:1--19:39},
articleno = {19},

可以在这里找到:http://dl.acm.org/citation.cfm?id=2431218

答案1

更新答案

标准数据模型中,此类作业的字段biblatex称为eid。(该字段的版本 3.14 及以上版本biblatex仅适用于@articles,但从 v3.15 开始,所有有意义的类型都将支持该字段,请参阅https://github.com/plk/biblatex/pull/1000)。

如果您不喜欢默认输出,您可以修改它以显示“Art. No.”。

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

\NewBibliographyString{artno}
\DefineBibliographyStrings{english}{artno = {Art\adddotspace No\adddot}}

\DeclareFieldFormat[article,periodical]{eid}{\bibstring{artno}\addabbrvspace #1}

\begin{filecontents*}{\jobname.bib}
@article{mooney,
  author    = {Mooney, Carl H. and Roddick, John F.},
  title     = {Sequential Pattern Mining -- Approaches and Algorithms},
  journal   = {ACM Comput. Surv.},
  volume    = {45},
  number    = {2},
  date      = {2013-03},
  pages     = {19:1--19:39},
  eid       = {19},
  pagetotal = {39},
  doi       = {10.1145/2431211.2431218},
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\begin{document}
  \cite{mooney}
  \printbibliography
\end{document}

旧答案

如果出于某种原因您不想使用,eid您可以定义一个新字段。这可以在名为的articleno单独文件中完成(在 MWE 中,它是通过创建的).dbxarticleno.dbxfilecontents

\ProvidesFile{articleno.dbx}

\DeclareDatamodelFields[type=field,datatype=integer]{articleno}
\DeclareDatamodelEntryfields[article]{articleno}

我们还可以定义一个新的 bistring 打印在文章编号之前

\NewBibliographyString{artno}
\DefineBibliographyStrings{english}{artno = {Art\adddotspace No\adddot}}

articleno字段由此新字符串引入

\DeclareFieldFormat{articleno}{\bibstring{artno}\addabbrvspace #1}

然后我们重新定义note+pages宏来打印该articleno字段

\renewbibmacro*{note+pages}{%
  \printfield{note}%
  \setunit{\bibpagespunct}%
  \printfield{articleno}
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \newunit}

平均能量损失

\documentclass{article}
\usepackage[backend=biber,style=authoryear,datamodel=articleno]{biblatex}

\begin{filecontents*}{\jobname.bib}
@article{mooney,
  author    = {Mooney, Carl H. and Roddick, John F.},
  title     = {Sequential Pattern Mining -- Approaches and Algorithms},
  journal   = {ACM Comput. Surv.},
  volume    = {45},
  number    = {2},
  date      = {2013-03},
  pages     = {19:1--19:39},
  articleno = {19},
  pagetotal = {39},
  doi       = {10.1145/2431211.2431218},
}
\end{filecontents*}

\begin{filecontents*}{articleno.dbx}
\ProvidesFile{articleno.dbx}

\DeclareDatamodelFields[type=field,datatype=integer]{articleno}
\DeclareDatamodelEntryfields[article]{articleno}
\end{filecontents*}

\NewBibliographyString{artno}
\DefineBibliographyStrings{english}{artno = {Art\adddotspace No\adddot}}

\DeclareFieldFormat{articleno}{\bibstring{artno}\addabbrvspace #1}

\renewbibmacro*{note+pages}{%
  \printfield{note}%
  \setunit{\bibpagespunct}%
  \printfield{articleno}
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \newunit}

\addbibresource{\jobname.bib}

\begin{document}
  \cite{mooney}
  \printbibliography
\end{document}

在此处输入图片描述

相关内容