使用org-mode在html表中创建列

时间:2012-03-04 18:27:44

标签: html org-mode

我经常在LaTeX中创建表格并用这种方式填充文本或图形:

\begin{tabular}{cc}
\begin{minipage}{.5\textwidth}
  Stuff in column 1 which can be a figure
\end{minipage} &
\begin{minipage}{.5\textwidth}
  Stuff in column 2 which can be a figure
\end{minipage}
\end{tabular}

当我使用minipage环境时,我不再需要按行排列第1列和第2列中的文本,因此我可以根据需要输入,编辑或粘贴散文(有点像创建MS Word中的表格......)。

使用emacs org-mode生成HTML时有这样的伎俩吗?

修改

更好地描述我的情况......

如果我有散文,

文本块1:

c1, line1
c1, line2
c1, line3

文本块2:

c2, line1
c2, line2

乳胶:

\begin{tabular}{cc}
\begin{minipage}{.5\textwidth}
  c1, line1
  c1, line2
  c1, line3
\end{minipage} &
\begin{minipage}{.5\textwidth}
  c2, line1
  c2, line2
\end{minipage}
\end{tabular}

HTML:

<table>
<tr>
<td>
c1, line1<br>
c1, line2<br>
c1, line3<br>
</td>
<td>
c2, line1<br>
c2, line2<br>
</td>
</tr>
</table> 

org-模式:

| c1, line1 | c2, line1 |
| c1, line2 | c2, line2 |
| c1, line3 |           |

使用org-mode,我必须手动对齐文本行,而使用LaTeX,我可以将文本放在一个小型环境中,而不用考虑跨越多行的文本如何对齐。

1 个答案:

答案 0 :(得分:2)

这只是作为答案而不是评论,以便我有更多空间 - 这不是最佳解决方案。

这就是我想你想要的。在HTML中,您只有1行,但您必须手动输入<br/>才能在每列中获取换行符。我对固定列宽的评论是说你可以修复那些宽度,然后让文本在每列中包装。对于org-mode中的#+ATTR_HTML:标记,这应该是可行的。问题是它会包装但不会破坏你想要的地方。

我认为在org-mode中你必须做类似于HTML的事情。也就是说,您需要指定行应该断开的位置。我尚未对其进行测试,但\n应在HTML中导出为<br>。所以你可能会得到这样的东西:

| c1, line1 \n c1, line2 \n c1, line3 | c2, line1 \n c2, line2 |

这仍然不太理想,因为你还有手工工作要做。如果您了解一些Lisp - 甚至使用org-mode Babel - 您可以编写一些脚本来将一些文本块作为输入并将其与\n分开并形成您的列。同样,它不像复制和粘贴您的信息那么简单,但它可能会完成工作。我不确定在org-mode中是否有办法直接这样做。

编辑:实际上FAQ for tables下的第一个问题似乎回答了直接在org-mode中无法实现的问题......我想。