删除参考书目的分隔符和日期位置

删除参考书目的分隔符和日期位置

我想从参考文献中删除诸如 、 和 . 之类的分隔符。此外,我想将列出的出版数据从参考文献末尾定位到作者姓名之后。示例如下所示;

从:

[1] Doe, J., John, A., & Davies,K. Journal, 100-200 (2021)

到:

[1] Doe J John A 和 Davies K 2021 期刊 100-200

我如何使用下面使用的包来做到这一点?

\usepackage[style=nature,
            sorting=none,
            doi=false, isbn=false, url=false, eprint=false]{biblatex}
\addbibresource{bibliography.bib}            
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
\DeclareFieldFormat[article]{title}{}

答案1

biblatex在字段之间提供许多可自定义的分隔符,并且没有简单的开关可以使它们全部消失。重新定义\newunitpunct是一个开始,但即使在一个简单的示例中,您也需要重新定义许多其他命令。我可能错过了一些东西,但这应该可以让你开始。

您可以加载authoryear样式,\input{authoryear.bbx}将年份从条目末尾移到名称后面。但随后您需要\defbibenvironment{bibliography}再次发出适合数字书目的定义。

不要用 来抑制条目title,有这个选项。@article\DeclareFieldFormat[article]{title}{}biblatex-naturearticletitle=false,

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[
  style=nature,
  articletitle=false,
  doi=false, isbn=false, url=false, eprint=false,
]{biblatex}

\makeatletter
\input{authoryear.bbx}
\makeatother

% must be delayed to counter authoryear's sort settings
\ExecuteBibliographyOptions{sorting=none,}

\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}

\renewcommand*{\newunitpunct}{\addspace}

\DeclareNameAlias{sortname}{default}

\DeclareDelimFormat{multinamdelim}{\addspace}
\DeclareDelimFormat{finalnamedelim}{\addspace\bibstring{and}\space}

\renewcommand*{\revsdnamepunct}{}
\renewcommand*{\bibinitperiod}{}
\renewcommand*{\bibinitdelim}{}

\renewbibmacro*{date+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\iflabeldateisdate
       {\printdateextra}
       {\printlabeldateextra}}}

\renewcommand*{\bibpagespunct}{\addspace}

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
        \printfield{labelprefix}%
        \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{\hss##1}}
  {\endlist}
  {\item}

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson}

\printbibliography
\end{document}

Sigfridsson E 和 Ryde U 1998 计算化学杂志 19 377–395。

相关内容