hyphenation does not work with hyperref and xeCJK (hyperref does not add space)

Without hyperref loaded, LaTeX does hyphenation of Latin text. But with hyperref loaded this stops to work.

Is there a way to fix this?

\documentclass{scrbook}

\usepackage{xeCJK}
%\setCJKmainfont{SimSun}

\usepackage{natbib}
\bibliographystyle{unified}

\usepackage{hyperref}

\usepackage{filecontents}

\begin{filecontents}{bibliography.bib}
@Book{          Grewendorf88a,
author  = {Günther Grewendorf},
number  = {33},
publisher   = {Gunter Narr Verlag},
series  = {Studien zur deutschen Grammatik},
Langid = {german},
title       = {{Aspekte der deutschen Syntax: Eine
Rektions"=Bindungs"=Analyse}},
year        = {1988}
}    \end{filecontents}

\begin{document}

\bibliography{bibliography}
\end{document}


Edit: I found the difference and the reason: Without the hyperref package loaded the cite commands produce a space before the citation. Therefore xeCJK detects a separate Latin word and allows for hyphenation. With hyperref loaded, no space is inserted and no hyphenation takes place. Question: shouldn't both situations be the same? Is there a fix? CJK checks for Chinese/Latin characters and inserts space before Latin characters. I guess hyperref adds a link command around the name (e.g. Grewendorf in the example) and hence xeCJK cannot see the Latin characters any longer. Is this correct? If so, what can be done?

• A workaround is to leave a space before the \citealp command. The output is the same without hyperref, but with hyperref you get line breaks. – moewe Apr 25 '18 at 12:38
• Seems that in general xeCJK is quite good at automatically inserting spaces between CJK and Latin characters. But if hyperref gets involved, this ability is inhibited. I would say that in this case it is no problem to add the space yourself, after all you would do so in a text with Latin characters as well. – moewe Apr 25 '18 at 12:52