# 编写格式要求

为便于在线复习巩固机械设计知识，拟编写《〈机械设计〉知识点整理》（以下简称《整理》）一书，特制定本规范以指导编写工作

## 原参考书籍

> IBSN 978-7-04-051421-6

《机械设计：第十版》 濮良贵、陈国定、吴立言主编 （西北工业大学 机械原理及机械零件教研室）

![原书封面](https://oss.muzing.top/image/domm_book_cover.jpg)

> ISBN 978-7-04-005667-9

《机械设计：第四版》 邱宣怀 主编

![原书封面2](https://oss.muzing.top/image/domm_book2_cover.jpg)

## 文件格式、命名与编码

### Markdown

源文件均使用 markdown 格式，文件扩展名统一为 `.md` （小写）

使用[严格](https://support.typora.io/Strict-Mode/)的 markdown 扩展语法，支持行内公式

必须完全符合 [markdownlint 规范](https://github.com/DavidAnson/markdownlint/blob/v0.23.1/doc/Rules.md)

推荐使用 [Typora](https://typora.io/) 编辑器

### 命名

文件名只允许英文与下划线，首字母大写，严禁空格

对章节文件，章节号占两位

例：`Specification_15.md` 、`Chapter_01.md`

### 编码

使用 `UTF-8` 编码

使用 `LF` 换行符，Typora 中有该项设置，请注意检查

## 标题

### 总要求

`#` 与标题文字之间有且仅有一个空格

### 各级标题要求

必须具有1级标题。以中文写明章节名或文件名，例如：

```markdown
# 《〈机械设计〉知识点整理》格式规范
```

```markdown
# 第三章 机械零件的强度
```

禁止使用5、6级标题，可以酌情使用加粗替代

### 标题与原书目录对应关系

《整理》的标题等级应与原书的相同：

| markdown 标题等级 | 原书标题等级 | 举例                  |
| ------------- | ------ | ------------------- |
| 1级标题          | 章/篇导语  | 第十章 齿轮传动            |
| 2级标题          | 节      | 10-2 齿轮传动的失效形式及设计准则 |
| 3级标题          | （一）（二） | （一）失效形式             |

对于某些特别重要，且低于3级标题的，可酌情使用4级标题

更低级的情况，使用有序列表/无序列表、加粗表示

## 标点符号

### 中文标点

优先使用中文标点

标点与文字间没有空格

对于有对称性的成对标点，严格规范使用。如 `“”` 严禁写成 `”“`

表示并列多项时，使用中文逗号或顿号分隔

段落末省略句号

### 英文标点

全部使用半角标点

标点之后紧跟一个空格

### 中英混排

对中文句子中的英文单词，前后各加一个空格

英文单词位于句首，或中文标点之后，不加前导空格

英文单词位于句末，与中文标点之间加一个空格

## 公式与数字

### 公式源代码编辑

公式源代码编辑参考：[LaTeX数学公式整理 - muzing的杂货铺](https://muzing.top/posts/48740/)

适当添加空格，增强公式源代码易读性

对于上标/下标为单个字符的，不使用 `{}`包裹，例如： $$P\_0$$ 写为 `P_0` 而不是 `P_{0}`

### 独立公式

使用一对 `$$` 包裹公式，占据连续的三行

公式前的段落若与公式有关，则在末尾加中文冒号

对于需要专门说明公式中字母符号含义的，紧挨公式下方插入一个两列多行表格写明，表头为 `字母符号` 与 `含义`

例：

```markdown
$$
P_0 = \frac{([\sigma] - \sigma_{b1} - \sigma_c)(1 - \frac{1}{e^{f_v \alpha}})A v}{1000}
$$

| 字母符号         | 含义               |
| --------------- | ----------------- |
| $$[\sigma]$$    | 许用应力           |
| $$\sigma_{b1}$$ | 小带轮上的弯曲应力   |
| $$\sigma_c$$    | 离心拉应力          |
| $$f_v$$         | 当量摩擦因数        |
| $$\alpha$$      | 包角               |
```

以上 markdown 源代码渲染效果如下：

> $$
> P\_0 = \frac{(\[\sigma] - \sigma\_{b1} - \sigma\_c)(1 - \frac{1}{e^{f\_v \alpha}})A v}{1000}
> $$

| 字母符号             | 含义        |
| ---------------- | --------- |
| $$\[\sigma]$$    | 许用应力      |
| $$\sigma\_{b1}$$ | 小带轮上的弯曲应力 |
| $$\sigma\_c$$    | 离心拉应力     |
| $$f\_v$$         | 当量摩擦因数    |
| $$\alpha$$       | 包角        |

**关于多行公式**：

由于 GitBook 不支持连续使用多个 `\\` 分行，多行公式（特别是带有分式的）上下两行行间距极小，影响阅读，故除特殊情况，禁止直接使用多行公式。使用多个独立公式替代；或 `cases` 环境：

```markdown
$$
\begin{cases}
F_{t1} = \frac{2T_1}{d_1}
\\
F_{r1} = F_{t1} \tan \alpha
\\
F_n = \frac{F_{t1}}{\cos \alpha}
\end{cases}
$$
```

> $$
> \begin{cases} F\_{t1} = \frac{2T\_1}{d\_1} \ F\_{r1} = F\_{t1} \tan \alpha \ F\_n = \frac{F\_{t1}}{\cos \alpha} \end{cases}
> $$

### 行内公式

使用一对 `$$` 符包裹（这是 GitBook 的特殊要求，不同于 LaTeX 中使用 `$` 的方式）

前后各一个半角空格

例：

```markdown
滚子链和链轮啮合的基本参数是节距 $$p$$ 、滚子外径 $$d_1$$ 、内链节内宽 $$b_1$$ 和排距 $$p_t$$ （多排链）
```

> 滚子链和链轮啮合的基本参数是节距 $$p$$ 、滚子外径 $$d\_1$$ 、内链节内宽 $$b\_1$$ 和排距 $$p\_t$$ （多排链）

对于非公式的数字，前后不留空格

### 等式与不等式

变量字母使用行内公式，（不）等号及右边的数字、单位使用普通字符 `=` `<` `>` `≤` `≥`

数字与单位之间加一个空格

涉及角度、平方等的，数字后紧挨 `°` `²` `³`（直接复制此处字符，不要使用行内公式）

例：

```markdown
带速一般推荐 $$v$$ = 5 ~ 25 m/s，最高带速 $$v_{\max}$$ < 30 m/s
```

> 带速一般推荐 $$v$$ = 5 \~ 25 m/s，最高带速 $$v\_{\max}$$ < 30 m/s

```markdown
链条在小链轮上包角应有 $$\alpha$$ ≥ 120°
```

> 链条在小链轮上包角应有 $$\alpha$$ ≥ 120°

## 图片

### 原则

原书原图优先

清晰表明结构的大图优先

适当插入 GIF 动画、实物图

### 文件格式

只允许使用 JPEG、PNG、GIF 格式的图片

### 文件命名

文件名必须以 `domm_` 前缀开头

文件名中允许且推荐使用中文，文件名可以较长以说明图片内容

对于同名文件（主要是对同一内容的多图展示），在文件名末尾加 `_02` `_03` 等以示区分

文件名中严禁出现空格，允许且只许使用下划线 `_` 分隔

文件扩展名只允许 `.jpg`，`.png`，`.gif` （全小写）

### 文件大小

以图片清晰易辨别为重，分辨率不宜太低

在保证图片清晰的前提下，适当将 PNG 转为 JPEG 并压缩（建议值：80% \~ 95%）以减小文件体积

单个 JPEG / PNG 文件不宜超过 1 MB；推荐在 50 \~ 150 kB，以保证网页含大量图片情况下仍能快速加载、减轻服务器压力

单个 GIF 文件不宜超过 3 MB

### 图片代码

markdown 源代码中，单独占据一行，前后至少各一个空行

必须写明 alt 文本：优先使用去除前缀和扩展名的图片文件名，也可以使用简短句子概括图片内容；对于 gif 动图，必须包含“动画”字样；

例：

```markdown
![原书封面](https://oss.muzing.top/image/domm_book_cover.jpg)
```

## 表格

不要求源代码中的 `|` 有良好视觉对齐，确保表格在各常用 markdown 编辑器中均可正确解析即可

## 空行与换行

markdown 源代码中以一个空行表示换行，不允许使用 `<br\>` 或 `\` 换行

源代码中连续出现的空行不可超过2行

文件末尾保留且仅保留1个源代码空行

## 待做标记

临时保存文档时，必须在未完成的编辑位置添加 TODO （全大写）待做标记。并最好在标记后空一个空格，写上简短的说明，例如：

```markdown
TODO 完善“滚子链传动的设计计算”部分
```

## 其他

所有本规范中未提及的情况，自行酌情处理并将处理结果通知与我。本规范的原文件为 markdown 格式，其书写格式亦为规范。

《机械设计》 英文名为 `Machine Design` ，但考虑到历史遗留（机械原理 *Theory of Machines and Mechanisms* 缩写为 *tomm*，是我编写的上一本知识点整理电子书的代号），以及避免与 markdown 的缩写 md 混淆，本书使用 `domm` 作为代号。

未尽事宜，请[联系编者](https://muzing.top/about/)：[muzi2001@foxmail.com](https://muzing.top/about/)

## 2.0 更改说明

随着编写工作的不断进行，《格式规范》也在不断完善细化，从最初的0.9版本更迭到1.5版本。目前本书编写已经进入第二阶段，即：既有以自学课本笔记为主的内容更新，又有将听课笔记和其他参考资料融入本书的部分。故对《格式规范》进行一次较大更新，主要内容如下：

1. 增加一本参考教材：邱宣怀《机械设计：第四版》
2. 强调 markdown “样式与内容分离”的思想（README 除外），不再用源代码中连续多个空行实现 Typora 中视觉空行效果
3. 完善更新 图片 的格式规范
4. 增加中文句子中插入英文单词的详细说明
5. 其他细节完善优化
