6 个用于写书的开源工具
创始人
2024-03-02 00:49:42
0

这些多能、免费的工具可以满足你撰写、编辑和生成你自己的书籍的全部需求。

我在 1993 年首次使用并贡献了免费和开源软件,从那时起我一直是一名开源软件的开发人员和布道者。尽管我被记住的一个项目是 FreeDOS 项目,这是一个 DOS 操作系统的开源实现,但我已经编写或者贡献了数十个开源软件项目。

我最近写了一本关于 FreeDOS 的书。《使用 FreeDOS》是我庆祝 FreeDOS 出现 24 周年而撰写的。它是关于安装和使用 FreeDOS、关于我最喜欢的 DOS 程序,以及 DOS 命令行和 DOS 批处理编程的快速参考指南的集合。在一位出色的专业编辑的帮助下,我在过去的几个月里一直在编写这本书。

《使用 FreeDOS》 可在知识共享署名(cc-by)国际公共许可证下获得。你可以从 FreeDOS 电子书网站免费下载 EPUB 和 PDF 版本。(我也计划为那些喜欢纸质的人提供印刷版本。)

这本书几乎完全是用开源软件制作的。我想分享一下对用来创建、编辑和生成《使用 FreeDOS》的工具的看法。

Google 文档

Google 文档是我使用的唯一不是开源软件的工具。我将我的第一份草稿上传到 Google 文档,这样我就能与编辑器进行协作。我确信有开源协作工具,但 Google 文档能够让两个人同时编辑同一个文档、发表评论、编辑建议和更改跟踪 —— 更不用说它使用段落样式和能够下载完成的文档 —— 这使其成为编辑过程中有价值的一部分。

LibreOffice

我开始使用的是 LibreOffice 6.0,但我最终使用 LibreOffice 6.1 完成了这本书。我喜欢 LibreOffice 对样式的丰富支持。段落样式可以轻松地为标题、页眉、正文、示例代码和其他文本应用样式。字符样式允许我修改段落中文本的外观,例如内联示例代码或用不同的样式代表文件名。图形样式让我可以将某些样式应用于截图和其他图像。页面样式允许我轻松修改页面的布局和外观。

GIMP

我的书包括很多 DOS 程序截图、网站截图和 FreeDOS 的 logo。我用 GIMP 修改这本书的图像。通常,只是裁剪或调整图像大小,但在我准备本书的印刷版时,我使用 GIMP 创建了一些更适于打印布局的图像。

Inkscape

大多数 FreeDOS 的 logo 和小鱼吉祥物都是 SVG 格式,我使用 Inkscape 来调整它们。在准备电子书的 PDF 版本时,我想在页面顶部放置一个简单的蓝色横幅,角落里有 FreeDOS 的 logo。实验后,我发现在 Inkscape 中创建一个我想要的横幅 SVG 图案更容易,然后我将其粘贴到页眉中。

ImageMagick

虽然使用 GIMP 来完成这项工作也很好,但有时在一组图像上运行 ImageMagick 命令会更快,例如转换为 PNG 格式或调整图像大小。

Sigil

LibreOffice 可以直接导出到 EPUB 格式,但它不是个好的转换器。我没有尝试使用 LibreOffice 6.1 创建 EPUB,但在 LibreOffice 6.0 中没有包含我的图像。它还以奇怪的方式添加了样式。我使用 Sigil 来调整 EPUB 并使一切看起来正常。Sigil 甚至还有预览功能,因此你可以看到 EPUB 的样子。

QEMU

因为本书是关于安装和运行 FreeDOS 的,所以我需要实际运行 FreeDOS。你可以在任何 PC 模拟器中启动 FreeDOS,包括 VirtualBox、QEMU、GNOME Boxes、PCem 和 Bochs。但我喜欢 QEMU 的简单性。QEMU 控制台允许你以 PPM 格式转储屏幕,这非常适合抓取截图来包含在书中。

当然,我不得不提到在 Linux 上运行 GNOME。我使用 Linux 的 Fedora 发行版。


via: https://opensource.com/article/18/9/writing-book-open-source-tools

作者:Jim Hall 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

面对AI,如何看待阅读的价...
胡 钰 地铁里、公交车上、商场里、大街上、办公室甚至教室和家里,到...
2025-04-21 09:46:01
不理解JLospinoso...
要实现一个不理解JLospinoso书籍的模板,你可以使用以下代码...
2024-12-26 10:01:30
哈佛大学、谷歌发布100万...
IT之家 12 月 13 日消息,据 TechCrunch 12 ...
2024-12-13 09:44:01
编写一个SQL语句,将标题...
你可以使用以下SQL语句来实现将标题中包含“Computer”或“...
2024-12-07 10:00:43
编写一个函数,接受一个字符...
我们可以编写一个函数,循环遍历字符串列表中的每个字符串,使用Pyt...
2024-12-06 17:01:25
编写一个充满Python代...
要在LaTeX书籍中插入Python代码,可以使用lstlisti...
2024-12-06 05:32:11

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...