BibLateX-基本定制

BibLateX-基本定制

让我们考虑下面的 MWE

  • 我需要引用将作者列表截断为两个,后面跟着“et al”,但是,此设置不起作用[基于伯纳德的回答]。

  • 此外,我希望引用能自动用方括号括起来。

  • 最后,有没有一个快速的解决方法,将参考文献中的“&”符号改为“and”?

  • 添加:(对于style=ext-authoryear)如何用首字母缩写作者的名字和姓氏?解决方案:(giveninits=truebiblatex选项中)。

先感谢您。

\documentclass{article}
\usepackage[citestyle=authoryear,style=apa,maxcitenames=2,mincitenames=2]{biblatex}

\begin{filecontents}{\jobname.bib}
@Article{Nachbagauer2015,
author="Karin Nachbagauer and Stefan Oberpeilsteiner and Karim Sherif and Wolfgang Steiner",
title="The Use of the Adjoint Method for Solving Typical Optimization Problems in Multibody Dynamics",
journal="Journal of Computational and Nonlinear Dynamics",
year="2015",
volume="10",
number="6",
doi="10.1115/1.4028417",
url="https://doi.org/10.1115/1.4028417"
}

    @Article{Dopico2014,
author="Daniel Dopico and Yitao Zhu and Adrian Sandu and Corina Sandu",
title="Direct and Adjoint Sensitivity Analysis of Ordinary Differential Equation Multibody Formulations",
journal="Journal of Computational and Nonlinear Dynamics",
year="2014",
volume="10",
number="1",
doi="10.1115/1.4026492",
url="https://doi.org/10.1115/1.4026492"
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
    Hallo world \\
    \cite{Nachbagauer2015}\\
    \cite{Dopico2014}
    \printbibliography
\end{document}

答案1

一般来说,biblatex-apa如果您想要与 APA 格式不同的参考书目或引用格式,我建议不要使用。它专门为符合 APA 格式而编写,包括其所有优点和所有细节。即使“应该很容易”,改变其行为也biblatex-apa可能非常复杂。biblatex-apa

(min|max)citenames

citestyle=authoryear,style=apa相当于style=apa. biblatex-apa,特别是它的引用风格,不遵循(max|min)citenames遵循biblatex 中有三位作者的 APA 格式以及其他地方,因为 APA 要求在截断作者时采取特殊行为。

style=apa,citestyle=authoryear

(相当于bibstyle=apa,citestyle=authoryear)引用风格是authoryear并且(min|max)citenames受到尊重。

引用请用方括号

这很容易与我的风格biblatex-ext捆绑。只需使用

citestyle=ext-authoryear

而不是citestyle=authoryear和问题

\DeclareOuterCiteDelims{parencite}{\bibopenbracket}{\bibclosebracket}

然后设置autocite=inline并用作\autocite您的引用命令。

将“&”替换为“and”

这表明你其实(bib)style=apa根本不想要。也许style=authoryear已经style=ext-authoryear给你你想要的东西了。如果你坚持apa你需要

\DeclareDelimFormat[bib,biblist]{finalnamedelim}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\ifthenelse{\value{liststop}>2}
       {\finalandcomma\addspace\bibstring{and}\space}
       {\addspace\bibstring{and}\space}}}

\DeclareDelimFormat[bib,biblist]{finalnamedelim:apa:family-given}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\finalandcomma\addspace\bibstring{and}\space}}

总共采用apa书目样式

\documentclass{article}
\usepackage[style=apa,citestyle=ext-authoryear,maxcitenames=2,mincitenames=2,autocite=inline]{biblatex}

\DeclareOuterCiteDelims{parencite}{\bibopenbracket}{\bibclosebracket}

\DeclareDelimFormat[bib,biblist]{finalnamedelim}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\ifthenelse{\value{liststop}>2}
       {\finalandcomma\addspace\bibstring{and}\space}
       {\addspace\bibstring{and}\space}}}

\DeclareDelimFormat[bib,biblist]{finalnamedelim:apa:family-given}{%
  \ifthenelse{\value{listcount}>\maxprtauth}
    {}
    {\finalandcomma\addspace\bibstring{and}\space}}

\begin{filecontents}{\jobname.bib}
@article{Nachbagauer2015,
  author  = {Karin Nachbagauer and Stefan Oberpeilsteiner and Karim Sherif and Wolfgang Steiner},
  title   = {The Use of the Adjoint Method for Solving Typical Optimization Problems in Multibody Dynamics},
  journal = {Journal of Computational and Nonlinear Dynamics},
  year    = {2015},
  volume  = {10},
  number  = {6},
  doi     = {10.1115/1.4028417},
}

@article{Dopico2014,
  author  = {Daniel Dopico and Yitao Zhu and Adrian Sandu and Corina Sandu},
  title   = {Direct and Adjoint Sensitivity Analysis of Ordinary Differential Equation Multibody Formulations},
  journal = {Journal of Computational and Nonlinear Dynamics},
  year    = {2014},
  volume  = {10},
  number  = {1},
  doi     = {10.1115/1.4026492},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  Lorem ipsum

  \autocite{Nachbagauer2015}

  \autocite{Dopico2014}

  \printbibliography
\end{document}

APA 参考书目

或使用ext-authoryear书目样式

\documentclass{article}
\usepackage[style=ext-authoryear,
  maxbibnames=999, maxcitenames=2, mincitenames=2,
  giveninits=true, uniquename=init,
  articlein=false, innamebeforetitle=true,
  autocite=inline]{biblatex}

\DeclareOuterCiteDelims{parencite}{\bibopenbracket}{\bibclosebracket}

\DeclareNameAlias{sortname}{family-given}

\addbibresource{biblatex-examples.bib}

\begin{document}
  Lorem ipsum

  \autocite{sigfridsson}

  \autocite{aksin}

  \autocite{companion}

  \printbibliography
\end{document}

作者年份书目

相关内容