1

(This is an almost-duplicate of Cite after end of sentence mangles whitespace, since I forgot to mention Biblatex there.)

I am using the report class to write a thesis. Sometimes, more than one consecutive sentences refer to the same source, so instead of writing Booh \cite{source}. Baah \cite{source}. I write Booh. Baah. \cite{source}. But then, the citation reference is trailed by an enlarged space (indicating the end of a sentence) and followed by a normal one.

This way, the reader associates the citation reference to the following sentence, not the one it is standing behind.

I can suppress the enlarged space with \<space>. But how do I get the enlarged space after the citation?

Minimal example:

\documentclass{report}

\usepackage[backend=bibtex, urldate=comp, style=numeric-comp, sorting=nyt]{biblatex}
\bibliography{test.bib} 
\DeclareFieldFormat*{urldate}{}
\DeclareFieldFormat[online]{urldate}{\mkbibparens{\bibstring{urlseen}\space#1}}
\usepackage{csquotes}
\setcounter{biburllcpenalty}{7000}
\setcounter{biburlucpenalty}{8000}

\begin{document}

\xspaceskip=20pt % just to show the extended spaces more clearly

Hello, I am a sentence \cite{testarticle}. I am 
a sentence as well. \cite{testarticle} And me too!

\printbibliography
\end{document}

Test.bib:

@ARTICLE{testarticle,
  author = {Fowl, Artemis},
  title = {How many centaurs fit into a chair?},
  journal = {LEPRecon Journal},
  year = {2016},
  volume = {7},
  pages = {429--439},
  number = {64}
}

Output (the setting to \xspaceskip is just to mark more clearly the end-of-sentence spaces):

Sample output.

2

this spacing seems completely wrong to me ([1] is not a sentence) but it may be produced by the following which inserts the space factor of . without typesetting a ..

\documentclass{report}

\usepackage[backend=bibtex, urldate=comp, style=numeric-comp, sorting=nyt]{biblatex}
\bibliography{test2.bib} 
\DeclareFieldFormat*{urldate}{}
\DeclareFieldFormat[online]{urldate}{\mkbibparens{\bibstring{urlseen}\space#1}}
\usepackage{csquotes}
\setcounter{biburllcpenalty}{7000}
\setcounter{biburlucpenalty}{8000}

\begin{document}

\xspaceskip=20pt % just to show the extended spaces more clearly

Hello, I am a sentence \cite{testarticle}.
a sentence as well. \cite{testarticle}\spacefactor\sfcode`\.{}
 And me too!

\printbibliography
\end{document}
  • Thank you cery much -- this works very well. With that, I can define \newcommand{\zitat}[1]{\cite{#1}} for the normal ones and \newcommand{\pzitat}[1]{\ \zitat{#1}\spacefactor\sfcode`\.{}} for the ones after dots. – hepfi Sep 11 '15 at 13:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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