biblatex: year mix-up in cross-referencing entries

biblatex: year mix-up in cross-referencing entries

Post by jon » Sat, 08 Sep 2007 05:23:22


All,

A similar problem came up some time ago, but it seems that no solution
was ever posted....

Anyway, here's an example of what I mean:

%%%%%
\documentclass{memoir}

\usepackage[french,italian,german,latin,english]{babel}
\usepackage[babel]{csquotes}
\usepackage[style=mystyle,sorting=nyt,block=space,bibtex8=true,hyperref=true]
{biblatex}
\bibliography{bibliography}
\usepackage[plainpages=false]{hyperref}


\begin{document}

Some text.\cite{guy2000}\\
More text.\cite{guy2000b}\\
More text.\cite{zGuy2000}\\

\printbibliography
\end{document}

%%%%%%
bibliography entries:

@InCollection{guy2000,
author = "Guy, Some",
title = "{An Article in a Collection}",
crossref = "zGuy2000",
pages = "851--882",
year = 2000
}
@InCollection{guy2000b,
author = "Guy, Some",
title = "Another Article",
crossref = "zGuy2000",
pages = "883--932",
year = 2000
}
@Collection{zGuy2000,
editor = "Guy, Some and John Doe",
title = "The Collection",
publisher = "Publisher",
address = "A City",
year = 2000
}

%%%%%%%
And the output looks like this:

Guy, Some (2000a). `An Article in a Collection'. In: Guy and Doe
(2000a), 851--852.
------ (2000b). `Another Article'. In Guy and Doe (2000b), 883--932.
Guy, Some, and John Doe, eds. (2000). The Collection. A City:
Publisher.

%%%%%%%%

As you can see, the InCollection entries seemingly pass the `a's and
`b's to the cross-referenced Collection, which doesn't need the
differentiating letters.

Does anyone have any advice on how to fix this?

Cheers,
jon.
 
 
 

biblatex: year mix-up in cross-referencing entries

Post by Joseph Wri » Sat, 08 Sep 2007 06:08:59


We aren't going to get very far when you have "style=mystyle".

Joseph Wright

 
 
 

biblatex: year mix-up in cross-referencing entries

Post by jon » Sat, 08 Sep 2007 06:31:05

On Sep 6, 5:08 pm, Joseph Wright < XXXX@XXXXX.COM >



True. Sorry about that. mystyle.bbx is modified from standard.bbx

mystyle.bbx:

\DeclareBibliographyDriver{collection}{% %%% unchanged

\DeclareBibliographyDriver{incollection}{% %%% modified
\usebibmacro{bibindex}%
\usebibmacro{author}%
\newunit\newblock
\usebibmacro{title+stitle}%
\newunit\newblock
\usebibmacro{in:}%
\iffieldundef{crossref}
{\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{ser+num}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publ+loc+year}%
\newunit\newblock
\printfield{isbn}%
\newunit\newblock}
{\addspace %%% more changes
\textcite{\thefield{crossref}}}%
\setunit{\addcomma\space}%%%% added; note out.
\usebibmacro{chap+pag}%
\newunit\newblock
\printfield{doi}%
\newunit\newblock
\printfield{addendum}%
\newunit\newblock
\usebibmacro{url+date}%
\newunit\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}

However, when I use `style=authoryear' as an option, both the
InCollection entries turn up as 2000 -- i.e., without a
differentiating letter, which is surely no good....

Cheers,
jon.
 
 
 

biblatex: year mix-up in cross-referencing entries

Post by Philipp Le » Sun, 09 Sep 2007 22:35:16


This is a known issue which will be fixed in the next release.


That, however, should work as advertised. Make sure you have the
latest version of biblatex.bst (version 0.6a -- this file was updated
after the 0.6 release)

--
Sender address blackholed; do not reply to From: address.
You can still reach me by email at: plehman gmx net.