Markdown 表格生成

|

Markdown 对表格的支持不太友好,这里列了几个处理的技巧。

插入表格

在Markdown文本中插入表格主要有以下三种方法:

  1. 标准Markdown table语法

    1
    2
    3
    4
    |  A   |    B | C    |
    | :--: | ---: | :--- |
    | 1 | 2 | 3 |
    | 4 | 5 | 6 |

    效果:

    A B C
    1 2 3
    4 5 6
  2. 嵌入html代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <table style="text-align:center">
    <tr>
    <td>A</td>
    <td>B</td>
    </tr>
    <tr>
    <td>C</td>
    <td>D</td>
    </tr>
    </table>

    效果:

    A

    B

    C

    D

  3. Latex 语法

    • Typora等编辑器可借由MathJax插入数学公式,其中\array可用来插入表格

    • 在Hexo等博客框架中也可以利用MathJax插入Latex,不过渲染工具要换为Pandoc

      1
      2
      3
      brew install pandoc
      npm uninstall hexo-renderer-marked --save
      npm install hexo-renderer-pandoc --save

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $$
    \begin{array}{ccc} % c:center, r:right, l:left
    \hline
    姓名& 学号& 性别\\
    \hline
    Steve Jobs& 001& Male\\
    Bill Gates& 002& Female\\
    \hline
    \end{array}
    $$

    效果: \[ \begin{array}{ccc} % c:center, r:right, l:left \hline 姓名& 学号& 性别\\ \hline Steve Jobs& 001& Male\\ Bill Gates& 002& Female\\ \hline \end{array} \]

跨行/跨列表格 columnspan/rowspan

  1. html语法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <table style="text-align:center">
    <tr>
    <td colspan='2' rowspan='2'></td>
    <td colspan='2' >真实类别<br>Truth</td>
    </tr>
    <tr>
    <td>1 (Event)</td>
    <td>0 (Non-Event)</td>
    </tr>
    <tr>
    <td rowspan='2'>预测类别<br>Prediction</td>
    <td>1<br>Positive</td>
    <td>True<br>Positive</td>
    <td>False<br>Positive</td>
    </tr>
    <tr>
    <td>0<br>Negative</td>
    <td>False<br>Negative</td>
    <td>True<br>Negative</td>
    </tr>
    </table>

    效果:

    Example

    真实类别
    Truth

    1 (Event)

    0 (Non-Event)

    预测类别
    Prediction

    1
    Positive

    True
    Positive

    False
    Positive

    0
    Negative

    False
    Negative

    True
    Negative

  2. Latex语法:

    • 使用array嵌套排列

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      $$
      \begin{array}{c|c}
      a^2-b^2 &
      \begin{array}{ccc} 1+i & 1-i & \frac{1}{\sqrt{2}}
      \end{array} \\\hline
      \begin{array}{cc}a-b & a+b
      \end{array} &

      \begin{array}{c|c}
      A & \begin{array}{ccc} a & b & c \end{array}\\
      \hline
      \begin{array}{cc} X & Y \end{array} & Z
      \end{array}

      \end{array}
      $$

      效果: \[ \begin{array}{c|c} a^2-b^2 & \begin{array}{ccc} 1+i & 1-i & \frac{1}{\sqrt{2}} \end{array} \\\hline \begin{array}{cc}a-b & a+b \end{array} & \begin{array}{c|c} A & \begin{array}{ccc} a & b & c \end{array}\\ \hline \begin{array}{cc} X & Y \end{array} & Z \end{array} \end{array} \]

    • 使用rlap

      1
      2
      3
      4
      5
      6
      7
      8
      \begin{array}{r|lll}
      & \rlap{\text{number of foo}} \\
      \text{number of bar} & 0 & 1 & 2 \\
      \hline
      0 & 0.125 & 0.250 & 0.168 \\
      1 & 0.125 & 0.250 & 0.168 \\
      2 & 0.125 & 0.250 & 0.168
      \end{array}

      效果: \[ \begin{array}{r|lll} & \rlap{\text{number of foo}} \\ \text{number of bar} & 0 & 1 & 2 \\ \hline 0 & 0.125 & 0.250 & 0.168 \\ 1 & 0.125 & 0.250 & 0.168 \\ 2 & 0.125 & 0.250 & 0.168 \end{array} \]

快速插入

其他

  • 表格内换行:插入<br>换行。
  • 表格样式调整与优化:参考->这篇
Consider buying me a drink if you like this post.