我正在编写论文课程并使用 natbib 包来编写参考书目。但参考书目有两种选择,一种是数字,另一种是哈佛风格。我定义了一个变量作为“thesisbibstyle”以供选择
\newcommand*{\thesisbibstyle}[1]{\def\@bibtype{#1}}
并使用在 tex 文件中执行选择
\thesisbibstyle{harvard} or \thesisbibstyle{numeric}
命令。在类文件中,我正在使用代码检查 tex 文件中的条目
\gdef\@bibhrv{harvard}
\gdef\@bibnmr{numeric}
\ifx\@bibtype\@bibhrv
% harvard style selected
\RequirePackage[round]{natbib}
\else
% numeric style selected
\RequirePackage[numbers, sort&compress]{natbib}
\fi
\bibliographystyle{unsrtnat}
第一次编译时没问题。但是当我将选择从“harvard”更改为“numeric”或从“numeric”更改为“harvard”时,没有任何变化。为什么?或者还有其他方法吗?