目录
1 背景介绍
2 效果演示
3 环境准备
4 使用指引
1. 打开预览
2. 文本内容
3. 超链接
4. 图片
5. 代码块
6. 列表
7. 引用
8. 表格
9. UML
10. 公式
11. 强制换页
5 生成文档
1 背景介绍作为一个技术人员,基本都需要编写技术相关文档,而且大部分技术人员都应该掌握 Markdown 这个技能,使用 Markdown 来编写并生成 PDF 文档将会是一个不错的体验,以下就介绍下如何使用 VS Code + Markdown 来编写 PDF 文档。
2 效果演示-
[必须] 安装 Visual Studio Code
-
[必须] 安装 Extension - Markdown PDF,主要用于生成 PDF
-
[可选] 安装 Extension - markdownlint,用于 markdown 语法提示
使用 Ctrl+Shift+V 热键打开文档 Preview
## 文本内容
- 字体
我是普通字体
- 斜体
*我是斜体*
- 粗体
**我是粗体**
- 粗斜体
***我是粗斜体***
- 删除线
~~我是删除线~~
## 超链接
- [GitHub](https://github.com/)
-
## 图片

## 代码块
- 行内式
演示各种编程语言的 `Hello World` 程序
- Java
```java
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello,World!");
}
}
```
- C
```c
#include
int main()
{
printf("Hello,World!");
return 1;
}
```
- C++
```cpp
#include
#include
int main()
{
printf("Hello,World!--Way 1\n");
puts("Hello,World!--Way 2");
puts("Hello," " " "World!--Way 3");
std::cout 引用2
> 引用3
### 嵌套
> 第一层嵌套
>> 第二层嵌套
>>>>> 第五层嵌套
### 引用中使用列表
> 引用
>
> 1. 第一项
> 2. 第二项
>
> - 第一项
> - 第二项
> - 第三项
### 列表中使用引用
- 第一项
> 引用1
> 引用2
- 第二项
## 表格
| 默认对齐 | 居左对齐 | 居右对齐 | 居中对齐 |
| ------- | :------- | ------: | :-----: |
| 单元格 | 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 | 单元格 |
## UML
- markdown-it-plantuml
无法预览,项目地址:
@startuml
Bob -[#red]> Alice : hello
Alice -[#0000FF]->Bob : ok
@enduml
- mermaid
无法预览,项目地址:
```mermaid
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
```
## 公式
使用 LaTeX 语法,仅支持预览,不支持 pdf,需要先手动转换成图片或文本。
- 梯度下降的数学公式
$$\theta_{n+1} = \theta_{n} - \eta \cdot \nabla J(\theta) \tag{1}$$
其中:
$\theta_{n+1}$:下一个值
$\theta_n$:当前值
$-$:减号,梯度的反向
$\eta$:学习率或步长,控制每一步走的距离,不要太快以免错过了最佳景点,不要太慢以免时间太长
$\nabla$:梯度,函数当前位置的最快上升点
$J(\theta)$:函数
- 均方差函数
$$ loss = {1 \over 2}(z-y)^2 \tag{单样本} $$
$$ J=\frac{1}{2m} \sum_{i=1}^m (z_i-y_i)^2 \tag{多样本} $$
使用自动换页有时会不合理低把内容分到不同的页码,使用以下代码可以强制换页,美化 PDF 排版。
5 生成文档
在 markdown 文件窗口右键选择 Markdown PDF: Export {pdf} 生成 PDF。