When writing Org documents that contain CJ (Chinese and Japanese)
text, inline markup such as |*bold*|, |/italic/| etc often fails to be
recognized correctly, since CJ writing conventions do not divide words
using spaces, while Org's parser relies on whitespace or punctuation
to detect markup boundaries.

  测试*文本*           -> test *text* (Chinese)
  テスト*テキススト*    -> test *text* (Japanese)

One workaround is using zero-width spaces, though this can be
problematic for TeX export backend since the CJK supporting macro-
packages (xeCJK, luatex-ja) might not be expecting this.

This bug report is created as requested by @yantar92 at
https://emacs-china.org/t/help-implementing-better-out-of-the-box-xelatex-export-in-org/30405/7.

> Can someone please create a bug report about this? We have discussed
> potential solutions for Org markup when using Chinese on the list,
> but that was rather theoretical, without input from native speakers.
>
> One of the possibilities I do recall is using zero-width space. You
> can get bold inside Org buffers that way: |你好​*你好*​你好|. (you can
> copy-paste into Org buffer and see that "hello" in the middle is
> fontified as bold). This, however does not work with latex export as
> latex typesets zero-width spaces as normal spaces by default. So, we
> further discussed a possibility to cleanup zero-width spaces around
> markup during export. Or, alternatively, there might be a way to do
> the same in LaTeX:
>
>   #+LANGUAGE: zh
>   #+LATEX_HEADER: \usepackage[UTF8]{ctex}
>   #+LATEX_HEADER: \usepackage{newunicodechar}
>   #+LATEX_HEADER: \newunicodechar{​}{}
>   #+LATEX_COMPILER: xelatex
>   * This is test
>   你好​*你好*​你好.

Emacs  : GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin24.6.0, NS 
appkit-2575.70 Version 15.7 (Build 24G222))
 of 2025-10-14
Package: Org mode version 9.7.11 (release_9.7.11 @ 
/Applications/Emacs.app/Contents/Resources/lisp/org/)

Reply via email to