Org 和 Markdown 都是功能强大的纯文本标记语言,特别是前者。Org 一般在编辑器 Emacs 下使用,能够实现 Todo 日程管理和大型科技文字工程管理等复杂任务。同时复杂性也不可避免使得 Org 模式的学习周期稍长。相比来说,Markdown 属于轻量级标记语言,学习成本较低。由于后者部分支持 Html 语言,所以特别适合用于网络发布的短篇文字创作。

不同的 Markdown 煊染后端会导致非常不同的结果,本文的 Markdown 默认为 CSDN 煊染结果(与 vscode 和 github 差不多)。

章节标题和条目

Org 使用 * 号作为标题标识符。

  • * 号放在标题行的最前面, * 号前不能有空格,必须紧跟着行首符 ^
  • * 号表示一级标题, ** 表示二级标题,以此类推。
  • 标识符后必须有空格,然后才是标题文字,否则不会当做标题行处理。

相对应的, Markdown 使用 # 号作为标题标识符,用法类似。

Org 使用 - 号作为条目标识符, + 号也起相同的作用。另外使用数字加点 1. 或右括号 2) 表示带序号的条目标识符。标识符后必须有空格,然后才接条目文字。

同样 Markdown 也采用 - 号作为条目标识符,数字加点 1. 作为有序条目标识。

原文引用 \(\LaTeX\) 代码

为了方便说明 Org 和 Markdown 在输入 \(\LaTeX\) 公式时的不同,需要首先明确两者原文引用 \(\LaTeX\) 代码的方法。

Org 中,嵌入不经煊染的 \(LaTeX\) 源码有三种方式:

  • 通过 @ 符号在行内引用:形如 @@latex:any arbitrary LaTeX code@@, 从冒号开始到 @@ 都是 \(\LaTeX\) 源码。其实还有一种更简单的方法,用 =any arbitrary LaTeX code= 或是 ~any arbitrary LaTeX code~ 在行内引用源码。
  • 插入一到多个关键词行的形式:
1
#+LATEX: any arbitrary LaTeX code
  • 通过代码块的形式输出 begin 和 end 标识间的所有内容:
1
2
3
#+BEGIN_EXPORT latex
any arbitrary LaTeX code
#+END_EXPORT

Markdown 中引用源码要方便的多,不论是行内还是代码块都使用反引号进行原文引用。

  • 行内引用时,采用 `any arbitrary LaTeX code````any arbitrary LaTeX code``` 的形式,前后反引号在同一行。
  • 通过代码块引用时,前后反引号 ``` 要单独成行,代码放在中间。

\(\LaTeX\) 公式的输入

Org 对 \(\LaTeX\) 公式支持的很充分,几乎可无障碍原样插入。

  • 行内公号用 $a^2+b^2=c^2$ 或者 \(a^2+b^2=c^2\), 两者等效,都得到 \(a^2+b^2=c^2\) 。在符号 $...$ 之间,不能有空格。
  • 不编号的行间公式用 $$a^2+b^2=c^2$$ 或者 \[a^2+b^2=c^2\], 两者等价。前者与 Markdown 一致,后者与 Tex 一致。
  • 自动编号的行间公式可直接使用 Tex 语法:
1
2
3
4
\begin{equation}
\label{eq.mass-energy}
E=mc^2
\end{equation}

其中 \label{eq.mass-energy} 是公式的身份标记,eq.mass-energy 是公式唯一的名字。在文中其他位置通过 \eqref{eq.mass-energy} 即可引用此公式。

Markdown 根据煊染后端的不同,对 \(\LaTeX\) 的支持程度也不同。有的如同 Org,支持 Tex 样式的自动编号,有的很难对公式进行自动编号。一般更多的煊染器支持以下两种类似于 Org 的 \(\LaTeX\) 输入方式:

  • 行内公式用 $a^2+b^2=c^2$, 其中标识符 $...$ 之间不能有空格。
  • 行间公式用 $$a^2+b^2=c^2$$, 默认不编号,可以通过在标识符 $$...$$ 中间公式结尾处添加 \tag{num} 标签进行手动编号。
1
2
3
4
5
<a id="eq.mass-energy"></a>
$$
E=mc^2
\tag{num}
$$

其中第一行定义索引 id,num 是公式的手动编号,在文中可通过 [num](#eq.mass-energy) 进行引用。

插图和表格

Org 中插图和表格采用以下形式:

1
2
3
#+CAPTION: 标题说明(图表标题)
#+NAME: fig.pic-name
[[./img/a.jpg]]

其中 #+CAPTION: 关键词后是图片和表格的标题说明, #+NAME: 关键词后是图片或者表格的唯一身份名称,最后是插图的路径,或者紧跟插入的表格。

Markdown 中插图方式多样,如果不要求标题则很简单:

1
![Alt](图片的网络地址或是本地路径)

对于需要标题和细致显示描述的图片,由于 Markdown 部分支持 Html 语法,笔者采取如下插图形式:

1
2
3
4
5
<a id="fig.pic-name"></a>
<center>
    <img  src="图片的网络地址或是本地路径"  width="300px"  alt="alt name">
    <div>图 1: 图片标题</div>
</center><br>

第一行的 <a> 标签定义超链接,其中 id 为索引身份标记,供文中引用; <center> 标签用于将其间的内容居中; <img> 用于图片描述,其中 width 确定图片显示的宽度,当由于各种原因图片在网页中无法显示时,则替换显示 alt 中的文字内容; <div> 标签中包含图片标题; <br> 标签表示空一行,让图片标题处于合适的位置。

超链和引用

Org 一般采用如下形式的链接方式:

1
[[Link][Description]]

或者直接:

1
[[Link]]

其中 Link 是网络地址或本地文件路径,Description 是链接描述。

Link 也可以用来引用图表在 #+NAME: 中定义的 id,如 fig.pic-name;若要链接到文中某章节,则只需将 Link 换为章节标题,也可在标题前加星号;若要链接到文中任意特殊词汇,则首先在文中对目标用 <<...>> 作标记,然后再引用相同的目标词汇即可,如下所示。

1
2
3
<<目标>>
...
[[目标]]

另外,Org 可用 [fn:num] 的方式添加脚注。

Markdown 通常采用以下的链接方式:

1
[Description](Link)

同 Org 类似,Link 是链接地址,如果要链接章节标题则需要在标题前加 # 号,Description 是链接的文字描述。

Markdown 还有一种参考链接形式:

1
2
3
[Description][id]
...
[id]:Link

其中 [id]:Link 一般在文章结尾处,当作参考链接。

文字高亮标记

Org 中常用的文字高亮方式及其效果如下:

  • *粗体*: 粗体
  • /斜体/: 斜体
  • +删除线+: 删除线
  • _下划线_: 下划线
  • =一字不差=: 一字不差
  • ~代码~: 代码

其中 =一字不差=~代码~ 中的文字都会逐字逐句原原本本的输出,不会经过 Org 语法的处理。

Markdown 中常用的文字高亮样式如下:

  • **粗体**__粗体__: 粗体
  • *斜体*_斜体_: 斜体
  • ~~删除线~~: 删除线
  • `一字不差`: 一字不差
  • <u>下划线</u>: 下划线
  • <small>小号字体</small>: 小号字体
  • <big>大号字体</big>: 大号字体
  • <font size=2>2号字</font>: 2 号字
  • <font face="隶书">这是隶书</font>: 这是隶书
  • <font face="华文彩云" color=#FF0000 size=12>12号红色华文彩云</font>: 12 号红色华文彩云
  • $\color{gold}{金色}$: \(\color{gold}{金色}\)

另外 Markdown 还有引用摘录文字的方法:

1
> 质能方程: $E=mc^2$

在行首输入 > 符号,空格后拷贝摘录的文字。