目录
记录 Org 和 Markdown 的一些异同
Org 和 Markdown 都是功能强大的纯文本标记语言,特别是前者。Org 一般在编辑器 Emacs 下使用,能够实现 Todo 日程管理和大型科技文字工程管理等复杂任务。同时复杂性也不可避免使得 Org 模式的学习周期稍长。相比来说,Markdown 属于轻量级标记语言,学习成本较低。由于后者部分支持 Html 语言,所以特别适合用于网络发布的短篇文字创作。
不同的 Markdown 煊染后端会导致非常不同的结果,本文的 Markdown 默认为 CSDN 煊染结果(与 vscode 和 github 差不多)。
章节标题和条目
Org 使用 *
号作为标题标识符。
*
号放在标题行的最前面,*
号前不能有空格,必须紧跟着行首符^
。*
号表示一级标题,**
表示二级标题,以此类推。- 标识符后必须有空格,然后才是标题文字,否则不会当做标题行处理。
相对应的, Markdown 使用 #
号作为标题标识符,用法类似。
Org 使用 -
号作为条目标识符,+
号也起相同的作用。另外使用数字加点 1.
或右括号 2)
表示带序号的条目标识符。标识符后必须有空格,然后才接条目文字。
同样 Markdown 也采用 -
号作为条目标识符,数字加点 1.
作为有序条目标识。
原文引用 LaTeX \LaTeX LATEX 代码
为了方便说明 Org 和 Markdown 在输入 LaTeX \LaTeX LATEX 公式时的不同,需要首先明确两者原文引用 LaTeX \LaTeX LATEX 代码的方法。
在 Org 中,嵌入不经煊染的 L a T e X LaTeX LaTeX 源码有三种方式:
- 通过 @ 符号在行内引用:形如
@@latex:any arbitrary LaTeX code@@
, 从冒号开始到@@
都是 LaTeX \LaTeX LATEX 源码。其实还有一种更简单的方法,用=any arbitrary LaTeX code=
或是~any arbitrary LaTeX code~
在行内引用源码。 - 插入一到多个关键词行的形式:
#+LATEX: any arbitrary LaTeX code
- 通过代码块的形式输出 begin 和 end 标识间的所有内容:
#+BEGIN_EXPORT latex
any arbitrary LaTeX code
#+END_EXPORT
在 Markdown 中引用源码要方便的多,不论是行内还是代码块都使用反引号进行原文引用。
- 行内引用时,采用
`any arbitrary LaTeX code`
或 `` ```any arbitrary LaTeX code`````的形式,前后反引号在同一行。 - 通过代码块引用时,前后反引号 `` `````要单独成行,代码放在中间。
LaTeX \LaTeX LATEX 公式的输入
Org 对 LaTeX \LaTeX 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 a2+b2=c2 。在符号$...$
之间,不能有空格。 - 不编号的行间公式用
$$a^2+b^2=c^2$$
或者\[a^2+b^2=c^2\]
, 两者等价。前者与 Markdown 一致,后者与 Tex 一致。 - 自动编号的行间公式可直接使用 Tex 语法:
\begin{equation}
\label{eq.mass-energy}
E=mc^2
\end{equation}
其中 \label{eq.mass-energy}
是公式的身份标记,eq.mass-energy 是公式唯一的名字。在文中其他位置通过 \eqref{eq.mass-energy}
即可引用此公式。
Markdown 根据煊染后端的不同,对 LaTeX \LaTeX LATEX 的支持程度也不同。有的如同 Org,支持 Tex 样式的自动编号,有的很难对公式进行自动编号。一般更多的煊染器支持以下两种类似于 Org 的 LaTeX \LaTeX LATEX 输入方式:
- 行内公式用
$a^2+b^2=c^2$
, 其中标识符$...$
之间不能有空格。 - 行间公式用
$$a^2+b^2=c^2$$
, 默认不编号,可以通过在标识符$$...$$
中间公式结尾处添加\tag{num}
标签进行手动编号。
<a id="eq.mass-energy"></a>
$$
E=mc^2
\tag{num}
$$
其中第一行定义索引 id,num 是公式的手动编号,在文中可通过 [num](#eq.mass-energy)
进行引用。
插图和表格
Org 中插图和表格采用以下形式:
#+CAPTION: 标题说明(图表标题)
#+NAME: fig.pic-name
[[./img/a.jpg]]
其中 #+CAPTION:
关键词后是图片和表格的标题说明, #+NAME:
关键词后是图片或者表格的唯一身份名称,最后是插图的路径,或者紧跟插入的表格。
Markdown 中插图方式多样,如果不要求标题则很简单:
![Alt](图片的网络地址或是本地路径)
对于需要标题和细致显示描述的图片,由于 Markdown 部分支持 Html 语法,笔者采取如下插图形式:
<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 一般采用如下形式的链接方式:
[[Link][Description]]
或者直接:
[[Link]]
其中 Link 是网络地址或本地文件路径,Description 是链接描述。
Link 也可以用来引用图表在 #+NAME:
中定义的 id,如 fig.pic-name;若要链接到文中某章节,则只需将 Link 换为章节标题,也可在标题前加星号;若要链接到文中任意特殊词汇,则首先在文中对目标用 <<...>>
作标记,然后再引用相同的目标词汇即可,如下所示。
<<目标>>
...
[[目标]]
另外,Org 可用 [fn:num]
的方式添加脚注。
Markdown 通常采用以下的链接方式:
[Description](Link)
同 Org 类似,Link 是链接地址,如果要链接章节标题则需要在标题前加 #
号,Description 是链接的文字描述。
Markdown 还有一种参考链接形式:
[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 还有引用摘录文字的方法:
> 质能方程: $E=mc^2$
在行首输入 >
符号,空格后拷贝摘录的文字,其效果如下:
质能方程: E = m c 2 E=mc^2 E=mc2