【问题标题】:Create columns in html tables using org-mode使用 org-mode 在 html 表中创建列
【发布时间】:2012-03-04 18:27:43
【问题描述】:

我经常在 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> 

组织模式:

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

使用 org-mode,我必须手动对齐文本行,而使用 LaTeX,我可以将文本放置在 minipage 环境中,而不用担心跨多行的文本如何对齐。

【问题讨论】:

  • 是你不知道如何在 org-mode 的表格中放入图片的问题吗?使用inline images 会为此工作吗?
  • 不一定是图像,而是任意长度/高度的任意文本/对象,不会影响下一列中的文本布局。默认情况下,组织模式表是按行排列的。
  • 所以您希望固定列宽?那么在 HTML 中,你想要类似&lt; COL width=50% /&gt;?
  • 实际上由于多行文本导致的垂直扩展......对于所有的混乱,我深表歉意。
  • 没问题 - 对不起我所有的问题,但我想了解你想要什么:)。听起来您希望 HTML 表格中的单元格大小不均匀?像this 这样的东西?如果没有,您知道您希望 HTML 的最终结果是什么样的吗?

标签: html org-mode


【解决方案1】:

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

这就是我认为你想要的。在 HTML 中,您只有 1 行,但您必须手动输入 &lt;br/&gt; 才能在每列中获取换行符。我对固定列宽的评论是说您可以修复这些宽度,然后让文本在每一列中自动换行。这应该可以通过 org-mode 中的 #+ATTR_HTML: 标签来实现。问题是它会在你想要的地方包裹但不会破坏。

我认为在 org-mode 中您必须执行与 HTML 类似的操作。即,您需要指定换行的位置。我还没有测试过,但\n 应该以 HTML 格式导出为&lt;br&gt;。所以你也许可以摆脱这样的事情:

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

这有点不太理想,因为您仍有手工工作要做。如果你知道一些 Lisp - 或者甚至使用 org-mode Babel - 你可以编写一些脚本来获取一些文本块作为输入,并用\n's 分割它并形成你的列。同样,它不像复制和粘贴信息那么简单,但它可能会完成工作。我不确定是否可以直接在 org-mode 中执行此操作。

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

【讨论】:

  • 谢谢!不幸的是,\n 没有翻译成&lt;br&gt;,你说得对,FAQ 答案为我解决了这个问题......但感谢你的所有帮助。
  • 是的,我在今天上班的路上想了更多,得出的结论是换行符可能没有正确翻译。您也不能在表格中输入&lt;br/&gt;,因为尖括号将在HTML 中导出为&amp;lt;&amp;gt;。可能还有其他一些特殊字符被翻译,但我不确定。
  • 是的,就是这样......我已经看到一些 lispy 解决方案可以将 &amp;lt&amp;gt 重新转换回原来的定义,但是是的,可能不值得。我会找到另一种格式来展示我的信息...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多