bibtex crossrefs 中的继承层次结构-不继承第二层

bibtex crossrefs 中的继承层次结构-不继承第二层

我的 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}

使用 Biblatex 进行嵌套交叉引用

相关内容