=============== 表格 Table =============== 本章节讲解借助 VSCode的插件 Table Formatter 来生成的 reST 原生表格。 .. attention:: using plugin -- VSCode Table Formatter 使用VSCode的插件 Table Formatter; 同时,Table Formatter 插件还适用于其他类型和格式的 table , 这里并不加以详述。 .. tip:: 虽然 rest 有以下基本表格方法,但是根据笔者在使用的过程中的体验来说,如果是 **基本的表格** (没有列合并或行合并的),那么可能直接使用 :ref:`csv table ` 或 :ref:`list table ` 指令较好;因为比较有用的 rest 自身表格Grid Table 常常需要插件才能快速生成(但是准备过程也麻烦,而且 rest 自身表格语法需要与 :ref:`table ` 指令结合使用才能调整表格和添加标题),同时,这样生成的表格会使得我们在后期维护时陷入麻烦。 使用 Grid Table 的唯一好处就是可以建立复杂的表格。 Grid Table =================== basic usage ----------------- .. code-block:: rest + ||Mon|Tue|Wed|Thu|Fri| += |田中|(^^)|(xx)|(xx)|('')|(^^)| -+ |鈴木|(^^)|(^^)|('')|(xx)|(^^)| + .. important:: Enter command in the command palette (**Ctrl-Shift-P** or **Cmd-Shift-P**) with cursor position in table syntax. 通过命令面板运行 ``Table: Format current`` 命令 => .. code-block:: rest +------+------+------+------+------+------+ | | Mon | Tue | Wed | Thu | Fri | +======+======+======+======+======+======+ | 田中 | (^^) | (xx) | (xx) | ('') | (^^) | +------+------+------+------+------+------+ | 鈴木 | (^^) | (^^) | ('') | (xx) | (^^) | +------+------+------+------+------+------+ usage --plus -------------------- .. code-block:: rest +------------+------------+-----------+ | Header 1 | Header 2 | Header 3 | +============+============+===========+ | body row 1 | column 2 | column 3 | +------------+------------+-----------+ | body row 2 | Cells may span columns.| +------------+------------+-----------+ | body row 3 | Cells may | - Cells | +------------+ span rows. +-----------+ | body row 4 | | - blocks. | +------------+------------+-----------+ |body row 5 | test | test | | +------------+-----------+ | | test | test | +------------+------------+-----------+ +------------+------------+-----------+ | Header 1 | Header 2 | Header 3 | +============+============+===========+ | body row 1 | column 2 | column 3 | +------------+------------+-----------+ | body row 2 | Cells may span columns.| +------------+------------+-----------+ | body row 3 | Cells may | - Cells | +------------+ span rows. +-----------+ | body row 4 | | - blocks. | +------------+------------+-----------+ |body row 5 | test | test | | +------------+-----------+ | | test | test | +------------+------------+-----------+ 对于以上形式的表格,较好的实现方法是先通过正常方法编写。 .. code-block:: rest + |类别|类型| 存储需求| 取值范围| =+ |整型|int| 4 字节|-2 147 483 648 ~ 2 147 483 647 (正好超过 20 亿)| -+ |整型|short| 2 字节|-32 768 ~ 32 767| -+ |整型|long| 8字节|-9 223 372 036 854 775 B08 ~ 9 223 372 036 854 775 807| -+ |整型|byte| 1 字节|-128 ~ 127| -+ |浮点数|float |4 字节| 大约 ± 3.402 823 47E+38F (有效位数为 6 ~ 7 位)| -+ |浮点数|double| 8 宇节| 大约 ± 1.797 693 134 862 315 70E+308 (有效位数为 15 位>| -+ |字符|char|2字节|| 然后通过命令生成表格: .. code-block:: rest +--------+--------+----------+---------------------------------------------------------+ | 类别 | 类型 | 存储需求 | 取值范围 | +========+========+==========+=========================================================+ | 整型 | int | 4 字节 | -2 147 483 648 ~ 2 147 483 647 (正好超过 20 亿) | +--------+--------+----------+---------------------------------------------------------+ | 整型 | short | 2 字节 | -32 768 ~ 32 767 | +--------+--------+----------+---------------------------------------------------------+ | 整型 | long | 8字节 | -9 223 372 036 854 775 B08 ~ 9 223 372 036 854 775 807 | +--------+--------+----------+---------------------------------------------------------+ | 整型 | byte | 1 字节 | -128 ~ 127 | +--------+--------+----------+---------------------------------------------------------+ | 浮点数 | float | 4 字节 | 大约 ± 3.402 823 47E+38F (有效位数为 6 ~ 7 位) | +--------+--------+----------+---------------------------------------------------------+ | 浮点数 | double | 8 宇节 | 大约 ± 1.797 693 134 862 315 70E+308 (有效位数为 15 位> | +--------+--------+----------+---------------------------------------------------------+ | 字符 | char | 2字节 | | +--------+--------+----------+---------------------------------------------------------+ +--------+--------+----------+---------------------------------------------------------+ | 类别 | 类型 | 存储需求 | 取值范围 | +========+========+==========+=========================================================+ | 整型 | int | 4 字节 | -2 147 483 648 ~ 2 147 483 647 (正好超过 20 亿) | +--------+--------+----------+---------------------------------------------------------+ | 整型 | short | 2 字节 | -32 768 ~ 32 767 | +--------+--------+----------+---------------------------------------------------------+ | 整型 | long | 8字节 | -9 223 372 036 854 775 B08 ~ 9 223 372 036 854 775 807 | +--------+--------+----------+---------------------------------------------------------+ | 整型 | byte | 1 字节 | -128 ~ 127 | +--------+--------+----------+---------------------------------------------------------+ | 浮点数 | float | 4 字节 | 大约 ± 3.402 823 47E+38F (有效位数为 6 ~ 7 位) | +--------+--------+----------+---------------------------------------------------------+ | 浮点数 | double | 8 宇节 | 大约 ± 1.797 693 134 862 315 70E+308 (有效位数为 15 位> | +--------+--------+----------+---------------------------------------------------------+ | 字符 | char | 2字节 | | +--------+--------+----------+---------------------------------------------------------+ 直接编辑生成后的表格为预期的表格(注意要对齐节点): .. code-block:: rest +--------+--------+----------+---------------------------------------------------------+ | 类别 | 类型 | 存储需求 | 取值范围 | +========+========+==========+=========================================================+ | 整型 | int | 4 字节 | -2 147 483 648 ~ 2 147 483 647 (正好超过 20 亿) | | +--------+----------+---------------------------------------------------------+ | | short | 2 字节 | -32 768 ~ 32 767 | | +--------+----------+---------------------------------------------------------+ | | long | 8字节 | -9 223 372 036 854 775 B08 ~ 9 223 372 036 854 775 807 | | +--------+----------+---------------------------------------------------------+ | | byte | 1 字节 | -128 ~ 127 | +--------+--------+----------+---------------------------------------------------------+ | 浮点数 | float | 4 字节 | 大约 ± 3.402 823 47E+38F (有效位数为 6 ~ 7 位) | | +--------+----------+---------------------------------------------------------+ | | double | 8 宇节 | 大约 ± 1.797 693 134 862 315 70E+308 (有效位数为 15 位> | +--------+--------+----------+---------------------------------------------------------+ | 字符 | char | 2字节 | | +--------+--------+----------+---------------------------------------------------------+ +--------+--------+----------+---------------------------------------------------------+ | 类别 | 类型 | 存储需求 | 取值范围 | +========+========+==========+=========================================================+ | 整型 | int | 4 字节 | -2 147 483 648 ~ 2 147 483 647 (正好超过 20 亿) | | +--------+----------+---------------------------------------------------------+ | | short | 2 字节 | -32 768 ~ 32 767 | | +--------+----------+---------------------------------------------------------+ | | long | 8字节 | -9 223 372 036 854 775 B08 ~ 9 223 372 036 854 775 807 | | +--------+----------+---------------------------------------------------------+ | | byte | 1 字节 | -128 ~ 127 | +--------+--------+----------+---------------------------------------------------------+ | 浮点数 | float | 4 字节 | 大约 ± 3.402 823 47E+38F (有效位数为 6 ~ 7 位) | | +--------+----------+---------------------------------------------------------+ | | double | 8 宇节 | 大约 ± 1.797 693 134 862 315 70E+308 (有效位数为 15 位> | +--------+--------+----------+---------------------------------------------------------+ | 字符 | char | 2字节 | | +--------+--------+----------+---------------------------------------------------------+ .. important:: 生成后的 Grid Table 可以添加 :ref:`table 指令 ` 来附加标题和调整位置等。 .. table:: a test for grid table :align: center +------+------+------+------+------+------+ | | Mon | Tue | Wed | Thu | Fri | +======+======+======+======+======+======+ | 田中 | (^^) | (xx) | (xx) | ('') | (^^) | +------+------+------+------+------+------+ | 鈴木 | (^^) | (^^) | ('') | (xx) | (^^) | +------+------+------+------+------+------+