包 [square]{natbib} 的選項衝突

包 [square]{natbib} 的選項衝突

如果我調用natbib,LaTeX 運行沒有問題。但是,如果我有以下內容

\usepackage[square, comma, numbers, sort&compress, super]{natbib}                                                   

它不運行並出現​​以下錯誤:

Latex Error: Option clash for package natbib        

該文件的完整開頭是:

\documentclass[preprint,showpacs,preprintnumbers,showkeys]{revtex4}

\newcommand{\classoption}[1]{\texttt{#1}}   
\newcommand{\macro}[1]{\texttt{\textbackslash#1}}  
\newcommand{\m}[1]{\macro{#1}}  
\newcommand{\env}[1]{\texttt{#1}}  

\usepackage[T1]{fontenc}  
\usepackage{graphicx}  
\usepackage{epstopdf}  
\usepackage{bm}  
\usepackage{color}  
\usepackage{natbib}
\usepackage[square,                                                     
comma,                                                                              
numbers,                                                                            
sort&compress,                                                              
super]{natbib}  
\renewcommand{\thefootnote}{\fnsymbol{footnote}}  
\usepackage{amssymb,amsmath,amsfonts}  
\usepackage[hang,scriptsize,tight]{subfigure}  

\begin{document}  

答案1

無需(重新)加載natbib帶有各種選項的包,只需執行

\usepackage{natbib}
\setcitestyle{square, comma, numbers,sort&compress, super}

順便說一句,選項numberssuper是相互排斥的:選擇一個或另一個,但不是兩者都

答案2

我不知道這是否給出了所需的結果,但以下內容將在沒有選項衝突的情況下編譯:

\PassOptionsToPackage{square,comma,numbers,sort&compress,super}{natbib}
\documentclass[preprint,showpacs,preprintnumbers,showkeys]{revtex4}

\newcommand{\classoption}[1]{\texttt{#1}}   
\newcommand{\macro}[1]{\texttt{\textbackslash#1}}  
\newcommand{\m}[1]{\macro{#1}}  
\newcommand{\env}[1]{\texttt{#1}}  

\usepackage[T1]{fontenc}  
\usepackage{graphicx}  
\usepackage{epstopdf}  
\usepackage{bm}  
\usepackage{color}  
%\usepackage{natbib}
%\usepackage[square,                                                     
%comma,                                                                              
%numbers,                                                                            
%sort&compress,                                                              
%super]{natbib}  
\renewcommand{\thefootnote}{\fnsymbol{footnote}}  
\usepackage{amssymb,amsmath,amsfonts}  
\usepackage[hang,scriptsize,tight]{subfigure}  

\usepackage{blindtext}

\begin{document}  
\Blinddocument
\end{document}

答案3

revtex4本身已經加載了natbib。您應該documentclass在之前傳遞選項的原因natbib

\PassOptionsToPackage{square,comma,numbers,sort&compress,super}{natbib}  
\documentclass[preprint,showpacs,preprintnumbers,showkeys]{revtex4}

\newcommand{\classoption}[1]{\texttt{#1}}   
\newcommand{\macro}[1]{\texttt{\textbackslash#1}}  
\newcommand{\m}[1]{\macro{#1}}  
\newcommand{\env}[1]{\texttt{#1}}  

\usepackage[T1]{fontenc}  
\usepackage{graphicx}  
\usepackage{epstopdf}  
\usepackage{bm}  
\usepackage{color}
\renewcommand{\thefootnote}{\fnsymbol{footnote}}  
\usepackage{amssymb,amsmath,amsfonts}  
\usepackage[hang,scriptsize,tight]{subfigure}  

\begin{document} 
foo
\end{document}

相關內容