使用 VS Code + Markdown 編寫 PDF 文件

程式設計玩家發表於2022-05-19

背景介紹

作為一個技術人員,基本都需要編寫技術相關文件,而且大部分技術人員都應該掌握 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

 

 

參考總結

以上就是本文希望分享的內容,如果大家有什麼問題,歡迎在文章或者公眾號 - 跬步之巔留言交流。

相關文章