AsciiDoc 表格教學


最近因為某些原因需要用到 AsciiDoc 。今天來談談一些表格(table)中的小技巧。

> 基本應用

這是最簡單的應用:表格的第一行決定了這個表格有多少列。

|===
|header 1 |header 2 |header 3
|info 1 |info 2 |info 3
|info 4 |info 5 |info 6
|===

如果想在資料格裡多於一行可以以 + 號來新增新行。只要第一行定下了列數,AsciiDoc 便能以 | 的數量決定資料的位置。

|===
|header 1 |header 2 |header 3
|info 1 |info 2 +
next line |info 3
|info 4 |info 5 |info 6
|===

要在表格裡便用 AsciiDoc 的文法也可以,只要在該儲存格的 | 前面加上 a 便可以了。例如這個例仔中我們以在儲存格裡加上列表。

|===
|header 1 |header 2 |header 3
|info 1 a|info 2 

* item 1
* item 2
|info 3
|info 4 |info 5 |info 6
|===

想為表格加上一些屬性也是可以的,例如這個例子中我們可以定下每列的相對闊度以及加上 Header :

[cols="1,2,3", options="header"]
|===
|header 1 |header 2 |header 3
|info 1 |info 2 |info 3
|info 4 |info 5 |info 6
|===
---

> 格式設定

我們可以在每個儲存格的 | 的左邊加上以下的字來為儲存格內的文字作一些格式上的調整。

字符 效果
e 斜體 (Italic)
m 等寬字體 (Monospace)
s 粗體 (Bold)
< 靠左 (Left alignment)
> 靠右 (right alignment)
^ 置中 (Center alignment)

一起看例子:

|===
e|info 01 m|info 02 s|info 03
<|info 04 >|info 05 ^|info 06
<e|info 07 <m|info 08 <s|info 09
>e|info 10 >m|info 11 >s|info 12
^e|info 13 ^m|info 14 ^s|info 15
|===

另外,在表格中的屬性也可以設定每一列的格式。

[cols="e,m,^,>s"]
|===
|info 1 |info 2 |info 3 |info 4 
|info 5 |info 6 |info 7 |info 8 
|===

> 表格內放置表格

我們也可以在表格內放置表格,只要在儲存格前面加上 a 表示以 AsciiDoc 的格式來寫,並在儲存格內的表格以 ! 來表示便可以了。

[cols=",,"]
|===
|info 1
a|info 2
[cols=","]
!===
!inside 1 !inside 2
!inside 3 !inside 4
!===
|info 3
|info 4 |info 5 |info 6
|===

> 合併儲存格

我們可以在每個儲存格前的 | 前定義每個儲存格所佔的欄 (row) 數和列 (column) 數。

例子 說明
2+ 這個儲存格佔了兩欄
.2+ 這個儲存格佔了兩列
2.3+ 這個儲存格佔了兩欄和三列

例子:

[cols=",,,"]
|===
|info 1 |info 2 |info 3 |info 4
.3+|info 5 |info 6 2.2+|info 7          
|info 8
2+|info 9 |info 10
|===

這樣看可能不夠清楚,這樣看便容明易多了。
info 5 裡,由於這個儲存格有三欄,所以以三行也是空白的,同樣道理,info 7 這個儲存格有兩欄和兩列,所以右邊和下邊也是空白的。

[cols=",,,"]
|===
   |info 1    |info 2      |info 3    |info 4
.3+|info 5    |info 6  2.2+|info 7          
              |info 8
            2+|info 9                 |info 10
|===

最後是一個混合例子:

[cols=",,,", options="header"]
|===
|info 1 |info 2 |info 3 |info 4
.3+a|info 5 

* list 1
* list 2
<e|info 6 2.2+a|info 7 
[cols=",,"]
!===
2+!sub 1 .2+!sub 2
!sub 3 !sub 4
!===
a|info 8

. number 1
. number 2
2+^s|info 9 <m|info 10
|===

內心 OS:好吧我知其實挺難看的。



分類: 程式學習
寫作日期: 2018-02-01

隨機文章: