您的位置:首页 > 其它

在org中使用table.el

2016-04-16 14:59 1296 查看

spacemacs中转换org-table和table.el

M-m m t c 可以在两者之间来回转换

在org中使用table.el

table.el支持创建复杂的ASCII 表格,功能比org table强大,写文档表格是十分重要的,现在就来试一下。
注意
1. 表格不能对齐的原因是没有采用等宽字体
2. 取消自动换行,用M-x toggle-truncate-line命令取消

在org中创建table.el表格

使用快捷键C-c ~ 回答四个问题,column/row number and width
name age  city              
dean 
     
     
old  
     
     
1.shanghai        
2.beijing         
3.yangzhou        
li   
     
     
young
     
     
 beijing          
shanghai          
zhangyoung beijingshanghai 

3 编辑表格

不能直接编辑,需要使用快捷键C-c ' 打开另一个buffer, 编辑完后用C-c '保存退出,放弃编辑用 C-c k 退出
spacemacs中保存和放弃退出为: M-Enter c和 M-Enter k

cell操作

文字换行

直接在编辑时用回车换行就好,导出为HTML表格时也换行了,这一点比org-table方便太多,因为我总是要不断的用
标记。

水平切分

C-c C-c | 就可以在当前光标所在的cell里增加一个竖线。这里要记住水平指的是用竖线在一个水平面上切分,结果是还是一层。

4.3 垂直切分

C-c C-c - 可以在当前光标所在的cell里增加一个横线。这里要注意cell中必须已经存在多行字符串才有效。
上面三个操作导出的HTML结果如图



合并单元格

C-c C-c *
会提示向哪个方向合并

减少高度

C-c C-c {

表格对齐

因为我的org模式用的不是等宽字体,只在org-table里采用等宽字体,这样org里非表格的文字才会展示的美观。但是就带来了问题,
org中如果有table(不是org-table)的话,无论是编辑状态还是非编辑状态,table里只要有中文,就无法对齐。

首先解决编辑表格的字体,让编辑时表格对齐

可以调用M-x buffer-set-faces,选择之前设置过得一个变量名称,比如:
~/.spacemacs中设置了table-cell(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(org-table ((t (:foreground "#6c71c4" :family "Ubuntu Mono"))))
'(table-cell ((t (:foreground "#6c71c4" :family "Ubuntu Mono"))))

这里就可以选择table-cell表格在编辑中文时就会对齐。

然后解决org中显示的表格不对齐的问题

光标放在org不对齐的表格上,用C-u C-x = 查找face,发现了这个secondary ...好设置一下:(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(org-table ((t (:foreground "#6c71c4" :family "Ubuntu Mono"))))
'(secondary-selection ((t (:background "#100a14" :foreground "#6c71c4" :family "Ubuntu Mono"))))
'(table-cell ((t (:foreground "#6c71c4" :family "Ubuntu Mono")))))
现在只需要进入表格编辑状态, org模式就会采用secondary-selection的字体. org里的表格就自动对齐了。
这种方式有个缺点,就是当没有进入表格编辑状态时,org文件的表格仍然没有对齐。取巧的方法是无论是否要编辑先进入编辑状态,然后将编辑buffer隐藏.这时看到的org里面的table就很好看了。仍然是权益之际。
但是导出为HTML仍然是对齐的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  emacs org table