在此 MWE 中,我无法将选项传递给natbib
via ,这需要 natbib。注释的替代方案工作正常,但有一些缺点(例如, aftersvjour3
中的代码,例如,不知何故未执行。svjour3
\RequirePackage{natbib}
bibfont
\PassOptionsToPackage{numbers}{natbib}
\documentclass[natbib]{svjour3}
%\documentclass{svjour3}
%\RequirePackage{natbib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{something, author = "someone"}
\end{filecontents}
\begin{document}
\cite{something}
\bibliographystyle{unsrtnat}
\bibliography{\jobname}
\end{document}
我究竟做错了什么?
编辑:这里是svjour3
:http://static.springer.com/sgw/documents/468198/application/zip/LaTeX_DL_468198.zip(通过https://www.springer.com/gp/livingreviews/latex-templates)。
编辑:我认为我更具体的问题是:为什么\PassOptionsToPackage
对本地呼叫有效\RequirePackage
,但对课堂上的呼叫无效svjour3
?
最小答案(请参阅已接受的答案以获取解释):
\PassOptionsToPackage{numbers,sort&compress,...}{natbib}
\documentclass[natbib]{svjour3}
\bibpunct[,]{[}{]}{,}{n}{,}{,}
这将切换到数字引用样式并尊重所请求的选项,同时保留所有布局代码svjour3
。
答案1
(已编辑以反映 OP 提供的附加信息。)
使用svjour3
文档类时,如果您选择类选项,您将获得作者年份样式的引用标注natbib
;请参阅用户指南第 4 页和\bibpunct
指令的第四个参数。
幸运的是,改变引用标注样式很简单:重新运行\bibpunct
指令但使用“n”作为第四个参数。
\documentclass[natbib]{svjour3}
% Important change: Set fourth argument to "n" (default is "a")
\bibpunct{(}{)}{;}{n}{}{,}
\bibliographystyle{unsrtnat}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{something,
author = "FirstName MiddleName LastName",
title = "A very long and tedious title that says absolutely nothing",
journal= "Circularity Today",
year= 5678,
volume = 1,
number = 2,
pages = "3-4",
}
\end{filecontents}
\begin{document}
\cite{something}
\bibliography{\jobname}
\end{document}