使用 AsciiDoc 编写文档

还没有读者喜欢这个。
Typewriter keys

April Killingsworth。由 Rikki Endsley 修改。CC BY-SA 2.0。

我在编写 Learn Linux in a Month of Lunches 时发现了 AsciiDoc。AsciiDoc 是一种非常全面的标记语言,用于编写书籍——可以将其视为 Markdown,但具有更多选项,例如侧边栏、注释和表格。AsciiDoc 让您只需键入内容,简单的语法即可控制格式。

当我刚开始写书时,我正在使用带有 LibreOffice 的 Word 样式表。我的出版商 Manning 提供了 OpenOffice 的 .odt 版本,但我很难让样式正常工作。具有讽刺意味的是,我最终使用了 Word .docx 模板,该模板在 LibreOffice 中效果最佳。但最大的问题是图像,图像无法正确嵌入。当我需要写作时,我却花费了大量时间进行格式化。

评论也很难解析。Jim Whitehurst 在撰写他的著作 The Open Organization 时,实际上让 LibreOffice 修补以处理评论。在与我们的模板斗争了几个章节后,我的编辑建议我们切换到 AsciiDoc,我的生活立刻变得轻松起来。

使用 LibreOffice,我必须插入图像、对其进行编号、添加标题、设置样式,然后希望一切都保持在一起,而使用 AsciiDoc,我只需编写如下内容

.Mint 的软件管理器与 Ubuntu 软件中心具有相似的外观。

AsciiDoc 会为我处理其他一切,包括在标题中对图像进行编号。以下是上述代码的呈现方式

AsciiDoc 转换为 PDF。

侧边栏或注释就像这样简单


注释的 AsciiDoc 语法。

它变成了这样


注释的 AsciiDoc 语法呈现为 PDF。

AsciiDoc 具有用于标题和副标题的格式,甚至可以根据它们自动生成目录


AsciiDoc 自动生成目录。

由于 AsciiDoc 是文本,您可以在任何文本编辑器中编写,但我喜欢预览代码以确保一切看起来都正常。有一个 Gedit 插件,但使用它需要花费一些精力,而且我面临着截止日期。我决定使用 GitHub 创建的文本编辑器 Atom。Atom 有一个渲染 AsciiDoc 的插件,我在编写几个章节时尝试过,但预览有时很奇怪。注释和侧边栏会扩展到整个文档。此外,我无法直接使用它打开 AsciiDoc 格式的文档。相反,我必须打开 Atom,然后通过 Atom 打开菜单打开文档。

Atom 还不错,但足够令人恼火,所以我决定尝试 Adobe 开源文本编辑器 Brackets。Brackets 渲染 AsciiDoc 的效果更好,虽然打开 AsciiDoc 文件仍然不是无缝的,但它比 Atom 更好。我希望 Brackets 具有运行拼写检查功能,而不是在完成后运行拼写检查的功能,但它可以预览我需要看到的内容,并为我提供运行字数统计,所以我很满意。

Brackets 文本编辑器。


Brackets 渲染的 AsciiDoc。

Brackets 和 Atom 在 HTML 中渲染,但 a2x 命令(它是 AsciiDoc 包的一部分)使将 .adoc 文件转换为 PDF 变得容易(尽管当图像文件名中包含句点时,会导致转换失败的错误)。输出看起来像专业的格式化书籍章节。

AsciiDoc 对我来说是救命稻草,我很幸运能与使用它的出版商合作。我认为 AsciiDoc 适用于任何需要外观精美的 PDF 或对自助出版感兴趣的人。此外,AsciiDoc 对开放教育资源具有巨大的意义,因为它允许某人编写教科书,而无需对其进行格式化;他们可以轻松获得 PDF,并且可以将底层 AsciiDoc 提供给想要修改原始版本的人。

像 AsciiDoc 这样的标记语言对于像我这样不想处理格式化的人来说非常棒。在我们转移到 AsciiDoc 之后,我们能够使用私有 git 存储库来来回回地提交草稿。AsciiDoc 还具有注释掉文本的功能,这使我们可以在文本中共享评论。AsciiDoc 为我节省了数小时的写书时间,因为它让我专注于写作,而不是样式和格式。如果您还没有尝试过 AsciiDoc,请试用一下,并在评论中告诉我们您的想法。

最初发布于 MyLinuxRig.com。经许可转载。

Doc
Dish


本文是 Rikki Endsley 协调的 Doc Dish 专栏 的一部分。要为本专栏投稿,提交您的故事想法联系我们

标签
User profile image.
Steven Ovadia 撰写了 LinuxRig.com,其中包含 The Linux Setup,对桌面 Linux 用户的采访。他是一位学术图书馆员,为各种图书馆学期刊撰写关于用户如何在在线环境中与信息互动的文章。他是 Learn Linux in a Month of Lunches 的作者。您可以在 steven.ovadia.org 上查看他的所有出版物

6 条评论

AsciiDoc 很棒,但 Asciidoctor(Brackets 和 Atom 中的实时预览中也使用了它)的形式有一个更快、文档记录更好、更符合标准的 fork。Asciidoc 是 Markdown 的更好、更智能的版本,我认为可以公平地说 Asciidoctor 与 Asciidoc 具有相同的关系。祝您文档编写愉快!

AsciiDoc 是一款很酷的软件。您试过 AsciiDocFX 吗?它是 AsciiDoc 的 GUI,效果很好。

我还没见过!我会看看的!

几年来,我一直在听说关于 asciidoc 和 markup/down 的事情,并且在该领域做了一些涉猎。但是每次我这样做时,在学习了一点 TeX/LaTeX 之后,在我看来这似乎是在浪费时间和精力。我从经验中清楚地知道 TeX/LaTeX 的学习曲线有多陡峭,但是当我摆弄 asciidoc 或 markup/down 时,也很明显他们正在尝试重新发明轮子。如果您的格式需求相当简单,那么使用 ascidoc markup/down 可能会很有意义,因为它需要较少的初始学习精力。但是,如果您将来有更复杂的格式需求,您会发现这些新系统的局限性,并且可能最终需要提出功能请求或进行自己的黑客攻击才能使它们满足您的需求。TeX/LaTeX 可以完成您能想象到的所有格式技巧,并产生令人惊叹的效果。并且有它的前端(例如 Lyx),就像 markup/down 一样。我仍然相信,如果我要学习一些格式语言以便以纯文本格式编写文档,那么我最好投入更多的时间和精力来学习 TeX/LaTeX。

选择的魅力在于每个人都可以选择适合自己的。我写的东西非常简单,没有公式或格式,所以 Asciidoc 非常完美。但您说得对——对于更复杂的文档,其他语法(如 LaTeX)更有意义。

回复 ,作者:JM (未验证)

感谢 Steven 提供这些信息。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.