标题中的重组文本(Sphinx)图像?

时间:2013-07-16 15:19:28

标签: restructuredtext

是否可以使用重组文本将图像放在标题内?

类似的东西:

Introduction .. image:: path/to/img.png
---------------------------------------

这呈现为文本,即不解析图像语法。我没有看到任何这样的例子让我相信这可能是不可能的,但也许某人有一个解决办法。

我打算输出到HTML(因此可以对派生的CSS进行修改,但我更愿意改变RST源。这是因为我还打算输出到pdf(latex)。

3 个答案:

答案 0 :(得分:10)

我认为使用别名(即substitutions)可以获得更好的结果。

这里是文档中可能有用的摘录:

The |biohazard| symbol must be used on containers used to
dispose of medical waste.

.. |biohazard| image:: biohazard.png

我希望这会有所帮助

答案 1 :(得分:2)

使用HTML和CSS,有许多方法可以将图像添加到元素中,从而产生不同的结果。我能想到的一对夫妇是:

  1. 使用图像代替任何文字。这里我们保留文本,但是将其发送到屏幕上,因此仍然可以访问。

    h1 {
        background: url(images/image.jpg) no-repeat top center;
        display: block;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        width: XXpx;
        height: XXpx;
    }
    
  2. 将图像放在文本的左侧(或者可以很容易地在右侧)

    h1 {
        background: url(images/image.jpg) no-repeat top left;
        padding-left: XXpx;
    }
    
  3. 在任何文字后面使用背景图片

    h1 {
        background:url(images/image.jpg) no-repeat top center;
    }
    
  4. 更具体的CSS选择器可用于仅定位某些标题。

    您可以使用raw directive在reStructuredText文档中轻松添加自定义CSS,如下所示:

    .. raw:: html
    
        <style>
            <!-- One of the CSS styles above. -->
        </style>
    

    或者,您可以使用--stylesheet的{​​{1}}选项从命令行添加自定义CSS样式表。

    在实现与PDF输出相同的方面,我会窃取another one of my answers的一部分:

      

    显然上面的目标是HTML输出。但是,我没有使用rst2pdf,因此无法评论上述需要如何修改才能使用此程序。希望其他人能为此提供答案。据我所知,rst2pdf确实支持cascading stylesheet mechanism,所以它应该是直截了当的(对于知道rst2pdf样式表语法的人)添加额外的rst2html.py角色并修改上面的列表样式。 / p>

答案 2 :(得分:2)

这可以通过在标题中使用substitution来实现:

Header Text |foo|
=================

.. |foo| image:: path/to/img.png

此处foo只是一个示例替代文字。它可以是任何东西,但不应该以空格开头或结尾。

抽象替换语法如下:

+-------+-----------------------------------------------------+
| ".. " | "|" substitution text "| " directive type "::" data |
+-------+ directive block                                     |
        |                                                     |
        +-----------------------------------------------------+

由于我们要插入内嵌图片,因此我们应选择image作为directive type