在 xeCJK 中为中文、日文、韩文添加空格不起作用

在 xeCJK 中为中文、日文、韩文添加空格不起作用

我按照各种相关问题给出的答案进行操作,但没有一个能解决在 xeCJK 包中添加空格的问题。

\documentclass{article}
\usepackage[CJKspace,space,CJKspace=true]{xeCJK}
\usepackage{xunicode}
\setCJKmainfont{Batang}
\renewcommand\CJKglue{}
\makeatletter
\let\xeCJK@ignorespaces\relax
\makeatother
\ExplSyntaxOn
\int_step_inline:nnnn { "AC00 } {1} { "D7A3 } { \char_set_catcode_letter:n {#1} }
\ExplSyntaxOff

\begin{document}
\CJKspace
一二三四五

一 二 三 四 五

あいうえお

あ い う え お

일이삼사오

일 이 삼 사 오

\end{document}

cjk.pdf 输出

中文、日文、韩文均不添加任何空格。

输出如下:

xelatex cjk.tex
This is XeTeX, Version 3.14159265-2.6-0.99996 (TeX Live 2016) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./cjk.tex
LaTeX2e <2016/03/31>
Babel <3.9r> and hyphenation patterns for 3 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
...
*** Reloading Xunicode for encoding 'EU1' ***
) (/usr/share/texlive/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def)
(/usr/share/texlive/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg))
*************************************************
* fontspec warning: "script-not-exist"
* 
* Font 'Batang' does not contain script 'CJK'.
*************************************************
(./cjk.aux) (/usr/share/texlive/texmf-dist/tex/latex/tipa/t3cmr.fd) [1]
(./cjk.aux) )
Output written on cjk.pdf (1 page).
Transcript written on cjk.log.

以下是我认为 cjk.log 中的一些相关内容:

. Defining command \xeCJKShipoutHook with sig. '' on line 148.
\g__xeCJK_spacefactor_int=\count116
\l__xeCJK_begin_int=\count117
\l__xeCJK_end_int=\count118
. Defining command \normalspacedchars with sig. 'm' on line 618.
. Defining command \xeCJKOffVerbAddon with sig. '' on line 3443.
\l__xeCJK_verb_exspace_skip=\skip54
. Defining command \CJKspace with sig. '' on line 3753.
. Defining command \CJKnospace with sig. '' on line 3754.
. Redefining command \nobreakspace with sig. '' on line 3910.

我正在使用 Fedora 27 texlive-2016 和仓库自带的其他库存软件包。我缺少什么?

答案1

我终于找到了一个替代解决方案:使用 kotex 包代替 xeCJK。它对所有中文、日文和韩文都适用。如何在 LaTeX 中排版韩语(Hangul)字符?

它在 lyx 中也能完美运行。

以下是一个使用空格进行全 CJK 的示例。我更改了中文的最后一个字符,以显示它也适用于中文。该字符似乎不存在于韩文汉字中,所以我只是将其字体设置为中文,现在它显示了。

\documentclass{article}
\usepackage{kotex}
\usepackage[english]{babel}
\setmainhangulfont{Batang}
\setmainhanjafont{SimSun}
\begin{document}
一二三四教

一 二 三 四 教

あいうえお

あ い う え お

일이삼사오

일 이 삼 사 오

abcde

a b c d e
\end{document}

相关内容