用Pandoc生成TXT格式的目錄

七歌杜金房發表於2024-03-03

我一直使用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 小結
  • 第四章 開發工具
    • 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
  • 第五章 程式語言
    • 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

相關文章