如何给自制 Kindle 电子书添加弹出注释

脚注 (Footnote),是书籍中的常见元素,比如对语汇、内容、背景、引文作介绍、评议的文字。在 Kindle 上查看注释很便捷,如果在电子书中遇到脚注标记,点击即可在弹出的脚注框中阅读完整脚注内容,而不需要切换页面或离开当前的阅读位置。如果想要查看所有脚注,点击【前往】即可浏览所有的脚注内容。如下图所示,是 Kindle 电子书弹窗注释的两种形式。

kindle-ebook-footnote

一、给 Kindle 电子书添加弹窗注释

一般脚注分两个部分,一个是“脚注标记”,另一个是“脚注内容”。脚注标记通常会以上标文本的形式显示,类似于“文本【1】”、“文本【注】”。脚注内容通常会放在电子书章节末尾或整本书内容的最后一页上,如“【1】解释内容”。给电子书添加弹窗脚注也很容易,很简单的两段 HTML 代码即可完成。

脚注标记代码:

<sup><a id="footnote-1-backlink" href="chapter02.html#footnote-1">【1】</a></sup>

这里使用了上标文本标签 <sup> ... </sup> 以便于和正文文字区分。注意标签 <a> ... </a> 中有两个属性,id 是脚注标记的锚点,方便从脚注内容的位置跳转过来,href 的值表示的是从脚注标记转向脚注内容锚点所在的位置,注意路径、文件名以及脚注内容的 id 要和脚注内容相对应。

脚注内容代码:

<p><a id="footnote-1" href="chapter01.html#footnote-1-backlink">【1】</a>这里是注释内容。</p>

和脚注标记相反,这里的 id 是脚注内容的锚点,方便从脚注标记的位置跳转过来,href 的值表示的是从脚注内容转向脚注标记锚点所在的位置,注意路径、文件名以及脚注标记的 id 要和脚注标记相对应。

另外,经过测试,发现如果注释标记和注释内容在同一个页面上,前后之前需要有足够多的段落,不然点击注释标记将没有反应。如果注释标记和注释内容放在不同的页面上,则没有这个问题。

二、脚注为什么有两种显示形式

如本文开头的图片所示,在 Kindle 中脚注有两种显示形式:一种是在页面中间弹出一个显示注释内容的单独窗口;另一种是在页面底部弹出注释内容。这是因为电子书生成工具版本导致的。

Kindle 电子书的标准有 mobi7 和 mobi8 (KF8) 两种,亚马逊官方提供的电子书生成工具是 KindleGen,如果使用的是 1.1 版本生成的电子书是 mobi7 标准,注释内容会以弹出单独窗口的形式显示;而最新版本如 2.9 版本生成的电子书则是 mobi8 标准,注释内容会以底部弹出的形式显示。

三、为什么底部弹出注释会重复

* 注意:这个 Bug 已经在新的 5.7.2 版本固件中得到了修复,如有遇到建议升级到最新固件。

kindle-ebook-footnote-repeat

如上图所示,现象很多小伙伴都遇到过这个问题(1234),点击某一脚注后,偶尔脚注内容会出现重复的现象。这和电子书没有什么关系,可以确定是 Kindle 固件的一个 Bug。也有的小伙伴向客服反馈过这一问题,可然并卵,只能希望 Kindle 固件开发团队在下一版本中修复这一问题了。

有帮助,[ 捐助本站 ] 或分享给小伙伴:

发表评论

标注为 * 的是必填项。您填写的邮箱地址将会被保密。如果是在本站首次留言,审核后才能显示。
若提问,请务必描述清楚该问题的前因后果,提供尽可能多的对分析该问题有帮助的线索。

小伙伴们发表了 10 条评论

  1. 顺便再提一句,我的固件版本是5.9.4,因为没出现什么问题,所以一直没有升级。目前的最新版本可以竖排弹窗吗?

    • 上一条回复测试用的设备是 KPW3,固件版本是 5.10.3,脚注是有弹窗的。个人感觉应该和固件版本没有关系,还是建议检查一下脚注的 HTML 代码结构是否和本文说明的相同。

      • 感谢回复!在原 html 脚注锚点的确多了一句 ,删除后就可以底部弹窗了,非常感谢!另外还想问一下,我将整本书转为了竖排模式(同时替换为竖排标点),但弹窗依然是横排的,此时竖排标点很是很别扭,可否有办法令弹窗也是竖排呢?

  2. 感谢分享!我发现一个问题,使用calibrate中的繁简转化的插件Traditional Simplified Chinese Converter 可以将电子书转化为竖排,竖排文本在kindle点击脚注只能跳转不会弹窗,而同样的html代码在横排时点击就会底部弹窗。有无办法使得竖排时脚注也能弹窗显示呢?

    • 经测试,竖排也是可以有脚注弹窗的。如果脚注的形式是“跳转”而不是“弹窗”,可能是因为脚注的 HTML 代码有问题,建议按照本文第一部分内容检查脚注的结构是否正确。

  3. 在 href 属性中不需要形如 chapter01.html 这样的文本,只需要锚点,Kindle 同样能弹出脚注,这样节省很多功夫。

  4. 额,这和html的锚点是一样的……我想多了,谢谢了,我打算开始自己修正现有的《鲁迅全集》电子书。祝我好运,坚持到底……

      • 不好意思,当时看到了邮件,事后忘了,这其实也不好说明白。你可以参考下w3cshool中对锚点的解释和例子
        http://www.w3school.com.cn/html/html_links.asp
        你也可以直接在网上搜“锚点”,也会有很多文章的