我使用 LaTeX 写学术文章已经有一段时间了,但遇到了一个我以前从未见过的错误。在文中引用文章时,作者姓名的首字母也会显示出来。
这是出现问题的 LaTeX 行的示例:
\textcite{YuFangZhuMa2019} develop an exact polynomial-time algorithm with the use of the Karush-Kun-Tucker conditions.
结果是
Q. Yu 等人(2019)利用 Karush-Kun-Tucker 条件开发了一种精确的多项式时间算法。
在序言中我使用了biblatex
如下包:
\usepackage[style=apa,backend=biber]{biblatex}
对应的参考书目条目如下:
@article{YuFangZhuMa2019,
author = {Yu, Q. and Fang, F. and Zhu, N. and Ma, S.},
title = {{A Matheuristic Approach to the Orienteering Problem with Service Time Dependent Profits}},
journal = {European Journal of Operations Research},
year = 2019,
volume = 273,
number = 2,
pages = {488-503},
doi = {10.1016/j.ejor.2018.08.007}
}
与所有其他引文一样,它应该只显示为“Yu et al. (2019)”,而不是“Q. Yu et al. (2019)。据我所知,此问题仅发生在第一作者姓氏太短(即仅由两个字母组成)的文章中。如果我将第一作者的姓氏更改为“Yun”,则引文显示正确。一个快速简便的解决方案是删除参考书目条目中的名字字母,但这会导致参考书目表示不一致,有些作者有名字,有些没有名字。有人知道如何解决这个问题吗?
答案1
作为问题通过 moewe 节目链接,您可以添加uniquename=false
到选项biblatex:
\usepackage[style=apa,backend=biber,uniquename=false]{biblatex}
会变成
使用以下代码:
\begin{filecontents*}{\jobname.bib}
@article{YuFangZhuMa2019,
author = {Yu, Q. and Fang, F. and Zhu, N. and Ma, S.},
title = {{A Matheuristic Approach to the Orienteering Problem with Service Time Dependent Profits}},
journal = {European Journal of Operations Research},
year = 2019,
volume = 273,
number = 2,
pages = {488-503},
doi = {10.1016/j.ejor.2018.08.007}
}
@article{YuFangZhuMa2020,
author = {Yu, F. and Fang, F. and Zhu, N. and Ma, S.},
title = {{A refutation.}},
journal = {European Journal of Operations Research},
year = 2020,
volume = 274,
number = 2,
pages = {488-503},
doi = {10.1016/j.ejor.2018.08.007}
}
\end{filecontents*}
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage[style=apa,backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\textcite{YuFangZhuMa2019} develop an exact polynomial-time algorithm with the use of the Karush-Kun-Tucker conditions.
\textcite{YuFangZhuMa2020} say this is codswallop.
\printbibliography
\end{document}