将 biblatex 编辑为特定样式

将 biblatex 编辑为特定样式

这是我想要实现的风格:

Smith J, Jones M Jr, Houghton L 等 (1999) 健康保险的未来。N Engl J Med 965:325–329

我还需要另外两个我无法弄清楚的改变:

  • 删除期刊名称后的逗号
  • 删除作者中的和并强制按所有作者的姓氏首字母排序

我提供我的代码:

\documentclass[12pt]{article}

\usepackage[dashed=false,style=authoryear,backend=biber,giveninits=true]{biblatex}

\DeclareNameAlias{default}{last-first}
\renewcommand*{\revsdnamepunct}{}

\renewbibmacro{in:}{%
  \ifboolexpr{%
     test {\ifentrytype{article}}%
     or
     test {\ifentrytype{inproceedings}}%
  }{}{\printtext{\bibstring{in}\intitlepunct}}%
}
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{#1\isdot}

\DeclareFieldFormat{title}{#1}

\DeclareFieldFormat{pages}{:#1}

\DeclareFieldFormat{journaltitle}{#1\isdot}

\renewcommand{\labelnamepunct}{\addspace}



\addbibresource{\jobname.bib}

\begin{filecontents}{\jobname.bib}
@book{Andeweg2011,
    title={Puzzles of Government Formation: Coalition Theory and Deviant Cases},
    author={Andeweg, Rudy W. and De Winter, Lieven and Dumont, Patrick},
    year={2011},
    publisher={Taylor \& Francis}
}

@article{ansolabehere2005voting,
  title={Voting weights and formateur advantages in the formation of coalition governments},
  author={Ansolabehere, Stephen and Snyder Jr., James M. and Strauss, Aaron B. and Ting, Michael M.},
  journal={American Journal of Political Science},
  volume={49},
  number={3},
  pages={550--563},
  year={2005},
  publisher={Wiley Online Library}
}


\end{filecontents}


\begin{document}
\section{Section}
text
\textcite{Andeweg2011, ansolabehere2005voting}

\printbibliography

\end{document}

答案1

我发布了解决方案。非常感谢大家

\documentclass[12pt]{article}

\usepackage[dashed=false,style=authoryear,backend=biber,giveninits=true]{biblatex}

\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\revsdnamepunct}{}

\renewbibmacro{in:}{%
  \ifboolexpr{%
     test {\ifentrytype{article}}%
     or
     test {\ifentrytype{inproceedings}}%
  }{}{\printtext{\bibstring{in}\intitlepunct}}%
}

\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
  {title}{#1\isdot}

\DeclareFieldFormat{title}{#1}

\DeclareFieldFormat{pages}{#1}
\renewcommand*{\bibpagespunct}{\addcolon}

\DeclareFieldFormat{journaltitle}{#1\isdot}

\renewcommand{\labelnamepunct}{\addspace}

\renewrobustcmd*{\bibinitperiod}{}
 \renewrobustcmd*{\bibinitdelim}{}
 \renewrobustcmd*{\bibinithyphendelim}{}


\addbibresource{\jobname.bib}
\DefineBibliographyExtras{english}{%
  \renewcommand*{\finalnamedelim}{\addcomma\addspace}%
}

\begin{filecontents}{\jobname.bib}
@book{Andeweg2011,
    title={Puzzles of Government Formation: Coalition Theory and Deviant Cases},
    author={Andeweg, Rudy W. and De Winter, Lieven and Dumont, Patrick},
    year={2011},
    publisher={Taylor \& Francis}
}

@article{ansolabehere2005voting,
  title={Voting weights and formateur advantages in the formation of coalition governments},
  author={Ansolabehere, Stephen and Snyder Jr., James M. and Strauss, Aaron B. and Ting, Michael M.},
  journal={American Journal of Political Science},
  volume={49},
  number={3},
  pages={550--563},
  year={2005},
  publisher={Wiley Online Library}
}


\end{filecontents}


\begin{document}
\section{Section}
text
\textcite{Andeweg2011, ansolabehere2005voting}

\printbibliography

\end{document}

相关内容