PowerShell · 项目报告

Foadsf/vintage-latex

Twenty LuaLaTeX and MetaPost (fiziko) examples of the old scientific-paper aesthetic: engraved plates, star charts, computed log tables, knots, telescopes

已完成 打开 GitHub
F
371星标
22Fork
0Issue
NOASSERTION许可证

分析结果

项目分析

这是一个面向 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