如何在 LuaLaTeX 中使用中文

如何在 LuaLaTeX 中使用中文

这让我抓狂了。

我需要找到一种方法,在 LuaLaTeX 中使用 KOMA-script 文档格式的中文字符,但是所有用于排版中文的选项要么迫使我使用中文文档格式,要么使用日文文档格式。我想我可以转到 XeTeX,但我不知道是否有必要。我想尝试 ConTeXt,但它的名字适得其反,而且它的文档很糟糕。

这是我想要排版的文本:

\title{
    漢文文範\\
    Hán văn văn phạm 
}
\subtitle{
    使用詞彙與格讀漢越\\
    sử dụng từ vựng và cách đọc Hán Việt
}
\author{
    武克富強\\
    Võ Khắc Phú Cường
}

答案1

使用ctex专门为排版CJK字符而开发的bundle,根据不同的编译引擎,ctex会自动选择不同的方式从底层支持中文排版(例如lualatex,依赖于LuaTeX-ja),下面是demo:

\documentclass{scrartcl}
\usepackage{ctex}
\title{
    漢文文範\\
    Hán văn văn phạm 
}
\subtitle{
    使用詞彙與格讀漢越\\
    sử dụng từ vựng và cách đọc Hán Việt
}
\author{
    武克富強\\
    Võ Khắc Phú Cường
}
\begin{document}
\maketitle
\end{document}

在此处输入图片描述

如果你需要使用,比如说,诺托衬线 TC字体,然后在您的机器上安装该字体并使用它\setCJKmainfont来选择它:

\documentclass{scrartcl}
\usepackage[fontset=none]{ctex}
\setCJKmainfont[BoldFont = NotoSerifTC-Bold]{NotoSerifTC-Regular}
\title{
    漢文文範\\
    Hán văn văn phạm 
}
\subtitle{
    使用詞彙與格讀漢越\\
    sử dụng từ vựng và cách đọc Hán Việt
}
\author{
    武克富強\\
    Võ Khắc Phú Cường
}
\begin{document}
\maketitle
\end{document}

在此处输入图片描述

答案2

如果您只需要短文本或几个单词,您可以为 lualatex 定义一个后备字体,请参阅 luaotfload 文档了解详情。对于更复杂的设置,请查看 babel,它也提供了各种命令来定义后备字体和基于脚本的语言切换。

\documentclass{scrartcl}
\usepackage{fontspec}
\directlua
 {luaotfload.add_fallback
   ("JPfallback",
     {"Noto Sans CJK JP:mode=harf;"}
   )
 }

\setmainfont{Arial}[RawFeature={fallback=JPfallback}]
\setsansfont{Arial}[RawFeature={fallback=JPfallback}]
\title{
  漢文文範\\
  Hán văn văn phạm 
}
\subtitle{
  使用詞彙與格讀漢越\\
  sử dụng từ vựng và cách đọc Hán Việt
}
\author{
  武克富強\\
  Võ Khắc Phú Cường
}

\begin{document}
\maketitle
\end{document}

在此处输入图片描述

答案3

还有另一种选择,这次是babel(参见中国人欲了解更多信息,请访问babel网站)。

\documentclass{scrartcl}

\usepackage[vietnamese]{babel}
\babelprovide[import, onchar=ids fonts]{chinese}
\babelfont[chinese]{rm}{IPAexMincho}
\babelfont[chinese]{sf}{IPAexGothic}

\title{
    漢文文範\\
    Hán văn văn phạm 
}
\subtitle{
    使用詞彙與格讀漢越\\
    sử dụng từ vựng và cách đọc Hán Việt
}
\author{
    武克富強\\
    Võ Khắc Phú Cường
}
\begin{document}

\maketitle

\end{document}

在此处输入图片描述

答案4

要使用 ConTeXt 排版中文,您可以使用字体回退机制将缺失的字符添加到主字体中。下面的示例将常规 Noto 字体与 CJK Noto 字体结合在一起。

要启用中文文本的换行功能,您需要该\setscript命令。

\definefallbackfamily [mainface] [rm] [Noto Serif CJK TC]     [preset=range:chinese]
\definefallbackfamily [mainface] [ss] [Noto Sans CJK TC]      [preset=range:chinese]
\definefallbackfamily [mainface] [tt] [Noto Sans Mono CJK TC] [preset=range:chinese]

\definefontfamily [mainface] [rm]        [Noto Serif]
\definefontfamily [mainface] [ss]        [Noto Sans]
\definefontfamily [mainface] [tt]        [Noto Sans Mono]
\definetypeface   [mainface] [mm] [math] [stixtwo]

\setupbodyfont [mainface]

\mainlanguage [chinese]

\setscript [hanzi]

\starttext

\startalignment[middle]
  \startfont[Sans sa 3]\setupinterlinespace
    漢文文範\par
    Hán văn văn phạm\par
  \stopfont
  \blank
  \startfont[Sans sa 2]\setupinterlinespace
    使用詞彙與格讀漢越\par
    sử dụng từ vựng và cách đọc Hán Việt\par
  \stopfont
  \blank
  \startfont[Serif sa 2]\setupinterlinespace
    武克富強\par
    Võ Khắc Phú Cường\par
    \blank
    \currentdate
  \stopfont
\stopalignment

\stoptext

在此处输入图片描述

相关内容