Objectifs du test:
------------------

Valider la transformation d'un document .LEGI en .PDF pour des éléments suivants:
 o Préface
 o Numérotation des sections

Issues:
------- 
1) En utilisant Word, lorsque que l'on crée une préface sans titre pour une 'partie' de document, le fichier docbook généré définit un contenu normal et non une préface.

Commentaires:
------------- 
#######################################################################
1) Pour modifier le début du fichier latex en fonction de article ou book, il faut surcharger la variable: latex.book.preamblestart (la valeur par défaut se trouve dans le fichier 'preamble.mod.xsl')
Cette règle semble incorrect:  \ifx\pdfoutput\undefined ... $latex.documentclass.pdftex

<xsl:param name="latex.book.preamblestart">
	<xsl:text>% ------------------------------------------------------------	&#10;</xsl:text>
	<xsl:text>% Autogenerated LaTeX file for books	&#10;</xsl:text>
	<xsl:text>% ------------------------------------------------------------	&#10;</xsl:text>
	<xsl:text>\ifx\pdfoutput\undefined&#10;</xsl:text>
	<xsl:text>\documentclass[</xsl:text>
	<xsl:value-of select='$latex.documentclass.common' />
	<xsl:text>,</xsl:text>
	<xsl:value-of select='$latex.documentclass.book' />
	<xsl:text>,</xsl:text>
	<xsl:value-of select='$latex.documentclass.pdftex' />
                              ***************************
	<xsl:text>]{</xsl:text>
	<xsl:choose>
		<xsl:when test="$latex.documentclass!=''"><xsl:value-of select="$latex.documentclass" /></xsl:when>
		<xsl:otherwise><xsl:text>report</xsl:text></xsl:otherwise>
	</xsl:choose>
	<xsl:text>}&#10;</xsl:text>
	<xsl:text>\else&#10;</xsl:text>
	<xsl:text>\documentclass[pdftex,</xsl:text>
	<xsl:value-of select='$latex.documentclass.common' />
	<xsl:text>,</xsl:text>
	<xsl:value-of select='$latex.documentclass.book' />
	<xsl:text>,</xsl:text>
	<xsl:value-of select='$latex.documentclass.dvips' />
                              ***************************
	<xsl:text>]{</xsl:text>
	<xsl:choose>
		<xsl:when test="$latex.documentclass!=''"><xsl:value-of select="$latex.documentclass" /></xsl:when>
		<xsl:otherwise><xsl:text>report</xsl:text></xsl:otherwise>
	</xsl:choose>
	<xsl:text>}&#10;</xsl:text>
	<xsl:text>\fi&#10;</xsl:text>
    </xsl:param> 

#######################################################################
2) Définition d'une règle pour supprimer les metadata's
Pour l'instant la règle est simpliste:
<xsl:template match="metadata" />
Il faudra checker si il ne faut pas récupérer de l'info dans les metadatas ...

#######################################################################
3) Header / Footer
Définition de la variable "latex.book.preamble.post" afin de surcharger la définition par défaut se trouvant dans le fichier 'preamble.mod.xsl' 
Le contenu de cette variable est inséré dans le fichier généré après le contenu des autres variables et avant le début du document. (cf. generate.latex.book.preamble)

Problèmes: 
o utilisation de truncate provoque un mauvais allignement.

#######################################################################
4) Titre
Insertion d'un document titre.tex que l'on peut générer séparément 
Info ????

#######################################################################
5) Libellés de chapitre ...

Redefinition des variables de LaTeX utilisées pour créer les tables des matières, figures, ...
Attention comme on utilise "babel" un simple \renewcommand{\name}{new name} n'est pas suffisant, il faut par exemple utiliserla syntaxe suivante:

  \addto\captionsfrench{\renewcommand{\contentsname}%
    {\centerline{TABLE DES MATIERES}}}

A mettre dans latex.book.preamble.post

\renewcommand*{\thesection}{\Roman{section}.}
\renewcommand*{\thesubsection}{\textit{\alph{subsection})}}
\renewcommand*{\thesubsubsection}{\arabic{subsubsection}\textsuperscript{o}}

#######################################################################
6) Préface / Titre 
Au lieu de générer la command latex /chapter*{...} il faut générer la command /section*{} 
En effet chapter n'existe pas dans la style article.

Vu que le latex généré pour le tag preface se trouve dans la table de mapping, il est nécessaire de définir une table locale ne définissant que les règles spécifiques (fichier: local.mapping.xml) + définition de la variable:
<xsl:variable name="latex.mapping.xml" select="document('local.mapping.xml')"/>


#######################################################################
7) Colonnes
L'espace entre les 2 colonnes peut être modifié avec la commande:
  \setlength{\columnsep}{30pt}
A mettre dans latex.book.preamble.post

#######################################################################
8) Listes 
Pour changer le symbole associé à une liste on peut soit modifier le latex généré pour avoir \item[---] soit modifier globalement avec renewcommand et les paramètres labelitemi ii iii iv

Attention les \renewcommand doivent se mettre après le début du document (c-à-d: tag \begin{document})

Exemple:
\renewcommand{\labelitemi}{---}
\renewcommand{\labelitemii}{--}
\renewcommand{\labelitemiii}{-}
\renewcommand{\labelitemiv}{$\bullet$}

Idem pour les énumérations:
\renewcommand{\labelenumi}{( \roman{enumi} )}
\renewcommand{\labelenumii}{\arabic{enumii}}

enumi ou enumii est le compteur interne de latex pour les énumérations de niveau 1 et 2.


Comment insérer ces commandes juste après le begin{document} ?
redéfinition  du template:
<xsl:param name="latex.book.begindocument">
  <xsl:text>\begin{document}
   ...
  </xsl:text>
</xsl:param>

Remarque:
Les listes dans une note de bas de page sont correctement gérées par Db2Latex; le problème est lié à la création du document legi par Word.


#######################################################################
9) Euro
Utilisation du package eurosym et de la commande \euro

\usepackage{eurosym}
... \euro

Création d'une règle pour filtrer le caractère unicode 0x20AC en \euro
lors d'un post processing -> si on rélaise cette transformation en pre-processing le \ est remplacé par \backslash

#######################################################################
10) emphasis
role="bold"     OK
role="italic"   OK

#######################################################################
11) Note
Définition de la variable latex.admonition.path pour que db2latex puisse trouver les fichiers images.
<xsl:variable name="latex.admonition.path">/home/rfl/db2latex/xsl/figures</xsl:variable> 
Résulat: too much

#######################################################################
11) Literallayout
Le literallyout est traduit en LaTeX par \begin{verbatim} ... \end{verbatim}
Problème: Ne tient pas compte de la largeur de la colonne

Définition d'un nouvel environment 'literallayout' qui change la font en font type machine à écrire.
Re-définition de la règle qui match "literallayout"
<xsl:template match="literallayout">
    <xsl:text>&#10;\begin{literallayout}&#10;</xsl:text>
    <xsl:apply-templates mode="latex.verbatim"/>
    <xsl:text>&#10;\end{literallayout}&#10;</xsl:text> 
</xsl:template>


#######################################################################
12) Speech

Création d'une règle pour la transformation:




