我如何仅使用开源工具撰写和出版小说

手稿

出版的最重要内容是手稿 (即小说的文字)。 我最初是在Google文档中开始编写此文档的,但很快就发现脱机模式不如我预期的那样健壮(这对我来说很关键,因为我在日常通勤期间写了整本小说),并且文档存在延迟问题处理一个非常大的文档。 因此,我编写了一个快速脚本,将文本导出到Markdown,并放弃了Google文档。

Markdown的编辑器很多。 在短时间内,我在Mac上使用了Texts,但是最后我还是使用了vim(在Linux上是gvim,在Mac上是mvim)的老式方法。

是的,那是在Fedora 20上运行的gvim。

我没有使用太多格式。 我将#用作章节标题,将##用作章节字幕(例如日期和位置),并使用缩进的文本表示预格式化的等宽部分(小说包括主角试图解码的某些加密文本)。

Kindle和epub

我为书的开头部分创建了一个单独的Markdown文件,也就是小说本身之前的所有文本(我认为故事的序言和结语是不可或缺的部分)。 首要问题包括标题页,树脂版和确认。 我也把书的封面作为一个单独的文件。

将其转换为epub文件的神奇工具是出色的pandoc。 除了文本(封面和手稿)之外,它还可以采用封面图像的文件名,元数据文件和样式表文件。

元数据文件是带有都柏林核心标签(例如标题,作者和版权行)的XML文件。 尽管此信息已包含在最重要的内容中,但这是epub文件本身的元数据,而不是读者可见的文本的一部分。

样式表文件是一个CSS文件,可用于自定义书的外观。 就我而言,我只是将Header标记修改为居中,但否则使用默认值。

Kindle上的Golden Legacy

Pandoc使用这些输入生成了一个非常好的epub文件,但我想进一步定制。 由于epub文件是带有一些HTML和元数据的zip文件,因此我编写了一个快速的Python脚本,该文件将其解压缩,在content.opf文件中移动一些内容,然后重新组装epub。

Apple iBooks和Google Play图书可以直接读取此epub文件。 对于Kindle,您将创建相同的epub文件,但没有封面,然后在Kindle Direct Publishing网站中的设置过程中分别上传epub文件和封面图像。

平装

创建电子书文件非常简单。 平装书实际上要复杂得多,因为您可以完全控制书的格式。

我选择了CreateSpace,它可以按需打印,并且与Amazon完全集成。 对于CreateSpace,您需要一个封面文件和一个内部文件。

封面文件是带有后盖,书脊和封面的高分辨率PDF文件,在CreateSpace插入ISBN的地方留有空白。 他们的网站上有模板和非常精确的指南; 只是要求封面设计师跟随他们。

有趣的部分是内部文件。 这是另一个PDF文件,将完全按照外观打印,因此正确无误非常重要。

为了创建此文件,我再次使用Pandoc,这次将Markdown文件转换为ODT(OpenDocument文本),LibreOffice可以读取。

在LibreOffice中自定义页面样式。

关键步骤是向Pandoc提供参考ODT文件。 Pandoc将从此文档中获取样式,页眉和页脚,并将其应用于输出。 因此,您可以在此处定义页面的页眉和页脚,章节标题和子标题的外观,等等。

LibreOffice有许多页面格式化选项,这些选项不是很明显,但非常重要。 例如,我希望每个章节的第一页都是正确的页面,并排除页面标题。 我将章节标题样式定义为“之前有分页符”,并将页面样式设置为“第一页”(这是没有标题的右页),其后是“右页”,然后是“左”页”,返回到“正确的页面”。

为标题页正确设置间距也很棘手。 我希望它垂直居中,在Markdown中并不存在,因此我只插入了空行。

格式中的细微细节在本书的“专业”感觉上产生了巨大的差异。

对结果满意后,可以将文档打印为PDF,然后将其上传到CreateSpace。

结果

我对完成的书不满意-看起来很棒! 提供正确格式化的CreateSpace PDF文件,它们将为您提供一本绝对专业的书。 而且,很难将您手中的实际,有形的,物理的书形容。

Golden Legacy可以在Kindle上获得,也可以在亚马逊上以平装本获得。 如果您想阅读但不购买,请与我联系,我很乐意为您提供副本。 这是我的第一本小说,非常欢迎反馈!

我每天上下班时如何写第一部小说
一次在瑞士火车上写一本330页的小说,一次40分钟。 medium.com