把TXT文档转换成带目录的MOBI格式电子书–书伴

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

把TXT⽂档转换成带⽬录的MOBI格式电⼦书–书伴
如果你喜欢看⼩说,对 TXT ⽂档应该不陌⽣,但是如果直接将下载到的 TXT ⽂档转换成 mobi 格式放到 Kindle 中阅读,就会出现⼀个问题——缺少⽬录,你不得不线性阅读不敢跳页,很不⽅便,那有没有⼀种有效的⽅法可以把 TXT 转换成带⽬录的电⼦书呢?
答案是肯定的。

不过要转换的 TXT ⽂档内容的章节标题要有⼀定的规律,就像下⾯这样,⼀些能把 TXT ⾃动转换成带⽬录电⼦书的软件或应⽤也是利⽤这种规律结合很多正则算法实现的。

第123章第456节
第123章章标题第456节节标题
第123章
第123节
……
如果需要转换的 TXT ⽂档内容满⾜这⼀点,就可以继续下⾯的操作了。

⼀、⼀点点准备⼯作
⼆、检查、修改 TXT ⽂档
因为在⽹上下载的 TXT ⽂档内容格式良莠不齐,需要先简单的检查⼀下其章节标题是否有规律,有什么样的规律,在这些规律中⼜有哪些不规则的情况。

下图是我随便从⽹上下载的⼀本 TXT 格式⼩说打开的样⼦,其内容格式不那么规整,刚好适合做个相对复杂的例⼦。

注意,如果打开 TXT 出现乱码,说明是⽂本的编码问题。

有⼀个⼩技巧可以解决这个问题,您可以先使⽤浏览器打开 TXT ⽂档,然后全选拷贝,再粘贴到 Sublime Text 等编辑器中。

⾸先,我发现它有如下所⽰的两种不同形式的章节标题:
第⼀章重⽣
第⼀章重⽣
第⼆章谋杀亲夫?
第⼆章谋杀亲夫?
……
这⾥我选择了第⼆种⽐较简洁的章节标题作为⽬录。

还需要注意选择的这个章节标题还存在⼀个不规则的情况,那就是它们有的前⾯没空格,有的却存在⼀个空格:
第⼀章
第⼆章
第三章
第四章
第五章
……
到此为⽌我们已经掌握了这个⽂档⾥⾯章节标题规律以及规律中存在的不规则的情况了。

接下来,需要给这些章节标题添加⼀些标记,变成如下这样:
###第⼀章 XXXXXX
###第⼆章 XXXXXX
###第三章 XXXXXX
###第四章 XXXXXX
###第五章 XXXXXX
……
在每个章节前边添加的###是MarkDown 语法,转换成 HTML 就相当于<h3>,以此类推如果添加#就相当于
<h1>,####就相当于<h4>,######就相当于<h6>。

当然,⽂档中的章节太多,我们不可能⼀个个⼿⼯添加,这就需要⽤到 Sublime Text 2 的正则表达式替换功能了,可以批量将每个章节标题前⾯都加上###标记。

点击菜单“Find → Replace”调出替换功能⾯板,然后确认选中了⾯板左侧的正则功能图标【.*】,然后按照下图所⽰输⼊,然后点击右侧的【Replace All】按钮,即可完成添加。

如果对正则表达式不是很了解的⼩伙伴是不是有点⼉摸不清头脑?没关系,其实很简单,这⾥我详细
解释⼀下这⼀串代码和前⾯我们已经总结到的章节标题规律之间的关系。

⾸先在“Find What”中输⼊的是:
^(\s+|)第(.*)章
第⼀个字符是^代表⼀⾏的开头。

紧挨着的(\s+|)⾥⾯的|代表“或”,因为之前我们发现⽂档内有的标
题前⾯有空格有的标题前⾯没空格,它可以把有空格和没空格的都选中。

接下来的“第”和“章”是相同的
内容,它们之间的(.*)代表它们之间的所有内容。

这样就选中了所有每⼀⾏我们期望修改的章节标
题。

接下来“Replace With”中输⼊的是:
###第\2章
⾸先###是要添加到标题最前⾯的字符,接下来的“第”和“章”保持不变,他们中间的\2表⽰前⾯所选的
第⼆个括号⾥的内容保持不变。

关于更多正则表达式的⼊门使⽤⽅法,可以进⼊这篇⽂章,点
开“【相关知识】《Sigil正则表达式的⼊门》”阅读。

下⾯也提供⼀些较常⽤的章节格式的查找替换正则表达式代码:
【标题】第XX章或第XX节(不管后⾯有没有章节名)
【查找内容】第(.*)章或第(.*)节
【替换内容】###第\1章或###第\1节
【标题】第XX章第XX节(连在⼀起的,不管中间或后⾯有没有章节名)
【查找内容】第(.*)章第(.*)节
【替换内容】###第\1章第\2节
【标题】第XX章AAA第XX节(中间AAA是空格或章名,不管后⾯有没有节名)
【查找内容】第(.*)章(.*)第(.*)节
【替换内容】###第\1章\2第\3节
如果您遇到的⽆法正确查找的章节格式,可以在本⽂留⾔求助。

三、转换修改后的 TXT ⽂档
章节标题的标记添加完毕后就可以把修改后的 TXT ⽂档转换成 mobi 格式了。

打开 Calibre 软件,⽤⿏标把⽂档拖进去,然后右键点击它,在弹出的菜单中依次选择“转换书籍→逐个转换”,在弹出的窗⼝中,把右上⾓的“输出格式”选成“MOBI”,然后点击左栏的“内容⽬录”标签,找到“⼀级⽬录”这⼀项,填⼊//h:h3(也可以点击后⾯的魔术棒⼩图标,在弹出的窗⼝中选择 h3)。

最后点击“确定”按钮,直到转换完成,就可以得到⼀个从 TXT 转换⽽来的带有⽬录的 mobi 格式电⼦书了。

如此,仅需学习⼀遍,今后就可以很快速的处理 TXT ⽂档了,⼀劳永逸。

————————
⼩提⽰:如果在使⽤本⽅法时可能会遇到下⾯所⽰的错误。

虽然 Calibre 提⽰ This txt file has malformed markup(⽂本⽂件中标记格式错误),却可能是 Calibre ⾃⾝的原因。

解决⽅法就是换⼀种⽅法,强烈建议使⽤另⼀款专门为 TXT ⼩说转带⽬录的 mobi 格式的软件easyPub,更强⼤易⽤。

ValueError: This txt file has malformed markup, it cannot be converted by calibre. See /projects/markdown/syntax ————————。

相关文档
最新文档