文档编辑工具

曾经花了很多时间来选择和处理关于文档的编辑和处理工具。稍前一段时间选择的是r+markdown,其中有些问题没有很好的处理方法,比如作图问题,表格导出到不同的格式的问题。

现在算是找到了一个好的解决方案,即emacs的org-mode。这里基本上可以解决上面的问题。而且前面关于R+markdown的只是基本上这里也能用,但是可配置性更强。

1 一般的格式问题

可以参考文档 org-mode中的文字格式

2 源码处理问题

一般的问题可以参考 org-mode中的源码处理

3 插图问题

3.1 一般的统计作图

可以使用R语言。简单的实例可以参考 org-mode中的源码处理

3.2 流程图作图

可以使用dot来解决,简单的例子如下所示:

digraph { 
A->B
B->C 
C->A
开始 -> 结束 -> 检验
}

p6800_1.png

dot的文档 : The DOT Language

更多文档: graphviz doc

graph	:	[ strict ] (graph | digraph) [ ID ] '{' stmt_list '}'
stmt_list	:	[ stmt [ ';' ] stmt_list ]
stmt	:	node_stmt
|	edge_stmt
|	attr_stmt
|	ID '=' ID
|	subgraph
attr_stmt	:	(graph | node | edge) attr_list
attr_list	:	'[' [ a_list ] ']' [ attr_list ]
a_list	:	ID '=' ID [ (';' | ',') ] [ a_list ]
edge_stmt	:	(node_id | subgraph) edgeRHS [ attr_list ]
edgeRHS	:	edgeop (node_id | subgraph) [ edgeRHS ]
node_stmt	:	node_id [ attr_list ]
node_id	:	ID [ port ]
port	:	':' ID [ ':' compass_pt ]
|	':' compass_pt
subgraph	:	[ subgraph [ ID ] ] '{' stmt_list '}'
compass_pt	:	(n | ne | e | se | s | sw | w | nw | c | _)

3.3 精细的数学作图

可以使用tikz包来实现, 简单的实例可参考 org-mode中使用tikz画图

tikz的文档 texdoc tikz

4 表格

关于表格的问题,可以直接利用R语言的dataframe输出,然后加上 :colnames yes 即可以添加表头。实例在 org-mode中的源码处理 中有出现。

关于表格,还可以参考文章 org-mode中的表格

另外,也可以直接使用org模式中的org-table,这个也很好用,而且可以象excel那样进行表格的计算。并且表格的计算中可以调用emacs lisp的函数来进行计算,因此功能很强大。表格的计算也可以参考 org-mode中的表格

5 待解决的问题

现在还有一个没有同样解决方案的是r+markdown中的R代码和计算结果交织的输出形式。目前org mode中的输出模式是R代码放在一起,输出结果放在另一块,并没有交织输出的模式。



本文地址: http://www.bagualu.net/wordpress/archives/6800 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注