是否可以使用变量来改变参考书目样式?

是否可以使用变量来改变参考书目样式?

我正在编写论文课程并使用 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”时,没有任何变化。为什么?或者还有其他方法吗?

相关内容