1 min read

如何给 markdown 书稿添加索引 - How to make an index page for a book

Links: steemit.com, cnsteem.com, busy.org, steemdb.com, steemd.com

缘由

《Steem 指南》编辑部今天收到一个建议,是 @vandadream 搜集来的,原文在这里,大意是,@wentong-syhhae 建议在书稿末尾增加一项索引(index),并且说,索引在中文书里不常见的,但是很有用。

啥是索引?就是这个:

简单来说,索引就是列出书里对读者比较重要的关键词,以及他们在书里出现的页码。

在网页格式的电子书里,索引其实没多大必要。想搜哪个关键词,ctrl + f 就行了。不过,在 pdf 和纸质书里还是很有帮助的。

那么,如何往 pdf 和纸质书里添加索引呢?难道要手动挨个找页码吗?

方法

不用愁,我们的书稿协作平台,从一开始就具备轻松添加索引的能力,因为我们选择的是 markdown!在幕后,pandoc 会将 markdown 格式转成 LaTeX 格式,然后编译成 pdf,而 LaTeX 是轻松支持索引的。

作为书稿的作者,如果想添加索引,很简单:

在需要索引的地方加入\index{条目名称}就行了。书后会自动添加索引条目,页码自动生成!

现在来书稿的pdf 文件里看,已经有索引了。

示例

举个栗子。《Steem 指南》第 15 章“Steem 十讲”里有这样的文字:

Steem 其实在 HF19 之前的设计其实是鼓励 users 在 SP 的存放上集中到单一 account 的,……

HF19 这个关键词比较重要。为了方便读者找到书里哪里出现了 HF19,可以这样添加索引:

Steem 其实在 HF19 \index{HF19} 之前的设计其实是鼓励 users 在 SP 的存放上集中到单一 account 的,……

条目名称 HF19 就是出现在书尾里的名称。我添加了三处。这样一来,编译得到的书后面就自动出现了索引页,显示了条目名称和出现的页码:

201802201.jpg

条目名称也可以写成别的:

Steem 其实在 HF19 \index{硬叉19} 之前的设计其实是鼓励 users 在 SP 的存放上集中到单一 account 的,……

这样,书末的索引页出现的关键词就成了“硬叉19”。

在多位作者的初稿编写阶段,不宜各自添加索引。你想啊,很多人都用到了 HF19 这个词,有的添加了索引,有的没添加;作者甲用的条目是\index{硬叉19},作者乙用的是\index{HF19},作者丙用的是\index{HF 19},最后就出现了三个不同的关键词,容易混乱。

添加索引这一步,我的建议是到统稿时完成。到时候,只需将全文的 HF19查找替换成HF19 \index{HF19}就行了。

进阶

上面讲的是简单索引。我们还可以添加多级索引。下面是我的《学 R ——零基础学习 R 语言》一书的索引:

201802202.jpg

添加方法也很简单,在需要插入索引的地方,用一个惊叹号把父子两级索引分隔即可。例如,上图里“作图”下面的abline 条目是这样生成的:

\index{作图!abline}

总结

  1. 往 markdown 书稿里添加索引,只需在相关位置加入\index{条目名称}就行了。多级索引则添加\index{父条目!子条目}
  2. 在多位作者的初稿编写阶段,不宜各自添加索引,容易带来混乱。添加索引这一步,我的建议是到统稿时完成。