View on GitHub


The multilingual framework to localize LaTeX, LuaLaTeX, XeLaTeX


Chinese is available for xetex and luatex. With the latter, both renderers (the default and Harfbuzz) are fine, but with huge fonts the latter is more reliable.

Note the best option is usually to resort to a dedicated framework like CTeX, CJK or ChineseJFM. However, for simple documents in horizontal writing, as well as a few words or sentences in a multilingual document, babel should be enough.

Here is a short example:


\usepackage[chinese, provide=*]{babel}






Line breaking

Rules are harcoded in XeTeX, but in LuaTeX a line breaking mechanism has been devised, based on (but not strictly following) the Unicode algorithm.

Justification in both engines is controlled by a couple of options in \babelprovide.

There is in addition the posibility to change globally the line breaking class, with, for example:


For the meaning of these codes, see the Unicode Standard Annex #14: Line Breaking Properties.


With luatex there are two ways to map Arabic to Chinese numerals, passed as option to \babelprovide:

To perform this conversión, use the following settings:

\usepackage[chinese, provide=*]{babel}
\babelprovide[mapdigits]{chinese}  % or alternatively maparabic

In addition, the following counters are predefined: