如何合并 bibtex 编号和问题?

如何合并 bibtex 编号和问题?

我有以下内容:

在此处输入图片描述

合并是个好主意吗

第 1 期[6] 中的数字 76(1)

(这样与[7]更加​​一致)还是说这不是好的引用风格?

所以我喜欢用数字问题 当且仅当如果没有定义数字?这可能吗?

使用以下设置:

\usepackage[
        backend=biber,
        %citestyle = alphabetic, 
        %bibstyle = ieee-alphabetic,  
        sortlocale=en_US,
        sorting=nyt,
        backref=true,
        hyperref=true,
        firstinits=true,
        style=numeric,%style=alphabetic,
        defernumbers=true,
        isbn=false,
        %eid=true,
        doi=true,
        %series=true,
        eprint=false,
        bibencoding = utf8
]{biblatex}

\renewcommand*{\mkbibnamefirst}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}
\renewcommand*{\mkbibnameaffix}[1]{\textsc{#1}}

\DeclareFieldFormat{eid}{Art.\addnbspace#1}
\DeclareFieldFormat{issue}{Iss.\addnbspace#1}
\DeclareFieldFormat{volume}{Vol.\addnbspace#1}

\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}

\AtEveryBibitem{%
  \ifentrytype{article}{%
    \clearfield{month}%
    \clearfield{day}%+
  }{%
  }%
}

% http://tex.stackexchange.com/questions/154864/biblatex-use-doi-only-if-there-is-no-url
% only URL if no DOI otherwise DOI
\renewbibmacro*{doi+eprint+url}{%
    \iftoggle{bbx:doi}
    {\printfield{doi}}
    {}%
    \newunit\newblock
    \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
    \newunit\newblock
    \iftoggle{bbx:url}
    {\iffieldundef{doi}{\usebibmacro{url+urldate}}{}}
    {}}

\renewbibmacro*{publisher+location+date}{%
    \printlist{publisher}%
    \setunit*{\addcomma\space}%
    \printlist{location}%
    \setunit*{\addcomma\space}%
    \usebibmacro{date}%
    \newunit
}
\renewbibmacro*{institution+location+date}{%
    \printlist{institution}%
    \setunit*{\addcomma\space}%
    \printlist{location}%
    \setunit*{\addcomma\space}%
    \usebibmacro{date}%
    \newunit
}
\renewbibmacro*{organization+location+date}{%
    \printlist{institution}%
    \setunit*{\addcomma\space}%
    \printlist{location}%
    \setunit*{\addcomma\space}%
    \usebibmacro{date}%
    \newunit
}

% makes volume of journal bold and adds colon
\DeclareFieldFormat[article]{volume}{\textbf{#1}}

答案1

文档biblatex对该领域有以下评价issue(第 19 页):

期刊的期号。此字段适用于各期号以“春季”或“夏季”等名称而非月份或数字标识的期刊。由于期号的位置与month和类似number,因此此字段也适用于双期和其他特殊情况。

number因此,在这种情况下您应该使用字段

@article{PhysRevE.76.011301,
  title = {Force transmission in a packing of pentagonal particles},
  author = {Azéma, Emilien and Radjaï, Farhang and Peyroux, Robert and Saussine, Gilles},
  journal = {Phys. Rev. E},
  volume = {76},
  number = {1},
  pages = {011301},
  date = {2007-07},
  doi = {10.1103/PhysRevE.76.011301},
}

如果你不能这样做(但你真的应该这样做),你可以使用 Biber 的源映射来为你做到这一点

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=issue, match=\regexp{\A(\d+)\Z}, final]
      \step[fieldset=number, fieldvalue={$1}]
      \step[fieldset=issue, null]
    }
  }
}

如果前者仅包含数字,则将其复制issue到该字段,然后删除该字段。numberissue

平均能量损失

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{PhysRevE.76.011301,
  title = {Force transmission in a packing of pentagonal particles},
  author = {Azéma, Emilien and Radjaï, Farhang and Peyroux, Robert and Saussine, Gilles},
  journal = {Phys. Rev. E},
  volume = {76},
  issue = {1},
  pages = {011301},
  date = {2007-07},
  doi = {10.1103/PhysRevE.76.011301},
}
@article{PhysRevE.86.031303,
  title = {Discrete simulation of dense flows of polyhedral grains down a rough inclined plane},
  author = {Azéma, Emilien and Descantes, Yannick and Roquet, Nicolas and Roux, Jean-Noël and Chevoir, François},
  journal = {Phys. Rev. E},
  volume = {86},
  number = {3},
  pages = {031303},
  date = {2012-06},
  doi = {10.1103/PhysRevE.86.031303},
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=issue, match=\regexp{\A(\d+)\Z}, final]
      \step[fieldset=number, fieldvalue={$1}]
      \step[fieldset=issue, null]
    }
  }
}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

相关内容