Hilmar Preuße a écrit le 16/04/2012 23:22 :
Dear Daniel, http://bugs.debian.org/668562 The following minimal example can't be compiled using XeLaTeX. The error message is: ! Improper discretionary list. \- ...ulthyphenchar \else \hyphenchar \font \fi } {}{} l.6 http://www.debian.org/\- doc/\-manuals/\-debian-{}reference/\- ? s ---------------------- \documentclass{article} \usepackage[french]{babel} \usepackage{xeCJK} \begin{document} http://www.debian.org/\-doc/\-manuals/\-debian-{}reference/\- \end{document} As this works for other languages (like spain, english) we suspect a problem in frenchb.ldf. The problem can be reproduced using the pre-release of TL 2012, which has been recently uploaded to Debian unstable. The log for the XeLaTeX run is attached. If you need help, please call back. Please keep the bug in Cc. Regards, Hilmar
Dear Hilmar and Sun,I have analysed the bug which occurs when babel/french is used in conjunction with xeCJK.sty. I cc this email to Sun Wenchang, the author of xeCJK.
AFAIK, french is the only babel language which uses the "XeTeXinterchartok" mecanism (in order to add proper spacing before the `:;!?' punctuation signs), that's why the bug doesn't occur with other babel languages.
One big problem is that xeCJK assigns "\XeTeXcharclass" 4 to 6 to various ASCII characters instead of creating its own classes with "\newXeTeXintercharclass". When babel/french uses "\newXeTeXintercharclass" to create its own classes, it gets classes already used by xeCJK and unpredictable results occur, one of them is that "\-" becomes "\ -" which causes the bug pointed out by Hilmar.
Sun, could you please change this and assign all the classes you need with \newXeTeXintercharclass?
Best regards, -- Daniel Flipo