| 作者: |
Richard Jones |
| 翻译: |
潘俊勇 |
| 版本: |
$Revision: 1.11 $ |
| 版权: |
This document has been placed in the public domain. |
本文包括一些类似于"(快参)"的链接. 他们是指向 新结构化文本快速参考 的相对链接. 如果这些链接不指向不正确, 请参考 快速参考的官方文档 .
首先,"结构化文本"可能有点用词不当。他更象使用了某一些统一规则的"松散文本"。这些规则可以被一个HTML转换器翻译成“非常结构化的文本”,这些文本可以使用web浏览器浏览。
最基本的规则被认为是一个被称做 段落 (快参). 那是一大段使用空行隔开的文本(一行就够了). 各段落必须使用相同的缩进 -- 也就是说,段落的左上角对齐. 缩进的段落将导致缩进的引用段落。例如:
这是一个段落。他非常
短。
这个段落将导致一个文本缩进块,
通常用于引用其他的文本。
这是另外一个段落。
结果是:
这是一个段落。他非常短。
这个段落将导致一个文本缩进块,通常用于引用其他的文本。
这是另外一个段落。
(快参)
段落和其他正文的内部,你可对文字添加附加的标记,如 "*斜体*" -> 斜体 或 "**粗体**" -> 粗体.
如果你希望使用“固定空格”的文字, 可使用"``两个反引号``",如"``两个 空格``"。注意,在两个反引号直接的内容不再做任何的转换 -- 因此星号"*"等会保持原样。
如果你发现你想在文本中使用其中一个"特殊"字符,这完全可以 -- 新结构化文本非常聪明。例如,这个 * 星号能够正常处理. 如果你实际上希望文本 *被星号包围* 而**不是**变成斜体, 那么你需要指明那个星号不是特殊字符。你可以通过在前面放置一个反斜杠实现,如"\*" (快参), 或使用两个反引号包含起来(inline文本), 象下面这样:
``\*``
项目列表有三种风格: 枚举型, 要点型 和 定义型. 所有的列表类型种, 他可以有任意多的子段落、子列表等,直至段落或者其他的左边和列表项中文本的第一行对齐。
列表必须从一个新的段落开始 -- 也就是说,必须在一个空行后出现.
- 枚举型 列表(数字, 字母或者罗马数字; 快参)
-
以数字和字母开始,其后紧跟一个"."、右括号")"或者被括号包围"( )" -- 不论喜欢哪种都有。下面所有的的形式都可被识别:
1. 数字
A. 大写字母
而且使用多行
并且同时有两个段落!
a. 小写字母
3. 有一个使用不同数字的子清单
4. 可是要确保数字使用正确的顺序!
I. 大小的罗马数字
i. 小写的罗马数字
(1) 又是数字
1) 还是数字
结果是(注意: 这些不同的枚举型列表并不是总被每个浏览器支持,因此你可能不能在这里得到最理想的效果):
- 数字
-
大写字母而且使用多行
并且同时有两个段落!
-
小写字母
- 有一个使用不同数字的子列表
- 可是要确保数字使用正确的顺序!
System Message: INFO/1 (<string>, line 127)
Enumerated list start value not ordinal-1: "3" (ordinal 3)
- 大小的罗马数字
- 小写的罗马数字
- 又是数字
- 还是数字
- 要点型 列表 (快参)
-
就像枚举型列表一样,他使用一个符号开始 - "-", "+" 或 "*"之一:
* 使用要点符 "*"
- 使用"-"的子列表
+ 也是一个子列表
- 另外一项
结果是
- 定义型 列表 (快参)
-
不象前面两个, 定义型列表包括一个术语, 和术语的定义。定义型的格式是:
是什么
定义型的列表把术语和其定义关联。
*怎么做*
这个术语是一个单行的词组, 定义是一个或者多个相对术语缩进的段落或者正文元素。
术语和定义直接不允许有空行.
结果是:
- 是什么
- 定义型的列表把术语和其定义关联。
- 怎么做
- 这个术语是一个单行的词组, 定义是一个或者多个相对术语缩进的段落或者正文元素。术语和定义直接不允许有空行.
(快参)
要包含一大短原始格式的, 完全不更改的文本, 可让前面的段落以"::"结尾. 原始块在文本达到到其前一段落相同的缩进后结束。例如:
一个示例::
空格, 新行, 空行, 和各种标记(如 *这个* 或 \这个)
都在文本块种保留.
看这里, 我把缩进降级了
(但还不够远)
例子结束
结果是:
一个示例:
空格, 新行, 空行, 和各种标记(如 *这个* 或 \这个)
都在文本块种保留.
看这里, 我把缩进降级了
(但还不够远)
例子结束
注意,如果一个段落仅仅包括"::", 他就会从结果种去除:
::
这是一个原始文本, 上面
的"::" 段落将被去除
结果是:
这是一个原始文本, 上面
的"::" 段落将被去除
(快参)
你可以使用**章节标题**把很长文本断开为多个章节。他们是一个单行文本(一个或者多个词),但是附带了修饰: 只有一个下标线、或同时有一个下标线和上标线;他们可使用破折号"-----", 等号"======", 波浪号"~~~~~~" 或者任何其他你喜欢的非字母的字符``= - ` : ' " ~ ^ _ * + # < >``。一个下标线修饰和使用相同字符的上/下标线修饰区别很明显。上标线和下标线至少要和文本的长度相同。他们是一致的,因为所有使用相同修饰风格的章节被认为处于相同的级别(译者:如果出现新的修饰风格,则表示降低一级标题):
第一章 标题
==========
第1.1节 标题
-----------
第1.1.1子节 标题
~~~~~~~~~~~~~~~
第1.2节 标题
-----------
第二章 标题
===========
结果是下面使用简单的伪XML表示的结构:
<章>
<标题>
第一章 标题
<节>
<标题>
第1.1节 标题
<节>
<标题>
第1.1.1子节 标题
<节>
<标题>
第1.2节 标题
<章>
<标题>
第二章 标题
(伪XML使用缩进来表示嵌套,没有结束标签。这里不可能显示象前面例子中实际处理后的结果,因为段落不能在块引用中存在。做为一个正确的例子,可比较本源代码的章节结构和处理后的输出.)
注意单列标题只需要使用他们的资料,就可实现目标链接。如,要链接到 列表 节, 我可以写"列表_". 如果标题中有一个空格如 文本样式 (中文翻译后没有空格,sorry), 我们需要使用把标题加引号"`文本样式`_".
为了指示文档的标题,可以在文档的开始使用一个独特的修饰风格。为了支持文档的子标题,可在文档标题后面紧接着使用另外一个位于的修饰风格。例如:
================
文档标题
================
----------
子标题
----------
章节标题
=============
...
注意"文档标题"和"章节标题"都是使用等号标记,但是他们是不同的和无关的风格. 使用上下标的标题(不是只做下标的)的文本可据美观的需要插入.
(quickref)
要在文档种包含一个图片, 你应该使用 图片 指令. 例如:
.. image:: http://plone.org/logo.jpg
结果是:
http://plone.org/logo.jpg 部分指示了希望在文档中显示的图片的文件名。这里对放置的图片没有做限制(格式、大小等). 如果图片要在HTML中显示,你希望提供一些附加的信息,你可以:
.. image:: http://plone.org/logo.jpg
:height: 100
:width: 200
:scale: 50
:alt: 替换文本
欲知更多信息,请查看图片指令的 完整文档 .
外部链接,如 Python. Python 的链接可再次使用。也可以不声名代号的,比如 新浪网
原始文本:
外部链接,如 Python_. Python_ 的链接可再次使用。也可以不声名代号的,比如 `新浪网`__
.. _Python: http://www.python.org/
__ http://www.sina.com.cn
复杂的网格表:
System Message: ERROR/3 (<string>, line 379)
Malformed table.
+------------+------------+-----------+
| 表 头 1 | 表 头 2 | 表 头 3 |
+============+============+===========+
| body row 1 | column 2 | column 3 |
+------------+------------+-----------+
| body row 2 | Cells may span columns.|
+------------+------------+-----------+
| body row 3 | Cells may | - Cells |
+------------+ span rows. | - contain |
| body row 4 | | - blocks. |
+------------+------------+-----------+
原始文本:
+------------+------------+-----------+
| 表 头 1 | 表 头 2 | 表 头 3 |
+============+============+===========+
| body row 1 | column 2 | column 3 |
+------------+------------+-----------+
| body row 2 | Cells may span columns.|
+------------+------------+-----------+
| body row 3 | Cells may | - Cells |
+------------+ span rows. | - contain |
| body row 4 | | - blocks. |
+------------+------------+-----------+
简单表:
| 输入 |
输出 |
| A |
B |
A or B |
| False |
False |
False |
| True |
False |
True |
| False |
True |
True |
| True |
True |
True |
原始文本:
===== ===== ======
输入 输出
------------ ------
A B A or B
===== ===== ======
False False False
True False True
False True True
True True True
===== ===== ======
表格的处理对中文支持还有些问题。主要是由于在视觉上中文字符的宽度和英文不同。一种解决方法是,使用全角格式字符.
From: tomzy
不如moinmoin和usemode的规则简洁。但比st进步了些,在也不用麻烦的缩进了。
From: panjy Subject: 但是功能更应该更强
有整套的文档操作库,支持直接转换到各种格式,包括转换为PDF文件。ReStructuredText应该更标准,支持也更广泛。
From: panjy Subject: 翻译完这个文档的感受
这个的确比 结构化文本 要强很多(其他的格式我不知道)。缩进的问题解决了,
目前我感觉链接的定义更加科学,可以避免相同的链接在一个文章中重复定义,这个很好。可定义链接变量,而且定义的变量有作用域的概念,全局和局部之分,局部可重载全局的。
From: tomzy usemodewiki是wiki格式的标准,ReST不和usemodewiki格式兼容,令人费解。我还是坚持使用usemodewiki的格式,顶多用sed转换到ReST。能够生成PDF是个好事。象变量等功能,就把ST复杂化了,不容易被其它网站工具兼容,当然也有好处。我只是指出它的一方面。应该ReST还是不错的。
From: panjy 习惯成自然;-) 这个文档中是没有对链接定义的说明,所以没有翻译,这是个入门性的文档。
如果你只用最基本的功能(没有链接和图片),则很简单的。可能比StructuredText的还简单。stx的缩进比较讨厌,你得不停的数空格 ;-)
From: nixe0n 中文粗体或者斜体需要加空格,星号才能起作用,显示真是别扭