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 my thesis in French, and thus use the package babel. I have chosen the "chem-angew" bibliography style, and all is good so far, except for citations of chapters in books.

Here is my bib entry for that peculiar reference:

@InBook{Lumb1978,
author = {G.F.Imbusch},
editor = {M.D.Lumb},
booktitle = {Luminescence Spectroscopy},
chapter = {1},
publisher = {Academic Press},
year = {1978},
pages = {27}
}

And here is what comes out :

G.F.Imbusch dans, Luminescence Spectroscopy, (éd. : M.D.Lumb), Academic Press, 1978, chap. 1, p. 27 (cf. p. 7).

It's all good, since "dans" means "in" in French. However, there should not be a comma after that "dans".

How comes this is there and how do I remove it ?

share|improve this question
add comment

1 Answer

For the @inbook entry type, you seem to have stumbled upon a small bug in biblatex and the chem-angew style: A \newunitpunct (by default a comma and a space) is printed after the bookauthor field even if the content of this field is identical to author (or, as in your case, empty) -- note that biblatex doesn't print the same name twice. The superfluous punctuation can be removed by patching the inbook bibliography driver (note: \setunit* prints its argument only if the last command did actually print anything):

\documentclass{article}

\usepackage[french]{babel}

\usepackage[style=chem-angew]{biblatex}

\usepackage{xpatch}

\xpatchbibdriver{inbook}{%
  \usebibmacro{in:}%
  \usebibmacro{bybookauthor}%
  \newunit\newblock
}{%
  \usebibmacro{in:}%
  \usebibmacro{bybookauthor}%
  \setunit*{\newunitpunct}\newblock
}{}{}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
  @inbook{Lumb1978,
  author = {G.F.Imbusch},
  editor = {M.D.Lumb},
  booktitle = {Luminescence Spectroscopy},
  chapter = {1},
  publisher = {Academic Press},
  year = {1978},
  pages = {27},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

As you didn't specify a bookauthor, maybe the @incollection type is more appropriate for your entry (check section 2.2.1 of the biblatex manual for details) -- and @incollection doesn't suffer from the above bug.

\documentclass{article}

\usepackage[french]{babel}

\usepackage[style=chem-angew]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
  @incollection{Lumb1978,
  author = {G.F.Imbusch},
  editor = {M.D.Lumb},
  booktitle = {Luminescence Spectroscopy},
  chapter = {1},
  publisher = {Academic Press},
  year = {1978},
  pages = {27},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

Output for both examples:

enter image description here

share|improve this answer
add comment

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.