3.2 Column Width and Alignment

列宽由表格编辑器自动确定。 列的对齐方式则根据该列中数值型与非数值型单元格的占比自动判断。

编辑单元格可能会改变表格的对齐方式。 移动连续的行或列——例如使用 TABRET—会自动重新对齐表格。 如果你想禁用该行为,可将 org-table-automatic-realign 设置为 nil 。 无论如何,你都可以手动对齐表格:

C-c C-c (org-table-align)

对齐当前表格。

设置选项 org-startup-align-all-tables 会在打开文件时重新对齐文件内所有表格。 你也可以按单个文件设置该选项:

#+STARTUP: align
#+STARTUP: noalign

有时单个或少数单元格需要容纳较多文本,会导致列宽过大,使用不便。 你可能希望隐藏若干列,或按固定宽度显示而不考虑内容,如下例所示。

|---+---------------------+--------|           |---+-------…+…|
|   | <6>                 |        |           |   | <6>   …|…|
| 1 | one                 | some   |   ----\   | 1 | one   …|…|
| 2 | two                 | boring |   ----/   | 2 | two   …|…|
| 3 | This is a long text | column |           | 3 | This i…|…|
|---+---------------------+--------|           |---+-------…+…|

要设置列宽,可在该列任意一个单元格中只填写字符串 ‘<N>’ , 其中 N 为以字符数表示的宽度。 你可以使用以下工具控制列的显示宽度:

C-c TAB (org-table-toggle-column-width)

收缩或展开当前列。

如果某列通过宽度标记指定了宽度 W,收缩时只显示前 W 个可见字符。 否则该列会收缩至仅一个字符宽度。

若在第一列之前或最后一列之后调用,会提示输入要操作的列范围列表。

C-u C-c TAB (org-table-shrink)

收缩所有设置了宽度的列,展开其余列。

C-u C-u C-c TAB (org-table-expand)

展开所有列。

将鼠标悬停在收缩后的单元格上即可查看完整文本, 提示窗口会显示该单元格的全部内容。 或者使用 C-h . (display-local-help) 也可显示完整内容。 为方便使用,在收缩列附近进行任何修改都会自动展开该列。

设置选项 org-startup-shrink-all-tables 会在打开文件时立即收缩所有包含宽度标记的列。 你也可以按单个文件设置:

#+STARTUP: shrink

如果你想覆盖自动对齐规则(数值多的列右对齐、文本多的列左对齐), 可以类似地使用 ‘<r>=、=<c>’ 或 ‘<l>’ 。 你还可以同时设置对齐方式和列宽,例如 ‘<r10>’ 。

仅包含这些格式标记的行会在导出文档时自动移除。