Spring Nature 期刊 \citep{} 无法按预期工作

Spring Nature 期刊 \citep{} 无法按预期工作

基本上,我正在尝试为 Springer 期刊撰写一篇论文,我正在使用他们的模板,你可以下载这里。我正在将其作为 Zip 文件上传至 Overleaf。

得益于此回答,我可以设法生成引文,因为他们拥有的 bst 文件位于 bst 文件夹中,而不是.tex主文章文件所在的根文件夹中。所以我将一个 bst 文件移到了根文件夹中。我可以使用\cite{...}命令,它显示带有数字和方括号的参考文献,例如[1]

然而,正如他们的文档所声称的,不幸的是,\citep{...}选项不起作用。它仍然给我相同的输出\cite{...}。换句话说,\citep{...}不打印(Jones 等人,1990 年)。

就像这样回答指出,我尝试\documentclass{sn-jnl}在没有“ sn-mathphys”的情况下写入,但这次,我收到一个错误,“包 natbib 警告:输入行 129 上第 2 页的引用‘bib1’的作者未定义。” 而我确实有它!

我尝试了很多方法但都没有成功。

请注意,最小示例已包含在 bib 项的下载文件中。

编辑:

正如一位评论者指出的那样,这是 Springer Nature Latex 模板序言:

%%\documentclass[pdflatex,sn-basic]{sn-jnl}% Basic Springer Nature Reference Style/Chemistry Reference Style
%%\documentclass{sn-jnl}
%%\documentclass[sn-basic]{sn-jnl}% Basic Springer Nature Reference Style/Chemistry Reference Style
\documentclass[sn-mathphys]{sn-jnl}% Math and Physical Sciences Reference Style
%%\documentclass[sn-aps]{sn-jnl}% American Physical Society (APS) Reference Style
%%\documentclass[sn-vancouver]{sn-jnl}% Vancouver Reference Style
%%\documentclass[sn-aps]{sn-jnl}% APA Reference Style
%%\documentclass[sn-chicago]{sn-jnl}% Chicago-based Humanities Reference Style
%%\documentclass[sn-standardnature]{sn-jnl}% Standard Nature Portfolio Reference Style
%%\documentclass[default]{sn-jnl}% Default
%%\documentclass[default,iicol]{sn-jnl}% Default with double column layout

这里我需要使用它,\documentclass[sn-mathphys]{sn-jnl}因为这是一篇数学论文。此外,我将sn-mathphys.bst文件放在根文件夹中,如上所述。

这是该模板使用命令所声明的功能\citep{...}但它不起作用:

在此处输入图片描述

此外,这\citep很明显。我想要作者年份风格的引用。

答案1

您似乎认为\citep将(应该?)始终生成作者年份样式的引文标注。这种印象并不正确。

具体来说,\citep仅当所用书目样式支持此引文标注样式时,才可以生成作者年份样式的引文标注。不幸的是,您sn-mathphys不是这些书目样式之一。

考虑以下简约的测试文档:

\documentclass[sn-mathphys]{sn-jnl} % use natbib package and sn-mathphys bib style
\begin{filecontents}[overwrite]{test.bib}
@misc{a:3001, author="Anne Author", title="Thoughts", year=3001}}
\end{filecontents}
%\setcitestyle{authoryear}

\begin{document}
\citep{a:3001}
\bibliography{test}
\end{document}

果然,它产生了一个数字样式的引用标注:

在此处输入图片描述

如果取消注释该指令\setcitestyle{authoryear},则会收到以下错误消息:

! Package natbib Error: Bibliography not compatible with author-year citations.

(natbib)                Press <return> to continue in numerical citation style.


See the natbib package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.23 ...mand\NAT@force@numbers{}\NAT@force@numbers

结果是什么?sn-mathphysbib 样式无法生成作者年份样式的引文标注。这就是为什么\cite和都\citep创建数字样式的引文标注。

相关内容