“如何使用 IEEEtran Bibtex 样式”文档中的“IEEEtran BST 控制条目类型”部分描述了如何省略 URL 并在参考书目中使用“et al”。不幸的是,它似乎对我的情况不起作用,而且我找不到任何其他描述。日志文件中没有任何内容表明已加载。bstcontrol.bib
构建目录也包含IEEEtran.bst
和IEEEtran.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}