パッケージ [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。オプションを渡す必要がある理由はdocumentclassnatbib

\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}

関連情報