我一直使用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. 华为云CCE Turbo:基于eBPF的用户自定义多粒度网络监控能力

    本文分享自华为云社区<华为云CCE Turbo:基于eBPF的用户自定义多粒度网络监控能力>,作者: 云容器大未来. 基于eBPF的容器监控的兴起 容器具有极致弹性.标准运行时.易于部署等 ...

  2. echarts api的介绍

    参考的地址:https://echarts.apache.org/zh/api.html echarts.init echarts.init(dom?: HTMLDivElement|HTMLCanv ...

  3. Promise的异常穿透和中断Promise的链式请求

    1.Promise的异常穿透 1==>当你使用Promise的then,进行链式调用的时候,可以在最后指定失败的回调 2==>前面任何操作出现了异常,都会传递到最后失败的回调中进行处理: ...

  4. 【scikit-learn基础】--『回归模型评估』之准确率分析

    分类模型的评估和回归模型的评估侧重点不一样,回归模型一般针对连续型的数据,而分类模型一般针对的是离散的数据. 所以,评估分类模型时,评估指标与回归模型也很不一样,比如,分类模型的评估指标通常包括准确率 ...

  5. OpenIM (Open-Source Instant Messaging) Mac Deployment Guide

    This guide provides step-by-step instructions for deploying OpenIM on a Mac, including both source c ...

  6. 解决问题:latex中bib引用顺序不正确,引用顺序和正文不一致

    问题:生成pdf时文献应用会乱序 引用bib格式的参考文献时,会这么写: \bibliographystyle{plain} \bibliography{%filename%.bib} 而plain的 ...

  7. 14.3 Socket 字符串分块传输

    首先为什么要实行分块传输字符串,一般而言Socket套接字最长发送的字节数为8192字节,如果发送的字节超出了此范围则后续部分会被自动截断,此时将字符串进行分块传输将显得格外重要,分块传输的关键在于封 ...

  8. C/C++ 使用CRC检测内存映像完整性

    前面的那一篇文章中所使用的技术只能有效抵抗解密者直接修改硬盘文件,当我们使用动态补丁的时候,那么内存中同样不存在校验效果,也就无法抵御对方动态修改机器码了,为了防止解密者直接对内存打补丁,我们需要在硬 ...

  9. 火山引擎ByteHouse:分析型数据库如何设计并发控制?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 分析型数据库设计并发控制的主要原因是为了确保数据的完整性和一致性,同时提高数据库的吞吐量和响应速度.并发控制可以防 ...

  10. 记录一则exachk进程占用大量CPU资源

    有Exadata客户在进行exachk巡检之后反馈,发现系统中,exachk进程占用了大量CPU资源. 了解之前的变更,只是巡检之前升级了AHF,然后进行标准的exachk巡检. 现象: 目前机器整体 ...