将日期移到期刊名称后并在 biblatex 书目中添加分号

将日期移到期刊名称后并在 biblatex 书目中添加分号

我想将日期移到期刊名称后面,并在 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}

输出为

Big bopper 书目输出

我希望参考书目条目在期刊名称“Lace Studies”后显示日期“2021”,在期刊名称后放置一个句点,并在新定位的日期和卷条目“4.D1”之间放置一个分号和空格,因此:“Lace Studies. 2021; 4.D1”。

答案1

对于您想要的样式,我不会选择,bibstyle=authoryear,因为那样会将年份移到名称后面。如果我们删除bibstyle=authoryear,,我们只需要修改 bibmacrosissue+datejournal+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}

Bopper B“Chantilly 蕾丝”。在:蕾丝研究。2021 年;4.D1,第 55-77 页。doi:111.222.3333。

相关内容