6

我有一个 Emacs 组织模式表,如下所示:

 |--------------------------------+------------------------------------------------------|
 | <20>                           | <60>                                                 |
 | How do you alter your password | The command to alter your password in oracle is::    |
 | in Oracle?                     |                                                      |
 |                                |     ALTER USER {userid} IDENTIFIED BY {password};    |
 |                                |                                                      |
 |--------------------------------+------------------------------------------------------|

当使用C-c C-cie 使用键盘快捷键调整表格大小时:Ctrl-C + Ctrl-C或自动,它会破坏表格元素内部的间距,我得到:

 |--------------------------------+------------------------------------------------------|
 | <20>                           | <60>                                                 |
 | How do you alter your password | The command to alter your password in oracle is::    |
 | in Oracle?                     |                                                      |
 |                                | ALTER USER {userid} IDENTIFIED BY {password};        |
 |                                |                                                      |
 |--------------------------------+------------------------------------------------------|

它会自动修剪表格内容中的前导空格。有没有办法在组织模式表中防止这种情况?我希望 org 模式不更改内容的格式。

这是 Emacs 版本24.3.50,但版本中的行为是相同的24.2(我在两个版本中都尝试过)。

4

1 回答 1

0

解决这个问题的一种非常hack-ish的方法是围绕org-table-align重新定义或defadvice。相关的片段大致在此处。通过将 * 更改为 ?,您将保留开头的空格。

--- ./org-table.el
+++ ./org-table.el.orig
@@ -752,7 +752,7 @@
     ;; 通过拆分行获取数据字段。
     (setq 字段 (mapcar
          (λ (l)
- (org-split-string l " *| *"))
+ (org-split-string l " *| ?"))
          (delq nil (复制序列行))))
     ;; 最长的行有多少个字段?
     (条件情况为零

不过,我不确定你是否真的想这样做。您是否会考虑使用自定义标记功能来重构您的标记,也许通过使用标题来代替,以防您以后真的需要它看起来像表格?如果这让您感到困惑,那么另一种方法可能是使用 #+BEGIN_HTML 和 #+END_HTML 块。不优雅,但嗯...

于 2014-02-23T04:03:34.427 回答