我想将日期移到期刊名称后面,并在 biblatex 书目中添加后续分号。
这是example.bib
@article{Bopper:2019aa,
abstract = {},
author = {Bopper, Big},
date-added = {2024-01-18 21:26:11 -0800},
date-modified = {2024-01-18 21:26:11 -0800},
doi = {111.222.3333},
journal = {Lace Studies},
journal-full = {Lace Studies},
mesh = {},
month = {Jan},
number = {D1},
pages = {55-77},
pmc = {1234},
pmid = {555},
pst = {ppublish},
title = {Chantilly Lace},
volume = {4},
year = {2021},
bdsk-url-1 = {https://doi.org/111/lacey/1234}
}
以下是一个(合理的?)MWE:
\documentclass[10pt, a4paper, twocolumn]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
defernumbers=true,
style=numeric,
bibstyle=authoryear,
date=year,
uniquelist=false,
uniquename=false,
sorting=none,
giveninits,
terseinits,
dashed=false
]
{biblatex}
% https://tex.stackexchange.com/questions/428190/how-to-properly-remove-the-parentheses-around-the-year-in-authoryear-style-v
\usepackage{xpatch}
\xpatchbibmacro{date+extradate}{%
\printtext[parens]%
}{%
\setunit{\addperiod\space}%
\printtext%
}{}{}
% https://tex.stackexchange.com/questions/52498/plos-comp-bio-biblatex-style
% Name list format
\renewcommand*{\labelnamepunct}{\addspace}
\renewcommand*{\finalnamedelim}{%
\ifbibliography{\addcomma\space}{\addspace\&\space}}
\renewcommand*{\revsdnamepunct}{}
\DeclareNameAlias{sortname}{last-first}
\addbibresource{example.bib}
\begin{document}
It is a funny world \autocite{Bopper:2019aa}
\printbibliography
\end{document}
输出为
我希望参考书目条目在期刊名称“Lace Studies”后显示日期“2021”,在期刊名称后放置一个句点,并在新定位的日期和卷条目“4.D1”之间放置一个分号和空格,因此:“Lace Studies. 2021; 4.D1”。
答案1
对于您想要的样式,我不会选择,bibstyle=authoryear,
因为那样会将年份移到名称后面。如果我们删除bibstyle=authoryear,
,我们只需要修改 bibmacrosissue+date
和journal+issuetitle
删除年份周围的括号,并分别移动年份和卷。
\documentclass[10pt, a4paper, twocolumn]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=numeric,
sorting=none,
defernumbers=true,
date=year,
uniquelist=false,
uniquename=false,
giveninits,
terseinits,
]{biblatex}
% https://tex.stackexchange.com/questions/52498/plos-comp-bio-biblatex-style
% Name list format
\DeclareDelimFormat[bib]{nametitledelim}{\addspace}
\DeclareDelimFormat[bib]{finalnamedelim}{\addspace\&\space}
\renewcommand*{\revsdnamepunct}{}
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}
\DeclareNameAlias{sortname}{family-given}
\renewbibmacro*{issue+date}{%
\printfield{issue}%
\setunit*{\addspace}%
\usebibmacro{date}}
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addperiod\space}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}%
\setunit{\addperiod\space}}%
\usebibmacro{issue+date}%
\setunit{\addsemicolon\space}%
\usebibmacro{volume+number+eid}%
\newunit}
\begin{filecontents}[overwrite]{\jobname.bib}
@article{Bopper:2019aa,
author = {Bopper, Big},
doi = {111.222.3333},
journal = {Lace Studies},
journal-full = {Lace Studies},
month = {Jan},
number = {D1},
pages = {55-77},
pmc = {1234},
pmid = {555},
pst = {ppublish},
title = {Chantilly Lace},
volume = {4},
year = {2021},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
It is a funny world \autocite{Bopper:2019aa}
\printbibliography
\end{document}