单元格的Orgmode表格式

jmq*_*jmq 6 emacs org-mode org-table

我有一个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};    |
 |                                |                                                      |
 |--------------------------------+------------------------------------------------------|
Run Code Online (Sandbox Code Playgroud)

C-c C-c使用键盘快捷键调整表格大小时: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};        |
 |                                |                                                      |
 |--------------------------------+------------------------------------------------------|
Run Code Online (Sandbox Code Playgroud)

它会自动从表格中的内容中修剪前导空格.有没有办法在组织模式表中防止这种情况?我想组织模式不改变内容的格式.

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

小智 0

解决这个问题的一个真正的 hack 方法是围绕 org-table-align 重新定义或修改。相关片段大致就在这里。通过将 * 更改为 ?,您将保留开头的空格。

--- ./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 块。不优雅,但是啊好吧......