我的 bibtex 文件中有以下条目:
@inproceedings{Kang2011,
author = {Kang, Hongwen and Hebert, Martial and Kanade, Takeo},
title = {{Discovering object instances from scenes of Daily Living}},
crossref = {iccv-2011},
pages = {762--769}
}
@proceedings{iccv-2011,
crossref = {iccv},
year = {2011} }
@misc{iccv,
booktitle = {International Conference on Computer Vision (ICCV)}
}
这个想法是,如果我想改变会议名称的写法,我只需要在一个地方做就可以了 - 这是受到以下启发:这个答案。
@proceedings
但是,当使用它来编译乳胶文档时,参考书目中会显示年份,但不会显示会议名称@misc
:
我究竟做错了什么?
答案1
您可以创建字符串,而不是使用嵌套的交叉引用,而是在最内层的交叉引用上使用它们。这应该与您示例中的用法兼容。
@inproceedings{Kang2011,
author = {Kang, Hongwen and Hebert, Martial and Kanade, Takeo},
title = {{Discovering object instances from scenes of Daily Living}},
crossref = {iccv-2011},
pages = {762--769}
}
@proceedings{iccv-2011,
booktitle = iccv,
year = {2011} }
@string{iccv = {International Conference on Computer Vision (ICCV)}}
答案2
这不可能。从比博特手册,第 3 页:
(此外,您可能无法可靠地嵌套交叉引用;也就是说,交叉引用的条目本身可能无法可靠地交叉引用条目。但这几乎肯定不是您想要做的事情。)
答案3
仅演示一下切换到 Biblatex 可以解决问题:
\begin{filecontents}{\jobname.bib}
@inproceedings{Kang2011,
author = {Kang, Hongwen and Hebert, Martial and Kanade, Takeo},
title = {{Discovering object instances from scenes of Daily Living}},
crossref = {iccv-2011},
pages = {762--769}
}
@proceedings{iccv-2011,
crossref = {iccv},
year = {2011} }
@misc{iccv,
booktitle = {International Conference on Computer Vision (ICCV)}
}
\end{filecontents}
\documentclass{article}
\usepackage{biblatex}
\bibliography{\jobname}
\begin{document}
\cite{Kang2011}
\printbibliography
\end{document}