有没有办法在不应用命令的情况下在一个文档中支持 CJK 语言

有没有办法在不应用命令的情况下在一个文档中支持 CJK 语言

我似乎找不到一种方法来在一个文档中支持所有 CJK(中文、日文和韩文)语言。

是的,你可以应用类似的东西\ch{...}来渲染中文,但是,有没有办法让它渲染内容而不对内容应用命令。例如,我怎样才能让下面的代码工作,而不会丢失一些字符或在某些字符上出现方形白框

\documentclass{article}
\usepackage{xeCJK}

\begin{document}
Japanese: フォントはまた、数学的な形態および他の環境で使用することができるフォントはまた、数学的な形態および他の環境で使用することができる
Chinese: 关于数学部分 
Korean: 전체 문서에 대한 기본 정보를 소개 단락.
\end{document}

我想添加一个或多个 CJK 内容,而不必对每种语言都应用命令。

我很高兴使用 XeLaTeX、LuaLaTeX 等...我一直在使用 XeLaTeX,因为它比其他的更好地支持字符,但我似乎无法让它工作。

我花了很多时间在这个问题上,却没能找到一个没有字符丢失或出现白框的好的解决方案。

非常感谢您的帮助。

答案1

这只是部分答案,因为我对这些语言了解不够,无法提供适当的语言支持,例如换行。(您可能需要查看babeland/or luatexja

如果您只需要字体支持以避免丢失字符,您可以使用multiscriptLuaLaTeX 中的字体功能:(此示例需要安装 Noto Serif CJK,但您可以添加其他四种字体。)

\documentclass{article}
% You probably need luatexja and/or babel for linebreaking
% But here we will cheat for now and just use larger paper:
\usepackage[margin=1cm,a3paper]{geometry}


\directlua{
  \directlua {
  luaotfload.add_multiscript("cjk",
      {
        Hang = "Noto Serif CJK KR:mode=node;script=hang;",
        Hani = "Noto Serif CJK TC:mode=node;script=hani;",
        Kana = "Noto Serif CJK JP:mode=node;script=kana;",
        Hira = "Noto Serif CJK JP:mode=node;script=hira;",
      }
    )
  }
}
\usepackage{fontspec}
\setmainfont[RawFeature={multiscript=cjk}]{Noto Serif}
\begin{document}
Japanese: フォントはまた、数学的な形態および他の環境で使用することができるフォントはまた、数学的な形態および他の環境で使用することができる

Chinese: 关于数学部分 

Korean: 전체 문서에 대한 기본 정보를 소개 단락.
\end{document}

在此处输入图片描述

相关内容