这是一个面向 LuaLaTeX、MetaPost/fiziko 和科学插画排版爱好者的示例库,包含 20 个可独立编译的小型示例,用 LaTeX、TikZ、Lua、pgfplots、MetaPost/fiziko 复现“古典科学论文/古籍科学插图”的视觉风格,例如铜版画线条、旧式字体、星图、对数表、光学仪器、力学装置、专利图、月相、绳结和自然史目录等。项目更像是高质量排版与科学可视化技法合集,而不是一个可直接集成的软件库。
适用领域
LaTeX 排版 / LuaLaTeX / MetaPost / fiziko 科学插图 / TikZ/PGF 绘图 / 科学出版物设计 / 复古视觉设计 / 矢量插图 / 技术文档美术风格 / 数学与物理教学插图
配置难度
中高。已有 LaTeX 基础的用户可以较快编译纯 LaTeX 示例;如果要理解并修改 TikZ、pgfplots、LuaLaTeX、MetaPost/fiziko 图形逻辑,需要较强的 TeX 生态经验。对完全没有 LaTeX 经验的开发者来说,环境安装、宏包缺失、字体配置和 MetaPost 路径配置会有一定门槛。
商业价值
商业价值主要体现在高质量技术出版、教育内容、科普书籍、品牌化报告、复古风格海报和视觉模板设计上。它可以显著提升科学类文档的美术质感,也可作为定制 LaTeX 模板、出版社排版方案、课程讲义视觉系统或科普内容设计的参考素材。不过由于许可证不明确,直接商用复制代码或模板存在合规风险,更适合作为学习、原型和灵感来源。
01
技术亮点
- 20 个示例均强调独立性,便于复制、编译、拆解和学习。
- 覆盖面广:从纯 LaTeX 页面、TikZ 插图、Lua 计算表格,到 MetaPost/fiziko 科学图形。
- 输出为矢量 PDF/EPS,文本可搜索,适合高质量印刷和出版。
- 示例不仅追求视觉效果,还展示背后的机制,例如真实计算的对数表、基于天球坐标转换的星图、基于 fiziko 折射宏的光线追迹。
- 对古典科学论文审美的复现较细致,包括旧式数字、历史连字、边注、暖色纸张、墨色、影线、刻线、装饰首字、专利图样式等。
- 适合学习 LuaLaTeX、TikZ、pgfplots、MetaPost/fiziko 的高级组合用法。
- README 说明较详细,包含不同平台的构建命令和已知兼容性说明。
- 项目星标数较高,说明在 LaTeX/排版/复古视觉设计圈层中有一定关注度。
02
目标用户
- 熟悉 LaTeX 或正在学习 LaTeX 的开发者、研究者、教师
- 需要制作高质量论文、讲义、科普材料或技术书籍的作者
- 对复古科学论文、古典出版物、铜版画风格感兴趣的设计师
- 需要用代码生成科学插图的 TeX/TikZ/MetaPost 用户
- 希望研究 LuaLaTeX、TikZ、pgfplots、MetaPost/fiziko 组合用法的排版工程师
- 制作物理、天文、数学、自然史教学材料的教育工作者
03
配置要求
- 必须使用 LuaLaTeX,示例明确不支持 pdfLaTeX,因为需要 OpenType 字体控制和 LuaTeX 能力。
- 需要 TeX Live 或 MiKTeX,推荐使用较完整的安装方案,避免缺少宏包。
- 所需 LaTeX 包包括 fontspec、geometry、microtype、multicol、xcolor、tikz、pgfplots、luacode、array 等。
- TikZ 需要相关库,例如 lindenmayersystems、patterns.meta、calc、shapes.geometric。
- 需要 EB Garamond 字体,通常可通过 TeX Live/MiKTeX 的 ebgaramond 包获得。
- 示例 15 到 20 需要 luamplib,用于在 LuaTeX 中运行 MetaPost。
- 示例 15 到 20 还需要 unicode-math 和 garamond-math,以匹配数学字体和文本字体风格。
- 编译 standalone .mp 文件需要外部 fiziko 仓库,不随本项目内置。
- Windows 下推荐 PowerShell 7;Linux/macOS 可使用 POSIX shell。
- MetaPost 在 TeX Live 与 MiKTeX 下行为存在差异:MiKTeX 的 mpost 可能需要 -job-name 参数,而 TeX Live 通常不需要。
04
适用场景
- 复制某个示例作为论文、教材、讲义或海报的视觉模板
- 学习如何用 LuaLaTeX 控制 OpenType 字体、旧式数字、历史连字、长 s、边注、首字下沉等版式细节
- 学习如何用 TikZ 制作刻版风格线条、影线、装饰边框、微距雪花、专利图纸和星图
- 学习如何用 Lua 在编译时生成数据,例如五位对数表
- 学习如何用 pgfplots 生成复古图表和仿旧图纸
- 学习如何用 MetaPost/fiziko 生成物理设备、光线追迹、透镜、滑轮、天文球体、月相、绳结等科学插图
- 为中文技术文档或科普材料借鉴复古科学论文审美
- 作为视觉设计、排版实验或 LaTeX 教学案例库
05
部署与配置
- 安装 TeX Live 或 MiKTeX,并确保包含 LuaLaTeX、MetaPost、常见 LaTeX 宏包和字体包。
- 克隆仓库:git clone https://github.com/Foadsf/vintage-latex.git
- 进入仓库根目录:cd vintage-latex
- 如只编译纯 LaTeX 示例,可直接运行 LuaLaTeX:lualatex -interaction=nonstopmode -halt-on-error -output-directory=build examples/01-early-modern-page.tex
- 也可以使用仓库提供的构建脚本。Windows PowerShell 7:.\build.ps1;Linux/macOS:./build.sh
- 如需编译 fiziko 相关示例,单独克隆 fiziko:git clone https://github.com/jemmybutton/fiziko.git ../fiziko
- Windows PowerShell 7 编译全部并指定 fiziko 路径:.\build.ps1 -Fiziko ..\fiziko
- Linux/macOS 编译全部并指定 fiziko 路径:./build.sh ../fiziko
- 如手动编译 standalone MetaPost 示例,需要设置 MPINPUTS 指向 fiziko 目录,并保留末尾路径分隔符。例如 Linux/macOS:export MPINPUTS="$(cd ../fiziko && pwd):"
- MetaPost 示例输出通常为 EPS,可根据需要用 Ghostscript 转换为 PDF 或 PNG。
06
风险与注意事项
- 项目许可证为 NOASSERTION,未明确授权条款;商用、再分发或集成到商业模板前需要谨慎确认许可。
- 这不是一个稳定 API 库,而是示例集合;后续维护、兼容性和版本承诺可能有限。
- 依赖较重,需要完整 TeX 环境、LuaLaTeX、多个宏包、字体包、MetaPost,初学者配置成本较高。
- fiziko 未内置,需要单独克隆,并配置 MPINPUTS,增加构建复杂度。
- MetaPost 在 MiKTeX 和 TeX Live 下命令行为不完全一致,跨平台自动化构建可能需要额外处理。
- 部分示例偏西文古籍审美,直接用于中文排版时需要调整中文字体、断行、标点、版心和中西文字体搭配。
- 如果 TeX 发行版版本较旧,可能出现宏包、字体或 LuaLaTeX 行为不兼容问题。
- 生成过程偏离常规前端/后端开发工作流,不适合期望 npm/pip 一键安装的软件开发者。
2026-09-15
第24名
新收录 · github_search