Org Mode 标记语言不转义特殊字符的方法
文章目录
经常用 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"><pre class="example">1. 题外话 </pre>
<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>
文章作者 cookwhy
上次更新 2013-03-13