21

我正在寻找在 reStructured Text 中让图像旁边出现文本的最佳方式。我发现几个网站声称展示了它是如何完成的,但没有一个展示实际运行的示例。有几个显示了似乎失败的例子。我实际上正在使用 Sphinx (v0.6.6) 并希望避免过度使用它附带的“本机”CSS。

4

5 回答 5

12

用 Emily Litella (来自 SNL)的话来说,“哦......没关系......” ;-) 用 Alex Trebek (来自 Jepordy!)的话来说,“答案是......”

.rst文件中

.. container:: twocol

   .. container:: leftside

      .. figure:: _static/illustrations/structure.svg

   .. container:: rightside

      Bla-bla-blah, and yada-yada.

在自定义 CSS 中(我使用了sphinxdoc.css的副本,我将其放入 ./source/_static/ 中):

div.leftside {
    width: 414px;
    padding: 0px 3px 0px 0px;
    float: left;
}

div.rightside {
    margin-left: 425px;
}

每个 ..container:: 成为一个 <div>。就我而言,我想要图像的固定宽度和其余部分的可变宽度。而且,通过对 Sphinx 生成的 LaTeX 进行了一些调整,它在为该部分生成两列输出方面也做得不错。

我希望这足以帮助其他人弄清楚一开始对我来说并不明显的事情。

于 2010-12-31T14:13:02.787 回答
9

使用 Sphinx v1.1.3,我一直在使用以下方法 - 浮动左图像和清除块。它似乎没有记录在任何地方,而且有点hacky,所以在这里分享......

首先是图像,根据此rST doc左对齐。

.. image:: _static/my_image.png
     :align: left

然后你可以用正常的方式写你的段落,它们环绕图像。

完成后,放入一个肮脏的清洁器 - 我使用 1x1 png 作为容器的内容。

.. container:: clearer

    .. image :: _static/spacer.png

这会生成以下 HTML,它使用了 Sphinx 的div.clearerCSS。

<div class="clearer container">
    <img src="_images/spacer.png" alt="_images/spacer.png">
</div>

然后你可以继续写作,你的下一段被很好地清除了。

于 2012-10-20T12:58:29.547 回答
3

我认为使用替代可以获得更好的结果。

这是文档中的摘录,可能会有所帮助:

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

.. |biohazard| image:: biohazard.png

我希望这有帮助

于 2013-10-04T15:50:31.233 回答
2

您可以定义一个替换:

.. |clearfloat|  raw:: html

    <div class="clearer"></div>

然后对图像使用 align 属性:

.. image:: _static/my_image.png
   :align: left

并像这样插入一个更清晰的:

|clearer|
于 2015-09-01T16:05:18.633 回答
0

你可以只使用这样的图形元素:

.. figure: path/to/image.png
   :figwidth: 100%
   :target: images/navegacion_d.png

并且 figure 元素将使用 100% 的 body 而不改变原始图像宽度:

+---------------------------+
|        figure             |
|                           |
|<------ figwidth --------->|
|                           |
|  +---------------------+  |
|  |     image           |  |
|  |                     |  |
|  |<--- width --------->|  |
|  +---------------------+  |
|                           |
|The figure's caption should|
|wrap at this width.        |
+---------------------------+
于 2021-08-13T16:38:46.257 回答