0%

Org-Mode tutorial

Tutorial

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
* org-mode 简介

* 一级标题
** 二级标题
*** 三级标题
**** 四级标题

** 列表
常用快捷键:
- M-RRT 插入同级列表项
- M-S-RRT 插入有 checkbox的同级列表项
- C-c C-c 改变 checkbox状态
- M-left/right 改变列表项层级关系
- M-up/dowm 上下移动列表项

1) [-] 任务1 [33%]

1) [ ] 子任务1

2) [X] 子任务2

3) [ ] 子任务3

2) [ ] 任务2


+ treeroot

+ branch1

+ branch2


** footnote
在[fn:1]中提到了脚注的用法,这个标签是可以点击的

** 表格
创建表格时,首先输入表头:

#+BEGIN_EXAMPLE
input | Name | Phone | sub1 | sub2 | total |
|-
#+END_EXAMPLE

然后按 tab,表格就会自动生成
也可以按 C-c | 然后输入表格大小即可
- C-c C-c 对齐表格
- tab 调到右边一个表格
- enter 跳到下方的表格
- M-up/right/left/right 上下左右移动行(列)
- M-S-up/right/left/right 向上下左右插入行(列)
如果要插入行和列,也可在表头添加一个标签或者新起一行,输入|再调整格式即可。

| Name | Phone | sub1 | sub2 | total |
|-------------+--------+------+------+-------|
| maple | 134... | 89 | 98 | 187 |
| wizard | 152... | 78 | 65 | 143 |
| Hello World | 123... | 76 | 87 | 163 |
| hehe | 157... | 87 | 78 | 165 |

#+TBLFM: $5=$3+$4

*** 表格计算
在上表中total列中任一行输入 =$3+$4 ,然后按C-u C-c C-c


** 链接
链接的格式是:
#+BEGIN_EXAMPLE
[[链接地址][链接内容]]
#+END_EXAMPLE

[[link address][link sample]]

[[[http://orgmode.org/orgguide.pdf][grgguid.pdf]]]

[[file:/home/maple/图片/test.jpg][a picture]]

直接显示图片:

[[file:/home/maple/图片/test.jpg]]

** 待办事项TODO
TODO 是一类标题,需要用*开头
- C-c C-t 变换TODO的状态
- C-c / t 以树的形式展示所有的 TODO
- C-c , 设置优先级(方括号里的ABC)
- M-S-RET 插入同级TODO标签
*** TODO [#A] 任务1
*** TODO [#B] 任务2
*** TODO 总任务 [33%]
**** TODO 子任务1
**** TODO 子任务2 [0%]
- [-] subsub1 [1/2]
- [ ] subsub2
- [X] subsub3
**** DONE 一个已完成的任务

** 标签Tags
子标题的标签会继承父标题标签
*** title :work:learn:
- C-c C-q 为标题添加标签
- C-c / m 生成带标签的树
**** stitle :fly:plane:
**** stitle2 :car:run:

** 时间
- C-c . 插入时间
<2015-02-17 二>
时间前可以加DEADLINE:和SCHEDULED:表示时间的类型
DEADLINE:<2015-02-12 四>
一个常见的TODO标签:
*** TODO
一些待办事项
SCHEDULED: <2015-02-19 四>
DEADLINE: <2015-03-01 日>

** 富文本导出
可以加一些说明符:
#+TITLE: This is the title of the document
#+OPTIONS: toc:2 (only to two levels in TOC)
#+OPTIONS: toc:nil (no TOC at all)

#+BEGIN_QUOTE
Everything should be made as simple as possible,
but not any simpler -- Albert Einstein
#+END_QUOTE

#+BEGIN_CENTER
Everything should be made as simple as possible, \\
but not any simpler
#+END_CENTER

#+BEGIN_EXAMPLE
这里面的字符不会被转义
#+END_EXAMPLE
*** 一些特殊格式:
*bold*
/italic/
_underlined_
=code=
~verbatim~
+strike-through+

注释的用法# this is comment

# 注释
#+BEGIN_COMMENT
这里的注释不会被导出
#+END_COMMENT

在导出后LaTeX能被正确解释

\begin{equation}
\nabla^2 x=\int\Omega \frac{a}{\log{a}h
} \sum^n_{i=1} a_i d\Omega
\end{equation}

+
*** 插入源代码
org mode的源代码可以直接求出运行结果,需要在.emacsu配置文件中设置加载的运行语言
- C-c C-c 对当前代码块求值


(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . nil)
(R . t)
(python . t)
(C . t)
(java . t)
(js . t)
(plantuml . t)
(sql . t)
(org . t)
(clojure . t)
(perl . t)
(shell . t)
(sqlite . t)
)
)

** emacs-lisp
#+BEGIN_SRC emacs-lisp
(+ 1 2 3 4)
#+END_SRC

#+RESULTS:
: 10

** python
#+BEGIN_SRC python :results output
a = 1+1
print(a)
#+END_SRC

#+RESULTS:
: 2

** C++
#+begin_src C++ :includes <stdio.h>
int a=1;
int b=1;
printf("%d\n", a+b);
#+end_src

#+RESULTS:
: 2

** C
#+begin_src C
printf ("Hello World!\n");
#+end_src

#+RESULTS:
: Hello World!

** java
#+HEADERS: :classname HelloWorld
#+begin_src java :results output :exports both
public class test {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
#+end_src

#+RESULTS:
: Hello, World

# other or

#+BEGIN_SRC java :classname Testa
public class Testa {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
#+END_SRC

#+RESULTS:
| Hello | World |

** shell
#+begin_src shell
whoami
#+end_src

#+RESULTS:
: ichheit

*** css 文件
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="style1.css" />


*** 导出方式
- C-c C-e 选择相应的导出格式

[fn:1]本文参考自http://orgmode.org/orgguide.pdf

Other