目录

#+TITLE: Org Mode 标记速查表
#+OPTIONS: ^:{}
#+TAGS: org-mode, markup, cheatsheet, productivity
#+DESCRIPTION: Org Mode 富文本标记、结构、表格与 Babel 功能的速查清单,涵盖常见语法与导出注意事项。

* Org Mode 标记速查表 (Markup Cheatsheet)

Org Mode 的核心在于其强大的大纲和文档结构能力,以及丰富的富文本标记。

** 1. 文档结构 (Document Structure)

| 功能  | Org Mode 语法  | Org Mode 示例  | 描述  |
|--------------------+-------------------------------+---------------------------------------------------------------+-----------------------------------------------------|
| *标题 (Headlines)* | =* 标题一=  | * 章节标题  | 一级标题。标题级别由星号数量决定。  |
| *子标题*  | =** 标题二=  | ** 1.1 小节  | 二级标题,以此类推。  |
| *TODO 状态*  | =* TODO 任务=  | * TODO 编写报告  | 在标题星号后添加 =TODO=、=DONE= 等状态关键词。  |
| *优先级*  | =* [\#A] 标题=  | * [\#A] 紧急任务  | 优先级默认为 A, B, C。=\#A= 为最高。  |
| *计划时间*  | =SCHEDULED: <YYYY-MM-DD Day>= | SCHEDULED: <2025-11-20 Wed>  | 设置任务的计划开始日期。  |
| *截止时间*  | =DEADLINE: <YYYY-MM-DD Day>=  | DEADLINE: <2025-11-25 Mon>  | 设置任务的最后截止日期。  |
| *标签 (Tags)*  | =* 标题 :tag:=  | * 会议记录 :WORK:MEETING:  | 在标题末尾使用冒号 =:= 包裹标签。  |
| *属性抽屉*  | =:PROPERTIES:=  | :PROPERTIES: :AUTHOR: Gemini :END:  | 用于存储标题的元数据(如 ID, 计划日期, 优先级等)。 |
| *通用抽屉*  | =:DRAWER_NAME:=  | :LOGBOOK: CLOCK: [2025-11-15 10:00]--[2025-11-15 11:00] :END: | 用于存储非属性的隐藏信息,如日志、归档内容。  |
| *普通段落*  | 纯文本  | 这是一个普通的段落。  | 段落之间用一个或多个空行分隔。  |

** 2. 富文本标记 (Rich Contents Markup)

| 功能/样式  | Org Mode 语法  | Org Mode 示例  | 描述  |
|------------------+----------------------------------+-------------------------------------------------------------------------------------+------------------------------------------------------|
| *粗体*  | =*粗体文字*=  | *重要信息*  | 用于强调文字。  |
| /斜体/  | =/斜体文字/=  | /待办事项/  | 用于强调文字。  |
| _下划线_  | =_下划线文字_=  | _关键定义_  | 用于强调文字。  |
| +删除线+  | =+删除线文字+=  | +已废弃+  | 用于表示已删除的内容。  |
| =等宽字体=  | ==等宽文字==  | =main.c=  | 用于短小的代码片段或需要等宽字体显示的内容。  |
| ~逐字~  | =~代码~=  | ~ls -l~  | 类似于等宽字体,用于代码或命令。  |
| 链接  | =[[URL][描述文字]]=  | [[https://google.com][Google 搜索]]  | 外部链接。  |
| 内部链接  | =[[file:path.org][描述]]=  | [[file:report.org][项目报告]]  | 链接到本地文件或Org文件的标题。  |
| 图像  | =[[./path/to/image.png]]=  | [[./assets/logo.png]]  | 插入图像,导出时可见。  |
| 无序列表  | =- 列表项=  | - 苹果  | 使用 =-=、=+= 或 =*= 开头,后跟一个空格。  |
| 有序列表  | =1. 列表项=  | 1. 第一步  | 使用数字后跟点号或括号,再跟一个空格。  |
| 源代码块 (显示)  | =#+BEGIN_SRC [语言]...#+END_SRC= | #+BEGIN_SRC python\nprint("Hello")\n#+END_SRC  | 嵌入多行代码或脚本。  |
| 引用块  | =#+BEGIN_QUOTE ... #+END_QUOTE=  | #+BEGIN_QUOTE 这是引用内容。 #+END_QUOTE  | 突出显示大段引用的文字。  |
| 水平分割线  | =-----=  | -----  | 插入一条水平线(五个或更多连字符)。  |
| 脚标引用  | =文本[fn:名称]=  | 一个观点[fn:示例]  | 在文本中插入脚标引用。  |
| 脚标定义  | =[fn:名称] 内容=  | 见文档底部  | 在文档底部或任意位置定义脚标。  |
| 下标  | =H_{2}O=  | CO_{2}  | 将 =_= 后面的内容显示为下标(请使用大括号)。  |
| 上标  | =E=mc^{2}=  | T^{2}  | 将 =^= 后面的内容显示为上标(请使用大括号)。  |
| *LaTeX 行内公式* | =$$\\text{公式}\$$=  | $$\alpha + \beta = 1$$  | 用于显示数学公式,默认在行内。  |
| *LaTeX 显示公式* | =#+BEGIN_LATEX ... #+END_LATEX=  | #+BEGIN_LATEX\n \\sum_{n=1}^{\infty} \\frac{1}{n^2} = \\frac{\pi^2}{6}\n#+END_LATEX | 用于显示独立的、居中的数学公式块。  |
| *特殊符号*  | =\\text= 或 =\\symbol=  | \lambda 或 \oplus  | 使用 LaTeX 符号名称,导出时自动转换为相应符号。  |
| *特殊字符转义*  | =\\字符=  | \*星号  | 在需要保留特殊符号(如 =*=、=/=、=_=)的原义时使用。 |

** 3. 表格与电子表格 (Tables and Spreadsheets)

| 功能  | Org Mode 语法  | Org Mode 示例  | 描述  |  |  |  |  |  |  |  |
|--------------------+----------------------+----------------------------------+------------------------------------------------------+---+--------------------------------+--------------------------------------+------+---+--------+----------------|
| *创建表格*  | =  | 内容  | 内容  | = |  | 姓名  | 年龄 |  | 使用 = | = 分隔单元格。 |
| *分隔线*  | =  | -=  |  | - |  | 用于分隔标题行或对数据进行视觉分组。 |  |  |  |  |
| *引用(单元格)*  | =@R$C=  |  | @1$2  |  | 引用第 R 行、第 C 列的单元格。 |  |  |  |  |  |
| *引用(列)*  | =$C=  |  | $3  |  | 引用当前行的第 C 列。  |  |  |  |  |  |
| *表格公式 (TBLFM)* | =#+TBLFM: $C='公式'= | #+TBLFM: $3='sum($1, $2)'  | 定义表格公式,用于计算列或单元格的值。  |  |  |  |  |  |  |  |
| *公式示例 (Calc)*  | =colname='公式'=  | #+TBLFM: $3=$1+$2  | 简单的 Calc 风格公式,例如第三列等于第一列加第二列。 |  |  |  |  |  |  |  |
| *公式示例 (Lisp)*  | =(calc:formula)=  | #+TBLFM: $3='(round (* $1 1.1))' | 使用 Emacs Lisp 函数进行更复杂的计算。  |  |  |  |  |  |  |  |

** 4. 源代码执行 (Org Babel)

| 功能  | Org Mode 语法  | Org Mode 示例  | 描述  |
|--------------------------+------------------------------------+---------------------------------------------+-----------------------------------------------------------------------------|
| *执行代码块*  | =#+BEGIN_SRC [语言] ... #+END_SRC= | #+BEGIN_SRC python\nprint(1 + 1)\n#+END_SRC | 定义一个可执行的代码块。  |
| *结果行*  | =#+RESULTS:=  | #+RESULTS:\n: 2  | 代码块执行后自动插入的结果,*不要手动修改*。  |
| *头部参数 (Header Args)* | =#+NAME: [名称]=  | #+NAME: hello-code  | 给代码块命名,方便引用。  |
| *结果处理*  | =#+HEADER: :results [类型]=  | #+HEADER: :results output  | 指定结果类型:=output= (打印输出)、=value= (返回值)、=table= (表格)。  |
| *是否执行*  | =#+HEADER: :exports [类型]=  | #+HEADER: :exports code  | 指定导出时包含的内容:=code= (只代码)、=results= (只结果)、=both=、=none=。 |
| *引用代码块*  | =<<名称>>=  | <<hello-code>>  | 在文档中引用已命名代码块的内容。  |

** 重点提示

1. *导出选项:* 文件顶部的 =#+OPTIONS: ^:{}= 确保了在导出(如到 HTML 或 LaTeX)时,上标和下标 (=^= 和 =_=) 能被正确地解析和渲染。
2. *上/下标的最佳实践:* 由于启用了 =#+OPTIONS: ^:{}=,请始终使用花括号 ={}= 来包裹上标和下标的内容,例如 =CO_{2}= 和 =x^{2}= 。
3. *LaTeX 公式:* 使用 =$$\\text{公式}\$$= 或 =#+BEGIN_LATEX ... #+END_LATEX= 块插入公式,公式使用标准的 LaTeX 数学语法。
4. *空格要求:* 粗体、斜体等标记(如 =*= 、 =/=  、 =_= )必须紧密包裹在内容周围,且内容前后不能有空白字符,整个标记前后必须有空格与其它内容分隔开。
5. *通用性:* 这些标记在Org Mode导出(如HTML、PDF、Markdown)时,会转换为对应的富文本格式。

[fn:示例] 这是一个脚注示例,用于展示如何定义脚注内容。