reStructuredText 笔记

reStructuredText 笔记+备忘录

lao 14 Aug 2016 3 mins

Via reStructuredText 笔记

行内标记

例子 效果 备注
*重点* 重点 显示为斜体
**强调** 强调 显示为粗体
`解释文本` 解释 文本 <cite>文本</cite> 因设备而异
``行 内 字 面`` 行 内 字 面 显示为等宽文本,保留空格,不保留断行

引用_

.. _引用: imtho.com

引用 简单的、一个词的、不带空格的超链接

`短语 引用`_

.. _`短语 引用`: imtho.com

短语 引用 带空格或标点的超链接

匿名__

__ 引用_

匿名 重用链接
_`行内交叉引用` 行内交叉引用 行内交叉引用,给指定文本一个id
替换参考 替换参考 可以是文字,图像,链接或上述及其他的组合
脚注 [1]_ 脚注 [1]  
引注 [CIT2002]_ 引注 [CIT2002]  
http://python.org http://python.org 单独的链接

替换参考 |替换参考| ,可用的替换 directive 有 image 和 replace, 如:

|替换参考|
.. |替换参考| image:: https://cdn.v2ex.co/site/[email protected]?m=1346064962
[1]这是一个脚注
[CIT2002]这是一个引注

行内标记分隔符

星号*、反引号`、水平线、下划线_、为行内分隔符,要显示它们,可用转义或双反引号( \*``*``

  1. 行内标记必须为 text block 、其之前为空格或以下字符之一 '"([{<
  2. 开始字符之后必须紧跟非空格,如 **强调** 是对的,而 ** 强调** 是错的。
  3. 结束字符之前必须为非空格。
  4. 结束字符必须结束一个块(之后为文档尾或空行),或以空格或以下字符之一结尾 '".,:;!?-)]}/\>
  5. 开始字符之前若为 '"([{< 之一,则不能以 '")]}> 结尾。
  6. 开始字符与结束字符之间必须有一个字符。
  7. 开始字符与结束字符之前若为转义反斜杠,则整个行内标志不会被识别,除了 行内字面量

反斜杠转义

原始 rST 效果
\``用`` "\\" \*转义* ``用`` "\" *转义*

Section结构

原始 rST 效果
标题可以用以下字符之一来表示: =-`:'"~^_*+#<> 如本文所示

段落

以空行分隔的字符串。

无序列表

以-、*、+开头,如:

- 这是
- 一个
- 无序列表
  • 这是
  • 一个
  • 无序列表

有序列表

以#、数字、字母、i,I开头,开始字符可带.及),如:

i. 这是

   #) 嵌套
   #) 列表
#. 一个

   i. 也是
   #. 嵌套
   #. 列表
#. 有序列表
  1. 这是
    1. 嵌套
    2. 列表
  2. 一个
    1. 也是
    2. 嵌套
    3. 列表
  3. 有序列表

定义列表

以词为开头的列表,如:

定义列表
    以词开头的列表
ReST
    reStructuredText
定义列表
以词开头的列表
ReST
reStructuredText

区域列表

:作者:
        某某

        毕业于某某大学
:版本:
        1.0
作者:

某某

毕业于某某大学

版本:

1.0

选项列表

选项和描述之间必须间隔两个空格以上,如:

-a  all
-f file  读入文件
--file=file  读入一个文件
/f  MS命令行
-a all
-f file 读入文件
--file=file 读入一个文件
/f MS命令行

字面量块

字面量块以 "::" 开始

::

    空格、新行、空行及::之后的所有字符都以字面量显示。

符号 ``::`` 必须在空行行首,或一段的结尾::

    真的很方便啊!

在字面量块中使用单行引用::

> 这是一个
> 单行引用
>> per-line quoting

字面量块以 "::" 开始,前后应有空行

空格、新行、空行及::之后的所有字符都以字面量显示。

符号 :: 必须在空行行首,或一段的结尾:

真的很方便啊!

在字面量块中使用单行引用:

> 这是一个
> 单行引用
>> per-line quoting

行块

行块以"| "在行首开头。

|这是
|行块
|很好用

行块以"| "在行首开头。

这是
行块
很好用

块引用

一个块引用

  只需要
  缩进

   及嵌套
   缩进

一个块引用

只需要 缩进

及嵌套 缩进

Doctest块

>>> print('这是一个 Doctest 块')
>>> import time
>>> print('这是一个 Doctest 块')
>>> import time

表格

ReST有两种表格:

Grid表格:

+------------+------------+-----------+
| Header 1   | Header 2   | Header 3  |
+============+============+===========+
| body row 1 | column 2   | column 3  |
+------------+------------+-----------+
| body row 2 | Cells may span columns.|
+------------+------------+-----------+
| body row 3 | Cells may  | - Cells   |
+------------+------------+-----------+
| body row 4 |            | - blocks. |
+------------+------------+-----------+
Header 1 Header 2 Header 3
body row 1 column 2 column 3
body row 2 Cells may span columns.
body row 3 Cells may
  • Cells
body row 4  
  • blocks.

简单表格:

=====  =====  ======
   Inputs     Output
------------  ------
  A      B    A or B
=====  =====  ======
False  False  False
True   False  True
False  True   True
True   True   True
=====  =====  ======
Inputs Output
A B A or B
False False False
True False True
False True True
True True True

分隔线

----

分隔线,以4个及以上的“-”表示

一条


分隔线,以4个及以上的“-”表示

显式标记

脚注

这是一个脚注 [#]_ 。或用\* [*]_ ,\#后可加上字符串 [#标识1]_ 用来标识 [#标识2]_ ,亦可用直接数字 [7]_

.. [#] 自动脚注,注意 ``]`` 后没有``_``。
.. [*] 星号脚注。
.. [#标识1] 自动标识1。
.. [#标识2] 自动标识2。
.. [7]_ 数字标识。

这是一个脚注 [2] 。或用* [*] ,#后可加上字符串 [3] 用来标识 [4] ,亦可用直接数字 [7]

[2]自动脚注,注意 ] 后没有``_``。
[*]星号脚注。
[3]自动标识1。
[4]自动标识2。
[7]数字标识。

引用

一个引用出自 [某文]_ ,还可以出自 某文_ 。

.. [某文] 这里是某文

一个引用出自 [某文] ,还可以出自 某文

[某文]这里是某文

超链接

外部链接,如 Python官网_ ,亦可在行内写出 `Python官网 <https://python.org>`_

.. _Python官网: https://python.org

内部链接,如 此处_ 。

.. _此处:

此处是内部链接一例子。

间接链接,如: 我爱 Python_ , `官网在此`__

.. _Python: https://python.org
__ Python_

隐式链接,如:我要链接到 `显式标记`_

外部链接,如 Python官网 ,亦可在行内写出 Python官网

内部链接,如 此处

此处是内部链接一例子。

间接链接,如: 我爱 Python , 官网在此

隐式链接,如:我要链接到 显式标记

指令

reStructuredText Directives

图片:

.. image:: http://docutils.sourceforge.net/docs/user/rst/images/ball1.gif
   :alt: 一个图片


数学公式:

行内公式: :math:`A_\text{c} = (\pi/4) d^2`.

整行公式

.. math:: \alpha{}_t(i) = P(O_1, O_2, … O_t, q_t = S_i \lambda{})

代码:

.. code-block:: python

 # python 代码
 def print_hello():
     print('Hello, World!')

图片:

一张图片

数学公式:

行内公式: \(A_\text{c} = (\pi/4) d^2\).

整行公式

\begin{equation*} \alpha{}_t(i) = P(O_1, O_2, \ldots O_t, q_t = S_i \lambda{}) \end{equation*}

代码:

# python 代码
def print_hello():
    print('Hello, World!')

替换引用和定义

此 |生物危害| 标志用在医用废物回收箱中。

.. |生物危害| image:: http://docutils.sourceforge.net/docs/user/rst/images/biohazard.png

还可以构造任意结构,如:我想在新标签页打开 |Python官网|。

.. |Python官网| raw:: html

   <a href="https://python.org" target="_blank">Python的官网</a>

生物危害 标志用在医用废物回收箱中。

我想在新标签页打开 Python的官网

评论

.. 任何以显式标记开始
   但没有用任何以上的语法
   的文本,就是评论。

空评论:

..


    就是“``..``”前后都是空行。

空评论:

就是“..”前后都是空行。

Read more: