2016年7月23日星期六

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

时间:2015年1月23日编辑:Kindle伴侣31 条评论

如果你喜欢看小说,对 TXT 文档应该不陌生,但是如果直接将下载到的 TXT 文档转换成 mobi 格式放到 Kindle 中阅读,就会出现一个问题——缺少目录,你不得不线性阅读不敢跳页,很不方便,那有没有一种有效的方法可以把 TXT 转换成带目录的电子书呢?

答案是肯定的。不过要转换的 TXT 文档内容的章节标题要有一定的规律,就像下面这样,一些能把 TXT 自动转换成带目录电子书的软件或应用也是利用这种规律结合很多正则算法实现的。

第123章 第456节
第123章 章标题 第456节 节标题
第123章
第123节
……

如果需要转换的 TXT 文档内容满足这一点,就可以继续下面的操作了。

一、一点点准备工作

  1. 支持正则替换的编辑器。本文使用 Sublime Text 2
  2. 电子书转换软件。本文使用 Calibre

二、检查、修改 TXT 文档

因为在网上下载的 TXT 文档内容格式良莠不齐,需要先简单的检查一下其章节标题是否有规律,有什么样的规律,在这些规律中又有哪些不规则的情况。下图是我随便从网上下载的一本 TXT 格式小说打开的样子,其内容格式不那么规整,刚好适合做个相对复杂的例子。



首先,我发现它有如下所示的两种不同形式的章节标题:

第一章 重生 [本章字数:3516 最新更新时间:2011-07-05 13:24:03.0]
第一章 重生
第二章 谋杀亲夫? [本章字数:3260 最新更新时间:2011-06-14 21:00:47.0]
第二章 谋杀亲夫?
……

这里我选择了第二种比较简洁的章节标题作为目录。还需要注意选择的这个章节标题还存在一个不规则的情况,那就是它们有的前面没空格,有的却存在一个空格:

第一章
 第二章
第三章
第四章
 第五章
……

到此为止我们已经掌握了这个文档里面章节标题规律以及规律中存在的不规则的情况了。接下来,需要给这些章节标题添加一些标记,变成如下这样:

###第一章 XXXXXX
###第二章 XXXXXX
###第三章 XXXXXX
###第四章 XXXXXX
###第五章 XXXXXX
……

在每个章节前边添加的###是 MarkDown 语法,转换成 HTML 就相当于 <h3>,以此类推如果添加#就相当于 <h1>####就相当于 <h4>######就相当于 <h6>

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

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



如果对正则表达式不是很了解的小伙伴是不是有点儿摸不清头脑?没关系,其实很简单,这里我详细解释一下这一串代码和前面我们已经总结到的章节标题规律之间的关系。
首先在Find What中输入的是:

|第(.*)章

第一个字符是^代表一行的开头。紧挨着的( |)里面的|代表“或”,因为之前我们发现文档内有的标题前面有空格有的标题前面没空格,它可以把有空格和没空格的都选中。接下来的“第”和“章”是相同的内容,它们之间的(.*)代表它们之间的所有内容。这样就选中了所有每一行我们期望修改的章节标题。
接下来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,更强大易用。

初めて君に会つた場所   第一次和你遇见的地方

  • 初めて君に会つた場所   第一次和你遇见的地方

2016年7月21日星期四

英文小诗

I Like For You To Be Still

I like for you to be still

It is as though you are absent

And you hear me from far away

And my voice does not touch you

It seems as though your eyes had flown away

And it seems that a kiss had sealed your mouth

As all things are filled with my soul

You emerge from the things

Filled with my soul

You are like my soul

A butterfly of dream

And you are like the word: Melancholy

I like for you to be still

And you seem far away

It sounds as though you are lamenting

A butterfly cooing like a dove

And you hear me from far away

And my voice does not reach you

Let me come to be still in your silence

And let me talk to you with your silence

That is bright as a lamp

Simple, as a ring

You are like the night

With its stillness and constellations

Your silence is that of a star

As remote and candid

I like for you to be still

It is as though you are absent

Distant and full of sorrow

So you would've died

One word then, One smile is enough

And I'm happy;

Happy that it's not true

叶芝 当你老了

WHEN YOU ARE OLD

WHEN YOU ARE OLD AND GREY AND FULL OF SEELP

AND NOODING BY THE FIRE,TAKE DOWN THIS BOOK

AND SLOWLY READ,AND DREAM OF THE SOFT LOOK YOUR EYES HAD ONCE,AND OF THEIR SHADOWS DEEP;

HOW MANY LOVED YOUR MONMENTS OF GLAD GRACE,AND LOVED YOUR BEAUTY WITH LOVE FALSE OR TRUE,BUT ONE MAN LOVED THE PILGRIM SOUL IN YOU,AND LOVED THE SORROWS OF YOUR CHANGING FACE;  
AND BEDING DOWN BESIDE THE GLOWING BARS,MURMUR,A LITTLE SADLY,HOW LOVE FLIED

AND PACED UPON THE MOUNTAINS OVERHEAD    
AND HID HIS FACE AMID A CROWD OF STARS。


 

当你老了,头白了,睡意昏沉,

炉火旁打盹,请取下这部诗歌,

慢慢读,回想你过去眼神的柔和,

回想它们昔日浓重的阴影;

多少人爱你青春欢畅的时辰,

爱慕你的美丽,假意或真心,

只有一个人爱你那朝圣者的灵魂,

爱你衰老了的脸上痛苦的皱纹;

垂下头来,在红光闪耀的炉子旁,

凄然地轻轻诉说那爱情的消逝,

在头顶的山上它缓缓踱着步子,

在一群星星中间隐藏着脸庞。

经典英文小诗

To see a world in a grain of sand,

And a heaven in a wild flower,

Hold infinity in the palm of your hand,

And eternity in an hour.

一粒沙里阅世界

一朵花中觅天堂

无穷尽在掌心中

永恒不过一刻钟

深情地注视着你

My eyes are the stars over your window,

Gazing affectionately at you every night.

我的目光就是你窗前的星星,

每夜都在深情地注视着你

没有你在我身边

Without you?

I'd be a soul without a purpose.

Without you?

I'd be an emotion without a heart.

I'm a face without expression,

A heart with no beat.

Without you by my side,

I'm just a flame without the heat.

没有你?
我将是一个没有目的的灵魂;

没有你?

我的情感将没有了根基;

我将是一张没有表情的脸;

一颗停止跳动的心;

没有你在我身边;

我只是一束没有热量的火焰

我眼里的一滴泪

If you were a teardrop In my eye,

For fear of losing you,

I would never cry.

And if the golden sun,

Should cease to shine its light,

Just one smile from you,

Would make my whole world bright.

如果你是我眼里的一滴泪;

为了不失去你;

我将永不哭泣;

如果金色的阳光;

停止了它耀眼的光芒;

你的一个微笑;

将照亮我的整个世界。

爱岂在朝朝暮暮

Love me little,

love me long!

爱不贵亲密,

贵长久

2016年7月20日星期三

在Macbook中使用dd命令烧写iso到U盘

在macbook中使用dd命令将iso文件烧写到U盘或者移动硬盘等设备中,效果类似Windows下使用UltraISO的硬盘写入功能。