我一直使用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. 高性能MySQL实战(三):性能优化 | 京东物流技术团队

    这篇主要介绍对慢 SQL 优化的一些手段,而在讲解具体的优化措施之前,我想先对 EXPLAIN 进行介绍,它是我们在分析查询时必要的操作,理解了它输出结果的内容更有利于我们优化 SQL.为了方便大家的 ...

  2. echarts设置暂无数据

    场景描述 我们在项目中,很多时候都会使用echarts进行数据展示. 当没有数据的时候,echarts的展示就会特别的难看. 这个时候我们就会优化界面的显示,在echarts中展示暂无数据. 有很多中 ...

  3. Python 使用XlsxWriter操作Excel

    在数据处理和报告生成的领域中,Excel 文件一直是广泛使用的标准格式.为了让 Python 开发者能够轻松创建和修改 Excel 文件,XlsxWriter 库应运而生.XlsxWriter 是一个 ...

  4. 每日一道Java面试题:说一说Java中的异常

    写在开头 任何一个程序都无法保证100%的正常运行,程序发生故障的场景,我们称之为:异常,在Java中对于异常的处理有一套完善的体系,今天我们就来一起学习一下. 老样子,用一段简单的代码开始今天的学习 ...

  5. Java 数字 默认是 Integer类型的问题,System.currentTimeMillis() + (180 * 24 * 60 * 60 * 1000)的问题,剖析、Long + Integer的问题

    最终结论: (180 * 24 * 60 * 60) 这种计算表达式在 Java中是默认以 Integer类型来的,若不超过 Integer的最大值则没有问题,若超过则必须用 (180 * 24 * ...

  6. ASP.NET Core分布式项目实战(Consent 确认逻辑实现)--学习笔记

    任务22:Consent 确认逻辑实现 接下来,我们会在上一节的基础上添加两个按钮,同意和不同意,点击之后会把请求 post 到 ConsentController 处理,如果同意会通过 return ...

  7. 亚马逊Dynamo数据库解读(英文版)

    最近看了亚麻的Dynamo,个人认为其中always writeable的业务目标,对于DHT,vector clock,merkel tree的应用,包括对于一致性和高可用的权衡(基于CAP猜想,实 ...

  8. SP28304 ADATEAMS - Ada and Teams 题解

    题目传送门 前置知识 乘法逆元 | 排列组合 解法 简单的排列组合.从 \(n\) 个学校中选出 \(a\) 个学校,共有 \(\dbinom{n}{a}\) 种不同的方案数.选出的 \(a\) 个学 ...

  9. ES6学习 第七章 函数的扩展

    前言 本章介绍函数的扩展.有些不常用的知识了解即可. 本章原文链接:函数的扩展. 函数参数的默认值 ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面. 当函数形参没有被赋值时,才会将默认值 ...

  10. NC52867 Highway

    题目链接 题目 题目描述 In ICPCCamp there were n towns conveniently numbered with \(1, 2, \dots, n\) connected ...