Par défaut, les paramètres des feuilles de style docbook-xsl donnent le strict minimum en matière graphique. Dans de nombreux cas, il faut modifier les paramètres pour améliorer un peu le rendu.

Création d'une feuille de style personnalisée

Pour personnaliser les feuilles de style, il y a la possibilité de modifier directement les feuilles de style fournies mais cela ne permet pas de migrer aisément les modifications lors de l'installation d'une nouvelle version; le plus simple reste donc d'ajouter une feuille de style supplémentaire s'occupant de paramétrer les modifications.

pour cela, créons une feuille de style vide :

<?xml version='1.0' encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">

</xsl:stylesheet>

Pour la relier aux feuilles de style standard, relions-la aux autres avec un import :

<xsl:import href="./docbook-xsl-1.75.1/fo/docbook.xsl"/>

pour la relier aux fauilles de style XSL-FO. ou bien :

<xsl:import href="docbook-xsl-1.75.1/xhtml-1_1/docbook.xsl"/>

pour la relier au feuilles de styles générant du xhtml 1.1

Modification des paramètres

Paramétrons maintenant les feuilles de style en surchargeant les paramètres qui conviennent en fonction du type de fichier de sortie attendu.

HTML

Dans le cas du HTML, nous pouvons modifier les paramètres suivants.

La langue

<xsl:param name="l10n.gentext.language">fr</xsl:param>

Les CSS

Pour un CSS nommé docbook.css.

<xsl:param name="html.stylesheet">docbook.css</xsl:param>

Le chemin de référence se fait par rapport au document HTML produit. C'est lui qui appellera le CSS.

La profondeur de parcours pour la constitution de l'index

<xsl:param name="toc.section.depth">3</xsl:param>

Insertion des icônes

Pour l'insertion automatique des images pour les notes, remarques, avertissement :

<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path">icons/</xsl:param>
<xsl:param name="admon.graphics.extension">.png</xsl:param>

Les icônes doivent se situer dans le répertoire icons, avec l'extension .png et pour nom le nom de la zone : note.png, warning.png, etc.

FO

Configuration de la zone imprimable

Pour modifier le format de la page (A3, A4, US letter, etc.) :

<xsl:param name="paper.type" select="'A4'"/>

Et l'orientation (portrait / landscape) :

<xsl:param name="page.orientation">landscape</xsl:param>

et les marges :

<xsl:param name="page.height.portrait">9in</xsl:param>
<xsl:param name="page.width.portrait">7in</xsl:param>
<xsl:param name="page.margin.inner">0.75in</xsl:param>
<xsl:param name="page.margin.outer">0.50in</xsl:param>
<xsl:param name="page.margin.top">0.17in</xsl:param>
<xsl:param name="page.margin.bottom">0.50in</xsl:param>
<xsl:param name="region.before.extent">0.17in</xsl:param>
<xsl:param name="body.margin.top">0.33in</xsl:param>
<xsl:param name="region.after.extent">0.35in</xsl:param>
<xsl:param name="body.margin.bottom">0.65in</xsl:param>
<xsl:param name="double.sided">1</xsl:param>
<xsl:param name="body.start.indent">-0.1in</xsl:param>

Image de fond pour le mode brouillon

<xsl:param name="draft.watermark.image">draft.png</xsl:param>

Le mode brouillon est activé par l'attribut status="draft" dans la balise racine (book, article, etc.).

Modification des polices

Pour le corps de texte normal :

<xsl:param name="body.font.family">Arial</xsl:param>

Pour le titre de section :

<xsl:attribute-set name="section.title.properties">
<xsl:attribute name="font-family">Arial</xsl:attribute>
<xsl:attribute name="font-weight">bold</xsl:attribute>
<xsl:attribute name="border-bottom-style">solid</xsl:attribute>
</xsl:attribute-set>

Pour le titre de chapitre :

<xsl:attribute-set name="chapter.title.properties">
<xsl:attribute name="font-family">Arial</xsl:attribute>
<xsl:attribute name="font-weight">bold</xsl:attribute>
<xsl:attribute name="border-bottom-style">solid</xsl:attribute>
<xsl:attribute name="background-color">silver</xsl:attribute>
</xsl:attribute-set>

Pour l'en-tête :

<xsl:attribute-set name="header.content.properties">
<xsl:attribute name="font-family">Helvetica</xsl:attribute>
<xsl:attribute name="font-size">9pt</xsl:attribute>
</xsl:attribute-set>