我目前尝试使用 IEEEtran 和 natbib 进行引用,并想在特定情况下给出页码,但它无法正确呈现。
我的配置等如下:
包.tex:
\usepackage[square]{natbib}
来自我的 bibliography.bib 文件的示例条目:
@book{Eckert,
url = {https://doi.org/10.1515/9783110563900 },
title = {IT-Sicherheit},
title = {Konzepte - Verfahren - Protokolle},
author = {Claudia Eckert},
publisher = {De Gruyter Oldenbourg},
address = {Berlin, Boston},
doi = {doi:10.1515/9783110563900 },
isbn = {9783110563900},
year = {2018},
lastchecked = {2023-01-06}
}
我的 main.tex 文件声明如下:
\setcitestyle{square}
\bibliography{bibliography}
\bibliographystyle{IEEEtran}
每当我使用 \cite{Eckert} 时,它都会正确显示括号中的数字。但在某些情况下,例如书籍,我有时还想给出非常长的资料的页码,例如 [1, p. 234]
文档说,这可以通过简单地在括号中给出一个参数来实现,如下所示:
\cite[p.~234]{Eckert}
不幸的是,这会产生这样的输出:
[? ]第 234 页]埃克特
有人能帮帮我吗?我在 Google 上搜索了几个小时,但找不到适合我的解决方案。
答案1
在文件的评论中IEEEtran.cls
:
IEEEtran.cls
为可选使用 Donald Arseneau 的cite.sty
包创建钩子。
所以我建议你使用cite.sty
而不是natbib.sty
。我们可以很容易地发现,在参考文献部分, 的字体大小natbib.sty
大于cite.sty
,这是不正确的。因此,当你使用 时IEEEtran.cls
,你需要使用cite.sty
。
\documentclass{IEEEtran}
\usepackage[noadjust]{cite}
\usepackage{xurl}
\begin{document}
This is a reference cite~\cite[p.~234]{Eckert}.
\bibliographystyle{IEEEtran}
\bibliography{bibliography}
\end{document}
\documentclass{IEEEtran}
\usepackage[square,numbers]{natbib}
\usepackage{xurl}
\begin{document}
This is a reference cite~\cite[p.~234]{Eckert}.
\bibliographystyle{IEEEtran}
\bibliography{bibliography}
\end{document}