【问题标题】:Sphinx and reStructuredText: multiple code highlighting in a single blockSphinx 和 reStructuredText:在一个块中突出显示多个代码
【发布时间】:2017-05-02 00:57:46
【问题描述】:

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

是否可以在一个块内“切换”语言?下面是一个 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

【问题讨论】:

    标签: python-sphinx restructuredtext


    【解决方案1】:

    我 99% 确定默认情况下无法做到这一点,您使用单独的“突出显示”块的解决方案是显示多种语言的标准程序。

    我相信无论如何这是最好的,因为在一个块中混合代码通常是一个坏主意,因为它会使读者感到困惑。

    此外,例如,当将 reStructuredText 转换为 HTML 时,样式表用于使所有内容看起来更漂亮,并且包含默认样式表。如果您进行一些研究,我相信您可以编辑该样式表或制作您自己的样式表,也许使“边框”不可见,并且“突出显示”块的“边距底部”为零像素。

    【讨论】:

      【解决方案2】:

      您可以尝试使用此扩展程序在选项卡中使用不同的语言:

      https://bitbucket.org/birkenfeld/sphinx-contrib/src/c30b46a0a1b5c21ec9977e6abc598d0654316ac2/examplecode/?at=default

      【讨论】:

      • 这看起来很有趣,但您应该在答案中添加更多内容。鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及它为什么存在。见stackoverflow.com/help/how-to-answer
      猜你喜欢
      • 2012-06-07
      • 2011-01-28
      • 1970-01-01
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 1970-01-01
      相关资源
      最近更新 更多