$ ./toc.py --help
usage: toc.py [-h] sub-command ...
positional arguments:
sub-command
export export toc of pdf
mount mount toc to pdf
test test toc file
format test toc file
clean clean toc
optional arguments:
-h, --help show this help message and exit
导出后可利用文本编辑器进行处理。
# 直接输出
./toc.py export ~/Downloads/1.pdf
# 保存到文件,默认使用1.pdf.txt作为toc文件
./toc.py export ~/Downloads/1.pdf -o
toc文件标准格式为:
'\t'*N+'name'+'@'+page
注意缩进全部采用Table,不能使用空格代替!
例如:
第 1 章 内核引导和初始化@1
1.1 到哪里读取引导程序@1
1.2 引导程序@1
1.2.1 入口_start@1
1.2.2 标号 reset@2
1.2.3 函数_main@4
1.2.4 函数 run_main_loop@6
1.3 内核初始化@8
1.3.1 汇编语言部分@8
1.3.2 C 语言部分@11
1.3.3 SMP 系统的引导@12
1.4 init 进程@15
第 2 章 进程管理@17
2.1 进程@17
2.2 命名空间@18
2.3 进程标识符@20
2.4 进程关系@21
2.5 启动程序@23
2.5.1 创建新进程@23
2.5.2 装载程序@41
对于直接从pdf目录中复制出来的文本,可是使用format命令初步进行格式化。
例如:
第 1 章 Python 基础知识............................................................................................................................... 2
1.1 Python 综述........................................................................................................................................... 3
1.1.1 了解 Python 的特性及版本......................................................................................................... 3
1.1.2 安装 Python ................................................................................................................................. 5
1.1.3 使用 Python 原生编辑器............................................................................................................. 8
1.1.4 使用 Eclipse 开发环境 ................................................................................................................ 9
1.1.5 Python 编程入门——解决“斐波那契数列”问题..................................................................14
1.2 数据类型...............................................................................................................................................17
1.2.1 Number 类型...............................................................................................................................17
1.2.2 Sequence 类型簇.........................................................................................................................21
1.2.3 string 与 bytes .............................................................................................................................23
1.2.4 tuple 类型....................................................................................................................................30
1.2.5 list 类型.......................................................................................................................................31
1.2.6 set 类型 .......................................................................................................................................32
1.2.7 dict 类型......................................................................................................................................35
1.3 流程控制...............................................................................................................................................37
1.3.1 程序块与作用域.........................................................................................................................37
1.3.2 判断语句.....................................................................................................................................38
1.3.3 循环语句.....................................................................................................................................40
1.3.4 语句嵌套.....................................................................................................................................42
1.4 函数........................................................................................................................................................43
1.4.1 定义与使用.................................................................................................................................43
1.4.2 变长参数.....................................................................................................................................45
1.4.3 匿名函数.....................................................................................................................................47
使用format命令:
$ ./toc.py format ./xxx_toc.txt
上篇 Python 基础@-1
第 1 章 Python 基础知识@2
1.1 Python 综述@3
1.1.1 了解 Python 的特性及版本@3
1.1.2 安装 Python@5
1.1.3 使用 Python 原生编辑器@8
1.1.4 使用 Eclipse 开发环境@9
1.1.5 Python 编程入门——解决“斐波那契数列”问题@14
1.2 数据类型@17
1.2.1 Number 类型@17
1.2.2 Sequence 类型簇@21
1.2.3 string 与 bytes@23
1.2.4 tuple 类型@30
1.2.5 list 类型@31
1.2.6 set 类型@32
1.2.7 dict 类型@35
1.3 流程控制@37
1.3.1 程序块与作用域@37
1.3.2 判断语句@38
1.3.3 循环语句@40
1.3.4 语句嵌套@42
1.4 函数@43
1.4.1 定义与使用@43
1.4.2 变长参数@45
1.4.3 匿名函数@47
format命令支持-o输出到文件,以及-i就地编辑。
另外可使用vsc手动进行正则替换处理toc文件。
常用替换正则:
- 替换...->@
src:\s*[\.]{2,}\s*
dst:@
- 二级目录缩进,例如:1.1
src:(^\d+\.\d+[^\.])
src:\t$1
- 三级目录缩进,例如:2.3.1
src:(^\d+\.\d+\.\d+[^\.])
dst:\t\t$1
# 默认使用1.pdf.txt作为toc文件, 可使用-t选项指定
# -i指定基准页
# -c指定默认展开几级目录,默认1,0全部展开
./toc.py mount ~/Downloads/1.pdf -i 10 -c 2
TODO: 待完成