我的大学论文指南要求这样的引用:
在正文中:
1 作者:Johnson (2018) 指出......或“blahblah” (Johnson 2018)。
2 位作者:Johnson/Smith (2017) 提及......或“blabla”(Johnson/Smith 2017)。
更多作者:Johnson 等人(2019)......或“blabla”(Johnson 等人,2019 年)。
场景 1 和 3 对我来说工作正常,但是当使用 2 位作者时,Biblatex 会用“and”(Johnson and Smith (2017))来分隔,而不是我想要的斜线。
有没有办法更新命令?
在参考书目中,“和”应该保留,因为指南要求这样做。
谢谢您的帮助!
编辑:包设置和使用的命令如下所示:
\usepackage[style=authoryear,maxcitenames=2,maxbibnames=99]{biblatex}
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}},
}
\DeclareNameAlias{sortname}{last-first}
答案1
可以仅更改文档主体的名称分隔符并保留参考书目的原始定义:
\documentclass{article}
\usepackage[style=authoryear,maxcitenames=2,maxbibnames=99]{biblatex}
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}},
}
\DeclareNameAlias{sortname}{last-first}
\addbibresource{biblatex-examples.bib}
\begin{document}
\begingroup
\renewcommand*{\finalnamedelim}{/}
\renewcommand*{\multinamedelim}{/}
normal document text
\cite{sigfridsson}
\endgroup
\printbibliography
\end{document}
答案2
对于的较新版本,biblatex
我建议您使用,它们multinamdelim
是finalnamedelim
可以用重新定义的上下文相关分隔符\DeclareDelimFormat
。
不幸的是,默认情况下,最安全的定义涉及复制原始定义,这意味着代码比用户191948的回答
\documentclass{article}
\usepackage[style=authoryear,maxcitenames=2,maxbibnames=99]{biblatex}
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}},
}
\DeclareNameAlias{sortname}{family-given}
\DeclareDelimFormat{multinamedelim}{\addslash}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareDelimFormat[bib]{multinamedelim}{\addcomma\space}
\DeclareDelimFormat[bib]{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}