我一直使用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 小結
完整的內容可以直接到墨問便籤上的連結。 那些還沒有生成的章節,就是還沒有寫😀。感覺是不慎洩漏了寫作進度😂。
本文永久連結:https://www.dujinfang.com/2024/03/03/txt-toc.html 。