English | 简体中文
CTeX-kit 是面向中文 TeX 用户的宏包、脚本与资源集合,为中文 LaTeX 工作流提供完整的排版基础设施。项目由 CTeX 社区 维护,汇集了 ctex、xeCJK、zhspacing 等多条技术路线的成果,目标是在不同 TeX 引擎下提供统一、可靠的中文排版支持。
| 宏包 | CTAN 版本 | 说明 |
|---|---|---|
| ctex | 中文文档类与宏包集合,统一封装字体配置、标题方案和多引擎适配 | |
| xeCJK | XeLaTeX 下的 CJK 字体管理、字间距和标点压缩 |
| 宏包 | CTAN 版本 | 说明 |
|---|---|---|
| CJKpunct | CJK 标点压缩与间距调整 | |
| xCJK2uni | 传统 CJK 编码到 Unicode 的映射 | |
| xpinyin | 为汉字自动添加拼音注音 | |
| zhnumber | 中文数字与日期格式化 | |
| zhlineskip | 中西文混排行距自动调整 | |
| zhspacing | 中西文间距自动插入(LuaTeX 路线) | |
| zhmetrics | 中文字体度量文件 | |
| zhmetrics-uptex | upTeX 中文字体度量 |
所有宏包均已收录于 TeX Live 和 MiKTeX,通常无需手动安装。如需使用开发版本,请直接克隆本仓库。
使用 ctexart 文档类:
\documentclass{ctexart}
\begin{document}
你好,\LaTeX{}!
\end{document}使用 ctex 宏包配合标准文档类:
\documentclass{article}
\usepackage{ctex}
\begin{document}
你好,\LaTeX{}!
\end{document}支持的编译引擎:XeLaTeX、LuaLaTeX、pdfLaTeX(搭配 CJK 宏包)和 upLaTeX。推荐使用 XeLaTeX 或 LuaLaTeX 以获得最佳体验。
ctex-kit/
├── ctex/ # 核心:中文文档类与宏包
├── xeCJK/ # 核心:XeLaTeX CJK 支持
├── CJKpunct/ # CJK 标点压缩
├── xCJK2uni/ # CJK 编码转换
├── xpinyin/ # 拼音注音
├── zhnumber/ # 中文数字
├── zhlineskip/ # 行距调整
├── zhspacing/ # 中西文间距
├── zhmetrics/ # 字体度量
├── zhmetrics-uptex/ # upTeX 字体度量
├── jiazhu/ # 夹注排版
├── gbk2uni/ # GBK→Unicode 转换工具
├── gbkmac/ # GBK 编码支持(macOS)
├── zh-luatex/ # LuaTeX 中文实验支持
├── support/ # 共享构建配置与辅助文件
└── .github/ # CI/CD 配置
本项目使用 l3build 作为构建和测试框架。
# 运行 ctex 测试套件
cd ctex
l3build check
# 运行 xeCJK 测试套件
cd xeCJK
l3build check
# 生成 CTAN 发布包
l3build ctanCI 在 Ubuntu、macOS 和 Windows 三个平台上针对当前 TeX Live 发行版进行测试,覆盖 ctex、xeCJK、zhnumber、CJKpunct 和 zhlineskip 五个测试套件。
- 编程框架:LaTeX3 / expl3
- 文学化编程:docstrip (
.dtx源文件) - 构建系统:l3build
- CI/CD:GitHub Actions(测试 + 自动化发布)
欢迎通过 Issue 报告问题,或提交 Pull Request 参与开发。
在提交代码前,请确保:
- 相关测试通过 (
l3build check) - 遵循 expl3 编程规范
- 对于
.dtx文件的修改,请在\changes中记录变更
本项目中各宏包遵循 LPPL v1.3c (LaTeX Project Public License) 发布。
Copyright © 2003–2026 CTeX 社区