Biblatex:格式化@article-entry

Biblatex:格式化@article-entry

我目前正在写一篇论文,有两个有关 biblatex 的问题:

  • 我想跳过迄今为止始终与“年份”一起显示的“问题”
  • 我希望在结尾处加上“年份”

以下是一个例子:

\documentclass[]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{url}
\usepackage[automark,headsepline,ilines]{scrpage2}
\usepackage{hyperref}
\usepackage[backend=biber, sorting=none, style=numeric]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{Bibliographie.bib}
@article{PRL.62.59,
title = {Atomic-Resolution Imaging of Close-Packed Metal Surfaces by Scanning Tunneling Microscopy},
author = {Wintterlin, J. and Wiechers, J. and Brune, H. and Gritsch, T. and H\"ofer, H. and Behm, R. J.},
journal = {Phys. Rev. Lett.},
volume = {62},
issue = {1},
pages = {59--62},
year = {1989},
doi = {10.1103/PhysRevLett.62.59},
url = {http://link.aps.org/doi/10.1103/PhysRevLett.62.59},
publisher = {American Physical Society}
}
\end{filecontents} 

\addbibresource{Bibliographie.bib}

\begin{document}

This is a test \cite{PRL.62.59}

\printbibliography

\end{document}

目前是这样的:

J. Wintterlin ua,“通过扫描隧道显微镜对密堆积金属表面进行原子分辨率成像”。在:Phys. Rev. Lett. 62(1 1989),第 59-62 页。doi:10.1103/PhysRevLett.62.59。url:http://link.aps.org/doi/10.1103/PhysRevLett.62.59。

它应该是这样的:

J. Wintterlin ua,“通过扫描隧道显微镜对密堆积金属表面进行原子分辨率成像”。在:Phys. Rev. Lett. 62,第 59-62 页。doi:10.1103/PhysRevLett.62.59。url:http://link.aps.org/doi/10.1103/PhysRevLett.62.59(1989 年)。

如果有人能帮忙就太好了。提前谢谢

答案1

不清楚您如何将所有这些不同类型的论文包含在您的.bib文件中,所以我跳过了这一点(至少现在)。但更改文章类型的日期位置很容易。希望它能为您提供足够的信息,以便根据需要更改其他条目类型。

\documentclass[]{scrreprt}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{PRL.62.59,
title = {Atomic-Resolution Imaging of Close-Packed Metal Surfaces by Scanning Tunneling Microscopy},
author = {Wintterlin, J. and Wiechers, J. and Brune, H. and Gritsch, T. and H\"ofer, H. and Behm, R. J.},
journal = {Phys. Rev. Lett.},
volume = {62},
number = {1}, % <-- N.B.: *not* issue
pages = {59--62},
year = {1989},
doi = {10.1103/PhysRevLett.62.59},
url = {http://link.aps.org/doi/10.1103/PhysRevLett.62.59},
publisher = {American Physical Society}
}
\end{filecontents}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{url}
\usepackage{hyperref}
\usepackage[backend=biber, sorting=none, style=numeric]{biblatex}
\addbibresource{\jobname.bib}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  % \setunit{\addspace}%
  % \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{bytranslator+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{journal+issuetitle}%
  \newunit
  \usebibmacro{byeditor+others}%
  \newunit
  \usebibmacro{note+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{issn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \setunit{\addspace}%               <-- added
  \usebibmacro{issue+date}%          <-- added
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \usebibmacro{related}%
  \usebibmacro{finentry}}

\begin{document}

This is a test \cite{PRL.62.59}

\printbibliography

\end{document}

输出(减去斜体和小型大写字母等):

J. Wintterlin ua “通过扫描隧道显微镜对密堆积金属表面进行原子分辨率成像”。在:Phys. Rev. Lett. 62.1,第 59–62 页。doi:10.1103/PhysRevLett.62.59。url: http://link.aps.org/doi/10.1103/PhysRevLett.62.59(1989)。

相关内容