让我们考虑下面的 MWE
我需要引用将作者列表截断为两个,后面跟着“et al”,但是,此设置不起作用[基于伯纳德的回答]。
此外,我希望引用能自动用方括号括起来。
最后,有没有一个快速的解决方法,将参考文献中的“&”符号改为“and”?
添加:(对于
style=ext-authoryear
)如何用首字母缩写作者的名字和姓氏?解决方案:(giveninits=true
在biblatex
选项中)。
先感谢您。
\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}
或使用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}