Подтвердить что ты не робот

Рабочий пример плавающего изображения в реструктурированном тексте

Я ищу лучший способ иметь изображение с текстом, появляющимся рядом с ним в reStructured Text. Я нашел несколько сайтов, чтобы показать, как это делается, но ни один из них не показывает пример фактического функционирования. Некоторые показывают, что, по-видимому, являются неудачными примерами. Я действительно работаю с Sphinx (v0.6.6) и надеюсь избежать извращения "родного" CSS, который поставляется с ним более чем необходимо.

Спасибо.

4b9b3361

Ответ 1

По словам Эмили Лителла (из SNL): "Ох... Не обращай внимания...";-) И в словах Алекса Требека (из Джепарди!) "И ответ..."

В файле .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;
}

Каждый..контейнер:: становится a <div> . В моем случае я хотел иметь фиксированную ширину для изображения и переменную ширину для остатка. Кроме того, с небольшим усовершенствованием LaTeX, выпущенным Sphinx, он также сделал достойную работу по выпуску двух столбцов для этого раздела.

Я надеюсь, что этого достаточно, чтобы помочь кому-то еще понять, что не было очевидно для меня вначале.

Ответ 2

Работа с Sphinx v1.1.3, я использовал следующий метод: плавающее левое изображение и блок очистки. Кажется, он нигде не документирован, и он немного взломан, поэтому поделитесь здесь...

Сначала изображение, выровненное слева в соответствии с этим rST doc.

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

Затем вы можете написать свои абзацы обычным способом, они обертывают изображение.

Когда вы закончите, оставьте грязный яснее - я использовал 1x1 png как содержимое для контейнера.

.. container:: clearer

    .. image :: _static/spacer.png

Это генерирует следующий HTML-код, который использует Sphinx div.clearer CSS.

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

Затем вы можете продолжить запись, при этом ваш следующий абзац будет очищен.

Ответ 3

Я думаю, что лучший результат может быть достигнут с помощью подстановок.

Вот выдержка из документации, которая может быть полезна:

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

.. |biohazard| image:: biohazard.png

Я надеюсь, что это поможет

Ответ 4

Вы можете определить замену:

.. |clearfloat|  raw:: html

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

Затем используйте атрибут align для изображений:

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

И вставьте более четкое изображение:

|clearer|