记录 Org 和 Markdown 的一些异同

记录 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

**markup** Markup是一种用于标记文本的数据格式,它通过在文本中插入特定的标签或命令来指示文本的不同元素,如标题、列表、链接等,并不是直接显示在最终文档中,而是作为构建工具理解并呈现文本样式的指导信息。最常见的例子包括HTML(超文本标记语言),它是万维网的主要数据格式。 在编写网页时,使用HTML可以创建结构化内容,例如: ```html <p>这是一个段落。</p> <h1>这是页面的主要标题</h1> <a href="https://example.com">这是一条指向example.com的链接</a> ``` 其中 `<p>` 标签表示段落,`<h1>` 表示一级标题,而 `<a>` 则是一个包含链接的元素。 **markdown** Markdown是一种轻量级的标记语言,设计初衷是为了简化文本的排版,使得撰写者能够快速地书写简洁的文本格式,同时保持文件的易读性和易写性。Markdown语法简单直观,大部分Markdown编辑器都支持实时预览,因此撰写过程非常流畅高效。 Markdown的基本语法包括: - 使用 `#` 来创建标题,每个 # 符号对应不同的标题级别。 - 使用 `-` 创建有序列表,星号 `*` 或加号 `+` 可以创建无序列表。 - **粗体文字** 和 *斜体文字* 分别用于标记粗体和斜体文本。 - 使用 `>` 来创建引用文本。 下面是一个简单的Markdown文本示例: ```markdown # 这是我的文档标题 ## 第二级标题 ### 第三级标题 #### 第四级标题 这是一个普通的段落文本。为了展示,我们可以将文本设置为 **粗体** 或 *斜体*。 这是一个 **无序列表** 的例子: - 第一项 - 第二项 - 第三项 以及一个 **有序列表**: 1. 第一项目 2. 第二项目 3. 第三项目 以下是引用的示例: > 引用了其他人的观点或者话语。 ``` 在这个示例中,我们展示了如何使用Markdown语法添加各种格式化的文本元素和列表。 --- **相关问题**: 1. MarkdownHTML有哪些区别? 2. 我应该如何开始学习Markdown? 3. 在哪些场景下更适合使用Markdown而不是HTML?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值