写点什么

如何写作一本书(2):前言与正文

用户头像
英子编辑
关注
发布于: 2020 年 05 月 01 日
如何写作一本书(2):前言与正文

《如何写作一本书》分为两篇,本篇是第二篇,介绍技术图书前言与正文的写作体例。第一篇请见:《如何写作一本书(1):写前须知》,介绍出版一本书的过程中,作者最关心的那些问题:图书出版都有哪些流程,如果要写书怎么下手,一本书能卖多少册,作者能赚多少钱…...



主要内容介绍:前言涉及常见写作点;正文涉及章节编号、图表编号、代码段、补充说明内容、脚注,等等。



可能还有一些图书中的特殊部分,这篇文章并没有涉及。如果作者觉得自己的图书需要涵盖更多,可与编辑交流,按照图书特色协商具体方案。



框架设计层级



先从总体上给出图书框架设计(即目录设计)的编号方式:部分——章——节——小节,部分为零级目录,章为一级目录,节为二级目录,小节为三级目录。目录提取从零级到三级,正文中可设置到四级甚至五级。

部分



部分是对图书整体内容的大逻辑划分。如果一本书的章比较少,比如本身只有五六章,部分可以略去。部分独占图书的一面,展现形式是部分名后面跟一两段描述性内容,对所包含的几章进行概括和简单介绍。



前言(常见点)



说明



以下回答作者关于 “图书前言中写什么” 的问题,我列出了常见的 9 个点。标题表达个大概意思,至于作者要在自己图书前言中具体涵盖几个点、标题叫什么、内容怎么写,可以灵活处理,原则是:深度挖掘读者需求,充分突出图书特色。



文末列出了几本图灵的书,可以参考一下其前言和目录。



0.1 技术发展来龙去脉及读者需求



这一部分可以交叉作者自身经历来写。



0.2 为什么要写这本书



图书诞生背景。



0.3 这本书跟其他图书有什么不同



(或)本书写作理念



也就是图书特色,分几方面说说咱们这本书的特色即可。



0.4 图书目标读者



尽可能广,可以从遇到各种问题的各层次读者来阐述。



0.5 图书主要内容



(或)学习路线图



这书是怎么安排的,分了几部分,为何写这几部分,每一部分为何包含这些内容,而没包含其他内容,这些内容具体讲什么,简单给出概览。



什么学习路线图、思维导图等都可以在这里展示。



0.6 如何阅读本书



对于读者学习本书的方法或者注意事项等其他需要特别叮嘱的,放到这里。这部分也可以跟其他部分合并。



0.7 图书体例与其他服务说明



比如可以说一下排版方面的约定,说一下学习本书的软件与硬件需求、代码下载网站,等等。



0.8 致谢



感谢亲人、朋友、合作者的话,写在这里。本部分可选。



0.9 互动与勘误



想跟读者通过什么方式互动,在哪里提勘误,放在这里。



参考图书



《SQL经典实例》



《Python深度学习》



《图解深度学习》



《网络是怎样连接的》



《简单微积分》

第 1 章 这里写章标题(一级标题)



本章内容(可采用条目列出本章的主要内容)



  • 核心知识点 1

  • 核心知识点 2

  • 核心知识点 3



接下来是本章内容的引导语。它的作用是采用 2 ~ 3 段内容引出本章要介绍的核心知识。比如回答一下「为何要讲这个点,它的意义何在?」,等等。



条目式简介和引导语都有是最好的,也可以两者取一。



1.1 这里写 1.1 节的标题(二级标题)



「1.1 节」是一级标题「章」下面的二级标题。通常成章成节的内容都有一定的篇幅,「章」短则一两千字,长则一两万字,「节」短则几百字,长则几千字。成书后,一节通常也有个三四页[^1]。



[^1]: 当然,三四页的说法不是绝对的,还要看写作的具体内容,逻辑到了,强行拉长篇幅也不合适,请作者灵活处理。——这里是一个脚注示例,可以把背景性质的简短说明、参考资料等放到脚注中(一两句话即可,不要太长)。



1.1.1 这里写 1.1.1 节的标题(三级标题)



「1.1.1 小节」是二级标题「节」下面的三级标题,一小节通常也有一两页内容。



假设这里出现了一个插图,插图的展示和对图片的要求如图1-1所示。





图1-1 插图及对图片的要求示例 「图号 + 图题」



补充说明 「用这种格式表示主线叙述内容之外需要补充说明的内容」

正文中首先要提到图号,其次插入图片,再次紧跟图号+图题

图片编号以章为单位,按照顺序排列,直到章内容结束。不同编号的图片不得为同一幅,若要引用重复图片,可以写参见图1-X。



1.1.2 这里写 1.1.2 节的标题(三级标题)



「1.1.2 小节」跟「1.1.1 小节」及「1.1.3 小节」等小节的逻辑关系是同一层级的,按一定的顺序排列,从属 1.1 节主题之下。



假设这里出现了一个表格,表格的展示如表1-1所示。



表1-1 表格示例(此处是表格的编号及标题)



正文中首先要提到表号,再次紧跟表号和标题,最后插入表。

表编号以章为单位,按顺序排列,直到一章内容结束。若要引用前述或者后面的表格,可以写参见表1-X。



1.2 这里写 1.2 节的标题(二级标题)



「1.2 节」跟「1.1 节」及更多的「1.3 节」等的逻辑关系是同一层级的,按一定顺序排列,从属第 1 章的主题之下。



如果想引用权威参考资料中的一段话,可以打个 Tab 键,以便跟正文区分(在纸质书中,正文一般排版为宋体,引用内容一般排版为楷体):



​ 罗素说,一切哲学问题经过分析都是语言问题,而语言问题归根结底就是逻辑问题。



1.3 这里写 1.3 节的标题(二级标题)



下面是一段代码段,短短几行的代码段可以直接呈现,如下所示:



ytrain = np.array(trainlabels)
ytest = np.array(testlabels)



如果是比较长的代码段,独立性也很强,实现的功能也很明确,可以加上标题,如下所示:



代码清单6-5 ToListCollector 方法的实现(名称叫代码清单或者代码示例都可以)



import java.util.;
import java.util.function.;
import java.util.stream.Collector;
import static java.util.stream.Collector.Characteristics.*;
public class ToListCollector<T> implements Collector<T, List<T>, List<T>> {
@Override
public Supplier<List<T>> supplier() {
return ArrayList::new;
}
@Override
public BiConsumer<List<T>, T> accumulator() {
return List::add;
}
@Override
public Function<List<T>, List<T>> finisher() {
return Function.identity();
}
@Override
public BinaryOperator<List<T>> combiner()
return (list1, list2) -> {
list1.addAll(list2);
return list1;
};
}
@Override
public Set<Characteristics> characteristics() {
return Collections.unmodifiableSet(EnumSet.of(
IDENTITY_FINISH, CONCURRENT));
}
}



代码注意事项补充说明



0. 代码必须验证可运行

1. 代码清单的编号同表格

2. 代码中若有英文注释,最好翻译为中文

3. 代码需要按照每章单独打包好,为读者提供开放源码(上传到图灵社区),也可以再上传一份到 GitHub



1.4 小结(二级标题)



每章最后安排一节作为本章内容的总结,简单介绍读者通过这一章学习了什么知识点,在学习过程中需要注意哪些问题。「小结」和一章开始的“内容简介部分”遥相呼应,组成了大家最熟悉的「总—分—总」结构。



作者还可以在此说一两句称赞读者学习既往章节的话,并引出下一章即将介绍的主题。鼓励读者坚持学习也是图书很重要的组成部分。



此后同上



关于我



  • 姓名:刘美英(英子)

  • 职位:原创图书策划编辑

  • 从业经验:9 年(先后做过英文图书编辑、内容运营、知识付费策划)

  • 优势:编辑与运营经验俱佳,熟悉业内一流图书写作手法,擅长打造精品



联系我



我的微信:yingzi-free,邮箱:liumy@turingbook.com。

图灵部分优秀原创图书展示



可前往图灵社区了解相关图书。



技术改变世界,阅读塑造人生 @图灵教育



发布于: 2020 年 05 月 01 日阅读数: 68
用户头像

英子编辑

关注

做知识性、通俗性、重要性兼具的好书 2017.10.12 加入

人民邮电出版社图灵策划编辑,致力于打造原创精品。从业 9 年,先后做过英文图书编辑、内容运营、知识付费策划。

评论

发布
暂无评论
如何写作一本书(2):前言与正文