Markdown 語法教學:寫文章夠用的寫法與換行、表格
Markdown 是用幾個普通符號在純文字裡標出標題、強調、清單等格式的寫法:例如在行首寫 # 表示標題,用兩個星號包住文字表示粗體。檔案本身仍是純文字,用任何文字編輯器都能開啟;在支援 Markdown 的軟體中預覽或匯出時,才顯示成排好版的樣子。寫文章常用的語法只有十幾種,以下逐一列出,並把最常被問到的表格、換行與刪除線講清楚。
Markdown 是什麼
Markdown 由 John Gruber 在 2004 年提出。後來 CommonMark 規範把細節定得更清楚,GitHub 又在它的基礎上加入表格、刪除線、任務清單等寫法(稱為 GFM)。許多軟體以這兩者為參照,個別寫法的顯示可能略有不同。例如:
## 第三章 雨夜
她把信放回抽屜,**沒有回頭**。
預覽時,第一行顯示為章節標題,「沒有回頭」顯示為粗體;用不認得 Markdown 的編輯器開啟,看到的仍是這幾行字。
寫作的人為什麼用 Markdown
- 手不必離開鍵盤:標題、粗體、清單都靠輸入符號完成,不用找工具列。
- 沒有藏起來的格式:格式就是看得見的字元。
- 不被某個軟體綁住:Markdown 檔案是純文字(副檔名通常是 .md),換軟體、換電腦都能開啟。
- 能轉成多種格式:支援的軟體可以把它匯出成網頁、PDF、Word 文件或電子書。
Markdown 只管結構(這是標題、這是清單),外觀由顯示它的軟體決定。因此它不適合需要精確控制字型、邊界與分頁的文件,例如格式嚴格的公文、履歷,也不適合圖文穿插複雜的版面。
常用語法一覽
| 格式 | 怎麼寫 | 顯示成什麼 |
|---|---|---|
| 標題 | # 第一章 | 一級標題;## 是二級,最多六級 |
| 粗體 | **沒有回頭** | 沒有回頭 |
| 斜體 | *那天下著雨* | 那天下著雨 |
| 刪除線(擴充) | ~~刪掉這句~~ | |
| 無序清單 | - 人物小傳 | 帶圓點的清單項目 |
| 有序清單 | 1. 開端 | 帶編號的清單項目 |
| 引用 | > 引文或摘錄 | 獨立成塊的引用段落 |
| 分隔線 | 單獨一行寫 *** 或 --- | 一條橫線,可用作場景轉換 |
| 連結 | [純純寫作官網](https://writer.drakeet.com) | 可以點按的文字「純純寫作官網」 |
| 圖片 |  | 顯示圖片,方括號中是圖片的描述 |
| 行內程式碼 | `Ctrl+S` | Ctrl+S,等寬字型,依原樣顯示 |
| 程式碼區塊 | 上下各一行 ``` | 中間的內容依原樣顯示 |
| 表格(擴充) | 見下文 | 表格 |
| 任務清單(擴充) | - [ ] 寫完第三章 | 未勾選的方框;寫成 [x] 為已勾選 |
標有「擴充」的三種來自 GFM,不屬於最初的 Markdown,但很多軟體也支援。所有標記都是半形符號,全形的「#」「*」不會生效。粗體與斜體也可以用底線(__粗體__、_斜體_),但寫在中文句子中間時常常不生效,用星號比較穩妥。
刪除線怎麼打
用兩個波浪號把文字包起來:~~刪掉這句~~,波浪號與文字之間不加空白。刪除線屬於 GFM 的擴充寫法,不支援擴充的軟體會依原樣顯示波浪號。
要注意的是,依 GFM 的規定,一對單個波浪號也會形成刪除線。同一段裡寫了 3~5 天 和 7~9 天,有的軟體會把兩個波浪號之間的文字劃掉。這時可以寫成 \~,或改用全形的「~」。
表格怎麼做
表格用直線 | 分欄,第一列是表頭,第二列用短橫線把表頭與內容隔開,之後每列一筆內容:
| 人物 | 身分 | 第一次出場 |
| :--- | :---: | ---: |
| 林晚 | 報社記者 | 第 1 章 |
| 周嶼 | 國中老師 | 第 3 章 |
- 冒號決定這一欄的對齊方式:
:---靠左,:---:置中,---:靠右;不寫冒號時靠左。 - 直線不必上下對齊,每格的短橫線至少一個;每列開頭與結尾的直線可以省略。
- 儲存格中可以用粗體、連結等寫法;要寫直線本身時,寫成
\|。 - 表格前後各空一行。表格下方緊接著的文字,會被當作表格的一列。
換行與分段
第一段的最後一句。
第二段的第一句。
依 CommonMark 的規定,這兩行屬於同一段,顯示時會連成一行。換行的寫法分兩種情況:
- 分段:兩段之間空一行。
- 段內換行(例如詩句分行):在行尾加兩個半形空白,或加一個反斜線
\。行尾的空白看不見,反斜線比較容易檢查。
也有軟體預設把單個換行直接顯示為換行。
習慣段首空兩格的人還要注意:行首有四個以上半形空白的段落,會被當作程式碼區塊。需要縮排時,用全形空白。
其他容易卡住的地方
清單前後空一行,子項目縮排到位
清單後面不空行,緊接著的一行會被併進最後一項。下面第三行會變成「車票」的一部分:
- 雨傘
- 車票
到了車站才發現忘了帶錢包。
清單前面也最好空一行:依 CommonMark,以 1 以外的數字開頭的有序清單緊接在文字下面時,不會被當作清單。引用也一樣,結束時要空一行。
巢狀的子項目要縮排到上一層文字開始的位置:- 底下縮排兩個空白,1. 底下縮排三個空白。在 1. 底下只縮排兩個空白的話,子項目會另起一個清單。
1. 第一章
- 雨夜
- 來信
2. 第二章
想依原樣寫出符號,前面加反斜線
\* 顯示為星號,\# 顯示為井號。反斜線只對半形標點有效,全形符號本來就不是標記。
星號緊挨著引號時可能不生效
文字**「粗體」**文字 常常會原樣顯示星號:依 CommonMark 的規定,星號一側是文字、另一側是標點時,不一定被當作標記。把標點移到星號外面即可:文字「**粗體**」文字。書名號、括號也一樣。
標題的井號後面要有空白
#第一章 是普通文字,# 第一章 才是標題。另外,用 --- 當場景分隔時,上方要空一行,否則上一行文字會變成二級標題;改用 *** 就能避開。
在純純寫作中使用 Markdown
純純寫作是一款寫作用的文字編輯器,正文以純文字儲存,不支援富文字;需要標題、粗體等格式時,可以把文章切換為 Markdown,每篇單獨切換:
- Android 版:點按頂部列右側的
TXT圖示,圖示變為M↓即已切換。點按右下角 ⊕ 旁的M↓小按鈕,可以在編輯與預覽之間切換。 - iOS 版:點按編輯器右上角的按鈕(平時顯示目前文章的格式),選擇「切換為 Markdown」。編輯時會為標題、強調等上色,標記仍然可見;排版效果在「預覽 & 另存為」中查看。
- 桌面版:點按視窗底部狀態列中顯示「純文字」的按鈕,選擇「Markdown」。桌面版目前不呈現 Markdown 的排版效果,沒有預覽;同步到手機後可以在手機上預覽。
三個版本都不提供邊寫邊隱藏標記的所見即所得編輯。在 Android 版與 iOS 版的 Markdown 文章中,點按快捷輸入欄最左側的 M↓ 按鈕可以開啟 Markdown 面板,插入標題、清單、表格等標記;桌面版沒有這個面板。
還有幾處與通用的說法不同:
- 以 CommonMark 為基礎,另外支援表格、任務清單、刪除線、LaTeX 公式與少數 HTML 標籤;不支援
==醒目文字==與註腳,也不支援<center>標籤,置中要寫<p align="center">…</p>。 - 預設開啟「單個換行視為換行」,按一次 Enter,預覽時就會換行。它在 iOS 版的「設定 › Markdown 選項」中;在 Android 版的「少數派選項」中名為「GFM line breaks / Soft break adds new line」。
- 只有兩個波浪號才會產生刪除線,單個波浪號可以放心用來表示範圍。
- Markdown 文章匯出為文字檔時是 .md;要 .txt 就先切換為純文字(標記不會被移除)。Android 版與 iOS 版還能在「預覽 & 另存為」中儲存為 PDF、DOCX、EPUB 等格式(Android 版需要純純寫作 Pro)。
切換與預覽的步驟見 Markdown 簡明教程(簡體中文),各種寫法在純純寫作中的細節見使用手冊的純純寫作 Markdown 使用指南。
常見問題
Markdown 怎麼換行?
分段要在兩段之間空一行。只在段落中換行,依 CommonMark 的規定要在行尾加兩個半形空白或一個反斜線 \;只按一次 Enter,顯示時兩行會連成一行。也有軟體預設把單個換行顯示為換行,例如純純寫作預設開啟了「單個換行視為換行」。
Markdown 表格怎麼做?
第一列寫表頭,用直線 | 分隔各欄;第二列在每一欄寫短橫線(如 | --- | --- |)隔開表頭;之後每列一筆內容。冒號設定對齊::--- 靠左,:---: 置中,---: 靠右。表格前後各空一行,儲存格中的直線寫成 \|。
Markdown 刪除線怎麼打?
用兩個波浪號把文字包起來,例如 ~~刪掉這句~~。刪除線是 GFM 的擴充寫法,不支援的軟體會依原樣顯示波浪號。依 GFM 的規定,一對單個波浪號也可能形成刪除線,用波浪號表示範圍時可以寫成 \~ 或改用全形的「~」;純純寫作只有兩個波浪號才會產生刪除線。
手機上可以寫 Markdown 嗎?
可以。Markdown 就是純文字,任何能輸入文字的 App 都能寫,只是不一定能預覽。純純寫作的 Android 版與 iOS 版可以把文章切換為 Markdown,用 Markdown 面板插入標記,並預覽排版效果。