IEEEtran BSTcontrol 不起作用

IEEEtran BSTcontrol 不起作用

“如何使用 IEEEtran Bibtex 样式”文档中的“IEEEtran BST 控制条目类型”部分描述了如何省略 URL 并在参考书目中使用“et al”。不幸的是,它似乎对我的情况不起作用,而且我找不到任何其他描述。日志文件中没有任何内容表明已加载。bstcontrol.bib构建目录也包含IEEEtran.bstIEEEtran.cls。我遗漏了什么?还应该设置什么才能使其工作?

我的 mwe LaTeX 代码:

\documentclass{IEEEtran}
\usepackage{lipsum}
\begin{document}
  \lipsum[1]
  \cite{key}
  \bstctlcite{IEEEexample:BSTcontrol}
  \bibliographystyle{IEEEtran}
  \bibliography{bstctrl,mwe}
\end{document}

文件bstcontrol.bib

@IEEEtranBSTCTL{IEEEexample:BSTcontrol,
  CTLuse_forced_etal       = "yes",
  CTLmax_names_forced_etal = "6",
  CTLnames_show_etal       = "1",
  CTLuse_url               = "no",
  CTLdash_repeated_names   = "no"
}

文件mwe.bib

@book{key,
  author = {A,a and B,b and C,c and D,d and E,e and F,f and G,g and H,h and I,i },
  year = {2001},
  title = {Title},
  publisher = {Publisher},
  url = {https://mysite/mybook/index.html},
}

包含 URL,且长作者列表尚未用“et al.”缩减:

在此处输入图片描述

答案1

你遇到的问题是,如果IEEEtran使用这样的参考书目样式,不是对参考书目条目进行排序(通常按作者姓氏的字母顺序排列),命令\bstctlcite必须任何“常规”\cite命令。事实上,IEEEtran BST 操作方法文档建议将\bstctlcite指令放在紧随其后\begin{document}(参见用户指南第 8 页,右侧栏)。

因此,请尝试以下测试文档:

\documentclass{IEEEtran}
\usepackage{lipsum}
\begin{document}
  \bstctlcite{IEEEexample:BSTcontrol} % make this the first directive after "\begin{document}"
  \lipsum[1]
  \cite{key}
  \bibliographystyle{IEEEtran}
  \bibliography{bstcontrol,mwe}
\end{document}

相关内容