Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm writing a paper for which the bibliographic style is unsrt (imposed by the editor). I use texlive 2010 and latexmk for compilation.

I try to use crossref for inproceedings entries in my bib file. It works well on other documents (with the same bib entries but different styles) but on this one bibtex complains:

Warning--empty booktitle in xxx
Warning--empty booktitle in yyy

The inproceedings are defined before the proceedings as required.

Here is a MWE:

\documentclass[a4paper,10pt]{article}

\begin{document}

See~\cite{Joe2011} for details.

\bibliographystyle{unsrt}
\bibliography{test_unsrt}

\end{document}

With the following bib file:

@INPROCEEDINGS{Joe2011,
 author = {Joe, J.},
 title = {On the use of crossref and unsrt},
 crossref = {stackexchange/tex/23122}
}

@PROCEEDINGS{stackexchange/tex/23122,
  title = {Proceedings of question 23122},
  year = {2011},
}

Simply changing the title field to booktitle works.

The matter is that proceedings entry are supposed to have a title field (not booktitle). For instance JabRef propose only the title field. Most styles I have tried use the title field. For now my problem is closed but maybe someone with good knowledge of bibtex could fix this

Thanks in advance.

share|improve this question
    
It's a warning, which says that some entry has no book title! Would you please try and present a minimal example? –  egreg Jul 15 '11 at 9:37
2  
Thanks. I figured out a workaround: using booktile field instead of title in the proceedings entry works. –  Mathieu Dubois Jul 15 '11 at 9:50
    
Sorry I don't have enough reputation to answer my question so I can't post a MWE.The matter is that proceedings entry are supposed to have a title field (not booktitle). For instance JabRef propose only the title field. Most styles I have tried use the title field. For now my problem is closed but maybe someone with good knowledge of bibtex could fix this. –  Mathieu Dubois Jul 15 '11 at 10:04
    
You can always edit your original question; indeed it's the preferred way to follow. –  egreg Jul 15 '11 at 10:08
    
These aren't proceeding papers, so you are just forcing things into place. With biblatex you have a wider range of types to use. –  Mikael Öhman Jul 15 '11 at 10:37

3 Answers 3

This is a well known design flaw of the BibTeX database format:

  • inproceedings entries have to provide both, the title field – which defines the title of the respective paper and the booktitle field, which gives the title of, well, the proceedings book.

  • When you crossref to another entry in BibTex, all fields that have not been set so far are taken from the referred entry. Hence, referring from inproceedings to proceedings imports all fields, but title, which has already been used for the paper title. Afterwards, BibTeX complaints if booktitle is (still) missing.

  • proceedings entries, however, need their title (like other books) to be given by the title field. It is taken if you refer directly to a proceedings book (like \cite{stackexchange/tex/23122}) or the style does it automatically (to shorten your inproceedings entries).

So the general (but ugly) recommendation (e.g., given by WikiPedia) to be able to use proceedings entries stand-alone as well as crossrefed by inproceedings entries is to state the title twice: once as title and once as booktitle.

Edit:

A less ugly solution to this problem is provided by switching from traditional BibTex to biblatex with the biber backend, as explained in the answer by lockstep.

share|improve this answer
    
I actually wanted to round-up my answer with a recommendation of biblatex. However, as I got it from the manual, it does not solve the issue :-( –  Daniel Jul 15 '11 at 15:09
    
Yeah I use biblatex for my thesis but for this paper the bib style is imposed (and it's bibtex). So I will stick to the usual workaround. –  Mathieu Dubois Jul 17 '11 at 7:17

This is yet another reason to use the biblatex/biber combo. Quoting from section 2.4.1 of the biblatex manual:

The crossref field is a convenient way to establish a parent/child relation between two associated entries. Unfortunately, BibTeX uses symmetric field mapping which reduces the usefulness of the crossref field significantly. [...] As BibTeX is not capable of mapping the title field of the parent to the booktitle field of the child, the title of the book needs to be given twice. The style then needs to ignore the booktitle of the parent since it is only required to work around this fundamental limitation of BibTeX. [...]

With Biber, the limitations of BibTeX’s crossref field belong to the past. Biber features a highly customizable cross-referencing mechanism with flexible data inheritance rules. Duplicating certain fields in the parent entry [...] is no longer required. [...] The title field of the parent will be copied to the booktitle field of the child[...].

share|improve this answer
    
Thanks, that was the info I was looking for. I have updated my answer in this respect. –  Daniel Jul 15 '11 at 15:30
    
Yeah I didn't noticed the problem because I discovered crossref and biblatex at the same time :). As explained, for this particular document I can't use the biblatex/biber. –  Mathieu Dubois Jul 17 '11 at 7:20

The simplest solution, I believe, is to augment the second entry in the bib file:

@PROCEEDINGS{stackexchange/tex/23122,
  title = {Proceedings of question 23122},
  booktitle = {Proceedings of question 23122},
  year = {2011},
}  

I.e., all you need to do is to create a booktitle entry (and make it identical to title). BiBtex will perform just fine then.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.