我一直使用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. Go 复合数据类型之结构体与自定义类型

    Go 复合数据类型之结构体与自定义类型 目录 Go 复合数据类型之结构体与自定义类型 一.类型别名和自定义类型 1.1 类型定义(Type Definition) 简单示例 1.2 类型别名 简单示例 ...

  2. 安装Docker填坑

    从官网下载适合win10使用的docker,但是下载后,出现了各种坑,记录一下解决方式 1.docker想要正常启动,需要做以下的准备,开启 Windows 虚拟化和 Linux 子系统(WSL2), ...

  3. Flowable-UI

    Flowable-UI 安装 手把手教大家画了这样一个流程图,虽然说它不是特别好用,但是也不是不能用,也能用.好了,那么接下来的话,我们这个就先告一个段落,接下来我要跟大家说的第二个东西的话,就是另外 ...

  4. Milvus 2.3.功能全面升级,核心组件再升级,超低延迟、高准确度、MMap一触开启数据处理量翻倍、支持GPU使用!

    Milvus 2.3.功能全面升级,核心组件再升级,超低延迟.高准确度.MMap一触开启数据处理量翻倍.支持GPU使用! 1.Milvus 2.3版本全部升级简介 Milvus 2.3.0 不仅包含大 ...

  5. Flask 框架:运用SocketIO实现WebSSH

    Flask 框架中如果想要实现WebSocket功能有许多种方式,运用SocketIO库来实现无疑是最简单的一种方式,Flask中封装了一个flask_socketio库该库可以直接通过pip仓库安装 ...

  6. C/C++ Qt 常用数据结构

    Qt 是一个跨平台的图形化类库,常用数据结构就是对C++ STL的二次封装,使其更加易用,如下是经常会用到的一些数据结构和算法,其中包括了QString,QList,QLinkedList,QVect ...

  7. 多路io复用Select [补档-2023-07-16]

    select 2.1 简介 ​ select函数可以用于实现高效的多路复用 I/O,同时处理多个文件描述符的事件,包括监听可读.可写和异常条件,具有阻塞和非阻塞模式,并可以设置超时时间.这使得程序能够 ...

  8. 46从零开始用Rust编写nginx,数据还能这么传,多层代理(IP多级代理)搭建

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 负载均衡, 静态文件服务器,websocket代理,四层TCP/UDP转发,内网穿透等,会将实 ...

  9. 基于AQS实现自定义同步类

    Mutex(互斥锁) Mutex是一个不可重入的互斥锁实现.锁资源(AQS里的state)只有两种状态:0表示未锁定,1表示锁定.下边是Mutex的核心源码: class Mutex implemen ...

  10. 基于.NET实现Matlab备用方案

    基于.NET实现Matlab备用方案 今日圈内的朋友都在刷这样的消息: 正值哈工大百年校庆之际,哈工大.哈工程的师生收到了MATLAB软件停止服务的邮件,在与 MATLAB 开发公司 MathWork ...