Discussion:
Crossref problem with biblatex
(too old to reply)
Thomas Arildsen
2007-05-24 10:16:56 UTC
Permalink
I seem to have a problem using the crossref mechanism in BibTeX files
when using biblatex.
If I compile the following example (see references.bib at the bottom):

\usepackage{babel}
\usepackage{natbib}

\begin{document}

\section{First Section}
\label{sec:first-section}

An author has written the chapter \cite{Author2007}.
By the way, the chapter mentioned at the beginning
is in the book \cite{Editor2007}.

\bibliographystyle{plain}
\bibliography{references}

\end{document}

I get a bibliography saying:

[1] The Chapter Author. A Chapter on Something. In Editor [2 ], 2007.
[2] The Editor, editor. A Book on Something. A Publisher, 2007.

This is acceptable to me. However, if I choose to use biblatex in stead:

\documentclass[12pt,english,a4paper,twoside]{article}

\usepackage{babel}
\usepackage[sorting=none]{biblatex}
\bibliography{references}

\begin{document}

\section{First Section}
\label{sec:first-section}

An author has written the chapter \cite{Author2007}.
By the way, the chapter mentioned at the beginning
is in the book \cite{Editor2007}.

\printbibliography

\end{document}

My bibliography turns out like this:

[1] Author, The Chapter. \A Chapter on Something". In: ed. by The
Editor. A Publisher, 2007.
[2] A Book on Something. Ed. by The Editor. A Publisher, 2007.

Notice the "In: ed. by The Editor."; something is missing - I was hoping
for "In: A Book on Something ed. by The Editor.". What am I doing wrong?

Best regards,

Thomas Arildsen

My references.bib:

@INBOOK{Author2007,
title = {A Chapter on Something},
author = {The Chapter Author},
crossref = {Editor2007},
owner = {tha},
timestamp = {2007.05.24}
}

@BOOK{Editor2007,
title = {A Book on Something},
publisher = {A Publisher},
year = {2007},
editor = {The Editor},
owner = {tha},
timestamp = {2007.05.24}
}
Thomas Arildsen
2007-05-24 10:20:57 UTC
Permalink
Post by Thomas Arildsen
I seem to have a problem using the crossref mechanism in BibTeX files
when using biblatex.
I noticed a warning by biblatex:

Package biblatex Warning: Missing `csquotes' package.
(biblatex) Loading `csquotes' recommended.

However, loading csquotes does not seem to affect my problem.

Best regards,

Thomas Arildsen
Dominik Waßenhoven
2007-05-24 10:34:51 UTC
Permalink
Post by Thomas Arildsen
I seem to have a problem using the crossref mechanism in BibTeX files
when using biblatex.
[...]
[1] Author, The Chapter. \A Chapter on Something". In: ed. by The
Editor. A Publisher, 2007.
[2] A Book on Something. Ed. by The Editor. A Publisher, 2007.
Notice the "In: ed. by The Editor."; something is missing - I was hoping
for "In: A Book on Something ed. by The Editor.". What am I doing wrong?
BibTeX's cross-referencing means just pulling the fields of an entry
into another one, as long as they do not exist already. In your case,
the @inbook has a title, so it's not overwritten by the title of the
crossref'ed @book. biblatex is expecting a "booktitle" field. This is a
bit annoying, but adding the field

booktitle = {A Book on Something},

to your @inbook entry solves the problem. This means putting redundant
data into the bibfile, but I do not know of any other solution.

HTH,
Dominik.-
Joseph Wright
2007-05-24 12:28:30 UTC
Permalink
Post by Dominik Waßenhoven
Post by Thomas Arildsen
I seem to have a problem using the crossref mechanism in BibTeX files
when using biblatex.
[...]
[1] Author, The Chapter. \A Chapter on Something". In: ed. by The
Editor. A Publisher, 2007.
[2] A Book on Something. Ed. by The Editor. A Publisher, 2007.
Notice the "In: ed. by The Editor."; something is missing - I was hoping
for "In: A Book on Something ed. by The Editor.". What am I doing wrong?
BibTeX's cross-referencing means just pulling the fields of an entry
into another one, as long as they do not exist already. In your case,
bit annoying, but adding the field
booktitle = {A Book on Something},
data into the bibfile, but I do not know of any other solution.
HTH,
Dominik.-
If you look at the biblatex documents, you'll see that biblatex
doesn't use the same conventions as the standard bibtex files for book
titles. Biblatex expects booktitle as the title of a book in all
cases, with title only normally used for a chapter within a book.

Joseph Wright
Thomas Arildsen
2007-05-25 07:22:51 UTC
Permalink
Post by Joseph Wright
If you look at the biblatex documents, you'll see that biblatex
doesn't use the same conventions as the standard bibtex files for book
titles. Biblatex expects booktitle as the title of a book in all
cases, with title only normally used for a chapter within a book.
It seems that I have to specify both 'title' and 'booktitle' in the
@BOOK entry in order to get the title displayed for the book itself, if
I cite the book. The crossref'ed chapter seems to use 'booktitle',
whereas the book entry itself uses 'title'. Is this correctly understood?

Thomas Arildsen
Joseph Wright
2007-05-25 07:44:53 UTC
Permalink
Post by Thomas Arildsen
Post by Joseph Wright
If you look at the biblatex documents, you'll see that biblatex
doesn't use the same conventions as the standard bibtex files for book
titles. Biblatex expects booktitle as the title of a book in all
cases, with title only normally used for a chapter within a book.
It seems that I have to specify both 'title' and 'booktitle' in the
@BOOK entry in order to get the title displayed for the book itself, if
I cite the book. The crossref'ed chapter seems to use 'booktitle',
whereas the book entry itself uses 'title'. Is this correctly understood?
Thomas Arildsen
According to the biblatex manual (section 2.3.5), "title" is used for
the title of a book if no "booktitle" is given. So "title" is a fall-
back. See also the discussion about @book/@inbook in section 2.3.2.

Joseph Wright
Dominik Waßenhoven
2007-05-25 08:13:14 UTC
Permalink
Post by Joseph Wright
According to the biblatex manual (section 2.3.5), "title" is used for
the title of a book if no "booktitle" is given. So "title" is a fall-
But if you have a @book entry without a title and with a booktitle, the
output is without the title! One could use maintitle instead. See the
attached example:

\documentclass[12pt,english,a4paper,twoside]{article}
\usepackage{filecontents}
\begin{filecontents}{biblatex-crossref.bib}
@INBOOK{Author2007,
title = {A Chapter on Something},
author = {The Chapter Author},
crossref = {Editor2007},
}
@BOOK{Editor2007,
booktitle = {A Book on Something},
publisher = {A Publisher},
year = {2007},
editor = {The Editor},
}
@INBOOK{Author2006,
title = {Another Chapter},
author = {Second Chapter Author},
crossref = {Editor2006},
}

@BOOK{Editor2006,
maintitle = {Another Book},
publisher = {Another Publisher},
year = {2006},
editor = {Second Editor},
}
\end{filecontents}
\usepackage{babel}
\usepackage[sorting=none,style=authortitle]{biblatex}
\bibliography{biblatex-crossref}

\begin{document}

\nocite{*}

\printbibliography

\end{document}

Regards,
Dominik.-
--
DE-TeX-FAQ: http://www.dante.de/faq/de-tex-faq
Minimalbeispiel: http://www.minimalbeispiel.de
JabRef-Handbuch: http://kuerzer.de/jabref-handbuch
Thomas Arildsen
2007-05-25 08:35:26 UTC
Permalink
Post by Joseph Wright
Post by Thomas Arildsen
Post by Joseph Wright
If you look at the biblatex documents, you'll see that biblatex
doesn't use the same conventions as the standard bibtex files for book
titles. Biblatex expects booktitle as the title of a book in all
cases, with title only normally used for a chapter within a book.
It seems that I have to specify both 'title' and 'booktitle' in the
@BOOK entry in order to get the title displayed for the book itself, if
I cite the book. The crossref'ed chapter seems to use 'booktitle',
whereas the book entry itself uses 'title'. Is this correctly understood?
Thomas Arildsen
According to the biblatex manual (section 2.3.5), "title" is used for
the title of a book if no "booktitle" is given. So "title" is a fall-
back.
I do not see that stated anywhere in section 2.3.5: If I make a book
entry with only 'booktitle' given, no title shows up in the bibliography.

Test document:

\documentclass[12pt,english,a4paper,twoside]{article}

\usepackage{babel}
\usepackage[sorting=none]{biblatex}
\bibliography{references}

\begin{document}

\section{First Section}
\label{sec:first-section}

An author has written the chapter \cite{Author2007}.
By the way, the chapter mentioned at the beginning is
in the book \cite{Editor2007}.

\printbibliography

\end{document}

Test bibliography:

@INBOOK{Author2007,
title = {A Chapter on Something},
author = {Author Chapterson},
crossref = {Editor2007},
owner = {tha},
timestamp = {2007.05.24}
}

@BOOK{Editor2007,
booktitle = {A Book on Something},
publisher = {Publishing Inc.},
year = {2007},
editor = {Editor Bookman},
owner = {tha},
timestamp = {2007.05.24}
}

The typeset bibliography shows up as:

[1] Chapterson, Author. \A Chapter on Something". In: A Book on Some-
thing. Ed. by Editor Bookman. Publishing Inc., 2007.
[2] Ed. by. Editor Bookman. Publishing Inc., 2007.
Now, this tells me that I should maybe not be using the @inbook approach
after all in some cases. I do however have some references to chapters
in a book where the chapters are completely separate contributions from
different authors in which case I think I should use @inbook. AFAICS I
should put the 'maintitle' in the @inbook rather than in the @book when
citing the @inbook contribution by 'crossref' to the parent @book entry.

Thanks for pointing me to the relevant places. I have not read the
entire documentation but had only searched for 'crossref' which did not
lead me to any of this.
Jellby
2007-05-26 06:47:45 UTC
Permalink
Post by Thomas Arildsen
I do not see that stated anywhere in section 2.3.5: If I make a book
entry with only 'booktitle' given, no title shows up in the bibliography.
That's right. When creating my own bibliography style I had to
\renewbibmacro*{mtitle+mstitle+vol+part+title+stitle}, copying the code
from biblatex.bbx but, at the end, instead of:

\usebibmacro{title+stitle}

I used:

\iffieldundef{title}
{\usebibmacro{btitle+bstitle}}
{\usebibmacro{title+stitle}}

And then I use "title" in all my @inbook and @incollection entries and
"booktitle" only in @book and @collection (if you don't need compatibility
with other bibtex styles, you should use @incollection and @collection in
your case, "[a collection] has an editor but no overall author").

Might this be a bug/mistake in biblatex.bbx?
--
Ignacio __ Fernández Galván
/ /\
Linux user / / \ PGP Pub Key
#289967 / / /\ \ 0x01A95F99
/ / /\ \ \
http://djelibeibi.unex.es
/________\ \ \
jellby \___________\/ yahoo.com
Dominik Waßenhoven
2007-05-25 07:39:49 UTC
Permalink
Post by Thomas Arildsen
It seems that I have to specify both 'title' and 'booktitle' in the
@BOOK entry in order to get the title displayed for the book itself, if
I cite the book. The crossref'ed chapter seems to use 'booktitle',
whereas the book entry itself uses 'title'. Is this correctly understood?
Nearly. If you have a @book entry with title and booktitle and an
@inbook entry with title only, @inbook takes the booktitle from @book,
because it needs a booktitle, but it ignores the title, because it has
its own. The @book entry OTOH ignores the booktitle, because it does not
need it.

If you have a @book entry with a title only and an @inbook entry with
both title and booktitle, @inbook uses its and ignores the title again.
The @book entry has everything it needs.

Thus, the output is the same, but specifying the booktitle in the
@inbook entry would make more sense to me.

Regards,
Dominik.-
Dominik Waßenhoven
2007-05-25 07:41:11 UTC
Permalink
^^^^^^^^^^^^
should read: "uses its booktitle and"

Dominik.-
Loading...