2012-02-19 4 views
3

У меня есть документ docbook, и когда я создаю PDF, я хочу, чтобы он отображал заголовок главы без слова «Глава» перед ним. Согласно this следующее должно работать:как удалить слово «глава» в заголовке главы docbook

Мой заказ стилей: (doc.xsl)

<xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:fo="http://www.w3.org/1999/XSL/Format" 
    version="1.0"> 
<xsl:import 
    href="/usr/share/xml/docbook/stylesheet/docbook-xsl-ns/fo/docbook.xsl"/> 
<xsl:param name="local.l10n.xml" select="document('')"/> 

<l:l18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> 
    <l:l10n language="en"> 
    <l:context name="title-numbered"> 
     <l:template name="chapter" text="%n.&#160;%t"/> 
    </l:context>  
    </l:l10n> 
</l:l18n> 
</xsl:stylesheet> 

Когда я использую этот документ: (doc.xml)

<book xmlns="http://docbook.org/ns/docbook" version="5.0" 
    xml:lang="en"> 
    <title>Doc</title> 
    <chapter> 
    <title>Introduction</title> 
    <section> 
     <title>Purpose of the document</title> 
     <para></para>  
    </section> 
    </chapter> 
</book> 

и эти команды :

xsltproc doc.xsl doc.xml > doc.fo 
fop -fo doc.fo -pdf fo.pdf 

В результате PDF-файл все еще имеет «Глава 1 "перед главой под названием« Введение ».

Я пробовал разные имена контекста, такие как «title», но это не работает. Что я делаю неправильно или как я могу отладить эту проблему?

Обновление Я нашел проблему. Линия l:l18n должна читать l:i18n ...

+0

Решения приводит к различиям между названием главы и ТОС запись для главы, потому что нумерация заголовка контекста, похоже, не соответствует току. Каков правильный контекст для записей toc? – ceving

ответ

5

Я нашел проблему. Это была опечатка в одном из примеров, которые я нашел в сочетании с шрифтом, где i и l выглядят слишком похожими.

Исправления в этой строке:

<l:l18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> 

В этой строке следует читать l:i18ni и не l)