reStructuredText标准定义文件

Author:eonwen
Contact:eonwen@hotmail.com

本文档描述了可以被包含到reStructuredText文档中的标准定义文件的集合,如替代定义和解释文本角色等。 “include”指令 对于这些标准定义文件使用一个特殊的语法,尖括号包围文件名:

.. include:: <filename.txt>

独立的数据文件及Docutils源码被存储在 docutils/parsers/rst/include 文件夹中的”docutils”包中。

替代定义

许多标准定义文件包含 替代定义 的集合,可以通过 替代引用 在文档中使用。例如,版权符号作为”copy”定义在 isonum.txt 中:

.. include:: <isonum.txt>

Copyright |copy| 2003 by John Q. Public, all rights reserved.

独立的替代定义也可以从替代文件中拷贝到文档中来。这有两个好处: 破除依赖性,并保证未使用定义的处理。但多个替代定义会使文档变得凌乱。

替代引用需要使用空格或标点与包围的文字隔开。想不适用空格就使用替代,你可以使用看不见的空白转义序列,反斜杠空格:

.. include:: isonum.txt

Copyright |copy| 2003, BogusMegaCorp\ |trade|.

自定义替代定义可以使用 “unicode”指令. 空格会被忽略并移除,有效的将文字放在一起:

.. |copy|   unicode:: U+000A9 .. COPYRIGHT SIGN
.. |BogusMegaCorp (TM)| unicode:: BogusMegaCorp U+2122
   .. with trademark sign

Copyright |copy| 2003, |BogusMegaCorp (TM)|.

另外,”ltrim”、”rtrim”和”trim”选项可以与”unicode”指令一起使用以自动去除替代引用头尾的空格:

.. |---| unicode:: U+02014 .. em dash
   :trim:

字符实体集合

下列文件包含了对应XML字符实体集合的替代定义,使用以下标准: ISO 8879 和 ISO 9573-13 (组合)、MathML和XHTML1。它们由 tools/dev/unicode2rstsubs.py 程序从输入文件 unicode.xml 中生成(MathML 2的一部分)。

实体集合文件 描述
isoamsa.txt 添加数学符号: 箭头
isoamsb.txt 添加数学符号: 二进制操作符
isoamsc.txt 添加数学符号: 分隔符
isoamsn.txt 添加数学符号: 否定关系
isoamso.txt 添加数学符号: Ordinary
isoamsr.txt 添加数学符号: 关系
isobox.txt 箱线图
isocyr1.txt 俄文
isocyr2.txt 非俄文
isodia.txt 变音符号
isogrk1.txt 希腊字母
isogrk2.txt Monotoniko Greek
isogrk3.txt 希腊符号
isogrk4.txt [1] 替代希腊符号
isolat1.txt 添加 Latin 1
isolat2.txt 添加 Latin 2
isomfrk.txt [1] 数学哥特字体
isomopf.txt [1] 数学公开字体(双击)
isomscr.txt [1] 数学脚本
isonum.txt 数字和特殊图形
isopub.txt 出版
isotech.txt 通用技术
mmlalias.txt MathML aliases for entities from other sets
mmlextra.txt [1] MathML的额外添加的名称
xhtml1-lat1.txt XHTML Latin 1
xhtml1-special.txt XHTML 特殊字符
xhtml1-symbol.txt XHTML 数学,希腊和符号字符
[1](1, 2, 3, 4, 5) 对于每个字符实体集合文件都有 *-wide.txt 变体,包含Unicode 基本多语种计划之外的字符或BMP(宽Unicode,到,代码点大于U+FFFF)。 大多数预建立Python分发是”narrow”且不支持宽Unicode字符。 Python 可以 使用宽Unicode支持建立,详见Python构建指南。

例如,版权符号被定义为XML字符实体 &copy;。等价的reStructuredText替代引用为(同时定义在 isonum.txtxhtml1-lat1.txt 中) |copy|

S5/HTML定义

s5defs.txt” 标准定义文件包含需要转换为 S5/HTML幻灯片 文档的解释文本角色(类)和其他定义。