+++++++++++++++++++++++++++++++++++++++++ reStructuredText标记语言之一 +++++++++++++++++++++++++++++++++++++++++ reSructuredText是一种通俗易懂的标记文本语言,可以用于内联程序文件,快速创建简单的网页等。 本单元主要以文档 `Quick reStructuredText `_ 为基础,旨在介绍这种标记语言的语法规则。 1.行内标记符 ======================================== 星号、反引号、竖线、以及下划线作为行内标记符,主要是为了实现斜体、粗体、引用、脚注等功能。一般都是成对出现的(除了下划线),作用域是被成对出现的符号包围这的部分。 :: * ` | _ [ ] 下面是一些具体的实例。 1. \*斜体* *斜体* 2. \**粗体** **粗体** 3. \`interprted text` `interprted text` 4. \``inline literal`` ``inline literal`` #. reference\_ reference_ #. \`phrase reference`_ `phrase reference`_ #. \_`inline internal target` _`inline internal target` #. \|substitution reference| |substitution reference| #. footnote reference \[1]_ footnote reference [1]_ #. citation reference \[CIT2012]_ citation reference [CIT2012]_ #. \http://fenicsproject.org http://fenicsproject.org 行内标记符号要满足如下的规则: - 开始字符后必须开始一个文本块或者紧接空格,前单、双引号,前大、中、小、尖括号:: ' " ( [ { < - 开始字符后不能紧接空白符; - 结束字符前不能紧接为空白; - 结束字符前必须结束一个文本块或者之前紧接空格,后单、双引号,句号,逗号,冒号,分号,感叹号,问号,连接号,后大、中、小、尖括号,斜杠、反斜杠:: ' " . , : ; ! ? - ) ] } / \ > - 比如开始字符后紧跟 ' " ( [ { 或 < ,则之后不能再接 ' " ) ) ] } 或 > 字符; - 结束字符和开始字符之间至少要有一个字符分隔; - 开始字符或结束字符前如果有一个转义字符(\)将失去对文本标记作用。 2.转义字符 ======================================== 借用c++语言的叫法,其功能也和c++中转义字符相似。主要是为了让行内标记符号不再起作用,也就是可以直接输出行内标记符。又为了可以直接输出反斜杠("\\"),我们用可以直接转义反斜杠,即("\\\\"),有下面一些例子可以更深刻的体会转义字符的含义. - *escape* ``with`` "\" :: *escape* ``with`` "\" - \*escape* \``with`` "\\" :: \*escape* \``with`` "\\" - \*escape* `with` "\\\\" :: \*escape* `with` "\\\\" 参考资料 ======================================== 快速参考: http://docutils.sourceforge.net/docs/user/rst/quickref.html