合并org-mode表中的单元格

Mir*_*lov 48 emacs cell org-mode

是否可以在Org模式表中合并单元格?

水平合并的例子是这样的:

| Header | Merged header |
|--------+-------+-------|
| Text1  | Text2 | Text3 |
| Text4  | Text5 | Text6 |
Run Code Online (Sandbox Code Playgroud)

垂直合并的示例:

| Header1 | Header2 | Header3 |
|---------+---------+---------|
| Merged  | Text1   | Text2   |
| text    |---------+---------|
| here    | Text3   | Text4   |
Run Code Online (Sandbox Code Playgroud)

如果在org-mode中以某种方式可行?如果没有,模拟合并单元格的最惯用方法是什么?

bzg*_*bzg 20

使用组织模式表是不可能的.但是,看一下table.el包(包含在emacs中一段时间​​,所以尝试:Ch d table).Org-mode对此库中的表有一些支持,例如在导出时,但不希望完全兼容.

至于模拟合并单元格,它取决于你想要的.在同一单元格中内联文本字符串可能足以进行计算/发布,但不适用于可视化.

  • table.el无法支持org-table中已经存在的doc链接、计算等基本功能。这是可悲的。 (2认同)

Ynj*_*jmh 7

我刚刚从emacs-orgmode 邮件列表中找到了一个非常适合我的示例。

+---+-----+-----------+
|   | A   | B         |
+---+-----+-----+-----+
| 1 | A1  | B1  | C1  |
|   |     +-----+-----+
|   | A1b | B1b | C1b |
+---+-----+-----+-----+
| 2 | A2  |   B2 C2   |
|   +-----+           |
|   | A2b |  B2b C2b  |
+---+-----+-----------+

Run Code Online (Sandbox Code Playgroud)

如果您像下面这样修改表格,它也可以工作。

+---------+---------+---------+
| Header1 | Header2 | Header3 |
+---------+---------+---------+
| Merged  | Text1   | Text2   |
| text    +---------+---------+
| here    | Text3   | Text4   |
+---------+---------+---------+
Run Code Online (Sandbox Code Playgroud)

所以我找到了一些提示:

  • 用于|展开行

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


这是另一种选择,但不是很方便。您可以使用引用 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
Run Code Online (Sandbox Code Playgroud)

此 synatx 仅在导出为 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
Run Code Online (Sandbox Code Playgroud)

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

  • 组织模式无法将其识别为表。尽管导出示例有效,但当您尝试在单元格中添加链接时,HTML 导出会被破坏。您也不能使用选项卡。不幸的是,这远非理想。 (2认同)