Please consider the MWE below, I want to globally invoke hyphenation of already hyphenated words using Babel package, Hyphenat package in English, to get the same effect when using <word1>-\hspace{0pt}<word2> as shown in the output below.
This is hopefully to avoid tracking down every hyphenated word in a thesis last-minute scenario, especially after doing some text edit in a 200-page thesis. I am quite satisfied with the effect of \hspace{0pt}, and I don't see any reason against using it blindly, or am I missing something?
MWE Code
\documentclass{scrartcl} % complied with XeLaTeX
\usepackage[english]{babel}
%\defineshorthand{"-}{\babelhyphen{hard}} % didn't work
\usepackage{fontspec}
\usepackage{libertine}
\begin{document}
In summary, IL-17 can be produced by innate and adaptive cells, but more profoundly from innate sentinel cells of the immune system.
The nTh17 is a novel subset that is thymic-\hspace{0pt}dependent and shows a distinct developmental pathway from iTh17 cells that are derived from naive T cells.
In summary, IL-17 can be produced by innate and adaptive cells, but more profoundly from innate sentinel cells of the immune system.
The nTh17 is a novel subset that is thymic"-dependent and shows a distinct developmental pathway from iTh17 cells that are derived from naive T cells.
\end{document}
Output


\-and when necessary LaTeX will broken the word there. Or you can define on preamble the hyphenation using\hyphenation{ba\-be\-bi\-bo\-bu}. – Sigur May 19 '14 at 13:22babelshorthands (orbabel). It does, however, provide a global way to set hyphenation of words already containing hyphens, so it seems relevant for your question. If you can't use LuaLaTeX, that would be a valid reason to retract my closing vote; however, your question didn't specify whether LuaLaTeX would be acceptable or not. – lockstep May 19 '14 at 13:50babelshorthands at every instance of the respective words in the document body. – lockstep May 19 '14 at 15:30"-, but this is surely neater than-\hspace{0pt}– egreg May 19 '14 at 15:49