PassOptionsToPackage:natbib 透過 svjour3

PassOptionsToPackage:natbib 透過 svjour3

在此 MWE 中,我無法將選項傳遞給natbibvia svjour3,這需要 natbib。附註解的替代方案運作正常,但有一些缺點(例如, svjour3after中的程式碼\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}

我究竟做錯了什麼?

編輯:這裡是svjour3http://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;參見p。使用者指南的 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} 

相關內容