12 ноября 2014

В отличие от простого XSL:FO, стили DocBook используют модифицированную схему форматирования перечислений.

Исходная схема XSL:FO хорошо пояснена в заметке Lists, enumerations and description lists. Значение параметра provisional-distance-between-starts нельзя задать вручную, оно автоматически вычисляется исходя из «ширины символа». На рисунке представлены метрики, используемые при вычислений отступов списков:

Схема DocBook

❶ Отступ от границы списка до начала текста. Задается параметром itemizedlist.label.width (orderedlist.label.width и т.д.) или для конкретного перечисления с параметром <?dbfo label-width="ширина"?>. Примеры:

<xsl:param name="itemizedlist.label.width">10mm</xsl:param>

или

<orderedlist>
  <?dbfo label-width="10mm"?>
  <listitem>
    <para>Строка.</para>
  </listitem>
</orderedlist>

Для списка аннотаций (callouts):

<xsl:attribute-set name="calloutlist.properties">
  <xsl:attribute name="provisional-distance-between-starts">1.27cm</xsl:attribute>
</xsl:attribute-set>

❷ Расстояние между символами перечня и началом текста. Задается параметром provisional-label-separation:

<xsl:attribute-set name="list.block.properties">
  <xsl:attribute name="provisional-label-separation">2pt</xsl:attribute>
</xsl:attribute-set>

❸ Отступ текста от границы блока. Вычисляется с помощью body-start().

❹ Отступ символов перечня от границы блока. Можно задать значением text-indent. Пример задания для нумерованного списка:

<xsl:attribute-set name="orderedlist.label.properties">
  <xsl:attribute name="text-indent">2pt</xsl:attribute>
</xsl:attribute-set>

Одновременно для всех типов перечислений можно задать в наборе list.block.spacing.

0 комментариев

Что у нас
нового

Блог

Окуляр ГОСТ

Окуляр ГОСТ: ускорение проверки ЭП по протоколу OCSP

6 сентября 2024

Пользователи пакетной подписи «Окуляр ГОСТ» сталкиваются с проблемой долгой проверки ЭП.

Восстановление сеанса Firefox после падения или аварии

12 октября 2023

Mozilla Firefox позволяет при запуске восстанавливать последний открытый сеанс.

Наши
контакты

Связаться с нами

Телефон: 8 (812) 981-68-09
Электронная почта: team@lab50.net






    Заполняя данную форму, вы принимаете условия Соглашения об использовании сайта, и соглашаетесь с Правилами обработки и использования персональных данных