我一直使用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

用Pandoc生成TXT格式的目录的更多相关文章

  1. 琐碎--选择文件夹(路径)+生产txt格式的log+数据库操作方式

    记录日常工作常用到的一些方法: 1 选择文件操作,并将文件的路径记录下来: OpenFileDialog ofd = new OpenFileDialog(); ofd.Multiselect = f ...

  2. [Selenium2+python2.7][Scrap]爬虫和selenium方式下拉滚动条获取简书作者目录并且生成Markdown格式目录

    预计阅读时间: 15分钟 环境: win7 + Selenium2.53.6+python2.7 +Firefox 45.2  (具体配置参考 http://www.cnblogs.com/yoyok ...

  3. 批量将某一目录下的.py文件改为.txt格式文件

    #!/usr/env/python#-*- coding:utf-8 -*-#批量将某一目录下的.py文件改为.txt格式文件import os,os.pathfile_list = os.listd ...

  4. (原)caffe中通过图像生成lmdb格式的数据

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5909121.html 参考网址: http://www.cnblogs.com/wangxiaocvp ...

  5. 使用jmeter+ant进行接口自动化测试(数据驱动)之二:利用apache-ant执行测试用例并生成HTML格式测试报告

    在 使用jmeter+ant进行接口自动化测试(数据驱动)之一 介绍了如何使用csv文件来批量管理接口 本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 ap ...

  6. Beyond Compare脚本:命令行批量比较文件并生成html格式的差异报告

    BComp.exe /silent /closescript /solo @E:\compareTest\BCbatch.txt text-report layout:side-by-side opt ...

  7. 用插件maven-surefire-report-plugin生成html格式测试报告

    在默认情况下,执行maven test/maven package/maven install命令时会在target/surefire-reports目录下生成txt和xml格式的输出信息. 其实ma ...

  8. 利用kindlegen实现txt格式小说转换为mobi格式小说(C++实现)

    一直以来喜欢在kindle上看小说,kindle不伤眼,也可以帮助控制玩手机的时间.但在kindle上看txt格式的网络小说就很头疼了,这类小说在kindle上是没有目录的,而且篇幅巨长.所以一直以来 ...

  9. yolov5数据集制作 数据集分割+voc格式转txt格式代码

    先上数据集分割代码 网上没找到合适的 自己写了一个 分割比例为0.6 :0.2 :0.2 import os import random oriImgDir = "./change14img ...

  10. Txt格式配置表无法解析的问题——BOM

    今天再次遇到同一个问题:策划给来一个Txt格式配置表,我用解析类去读取,返回的结果为空.解析类参数是:主键key,文件名fileName,错误提示errorTip. 写读取语句的时候,主键key我是直 ...

随机推荐

  1. vue3.2如何将写hooks呢?

    场景 有些时候,我们需要将一个页面拆分成各个模块. 这些模块包含增加,删除,修改,等 并且这些模块会处理非常复杂的业务逻辑问题 所以,我们最好是将他们分开. 如何将分离新增模块拆离出去 主页面 < ...

  2. vue mixin混入 全局混入 局部混入

    <div id="app"> --{{nameName}} </div> // 全局混入 不需要注册 var m1 = Vue.mixin({ data() ...

  3. Protobuf示例:Golang and Python

    之前的文章中已经展示过如何在C++中使用protobuf,本文将简单示范protobuf在Golang和Python中的使用. Talk is cheap. Show you my code. 首先是 ...

  4. YiGo学习(一)YiGo介绍

    YiGo是一种开发语言,是一种面向业务人员进行管理信息系统开发的特定领域语言,属于第五代计算机语言.它可以在图形化界面上进行选择.拖拽等动作进行管理业务建模,通过建立对系统需求的描述模型由计算机自动生 ...

  5. MedicalGPT:基于LLaMA-13B的中英医疗问答模型(LoRA)

    MedicalGPT:基于LLaMA-13B的中英医疗问答模型(LoRA).实现包括二次预训练.有监督微调.奖励建模.强化学习训练[LLM:含Ziya-LLaMA]. **** 训练医疗大模型,实现包 ...

  6. ElasticSearch-索引库、文档操作

    1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 2.elasticsearch和lucen ...

  7. mit6.824lab2D-Debug记录

    1.死锁 要提交快照的时候由于没有人取走applyCh通道里面的东西,导致死锁. 具体解释: 2D的测试代码中在日志达到一定大小时会调用snapshot,该函数需要申请rf.mu这个互斥锁.而在提交普 ...

  8. Java 如何在日志中优雅的打印 Exception

    一.使用 log 库打印 使用 log 库如 slf4j @Slf4j public class MyDemo { public void demo() { try { int a = 10 / 0; ...

  9. 【Flink入门修炼】1-2 Mac 搭建 Flink 源码阅读环境

    在后面学习 Flink 相关知识时,会深入源码探究其实现机制.因此,需要现在本地配置好源码阅读环境. 本文搭建环境: Mac M1(Apple Silicon) Java 8 IDEA Flink 官 ...

  10. gateway 是什么?

    Gateway 定义是什么? 百度百科解释: 网关(Gateway)又称网间连接器.协议转换器.网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连. 网关既可以用于广 ...