读书 | 用Calibre给电子书转换格式(第三版)
需要:
- Calibre(下载地址:https://calibre-ebook.com/download)
- 电脑(任何操作系统)
- 一个可以编辑 txt 文件的程序(本文使用的是Sublime Text)
1. 获取TXT文件
对于 TXT 文件唯一的要求就是:有明显的章节分隔。
晋江文一般就是【第1章】,或者早期文里常见的【☆、】,无论什么样的都可以。
只要和正文内容有区分就行。
之前推荐过 jjdown 和 My Novel Reader,但是在晋江最近一次更新之后都用不了了。
现在他们采用的新技术会随机地把一些字改成另一种编码,打开之后就会变成下图那样。
jjdown 开发了反爬虫机制,替换乱码应该没问题了。

有些文档在下载之后会出现乱码,譬如:

这种情况一般是因为编码错误。把这个文件用 Google Chrome 浏览器打开,Ctrl/⌘+A 全选后复制粘贴到原文件上覆盖即可。
2. 编辑TXT文件
(这一部分可以略过,见3.3)
对于 Calibre 来说,放在每行开头的【#】是他们认出标题的标识。
【#】是第一级,【##】是第二级,以此类推。
我一般会用【##】来标记【第X卷】,用【###】来标记【第X章】。
所以如果需要一个有目录的小说的话,将每一章(卷)的标记物替换为 Calibre 可以识别的元素是很重要的。
这里将会用到【查找与替换】的功能。快捷键是:Ctrl+Alt+F/⌘+⌥+F。
查找和替换的规则如下:
如果章节标识符并不在每一行的开头,前面还有空格的话,则需要连着开头空格一起查找替换。Calibre 只会识别放在每行最开头的【#】。
保险起见,可以再搜索一下【序】【结局】【番外】【后记】以防有漏网之鱼。
另外,如果每行开头有空格,建议一并删去或者改成全角空格【 】,不然在转换后 Kindle 可能无法识别后面的内容,只能用黑体、固定字号读。
简单来说,上面的各种符号的意思是:
- 【^】确认要查找的文段在每行开头,这样做是防止文中某一段恰好用了【第……章】而被识别成了章节。
- 【.*】是一段字符,任意字数,可以是文字或数字。
- 【\d+】是一段数字。【\d】是一个数字。
- 字符和数字都被【()】框住,这样在替换的时候就能被识别到。第一个括号内的就是【\1】,以此类推。
3. Calibre设置
3.1 可以生成分章和目录的基本设置
路径:Calibre → 设置 → 通用选项 → 目录

说明看不懂没关系。
加入【//h:h3】后,Calibre 就能在转换的时候自动识别每一章的开头并把它放进目录。
这里的【3】是【#】的个数。如果你还加了分卷,那【一级目录】下就写【//h:h2】,【二级目录】下再放【//h:h3】就可以。如图:

在成品文件中,【卷】会包含【章】,需要点开卷名旁边的小三角才能显示下面的章节。

如果需要保留封面,需要去【Calibre → 设置 → 输出格式选项 → MOBI】
将【MOBI 文件类型】改为【both】。

3.2 转换文件
在 Calibre 的主界面,选择【转换书籍】。

确认最上面一行的【输入格式】是 TXT,【输出格式】是 MOBI 或 AZW3 就可以点击确定。
转换成功之后,将生成的 MOBI/AZW3 文件导入 Kindle即可。
3.3 傻瓜转换
如果会用邮箱传书到 Kindle 的话,传送 TXT 文件并在开头写上【convert】,Kindle 就会自动进行转换。
缺点是没有分章、首行缩进……之类的。
在转换格式时用,【检测结构】在第一行 XPath 检测章节下粘贴如下表达式:

优点:省事(上面的一切设置都可以不用管)
缺点:如果某一行开头即是如「第一节」「第一回」,也会被识别成单独的一章
除此之外,没有卷、章之间的分级,标题字体不会放大、加粗都是我在意的点。
如果不在意的话,用这个就好啦。
3.4 进阶格式设置 & 美化
‼️ 这一部分开始全都是我的个人喜好,可以根据个人喜好调整。
路径:Calibre → 设置 → 通用选项
设置行高,这样行间距就不会那么局促:

设置首行缩进和行间距:

优化标题格式:

简单校对(依旧是查找→替换的逻辑):
之后再进行转换、导入即可。
-
青空下 转发了这篇日记 2024-09-12 10:32:17