2025-11-19
我们可以转身,但是不必回头,即使有一天,发现自己错了,也应该转身,大步朝着对的方向去,而不是一直回头怨自己错了。——刘墉《人生路,不回头》
ChinaTextbook:一个把中国教材“装进 GitHub”的公共资源库
如果你在寻找覆盖小学、初中、高中,乃至大学阶段的 PDF 教材资源,且希望这些资料能长期稳定地被访问、被引用,那么 TapXWorld 发起的 ChinaTextbook 项目会是你绕不开的宝藏仓库。它把海量教材体系化地归档在 GitHub 上,帮助更多人跨越“获取路径”的壁垒,尤其也方便海外华人家庭为孩子提供与国内一致的学习内容。
- 项目地址:TapXWorld/ChinaTextbook
- README(本文引用基于此版本):README.md(permalink)
- 项目描述(摘录):所有小学初高、大学 PDF 教材。
- 默认分支:master
- 开放讨论:Issues、Discussions
- 合并拆分工具(官方提供):ChinaTextbook-tools Releases
温馨提示:仓库体量非常庞大,不建议直接完整 clone;请按需获取单个文件或使用“只下载所需目录”的技巧(文内有示例)。
初衷与愿景:让访问教材不再困难
README 开宗明义说明了项目缘起:虽然国内已提供了免费教育资源,但“普通人获取信息的路径依然受限”。更糟糕的是,一些人利用信息不对称对这些资源进行二次售卖,还叠加了“私人水印”。因此,这个仓库希望通过公开、稳定的方式聚合教材,并且“也希望海外华人能够让自己的孩子继续了解国内教育”。
这不是一个“散文件仓库”,而是带着公共性与可持续性的资料库。
资源结构(以数学为例)
README 展示了较为详细的数学教材目录(小学/初中/高中/大学),例如:
- 小学数学:人教版按年级上/下册条目化链接
- 初中数学:初一至初三上下册的人教版教材
- 高中数学:人教版(A 版)目录聚合
- 大学数学:高等数学、线性代数、离散数学、概率论等子目录
结合仓库简介“所有小学初高、大学 PDF 教材”,可以理解为本仓库的覆盖范围跨越 K-12 到大学阶段。你可以直接在仓库的目录树中导航到对应年级/版本进行下载与学习。
提示:README 给出的具体链接较多,这里不一一展开。建议直接进入仓库,通过左侧目录树逐层定位到目标教材。
GitHub 文件大小限制与“拆分文件”合并
由于 GitHub 对文件大小有严格限制:
- 超过 100MB 的文件无法上传;
- 超过 50MB 的文件会收到警告。
因此,仓库中部分 PDF 会被拆分成多段(例如:xxx.pdf.1、xxx.pdf.2)。README 提供了合并方案:
- 使用官方合并程序(Windows)
- 从 ChinaTextbook-tools Releases 下载
mergePDFs-windows-amd64.exe - 将它放在包含被拆分 PDF 的同一文件夹。
- 双击运行,自动完成合并。
- 通用方法(适合熟悉命令行的用户)
-
Windows(CMD):
1
copy /b "义务教育教科书·数学一年级上册.pdf.1"+"义务教育教科书·数学一年级上册.pdf.2" "义务教育教科书·数学一年级上册.pdf" -
macOS / Linux(Shell):
1
cat "义务教育教科书·数学一年级上册.pdf."* > "义务教育教科书·数学一年级上册.pdf"注意:
-
请确保各分段按正确顺序命名(.1、.2、.3 …)。
-
如果系统对中文路径支持不友好,建议先将文件名临时重命名为英文,合并后再改回。
获取教材的三种实用姿势
从 README 可知,官方也给出了“重新下载”的建议:若你在内地网络环境良好、追求最新版本,可以借助原站点的解析工具 tchMaterial-parser 重下;若海外网络与内地连接较慢,可直接使用本仓库的归档版本。以下给出常见获取方式与小技巧:
方式一:网页端直达(适合大多数用户)
- 打开 仓库主页,通过目录树点击进入目标年级/版本。
- 对于未拆分的单个 PDF,点击后在文件页面使用 “Download raw”(或右键复制原始地址,用下载器提速)。
- 对于被拆分的 PDF,下载所有分段到同一目录后,按“拆分合并”章节合成。
优点:操作简单;不需要命令行。
注意:GitHub 网页直连速度受区域与时段影响。
方式二:仅下载某个目录(进阶:Git Sparse-Checkout)
当你只需要某个学段/版本的若干文件,不想拉取整个超大仓库时,可以用 Git 的稀疏检出特性:
1 | |
优点:只拉你要的那一小部分;节省时间与带宽。
注意:路径需与仓库实际目录一致;含空格或中文请用引号包裹。
方式三:命令行抓取单文件(原始地址直下)
若你已打开某个 PDF 的文件页面,可点击 “Raw” 获取原始地址,然后用常见工具下载:
1 | |
注意:
- 把 {branch_or_commit} 和 {path/to/file} 替换成真实的分支名/commit 与文件路径。
- 中文路径建议在命令行中用引号包裹,或改用 URL 编码。
常见问答(根据 README 要点整理)
-
问:为啥有些 PDF 被拆成 .1、.2、.3?
答:因为 GitHub 对单文件大小有限制(>100MB 禁止;>50MB 警告),所以大文件会被拆分。按本文合并方法可以还原。 -
问:我在国内,能不能直接用工具从原站点重下最新?
答:可以,README 推荐 tchMaterial-parser(鼓励开源)。若你在海外且与内地网络较慢,可优先用本仓库存档。 -
问:我能贡献或反馈吗?
答:仓库开放 Issues/Discussions;你也可以加入 Telegram 社区获取最新动态并交流:加入 Telegram。
代码案例:从“获取”到“合并”的一条龙示例
下面给出一个“只拉取某个目录 + 批量合并拆分 PDF”的范例流程,便于在 Windows 和 macOS/Linux 上快速复用。
1) 稀疏检出某一目录(示例:小学/数学/人教版)
1 | |
2) Windows 批量合并同目录下的拆分 PDF
将如下内容保存为 merge_parts.bat 并放到含拆分文件的目录,双击运行:
1 | |
说明:
- 该脚本假设每本书最多拆成 3 段(.1、.2、.3),如果更多,请继续在 copy /b 后面追加。
- 中文文件名在 CMD 下通常可用,若遇编码问题可先把文件临时改名为英文。
3) macOS / Linux 批量合并
保存为 merge_parts.sh 并在目标目录执行 bash merge_parts.sh:
1 | |
说明:
- 假设拆分文件遵循统一命名:xxx.pdf.1、xxx.pdf.2、…。
- 如果目录中混有其他无关 .pdf.* 文件,请先清理或改写匹配条件。
倡议与合规
- 教材资源的收集与传播,初衷是降低获取门槛,服务学习与研究。请遵守所在地区法律法规与版权政策,合理合规使用。
- 若本仓库帮助到你,欢迎 Star 支持与传播,以促进资源的长久维护与更新。
- 支持与社区:
- Telegram 社区:https://t.me/+1V6WjEq8WEM4MDM1
- 支持作者(README 提供了捐赠二维码)
- Star 趋势可参考 README 中嵌入的 Star History
结语
ChinaTextbook 把“教育资源的可达性”作为第一要务:把分散的、容易“绕弯”的获取途径,变成一个任何人都能找到与下载的公共仓库。无论你是想系统复习 K-12 课程,还是查阅大学基础数学,或是希望让海外的孩子延续中文教材学习,这里都能给到直接而可靠的入口。
再次附上关键链接:
- 仓库主页:TapXWorld/ChinaTextbook
- README(引用版本):README.md(permalink)
- 合并工具下载:ChinaTextbook-tools Releases
- 重新下载建议工具(内地网络):tchMaterial-parser
- 社区与动态:Telegram 群
愿每个人都能以更少的阻力,抵达知识。