在org-mode表格中合并单元格

66

在Org-mode表格中是否可以合并单元格?

水平方向合并单元格的示例如下:

| Header | Merged header |
|--------+-------+-------|
| Text1  | Text2 | Text3 |
| Text4  | Text5 | Text6 |

垂直合并的示例:

| Header1 | Header2 | Header3 |
|---------+---------+---------|
| Merged  | Text1   | Text2   |
| text    |---------+---------|
| here    | Text3   | Text4   |

如果在org-mode中可以某种方式实现合并单元格,那么如何实现呢?如果不能实现,最常用的模拟合并单元格的方法是什么?


52
我希望他们能够添加这个功能... - labyrinth
15
我希望我可以给最后一条评论点赞两次... - Dror
2个回答

22

使用org-mode表格不可能实现。然而,可以查看一下table.el包(已经在emacs中包含了一段时间,可以尝试:C-h d table)。Org-mode对这个库的一些表格支持,例如在导出时,但不要期望完全兼容。

至于模拟合并单元格,这取决于您想要什么。将文本字符串嵌入到同一个单元格中对于计算/发布可能足够,但对于可视化来说可能不够。


2
table.el 无法支持 org-table 中已经存在的基本功能,如文档链接和计算。这真是令人遗憾。 - Dean Chen

6
我刚在emacs-orgmode邮件列表中找到了一个适合我的示例,这个示例对我来说非常好用。
+---+-----+-----------+
|   | A   | B         |
+---+-----+-----+-----+
| 1 | A1  | B1  | C1  |
|   |     +-----+-----+
|   | A1b | B1b | C1b |
+---+-----+-----+-----+
| 2 | A2  |   B2 C2   |
|   +-----+           |
|   | A2b |  B2b C2b  |
+---+-----+-----------+


如果您按照下面的方式修改表格,也可以使其正常工作。
+---------+---------+---------+
| Header1 | Header2 | Header3 |
+---------+---------+---------+
| Merged  | Text1   | Text2   |
| text    +---------+---------+
| here    | Text3   | Text4   |
+---------+---------+---------+

所以我找到了一些技巧:

  • 使用 | 展开行

  • 使用 +-..-+ 包围分割行


这里有另一个不是很方便的替代选择。您可以使用引用HTML标签处理HTML表格导出。

#+BEGIN_EXPORT html
<TABLE BORDER="1">
  <TR>
    <TH>Header1</TH>
    <TH>Header2</TH>
    <TH>Header3</TH>
  </TR>
  <TR>
    <TD ROWSPAN="2">Merged text here</TD>
    <TD>Text1</TD>
    <TD>Text2</TD>
  </TR>
  <TR>
    <TD>Text3</TD>
    <TD>Text4</TD>
  </TR>
</TABLE>
#+END_EXPORT

这个语法只在导出为html时有效。如果你想要将表格导出为pdf,你应该使用下面的语法。你可以使用LaTeX Tables Generator在线生成LaTeX表格。

#+BEGIN_EXPORT latex
% Please add the following required packages to your document preamble:
% \usepackage{multirow}
\begin{table}[]
\begin{tabular}{lll}
Header1                           & Header2 & Header3 \\
\multirow{2}{*}{Merged text here} & Text1   & Text2   \\
                                  & Text3   & Text4  
\end{tabular}
\end{table}
#+END_EXPORT

org导出中存在许多后端,如果您想要导出到这些后端,可能需要编写自定义代码来适应这些后端。


2
Org-mode无法将其识别为表格。即使导出您的示例可以正常工作,但是当您尝试在单元格中添加链接时,HTML导出会出现问题。您也不能使用制表符。不幸的是,这远非理想。 - Ataias Reis
1
这些是table.el表格:Org模式可以导出它们,但除此之外,它为它们提供的支持非常有限。请参见17.14.1 Org合作的软件包 - NickD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接