这让我抓狂了。
我需要找到一种方法,在 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