2013-02-27 1 views
2

Я столкнулся с сценарием, в котором, если заголовок TOC слишком близко к нумерации TOC, он тянет нумерацию внутрь.Проблема с форматированием TOC, когда заголовок близок к нумерации

Здесь вы можете увидеть несколько примеров, когда я начал добавлять/удалять один символ за раз, чтобы увидеть, когда он будет неправильно вытягивать нумерацию внутрь и правильно переносить на следующую строку.

Incorrect TOC formatting

Вот два блока от topic.fo. Во-первых, один не тянет в нумерации ТОС и второй тянет нумерацию в.

<fo:block 
    start-indent="0in + (2 * 30pt) + 14pt"> 
    <fo:block 
     end-indent="22pt" 
     font-size="10pt" 
     font-style="italic" 
     font-weight="normal" 
     last-line-end-indent="-22pt" 
     text-align="justify" 
     text-align-last="justify" 
     text-indent="-14pt" 
     line-height-shift-adjustment="disregard-shifts" 
     font-family="Helvetica, Arial Unicode MS"> 
     <fo:basic-link 
      internal-destination="_OPENTOPIC_TOC_PROCESSING_d73e797" 
      line-height="150%" 
      line-height-shift-adjustment="disregard-shifts" 
      font-family="Helvetica, Arial Unicode MS"> 
      <fo:inline 
       end-indent="14pt" 
       keep-together.within-line="auto" 
       line-height-shift-adjustment="disregard-shifts" 
       font-family="Helvetica, Arial Unicode MS">Notes Associated with an Improperly Filled Card or a Negative Profile (Biopattern)</fo:inline> 
      <fo:leader 
       leader-pattern="dots"/> 
      <fo:inline 
       keep-together.within-line="always" 
       padding-left.length="12pt" 
       start-indent="-14pt" 
       text-align="right" 
       line-height-shift-adjustment="disregard-shifts" 
       font-family="Helvetica, Arial Unicode MS">2-<fo:page-number-citation 
        ref-id="_OPENTOPIC_TOC_PROCESSING_d73e797"/> 
      </fo:inline> 
     </fo:basic-link> 
    </fo:block> 
</fo:block> 
<fo:block 
    start-indent="0in + (2 * 30pt) + 14pt"> 
    <fo:block 
     end-indent="22pt" 
     font-size="10pt" 
     font-style="italic" 
     font-weight="normal" 
     last-line-end-indent="-22pt" 
     text-align="justify" 
     text-align-last="justify" 
     text-indent="-14pt" 
     line-height-shift-adjustment="disregard-shifts" 
     font-family="Helvetica, Arial Unicode MS"> 
     <fo:basic-link 
      internal-destination="_OPENTOPIC_TOC_PROCESSING_d73e800" 
      line-height="150%" 
      line-height-shift-adjustment="disregard-shifts" 
      font-family="Helvetica, Arial Unicode MS"> 
      <fo:inline 
       end-indent="14pt" 
       keep-together.within-line="auto" 
       line-height-shift-adjustment="disregard-shifts" 
       font-family="Helvetica, Arial Unicode MS">Notes Associated with an Improperly Filled Card or with a Negative Profile (Biopat</fo:inline> 
      <fo:leader 
       leader-pattern="dots"/> 
      <fo:inline 
       keep-together.within-line="always" 
       padding-left.length="12pt" 
       start-indent="-14pt" 
       text-align="right" 
       line-height-shift-adjustment="disregard-shifts" 
       font-family="Helvetica, Arial Unicode MS">2-<fo:page-number-citation 
        ref-id="_OPENTOPIC_TOC_PROCESSING_d73e800"/> 
      </fo:inline> 
     </fo:basic-link> 
    </fo:block> 

Я попытался настройки различных конечных отступы, чтобы увидеть, если я мог бы заставить его обернуть без везения. Я использую DITA-OT 1.5.4 и FOP 1.0.

+1

Похож на ошибку в FOP в том, как она резервирует пространство для цитирования номера страницы и как это работает с лидером. Вы пробовали то же самое в FO, где вы жестко кодируете номер страницы 2-1 для тех строк, где предназначен номер страницы. Если жестко закодированный 2-1 не создает отступ, тогда это ошибка со ссылкой на номер страницы и комбинация лидеров. – jelovirt

ответ

4

Похож на ошибку в FOP, см. FAQ.

Это происходит фо: страница номер-цитируемости элементы, если цитата происходит до ФОП отформатирован запрошенную страницу, как правило, в оглавлении или индексных страниц. Это вызвано тем, что FOP должен угадать, как много места будет занимать неизвестный номер страницы, и обычно угадывают .

В последних выпусках FOP должна быть исправлена ​​эта проблема. Проверьте, можете ли вы обновить.