2012-06-03 109 views
91

突出我知道新结构化有这个指令:内嵌代码在新结构化

.. code:: bash 

    gedit pohl.m 

这使得代码块。有没有办法让语法高亮显示为内联片段是这样的:

Do edit the file, type ``gedit pohl.m`` into a terminal. 

的反引号将其标记为代码,但我想与像块Pygments来做以突出显示它。这可能吗?

+7

反引号将该部分文本标记为[内联文字](http://docutils.sourceforge.net/docs/user/rst/quickref.html#inline-markup),而不是代码块。通常,这只会以等宽字体发布。我不知道如何获得内联代码语法突出显示的片段恐怕。 – Chris

回答

146

看了这一些后,我偶然发现了reStructuredText Interpreted Text Roles。从此文档:

解释文本在文本周围使用反引号(`)。明确的角色标记可以选择出现在文本之前或之后,用冒号分隔。例如:

This is `interpreted text` using the default role. 

This is :title:`interpreted text` using an explicit role. 

似乎有一个code role,所以你可以简单地输入

:code:`a = b + c` 

呈现内嵌代码块。要获得语法高亮显示,您可以定义一个自定义角色。例如

.. role:: bash(code) 
    :language: bash 

然后您可以使用像这样:

Here is some awesome bash code :bash:`a = b + c`. 

注意,文档我链接到只字不提版本docutils的的它所指。代码角色是而不是可用于docutils 0.8.1(这是我必须测试的唯一版本)。