Markdown 語法教學:寫文章夠用的寫法與換行、表格

Markdown 是用幾個普通符號在純文字裡標出標題、強調、清單等格式的寫法:例如在行首寫 # 表示標題,用兩個星號包住文字表示粗體。檔案本身仍是純文字,用任何文字編輯器都能開啟;在支援 Markdown 的軟體中預覽或匯出時,才顯示成排好版的樣子。寫文章常用的語法只有十幾種,以下逐一列出,並把最常被問到的表格、換行與刪除線講清楚。

Markdown 是什麼

Markdown 由 John Gruber 在 2004 年提出。後來 CommonMark 規範把細節定得更清楚,GitHub 又在它的基礎上加入表格、刪除線、任務清單等寫法(稱為 GFM)。許多軟體以這兩者為參照,個別寫法的顯示可能略有不同。例如:

## 第三章 雨夜

她把信放回抽屜,**沒有回頭**。

預覽時,第一行顯示為章節標題,「沒有回頭」顯示為粗體;用不認得 Markdown 的編輯器開啟,看到的仍是這幾行字。

寫作的人為什麼用 Markdown

  • 手不必離開鍵盤:標題、粗體、清單都靠輸入符號完成,不用找工具列。
  • 沒有藏起來的格式:格式就是看得見的字元。
  • 不被某個軟體綁住:Markdown 檔案是純文字(副檔名通常是 .md),換軟體、換電腦都能開啟。
  • 能轉成多種格式:支援的軟體可以把它匯出成網頁、PDF、Word 文件或電子書。

Markdown 只管結構(這是標題、這是清單),外觀由顯示它的軟體決定。因此它不適合需要精確控制字型、邊界與分頁的文件,例如格式嚴格的公文、履歷,也不適合圖文穿插複雜的版面。

常用語法一覽

格式怎麼寫顯示成什麼
標題# 第一章一級標題;## 是二級,最多六級
粗體**沒有回頭**沒有回頭
斜體*那天下著雨*那天下著雨
刪除線(擴充)~~刪掉這句~~刪掉這句
無序清單- 人物小傳帶圓點的清單項目
有序清單1. 開端帶編號的清單項目
引用> 引文或摘錄獨立成塊的引用段落
分隔線單獨一行寫 *** 或 ---一條橫線,可用作場景轉換
連結[純純寫作官網](https://writer.drakeet.com)可以點按的文字「純純寫作官網」
圖片![封面草圖](cover.jpg)顯示圖片,方括號中是圖片的描述
行內程式碼`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 面板插入標記,並預覽排版效果。