首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我是如何创作出这本电子书的

正在连载,欢迎关注

1. 一本书的制作过程

一本书的制作过程大致经过这么几个流程:

内容构思

设计排版

印刷出版

宣传发行

理想情况下,会有编辑跟进整个流程,使得作者专心完成内容构思和输出,

甚至内容构思的过程都有编辑的积极参与,进行题材的把握,内容审校,阅读的反馈的等。

但这种出版社签约的待遇.

我从侧面了解了一下,对于技术内容,出版社一般青睐于读者人群更广的科普类,或者难度不大的入门级题材内容才会签约。

对于” 源码剖析 “这种较为深入的技术内容,需要读者既有技术基础、又有专研兴趣,销量大概率惨淡,一般需要自费出版。而自费出版的费用有几个 W。

面对几个 W 的自费出版费用还是有些困难,好在内容写的差不多了,于是有了自己做 PDF 电子书的念头。

2. 如何制作 PDF 电子书

我的原稿是用 md 写的,并且在公众号上连载。

稿子是 N 篇分散的 md 文档,而目的最终合并成一本 PDF 电子书,整个过程还是走了不少弯路,回顾一番,发现正确、必要的步骤只有下面几个:

通过 mdbook 统一资源

使用 word 检查错误别字

使用 pandoc+latex 生成 PDF

1. 通过 mdbook 统一资源

mdbook 渲染为网页

mdbook 是 rust 语言开发的一个 md 书管理工具。最大的好把分散在各处的 md 文件,通过一个目录文件整合在一起。

整合在一起之后,可以生成网页版本的书,也可以借助插件,生成 md、word、pdf 等各种格式。

对于博客连载这种场景,就很适合用这个把多篇文章合成为一篇,为后续的统一处理做好准备

2. 使用 word 检查错误别字

md 渲染为 word

借助 mdbook 把文章合并在一起后,要解决的问题就是排版和生成 PDF。

江湖传言 word 的 80% 的功能没有被使用,于是想借着这次机会,试一试在 word 中进行排版。

但是真的生成 word 之后发现和理想差距太远。md 中大量图片、代码片段,在 word 中很不好看,又缺乏一键调整方式。所以最终只使用了 word 错字检查功能,对文稿的错字进行了调整。

就算是错字检查也不是十分好用,一部分专业术语和正常的用词被识别为错误。而且还没办法添加到词库中进行修正,最过分的是去代码片段里找单词拼写错误。。。只好干脆忽略英文提示,只对中文提示进行检查修改。

word 语法检查

总的来说体验一般,不过确实找到了一些错别字,算是必要的步骤之一吧,如果有好的词典或词库,在错字检查上应该会很不错的

3. 使用 pandoc+latex 生成 PDF

在放弃 word 生成 PDF 的方式之后,又找到 pandoc+latex 这种方法。这种方法最大的好处是它的风格更接近印刷物或出版物,比如它可以为正文生成精准的页码,并把所有的标题和页面精准关联,在正文前生成目录

页内目录

看到,这个我立刻就觉得:它就是我要找的 PDF 生成方法!

虽然细节上还有很多麻烦的小事,比如对 HTML 的支持(md 文件通常内嵌 HTML 来控制展示效果,博客更是纯 HTML 展示)、图片的处理(它不能处理好缩放和居中)等

好在 typroa 在也支持 pandoc+latex,并且会先渲染 HTML,然后发送给 pandoc,所以部分保留了 HTML 的效果。

3. 成品预览

最后贴几个截图,以供预览

图 1. 封面

图 2. 页内目录

图 3. 书签目录

图 4. 代码片段

首发于公众号:测试开发研习社

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OKUvTRa_LPumGHynYxg_hhHg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券