我想从参考文献中删除诸如 、 和 . 之类的分隔符。此外,我想将列出的出版数据从参考文献末尾定位到作者姓名之后。示例如下所示;
从:
[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-nature
articletitle=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}