Directory language/chinese/luatex-cn
LuaTeX-CN
基于 LuaTeX 的中文排版包,做两件事:古籍版式的精确复刻,与遵循 W3C《中文排版需求》(clreq) 的现代中文排版。
- 古籍竖排:版心、夹注、侧批、眉批、脚注、印章、句读、改字、乌丝栏等开箱可用,示例已实现对四库全书文渊阁本、红楼梦甲戌本等底本的版面级复刻。
- 现代竖排:繁体竖排书籍版式,中国大陆式与台湾式标点两套体例;标点宽度调整、按 clreq 优先顺序的行内挤压/拉伸、换行禁则、中西混排(1/4em 间距、
\横置旋转与\中横排入格)、着重号、行尾点号悬挂等均按 clreq 实现。 - 横排 clreq(
\usepackage{luatex-cn},统一入口):标点宽度调整、四级换行禁则与符号分离禁则、按 clreq 优先顺序的行内挤压/拉伸、中西间距、行尾点号悬挂、行间标点(专名号/书名号甲式/着重号)、拼音标音与词对齐、孤行孤字。 - 模板可定制:版式参数与模板均可覆盖。
横竖排的 clreq 规则实现由 119 条 PDF 内容流度量断言逐条核验,逐条状态与有意偏离见 clreq 符合度矩阵。
CTAN: v0.4.1 | GitHub Release: v0.4.1
Wiki 用户手册 | 快速入门 | 命令索引 | 更新日志
Abstract (English)
luatex-cn is a LuaTeX package for typesetting Chinese in both horizontal and vertical writing modes, following the W3C Requirements for Chinese Text Layout (clreq), and for reproducing the page layout of classical Chinese books.
\usepackage{luatex-cn} is the unified entry point. By default it sets horizontal Chinese text per clreq: CJK–Western spacing, punctuation width adjustment (Mainland China / Taiwan presets), four-level line-breaking prohibitions, priority-ordered intra-line compression and stretching, hanging punctuation, interlinear marks (proper-name / book-title / emphasis) and word-aligned pinyin ruby. The [vertical] option selects vertical typesetting, which implements the clreq mixed-script rules: 1/4 em CJK–Western spacing, sideways Western text, tate-chu-yoko (short runs set upright in one cell), emphasis dots, hanging line-final punctuation, and a shared intra-line adjustment solver. The classical document classes (ltc-guji) add banxin, interlinear notes, side and top annotations, seals, judou punctuation and ruled borders.
Conformance is measured rather than claimed: doc/CLREQ-CONFORMANCE.md records the per-clause status of both writing directions, backed by 119 assertions that measure glyph coordinates in the output PDF. Fonts can be used without installation through a download script with an SHA-256-pinned manifest; font selection accepts registry aliases as well as font file paths. PDF manuals in Chinese and English ship in doc/, so texdoc luatex-cn works after installation.
Compile with lualatex. Full English documentation: README-EN.md.
排版效果展示
古籍排版 - 四库全书·文渊阁本
| 《四库全书简明目录》 — 抬头、夹注、缩进 | 《史记·五帝本纪》 — 印章、夹注、乌丝栏 |
|---|---|
| 源码 | PDF | 源码 | PDF |
手抄本 -《红楼梦》甲戌本
| 第二页(标点) | 第一页(眉批) |
|---|---|
查看源码 | 查看 PDF
现代繁体竖排 -《史记·秦楚之际月表》
| 第二页 | 第一页 |
|---|---|
查看源码 | 查看 PDF
5 分钟快速开始
第一步:安装 TeX 发行版
如果你还没有安装 LaTeX 环境,需要先安装 TeX Live(推荐 2024 或更新版本):
| 系统 | 安装方式 |
|---|---|
| Windows | 下载 TeX Live 安装包,运行 install-tl-windows.exe |
| macOS | 下载 MacTeX,双击安装 |
| Linux | sudo apt install texlive-full(Ubuntu/Debian)或 sudo dnf install texlive-scheme-full(Fedora) |
详细指引请参阅 Wiki 安装指南。
第二步:安装 luatex-cn
推荐从 GitHub Release 下载最新版本的 luatex-cn-v*.zip,解压后将 luatex-cn/tex/ 下的内容放入:
~/texmf/tex/latex/luatex-cn/ (macOS/Linux) C:\Users\<用户名>\texmf\tex\latex\luatex-cn\ (Windows)
然后运行 texhash 刷新。
也可以通过包管理器安装(CTAN 版本可能落后):
tlmgr install luatex-cn
第三步:编译你的第一个古籍
创建 test.tex,写入以下内容:
\documentclass[四库全书]{ltc-guji} \句读模式 %\setmainfont{TW-Kai} \title{钦定四库全书} \chapter{史记\\卷一} \begin{document} \begin{正文} 黄帝者,少典之子,姓公孫,名曰軒轅。\夹注{生而神靈,弱而能言,幼而徇齊,長而敦敏,成而聰明。} \end{正文} \end{document}
使用 lualatex 编译(注意不是 pdflatex 或 xelatex):
lualatex test.tex
编译成功后打开 test.pdf,你将看到一个完整的古籍竖排页面。
接下来请查看 Wiki 快速入门 了解更多命令用法,或浏览 命令索引 查看全部命令。
排横排?同样一行开始
\documentclass{article} \usepackage{fontspec} \setmainfont{TW-Kai} \usepackage[style=taiwan]{luatex-cn} \begin{document} 子曰:「學而時習之,不亦說乎?」本文以 LuaTeX 引擎排版,版本 1.18。 \end{document}
标点宽度、行首行尾禁则、中西文间距等规则即刻生效,详见 Wiki 横排页。
功能特性
| 功能 | 说明 | Wiki 文档 |
|---|---|---|
| 竖排引擎 | 基于网格的高精度竖排文本流,支持自动分列分页 | 快速入门 |
| 版心与鱼尾 | 单鱼尾/双鱼尾、乌丝栏、四周双边 | 模板 |
| 夹注 | 双栏小注自动平衡、跨列跨页 | 夹注 |
| 侧批/眉批 | 行间侧批、页面顶部眉批 | 批注 |
| 句读 | 传统句读/现代标点/白文三种模式切换 | 句读 |
| 印章 | 电子印章绝对定位,支持透明度 | 印章 |
| 改字与装饰 | 古籍勘误、专名号、书名号、着重号 | 改字与装饰 |
| 抬头 | 单抬/双抬/三抬/平抬,自动边框包裹 | 抬头 |
| 现代标点 | 标点挤压、禁则处理、中国大陆/台湾风格 | 标点系统 |
| 横排 clreq | 统一入口 \usepackage{luatex-cn},标点宽度调整、禁则、中西间距、行间标点、拼音标音 |
横排 |
| 脚注 | 段末注/页下注,鹿角/带圈编号 | 脚注 |
| 模板系统 | 内置四库全书、红楼梦甲戌本、中华书局等预设 | 模板 |
| 字体管理 | 跨平台自动探测、字体族递补(Fallback) | 字体设置 |
| 调试工具 | 网格可视化、坐标标尺、模块级日志 | 调试模式 |
一个宏包,四个文档类
| 入口 | 用途 |
|---|---|
\usepackage{luatex-cn} |
现代横排——配合 article 等任意标准文档类使用 |
\documentclass{ltc-guji} |
传统古籍排版(版心、鱼尾、丝栏),写语义命令、引擎自动排版 |
\documentclass{ltc-guji-digital} |
古籍数字化录入——每行源码即一列,精确复刻原书版面 |
\documentclass{ltc-cn-vbook} |
现代竖排书籍,中国大陆式标点 |
\documentclass{ltc-tw-vbook} |
现代竖排书籍,台湾式标点 |
所有命令都支持简体、繁体中文名称。例如\夹注{...}、\侧批{...}、\begin{正文}。
模板
除了默认模板,luatex-cn 支持自定义模板。欢迎贡献新的模板!请将模板文件放在 模板目录 并提交 Pull Request。推荐模板:
| 模板 | 说明 | 源码 |
|---|---|---|
| 四库全书文渊阁本 | 八行二十一字,正文首页带"文渊阁宝"印章,目录封面黄底,页面淡黄背景 | cfg |
在文档中使用模板:
\documentclass[四库全书文渊阁本]{ltc-guji} \begin{document} ... \end{document}
系统要求
- LuaTeX(推荐 TeX Live 2024+)
luaotfload和fontspec(TeX Live 自带)- 中文字体(系统通常已自带,推荐思源宋体或楷体以获得最佳古籍效果)
路线图
- 已完成:古籍竖排全套(版心、夹注、批注、句读、印章、表格、工尺谱等)、数字化录入模式、现代竖排两套标点体例、横排 clreq 管道与统一入口
- 进行中(v0.4.x):clreq 符合度持续提升——目前横排约 73%、竖排约 63%,逐条状态见符合度矩阵
- 后续:注音符号(拼音/注音的竖排标注)、标题与页面层条款、注释符号的分离禁则等
文档与社区
联系人: Sheldon Li | 邮件: sheldonli.dev@gmail.com 联系人: Frank Lin | 邮件: ctan@linshuang.info
开发与测试
如果你希望参与开发或在本地测试源码更改,请参考 开发者指南 或 Wiki 开发文档。
许可证
Apache License 2.0
Download the contents of this package in one zip archive (4.7M).
LuaTeX-CN – A LuaTeX based package to handle Chinese text typesetting
A LuaTeX package for Chinese character typesetting, covering horizontal/vertical, traditional/modern layout. Currently focus on Ancient Book replication. Implemented core logic of vertical typesetting, decorative elements of traditional Chinese books, and interlinear notes.
| Package | LuaTeX-CN |
| Bug tracker | |
| Repository | |
| Version | 0.4.1 |
| Licenses | Apache License, version 2.0 |
| Copyright | 2026 Open-Guji |
| Maintainer | Sheldon Li Frank Lin |
| Contained in | TeX Live as luatex-cn MiKTeX as luatex-cn |
| Topics | Class LuaTeX Chinese |





