﻿# 如何在 Markdown 文件中正確輸出 Backtick (反引號)

無論是我的部落格文章，或是撰寫專案文件，我們幾乎都用 Markdown 格式進行撰寫。但是當需要在文件中輸出 Backtick (反引號) 的時候，我每次要寫的時候都會忘記語法，因為在不同的地方呈現 `` ` `` 符號，其實語法是不太一樣的。

### 關於 `` ` `` 符號的讀音

這個符號用中文描述，我會說他是**反引號**，這個符號的英文是 **Backtick**，但其實還有人說這是 **Backquote** 或 **[Grave accent](https://en.wikipedia.org/wiki/Grave_accent)** (重音符)。

### 簡介 `` ` `` 符號的用途

通常在 Markdown 文件中都會用 `` ` `` 符號來呈現一段 **程式碼區塊** (code section)，正常來說用法有兩種：

1.  單行程式碼區塊
    
    \`var a = 1;\`
    
    例如：`var a = 1;`
    
2.  多行程式碼區塊 (fenced code blocks)
    
    \`\`\`sh  
    export LANG=en  
    \`\`\`
    
    例如：
    
    ```bash
    export LANG=en
    ```
    

### 跳脫 `` ` `` 符號的語法

1.  文件中直接顯示 `` ` `` 符號
    
    基本上在 `` ` `` 前面加上一個 `\` (反斜線) 即可，例如：`` \` ``
    
2.  文件中顯示透過 \` 框起來的 **單行程式碼區塊**
    
    這個是我經常會忘記的語法，因為不常用，每次要用都要 Google 一段時間！
    
    以下語法蠻特別的，你要在 **單行程式碼區塊** 中顯示 `` ` `` 的話，就要用 \`\` 與另一個 \`\` 才能順利輸出任何 `` ` `` 符號：
    
    \`\` \` \`\`
    
    > 上述語法總共要打 7 個字元，才能成功將一個 \` 符號顯示成 **程式碼區塊** 的樣子！
    
    \`\` List\`1 \`\`
    
    \`\` This is my \`code\`. \`\`
    
3.  在一段 Blockquote 區塊內顯示 \` 符號
    
    在 Markdown 內若要將內容進行縮排，我們會用 **4 個空白字元開頭**、使用 `<pre></pre>` 標籤、使用 `<code></code>` 標籤，或直接用 **多行程式碼區塊** 的方式產生區塊或縮排的感覺。在這種 **Blockquote** 的範圍內我們不需要特別針對 `` ` `` 符號進行跳脫(Escape)，直接輸出即可！ 👍
    
    四個空白字元的範例：
    
    ```
        `
    ```
    
    多行程式碼區塊的範例：
    
    ````
    ```
    `
    ```
    ````
    
4.  在一段 Blockquote 區塊內顯示 \`\`\` 符號
    
    如果要顯示 3 個 `` ` `` 符號，那就要用 4 個 `` ` `` 符號把整段包起來，例如：
    
    `````
    ````
    
    ```mermaid
    erDiagram
        Course {
        }
    ```
    
    ````
    `````
    
    如果要顯示 4 個 `` ` `` 符號，那就要用 5 個 `` ` `` 符號把整段包起來，依此類推！
    

### 相關連結

-   [Escaping backtick in Markdown - Growing with the Web](https://www.growingwiththeweb.com/2015/06/escaping-backtick-in-markdown.html)
-   [How do I escape a backtick \` within in-line code in Markdown? - Meta Stack Exchange](https://meta.stackexchange.com/a/82722/1109041)
-   [Escaping Backticks | Basic Syntax | Markdown Guide](https://www.markdownguide.org/basic-syntax/#escaping-backticks)
