背景介紹
作為一個技術人員,基本都需要編寫技術相關文件,而且大部分技術人員都應該掌握 markdown 這個技能,使用 markdown 來編寫並生成 PDF 文件將會是一個不錯的體驗,以下就介紹下如何使用 VS Code + Markdown 來編寫 PDF 文件
效果演示
環境準備
[必須]安裝 Visual Studio Code
[必須]安裝 Extension - Markdown PDF,主要用於生成 PDF
[可選]安裝 Extension - markdownlint,用於 markdown 語法提示
使用指引
1. 開啟預覽
使用 Ctrl+Shift+V 熱鍵開啟文件 Preview:
2. 文字內容
## 文字內容 - 字型 我是普通字型 - 斜體 *我是斜體* - 粗體 **我是粗體** - 粗斜體 ***我是粗斜體*** - 刪除線 ~~我是刪除線~~
3. 超連結
## 超連結 - [GitHub](https://github.com/) - <https://github.com/>
4. 圖片
## 圖片 ![圖片](image.png "圖片")
5. 程式碼塊
## 程式碼塊 - 行內式 演示各種程式語言的 `Hello World` 程式 - Java ```java public 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 ```python print "Hello,World!" #Python 2.x print("Hello,World!") #Python 3.x ``` - C# ```csharp using System; class TestApp { public static void Main() { Console.WriteLine("Hello,World!"); Console.ReadKey(); } } ``` - Shell ```bash echo "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 erDiagram CUSTOMER ||--o{ ORDER : places ORDER ||--|{ LINE-ITEM : contains CUSTOMER }|..|{ 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>
生成文件
在 markdown 檔案視窗右鍵選擇 Markdown PDF: Export {pdf} 生成 PDF
參考總結
以上就是本文希望分享的內容,如果大家有什麼問題,歡迎在文章或者公眾號 - 跬步之巔留言交流。