更改 biblatex 参考打印样式,使其类似于 amsrefs

更改 biblatex 参考打印样式,使其类似于 amsrefs

这是我关于 TeX.SE 带注释书目的系列问题的第三个问题(12)。这个有同样的 MWE,但有另一个问题。目前,

@article{ref5,
        author={Hardy, G. H. and Littlewood, J. E. },
        title={{Contributions to the theory of the Riemann zeta-function and the theory of the distribution of primes}},
        year={1916},
        journal={Acta Math.},
        volume={41},
        number={1},
        annotation = {This article cites~\cite{ref1, ref4, ref3}.},
    }

好像:

在此处输入图片描述

但我希望它看起来像

在此处输入图片描述

第二张图片属于我们项目的旧格式,我们使用了amsrefs经典的bibtex。 的优点amsrefs是它为每种书目条目类型(文章/书籍/汇编/论文)提供了漂亮的结构,例如粗体/斜体标题,并支持 MRnumber 字段。 但我们改用了现代的和单独的书目文件,现在我们正在寻找一种方法来以最少的手动工作biblatex模拟尽可能多的样式。amsrefs

具体来说,我们希望在风格上做出以下改变:

  • 从条目中的 MRnumber 字段添加 MRnumber
  • 删除每个期刊标题前的“In:”字样
  • 不要使用“VOLUME.NUMBER (YEAR)”,而要使用“VOLUME (YEAR),no. NUMBER”
  • 删除“pp”。
  • 省略 ISSN

(我无法制作完整的 MWE,因为如果我想包含我们在参考书目中的所有参考类型,它会太长。这里是该项目的旧版本,amsrefs其格式对我们来说非常理想。查看不同类型的 bib 条目,例如书籍、文章或论文。)

还有另一个更复杂的问题:我们收藏的几篇论文在 bib 文件中的字段中都有类似1961/62(而不是1961或)的内容。因此,按时间顺序排列时,参考书目会将此类条目放在所有其他条目之前。一种解决方案可能是更改为,但我们的目标是忠于参考文献,以避免读者以后感到困惑。这是我的 MWE 和屏幕截图来反映这个问题:1962year1961/621961

\documentclass{amsart}
\usepackage{blindtext}
\usepackage[sorting=ynt, backend=biber, style=numeric-comp]{biblatex}
\usepackage{hyperref}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article {ref1,
    AUTHOR = {Chebyshev, P.},
    TITLE = {{Lettre de M. le professeur Tchebychev a M. Fuss, sur un nouveau th{e}oreme relatif aux nombres premiers contenus dans la formes $4n+1$ et $4n+3$.}},
    FJOURNAL = {Bull. de la Classe phys. math. de l'Acad. Imp. des Sciences St. Petersburg},
    VOLUME = {11},
    YEAR = {1853},
    LANGUAGE = {french},
    annotation = {Chebyshev's paper which was the starting point of the subject.},
}
@article{ref2,
    AUTHOR = {Phragmen, P.},
    TITLE = {{Sur le logarithme integral et la fonction $f(x)$ de Riemann}},
    YEAR  = {1891},
    FJOURNAL = {\"{O}fversigt af Kongl. Vetenskaps--Akademiens F\"{o}handlingar.},
    LANGUAGE = {French},
    VOLUME = {48},
    annotation = {\blindtext \par This article cites~\cite{ref4, ref5}.},
}
@article{ref3,
    AUTHOR = {Landau, E.},
    TITLE = {{U}ber einen {S}atz von {T}schebyschef},
    JOURNAL = {Math. Ann.},
    FJOURNAL = {Mathematische Annalen},
    VOLUME = {61},
    YEAR = {1906},
    NUMBER = {4},
}
@article{ref4,
    author={Littlewood, J. E. },
    title={{Sur la distribution des nombres premiers}},
    year={1961/62},
    volume={158},
    journal={Comptes Rendus de l'Acad. Sci. Paris},
    language={French},
    annotation = {This article cites~\cite{ref4, ref5}.}
}
@article{ref5,
    author={Hardy, G. H. and Littlewood, J. E. },
    title={{Contributions to the theory of the Riemann zeta-function and the theory of the distribution of primes}},
    year={1916},
    journal={Acta Math.},
    volume={41},
    number={1},
    annotation = {This article cites~\cite{ref1, ref4, ref3}.},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}



\section{Chronological bibliography}
\printbibliography[heading=none]

\end{document}

在此处输入图片描述 PS. 最后,如果我们能够满足所有标准,我们甚至可以将其作为 AMS 格式的更新发布,也许还可以将其作为 AMS 参考系统的更新发布。数学科学网

答案1

每个问题请只询问一个具体问题。由于您提到的大多数问题都在其他地方得到解决

我将专注于所需的格式

卷(年份),编号

为了获得这种格式,我们需要重新定义宏journal+issuetitle

\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{number}~#1}
\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \setunit{\addcomma\space}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}%
  \newunit}

比较一下journal+issuetitlevolume+number+eid的原始定义standard.bbxll. 748-768

完整版,并进行了一些调整

\documentclass{amsart}

\usepackage{filecontents}

\begin{filecontents*}{mrnumber.dbx}
\DeclareDatamodelFields[type=field,datatype=verbatim]{mrnumber}
\DeclareDatamodelEntryfields{mrnumber}
\end{filecontents*}


\usepackage[backend=biber, style=numeric-comp, sorting=ynt, datamodel=mrnumber,
  isbn=false]{biblatex}
\usepackage{hyperref}

\renewcommand*{\newunitpunct}{\addcomma\space}

\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}

\renewbibmacro{in:}{%
  \ifentrytype{article}
    {}
    {\printtext{\bibstring{in}\intitlepunct}}}

\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{number}~#1}
\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \setunit{\addcomma\space}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}%
  \newunit}

\DeclareFieldFormat[article,periodical]{pages}{#1}

\DeclareFieldFormat{mrnumber}{%
  MR\addcolon\space
  \ifhyperref
    {\href{http://www.ams.org/mathscinet-getitem?mr=#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}

\renewbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:doi}
    {\printfield{doi}}
    {}%
  \newunit\newblock
  \printfield{mrnumber}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}}

\begin{filecontents}{\jobname.bib}
@article {ref1,
    AUTHOR = {Chebyshev, P.},
    TITLE = {{Lettre de M. le professeur Tchebychev a M. Fuss, sur un nouveau th{e}oreme relatif aux nombres premiers contenus dans la formes $4n+1$ et $4n+3$.}},
    FJOURNAL = {Bull. de la Classe phys. math. de l'Acad. Imp. des Sciences St. Petersburg},
    VOLUME = {11},
    YEAR = {1853},
    LANGUAGE = {french},
    annotation = {Chebyshev's paper which was the starting point of the subject.},
}
@article{ref2,
    AUTHOR = {Phragmen, P.},
    TITLE = {{Sur le logarithme integral et la fonction $f(x)$ de Riemann}},
    YEAR  = {1891},
    FJOURNAL = {\"{O}fversigt af Kongl. Vetenskaps--Akademiens F\"{o}handlingar.},
    LANGUAGE = {French},
    VOLUME = {48},
    annotation = {\blindtext \par This article cites~\cite{ref4, ref5}.},
}
@article{ref3,
    AUTHOR = {Landau, E.},
    TITLE = {{U}ber einen {S}atz von {T}schebyschef},
    JOURNAL = {Math. Ann.},
    FJOURNAL = {Mathematische Annalen},
    VOLUME = {61},
    YEAR = {1906},
    NUMBER = {4},
}
@article{ref4,
    author={Littlewood, J. E. },
    title={{Sur la distribution des nombres premiers}},
    year={1961/62},
    volume={158},
    journal={Comptes Rendus de l'Acad. Sci. Paris},
    language={French},
    annotation = {This article cites~\cite{ref4, ref5}.}
}
@article{ref5,
    author={Hardy, G. H. and Littlewood, J. E. },
    title={{Contributions to the theory of the Riemann zeta-function and the theory of the distribution of primes}},
    year={1916},
    journal={Acta Math.},
    volume={41},
    number={1},
    annotation = {This article cites~\cite{ref1, ref4, ref3}.},
}
@article{grabiner,
  author    = {David J. Grabiner},
  title     = {Brownian motion in a Weyl chamber, non-colliding particles, and random matrices},
  journal   = {Annales de l'Institut Henri Poincare (B) Probability and Statistics},
  volume    = {35},
  number    = {2},
  pages     = {177-204},
  year      = {1999},
  doi       = {10.1016/S0246-0203(99)80010-7},
  mrnumber  = {1678525},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography[heading=bibnumbered, title=Chronological bibliography]
\end{document}

更多类似 AMS 的参考书目。

相关内容