1
背景介紹? ? ? ?
作為一個技術人員,基本都需要編寫技術相關文檔,而且大部分技術人員都應該掌握 Markdown 這個技能,使用 Markdown 來編寫并生成 PDF 文檔將會是一個不錯的體驗,以下就介紹下如何使用 VS Code + Markdown 來編寫 PDF?文檔。
2
效果演示? ? ? ?
3
環境準備? ? ? ?
[必須]?安裝 Visual Studio Code
[必須]?安裝 Extension - Markdown PDF,主要用于生成 PDF
[可選]?安裝 Extension - markdownlint,用于 markdown 語法提示
4
使用指引? ? ? ?
1.?打開預覽
使用 Ctrl+Shift+V 熱鍵打開文檔 Preview
2.?文本內容
## 文本內容- 字體我是普通字體- 斜體*我是斜體*- 粗體**我是粗體**- 粗斜體***我是粗斜體***- 刪除線~~我是刪除線~~
3.?超鏈接
## 超鏈接- [GitHub](https://github.com/)- <https://github.com/>
4.?圖片
## 圖片
5.?代碼塊
## 代碼塊- 行內式演示各種編程語言的 `Hello World` 程序- Java```javapublic class HelloWorld
{ public static void main(String[] args) { System.out.println("Hello,World!"); } } ```- C```c#include <stdio.h> int main(){ printf("Hello,World!");return 1;}```- C++```cpp#include <iostream> #include <stdio.h>int main() { printf("Hello,World!--Way 1\n"); puts("Hello,World!--Way 2"); puts("Hello," " " "World!--Way 3"); std::cout << "Hello,World!--Way 4" << std::endl; return 1; } ```- Python```pythonprint "Hello,World!" #Python 2.xprint("Hello,World!") #Python 3.x```- C#```csharpusing System; class TestApp
{ public static void Main() { Console.WriteLine("Hello,World!"); Console.ReadKey(); } } ```- Shell```bashecho "Hello,World!"```
6.?列表
## 列表### 無序列表- 第一項
- 第二項
- 第三項### 有序列表1. 第一項
2. 第二項
3. 第三項### 任務列表- [x] 吃飯
- [x] 睡覺
- [ ] 寫代碼
7.?引用
## 引用### 并列> 引用1
> 引用2
> 引用3 ### 嵌套> 第一層嵌套
>> 第二層嵌套
>>>>> 第五層嵌套### 引用中使用列表> 引用
>
> 1. 第一項
> 2. 第二項
>
> - 第一項
> - 第二項
> - 第三項### 列表中使用引用- 第一項> 引用1 > 引用2
- 第二項
8.?表格
## 表格| 默認對齊 | 居左對齊 | 居右對齊 | 居中對齊 |
| ------- | :------- | ------: | :-----: |
| 單元格 | 單元格 | 單元格 | 單元格 |
| 單元格 | 單元格 | 單元格 | 單元格 |
9.?UML
## UML- markdown-it-plantuml無法預覽,項目地址:<https://github.com/gmunguia/markdown-it-plantuml>@startuml
Bob -[#red]> Alice : hello
Alice -[#0000FF]->Bob : ok
@enduml- mermaid無法預覽,項目地址:<https://mermaid-js.github.io/mermaid/#/>```mermaid
erDiagramCUSTOMER ||--o{ ORDER : placesORDER ||--|{ LINE-ITEM : containsCUSTOMER }|..|{ DELIVERY-ADDRESS : uses
```
10.?公式
## 公式使用 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{多樣本} $$
11.?強制換頁
使用自動換頁有時會不合理低把內容分到不同的頁碼,使用以下代碼可以強制換頁,美化 PDF 排版。
<div style="page-break-after: always"></div>
5
生成文檔? ? ? ?
在 markdown 文件窗口右鍵選擇 Markdown PDF: Export {pdf} 生成 PDF。
6
參考總結? ? ? ?
以上就是本文希望分享的內容,如果大家有什么問題,歡迎在公眾號 - 跬步之巔留言交流。