经常用 Org Mode 写东西,但是某些时候就是不希望 org mode 自动帮你转义以 1. 2. 3. 这类符号开头的段落或是行,1. 2. 3. 这些用 Org Mode 的术语来说,就是 plain list。这个时候,可以怎么办呢?

1. 一种办法,就是直接使用 example block 来解析该段字符

即用

<pre class="example">

#+BEGIN_EXAMPLE

#+END_EXAMPLE

<p>
  来直接引用这些以 1. 2. 3. 开头的行。这个引用,输出后会包括在 CSS 的类 example 类里。例如,像
</p>

<pre class="example">

#+BEGIN_EXAMPLE <pre class=“example”>1. 题外话 </pre> #+END_EXAMPLE

<p>
  这样的 example 标记,就会生成类似下面的 html 代码:
</p>

<pre class="example">&lt;pre class="example"&gt;1. 题外话 &lt;/pre&gt;

<p>
  example 标记的一种简单表达方式是 : 外加一个空格来开始一行。
</p></p>

2. 把这些字符当成 HTML 字符直接输出,即采用 literal 的策略来解析该段文字

即在 Org Mode 里插入 literal 的字符串,即如下所示:

<pre class="example">

#+BEGIN_HTML

#+END_HTML

<p>
  或是直接用下面的形式
</p>

<pre class="example">

#+HTML: Literal HTML code for export

<p>
  或是直接使用 <a href="http://orgmode.org/manual/Quoting-HTML-tags.html">@</a> 来 Quoting HTML tags。
</p>

<p>
  采用这种方法生成的 HTML 文件,就不会给你额外加上任何东西。所以需要你自己预先添加如 <p> 或是 <b> 这类标记语言。否则 Org Mode 就只是原文输出你输入的内容及格式,不保证在你的页面里看起来会有好的效果。
</p></p>

3. 在标题栏里使用黑体、斜体等标记

如果你在使用 1. 3. 来开头写标题,这时不妨加上 * 用来加黑,或是直接使用斜体标记等标记符号,这时,也自动不会转义 plian list 了。

<p>
  这个技巧的实战效果可以看例子文章:<a href="http://blog.waterlin.org/articles/basic-emacs-tramp-usage-under-windows-2.html">Windows 下 Emacs Tramp 基本配置方法</a>,里面的1.2.等标题就是用黑体来避免 plian list 转义的。
</p>

<p>
  也可以现场看看效果,类似下面的标记
</p>

<pre class="example">*1. test headline 1*

/3. test headline 3/

/5. test headline 5/

<p>
  会被直接输出为:
</p>

<p>
  <b>1. test headline 1</b>
</p>

<p>
  <i>3. test headline 3</i>
</p>

<p>
  <i>5. test headline 5</i>
</p>

<p>
  对吧,上面这几行的确没有被当成 plain list 来解析吧?
</p></p>

4. 马后炮

呵,我本人推荐使用第 3 种办法,简单又不会破坏原有的排版效果,还可以让标题看起来醒目一点。

<p>
  不知道没有简单的办法,直接让 Org Mode 直接不转义一个简单的字符并且不添加额外的副作用?其实最理想的办法,是类似 C++ 字符串里的 \ 号。究竟有没有呢?
</p>