TeX Live/CJK

来自 ArchWiki

使用 TeX Live 排版文、文和文文档的指南。

安装

通过从 texlive-lang安装相应的软件包,可以获得特定于语言的字体和宏包。

其他字体可以通过 Fonts#Installation 中概述的方法安装。您可能还对使 Tex Live 字体可用于 Fontconfig 感兴趣(但这并非绝对必要)。

使用诸如 Evince 等基于 poppler 的 PDF 阅读器的用户应安装 poppler-data 作为额外的依赖项,以正确显示包含 CJK 字符的 PDF 文档。(如果使用 noto-fonts-cjk 中的 CJK 字体,则似乎没有必要。)

无需赘言,您的 locale 应该具有可以处理特殊字符(例如 UTF-8)的字符编码,并且您还应该安装 输入法编辑器Localization 的(简体/繁体)中文、日文和韩文子页面也包含有关 locale 和字体的信息。

排版

此条目或章节需要扩充。

原因: texlive-langkorean 软件包提供来自 ko.TeX 捆绑包的一些软件包,“一个全面的韩文排版系统,以及软件包 kotex-oblivoir、kotex-plain、kotex-utils、cjk-ko、xetexko 和 luaxexko” [1]。ko.TeX 在 Korean Overleaf 文章中没有提及,因此在此处添加一个关于它的章节可能会很好。但是,#See also 中的 Wikibooks:LaTeX/Internationalization#Korean 链接简要提到了它。(在 Talk:TeX Live/CJK 中讨论)

Overleaf 的在线文档中有文章介绍了 CJK 排版的不同方法,这些方法也适用于 Arch Linux 上的 TeX Live 安装

警告: CJKCJKutf8 宏包(其中 前者提供后者处于维护模式且已过时。如果可能,请使用“最近的 TeX 引擎,如 luatex、XeTeX 或 upTeX(它们都是 TeXLive 的一部分)”来代替。

字体

下表列出了 Overleaf 文章中提到的字体族/文件及其各自的软件包。

语言 字体族/文件 软件包
中文 BabelStone Han ttf-babelstone-hanAUR
日语 IPAMincho otf-ipafont
IPAGothic
TakaoMincho otf-takaoAUR
TakaoGothic
Komatuna ttf-komatunaAUR
韩语 UnGungseo.ttf texlive-langkorean
gulim.ttf

使用 ctexxeCJK 时,可以使用 \setCJKtypefont{font} 设置字体。(\settypejfont{font} 可以与 pTeX 引擎一起使用。)type 可以取 mainsansmono 的值。font 是用户/系统字体的字体族,也是 TeX Live 字体的字体文件

pTeX 引擎

Overleaf 的 Japanese#The pTeX engine 提供了一个 latexmkrc 文件,该文件旨在与 texlive-doc 中的 latemk 实用程序一起使用。在 Arch Linux 上运行不带任何参数的 latexmk 将仅从示例文档生成 DVI 文件。使用 -pdfdvi 选项还可以从 DVI 文件生成 PDF 文件。有关更多信息,请参阅 latexmk(1)latexmk -help

正如 Overleaf 文章中简要提到的,upLaTeX(类似于 pLaTeX)“为 upTeX 提供了 pLaTeX2ε 宏”,upTeX 是 “pTeX” 的 Unicode 版本。

故障排除

CTeX-kit

使用 CTeX-kit 集合/包(如 ctexxeCJK)时,常见问题的解决方案。

找不到 ctexhook.sty

编译日文或韩文文档时可能会遇到以下错误

! LaTeX Error: File `ctexhook.sty' not found.

安装 texlive-langchinese 软件包以获取 ctexhook.sty。即使对于非中文排版文档,这也是必需的。

字体缺失或不一致

日文或韩文 PDF 文档可能缺少字符或字体粗细不一致。当未指定 CJK 字体时,将使用默认字体 Fandol。但是,Fandol 是“为中文排版设计的”,因此不适合日文和韩文。显式设置日文或韩文字体以避免此问题。

LuaLaTeX

使用 LuaLaTeX 编译文档时,常见问题的解决方案。

找不到 luatexja.sty

使用 ctex 文档类编译中文或韩文文档时可能会遇到以下错误

! LaTeX Error: File `luatexja.sty' not found.

安装 texlive-langjapanese 软件包以获取 luatexja.sty。即使对于非日文排版文档,这也是必需的。

大字体资源问题

当使用像 noto-fonts-cjk 这样的大字体时,由于字体缓存的生成,文档编译可能会消耗大量资源且耗时。但是,随后的编译应该会快得多。一种可能的解决方法(除了使用较小的字体外)是通过删除字形名称来修剪字体。请记住,这样做可能会产生后果

参见