Nam*_*yen 8 python whitespace restructuredtext
在RST中,我们在块前面使用一些空格来说这是一个代码块.因为Python也使用空格来缩进代码块,所以如果我编写Python代码,我希望我的RST代码块保留这些空格.我怎样才能做到这一点?
假设我们有一个班级:
class Test(object):
Run Code Online (Sandbox Code Playgroud)
我们想要编写一个名为__init__this的成员的方法.这个方法属于另一个代码块,但我们希望有一些视觉线索,以便读者知道第二个块是前一个块的延续.目前,我#用来标记代码块的垂直引导线,如下所示:
def __init__(self):
pass
#
Run Code Online (Sandbox Code Playgroud)
没有#,def __init__(self)将被打印在相同的缩进级别class Test(object).必须有更优雅的方式.
啊...我以前遇到过这个;)。# 技巧是我通常使用的,唉。如果您阅读规范,听起来它总是会取消前导缩进。[1]
您还可以使用替代语法:
::
> def foo(x):
> pass
Run Code Online (Sandbox Code Playgroud)
使用前导“>”将保留前导空间。
[1]:http://docutils.sourceforge.net/docs/ref/rst/restructedtext.html#indented-literal-blocks
编辑
只是仔细研究了 docutils 代码(这也让我很烦恼),并且可以确认它总是会删除常见的缩进,没有任何问题。通过修改来改变这种行为很容易,但这会使生成的重组文本变得非标准。