← Back to skills
extension
Category: Productivity & OfficeAPI key requirement unconfirmed

Markdown 转为 PDF 适合打印的小册子

将 Markdown 习题、专题笔记和知识手册整理为可打印的 PDF 小册子,支持目录、中文排版、LaTeX 数学公式和 SVG 插图。当用户要求制作复习册、打印版、习题解答合集或将 Markdown 导出为排版良好的 PDF 时使用。

personAuthor: mugaaaaahubModelScope
<!-- OB-S:9cMnz1IYIod0De_bLIa7uQ -->

Markdown PDF 小册子

把 Markdown 资料整理为一本便于阅读和双面打印的 PDF,而不只是机械转换格式。

内容原则

  • 以看懂为第一原则,用自己的话解释“怎么想到、怎么执行”,避免只罗列定义和定理。
  • 每道题的解答紧跟题目,不要把全部答案集中放到文末。
  • 需要图才能清楚表达的内容必须配图;重画并简化参考图,只保留解题所需结构。
  • 使用统一的章节、题号、强调色和图注,不照抄来源中的冗余内容。

Markdown 约定

---
title: 课程名 · 习题与解答合集
---

# 第一章 章名

### 1. 题目

![解题所需结构](figures/example.svg)

**解** 解答紧跟题目。
  • 用 H1 表示章,目录只展示章级标题;用 H3 表示题号。
  • 清除行首四个及以上空格,避免公式和正文被解析为缩进代码块。
  • 将过长的行内公式拆成多个公式,将超宽行间公式改为 aligned 等可手动换行的形式。
  • 避免生僻符号和 Emoji;出现缺字警告时改用普通文字。
  • 不要在待转换的 Markdown 中使用行内 <svg>。将图片保存为独立的 .svg 文件,并用相对路径引用。
  • SVG 使用 viewBox、固定颜色和通用字体,不引用本机文件或外部资源。

构建

功能依赖:

| 工具 | 用途 | |---|---| | Pandoc | Markdown 转换 | | XeLaTeX、ctexart、xeCJK | PDF 与中文排版 | | rsvg-convert(librsvg) | SVG 矢量图嵌入 |

先确认依赖已安装,再运行本 Skill 目录中的脚本:

CJK_FONT="Noto Serif CJK SC" bash build_pdf.sh source.md output.pdf
  • CJK_FONT 必填,应填写系统已安装的中文字体,例如 Linux 的 Noto Serif CJK SC、macOS 的 Songti SC 或 Windows 的 SimSun。
  • 输出路径省略时,默认为源文件同名 PDF。
  • 脚本会切换到源文件目录构建,因此 figures/example.svg 等相对路径以源 Markdown 所在目录为基准。
  • 不设置 mainfont,让拉丁文字和数学公式使用一致的默认字体;只通过 CJK_FONT 设置中文字体。
  • 不依赖特定操作系统包管理器。缺少工具时,说明缺失项,由用户选择其平台的安装方式。

交付前检查

  1. 检查 Pandoc 和 XeLaTeX 是否可用;源文件引用 SVG 时同时检查 rsvg-convert。
  2. 实际构建 PDF,不把命令成功退出作为唯一验收标准。
  3. 查看封面与目录、至少一页公式密集内容和至少一页插图。
  4. 检查中文字体、公式渲染、图片清晰度、页面溢出和缺字警告。
  5. 修复后重新构建;将 PDF 输出到用户指定位置或源文件旁,不写入 Skill 目录。