用Pandoc生成TXT格式的目录
我一直使用Markdown格式写作,使用Pandoc生成PDF和Word格式的文档。Pandoc能生成很好的章节和目录,但有时候,也需要生成TXT格式的目录,今天就尝试了一下。
由于我写的内容章节比较多,所以我先写了一个Makefile,主要内容如下:
PANDOC = pandoc
NAME = 大道至简
VER=0
SRC=meta.md \
1.md \
2.md \
3.md \
4.md \
5.md \
5-2.md \
5-x.md
txt:
$(PANDOC) -s --toc --variable documentclass="report" \
--number-sections \
--mathjax \
--lua-filter=templates/diagram-generator.lua \
--no-highlight \
-t plain \
-o out/$(NAME)-$(VER).txt \
$(SRC)
使用make txt
命令就可以生成TXT格式的文件和目录了,包括章节和编号,效果非常好,部分内容如下:
- 第一章 神奇的数
- 1.1 认识数
- 1.2 数的起源
- 1.3 阿拉伯数字与数的表示
- 1.4 很大的数
- 1.5 数的进制
- 1.6 整数和自然数
- 1.7 代数和方程
- 1.8 有理数
- 1.9 无理数
- 1.10 指数和对数
- 1.11 实数和虚数
- 1.12 数列
- 1.12.1 简单数列
- 1.12.2 指数增长
- 1.12.3 斐波纳契数列
- 1.12.4 级数
- 1.13 汉诺塔
- 1.14 矩阵
- 1.15 函数
- 1.16 微积分
- 1.16.1 导数
- 1.16.2 加速度
- 1.16.3 微分
- 1.16.4 积分
- 1.17 无穷大与无穷小的比较
- 1.18 高维空间
- 1.19 坐标系
- 1.20 小结
渲染效果如下:
- 第一章 神奇的数
- 1.1 认识数
- 1.2 数的起源
- 1.3 阿拉伯数字与数的表示
- 1.4 很大的数
- 1.5 数的进制
- 1.6 整数和自然数
- 1.7 代数和方程
- 1.8 有理数
- 1.9 无理数
- 1.10 指数和对数
- 1.11 实数和虚数
- 1.12 数列
- 1.12.1 简单数列
- 1.12.2 指数增长
- 1.12.3 斐波纳契数列
- 1.12.4 级数
- 1.13 汉诺塔
- 1.14 矩阵
- 1.15 函数
- 1.16 微积分
- 1.16.1 导数
- 1.16.2 加速度
- 1.16.3 微分
- 1.16.4 积分
- 1.17 无穷大与无穷小的比较
- 1.18 高维空间
- 1.19 坐标系
- 1.20 小结
- 第二章 计算机是怎样工作的
- 2.1 环境准备
- 2.2 晶体管和门电路
- 2.2.1 二极管和三极管
- 2.2.2 门电路
- 2.2.3 加法器
- 2.3 计算机的组成
- 2.3.1 CPU
- 2.3.2 存储器
- 2.4 操作系统
- 2.4.1 Windows
- 2.4.2 UNIX
- 2.4.3 Linux
- 2.4.4 Mac OS 和 macOS
- 2.4.5 iOS 和 Android
- 2.4.6 鸿蒙
- 2.5 原码、反码和补码
- 2.5.1 原码
- 2.5.2 反码
- 2.5.3 补码
- 2.5.4 为什么要用补码?
- 2.6 浮点数
- 2.7 字符编码
- 2.7.1 ASCII 码
- 2.7.2 中文编码
- 2.7.3 字节序
- 2.8 文件格式
- 2.8.1 文本文件
- 2.8.2 二进制文件
- 2.9 多媒体在计算机中的表示
- 2.9.1 音频
- 2.9.2 颜色和图像
- 2.9.3 电影、电视和视频
- 2.9.4 音视频封装、传输和未来
- 2.9.5 视频图像的像素点数据格式
- 2.9.6 扫描线与电视制式
- 2.10 小结
- 第三章 操作系统
- 3.1 Linux 入门
- 3.1.1 认识命令行
- 3.1.2 文件权限
- 3.1.3 用户和组
- 3.1.4 简单文件操作
- 3.1.5 输入输出重定向
- 3.1.6 文本编辑器
- 3.1.7 文本文件处理
- 3.1.8 Shell
- 3.1.9 man
- 3.1.10 Linux 上的图形用户界面
- 3.1.11 安装 Linux
- 3.1.12 SSH 远程连接
- 3.1.13 文件系统层次结构
- 3.1.14 进程
- 3.2 Docker 入门
- 3.2.1 虚拟化技术
- 3.2.2 Docker 简介
- 3.2.3 Docker 安装
- 3.2.4 Docker 基本概念
- 3.2.5 Docker 常用命令
- 3.2.6 Docker Compose
- 3.2.7 宿主机文件挂载
- 3.3 Windows
- 3.4 macOS
- 3.4.1 Homebrew
- 3.4.2 软件包
- 3.4.3 常用软件
- 3.5 Android 和 iOS
- 3.5.1 Android
- 3.5.2 iOS
- 3.6 计算机网络
- 3.6.1 以太网和无线通信技术
- 3.6.2 OSI 和 TCP/IP 网络模型
- 3.6.3 IP 地址
- 3.6.4 MAC 地址
- 3.6.5 单播、多播和任播
- 3.6.6 DNS
- 3.6.7 路由
- 3.6.8 TCP
- 3.6.9 UDP
- 3.6.10 网络安全
- 3.6.11 加解密和证书
- 3.7 基本概念和理论
- 3.7.1 进程和线程
- 3.7.2 进程调度
- 3.7.3 进程间通信
- 3.7.4 中断
- 3.7.5 内存管理
- 3.7.6 文件系统
- 3.7.7 设备管理
- 3.7.8 用户界面
- 3.8 小结
- 3.1 Linux 入门
- 第四章 开发工具
- 4.1 Windows 上的效率工具和开发环境
- 4.1.1 winget
- 4.1.2 Windows Terminal
- 4.1.3 WSL
- 4.1.4 经典 UNIX 工具
- 4.2 Git
- 4.2.1 安装和设置
- 4.2.2 Git 实例
- 4.2.3 Git 基本概念
- 4.2.4 工作流程
- 4.2.5 协作流程
- 4.2.6 Github
- 4.2.7 分支
- 4.2.8 Squash
- 4.2.9 误区和最佳实践
- 4.2.10 Git Server
- 4.2.11 Gitea
- 4.2.12 Git 图形界面
- 4.2.13 我的 Git 小工具
- 4.2.14 我的 .gitconfig
- 4.2.15 总结和延伸阅读
- 4.3 构建工具
- 4.3.1 Makefile
- 4.3.2 Autotools
- 4.3.3 CMake
- 4.3.4 Meson
- 4.3.5 Ninja
- 4.3.6 Bazel
- 4.3.7 Ant
- 4.3.8 Maven
- 4.3.9 Gradle
- 4.3.10 Webpack
- 4.3.11 Gulp
- 4.3.12 Grunt
- 4.3.13 其他
- 4.4 Neovim
- 4.4.1 Neovim 和 Vim 的不同
- 4.4.2 Neovim 插件管理器
- 4.4.3 Neovim LSP
- 4.5 VS Code
- 4.6 Eclips
- 4.7 Android Studio
- 4.8 XCode
- 4.1 Windows 上的效率工具和开发环境
- 第五章 编程语言
- 5.1 编程语言串讲
- 5.2 汇编语言
- 5.2.1 汇编语言的 hello world
- 5.2.2 汇编程序
- 5.2.3 反汇编
- 5.2.4 汇编语言做加法
- 5.2.5 寄存器
- 5.2.6 Linux 上的汇编
- 5.2.7 计算机是怎么启动的?
- 5.2.8 写一个操作系统内核
- 5.2.9 从硬盘启动操作系统
- 5.2.10 将操作系统装到硬盘上
- 5.2.11 制作安装光盘
- 5.2.12 调试与排错
- 5.2.13 小结
完整的内容可以直接到墨问便签上的链接。 那些还没有生成的章节,就是还没有写😀。感觉是不慎泄漏了写作进度😂。