Sphinx和reStructuredText:在一个块中突出显示多个代码

时间:2016-12-16 09:13:02

标签: python-sphinx restructuredtext

我是Sphinx的新手。我正在为嵌入式UDF编写一些文档,这些文档要求代码块包含2种语言(例如SQL和python)。目前我只能看到如何在一个区块中使用单个高亮语言。

是否可以"切换"街区内的语言?下面是reStructuredText的一个示例,它导致我想要合并为一个的3个代码块。 只需删除第二个和第三个" ::"不起作用。

.. highlight:: sql
::

    SELECT * FROM
    EXTERNAL SCRIPT(

.. highlight:: R
::

    #Some R markup
    MEANS = matrix(runif(nclust*ndim)*sqrt(nclust)*sep, nrow = nclust)
    VARS = matrix(runif(nclust)*ndim, nrow = nclust)
    ps = 1:nclust
    ps = ps/sum(ps)

.. highlight:: sql
::

    )
    FROM myshema.mySQLtable

2 个答案:

答案 0 :(得分:1)

我99%确定默认情况下无法完成此操作,并且使用单独的“突出显示”块的解决方案是显示多种语言的标准程序。

我相信这是最好的,因为在一个区块中混合代码通常是一个坏主意,因为它可能会混淆读者。

此外,例如,在将reStructuredText转换为HTML时,样式表用于使一切看起来很漂亮,并且包含默认样式表。如果你做一些研究,我相信你可以编辑那个样式表或制作你自己的样式表,可能会使'border'看不见,'margin-bottom'为'highlight'块的零像素。

答案 1 :(得分:0)