This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
tabellioOOo/legi2pdf/xsl
Frédéric Péters 5b9b47ff25 legi2pdf: do not depend on table of contents forcing a new page (#4076) 2013-12-16 09:58:41 +01:00
..
db2latex/xsl legi2pdf: do not force borders in merged cells (#3702) 2013-10-06 15:29:18 +02:00
Makefile added legi2pdf from subversion; initial svn log is copied below: 2008-07-08 18:00:11 +02:00
README added legi2pdf from subversion; initial svn log is copied below: 2008-07-08 18:00:11 +02:00
annex_pre_proc.xsl added legi2pdf from subversion; initial svn log is copied below: 2008-07-08 18:00:11 +02:00
appendix.xsl legi2pdf: remove use of \twocolumn in appendix (#3617) 2013-09-13 16:48:07 +02:00
db2latex_custom.xsl legi2pdf: smaller top and bottom margins (#3062) 2013-10-06 12:30:45 +02:00
first_page.xsl legi2pdf: do not depend on table of contents forcing a new page (#4076) 2013-12-16 09:58:41 +01:00
image.xsl legi2pdf: add numbering to small pictures (#3680) 2013-10-01 17:21:36 +02:00
legistic.xsl fixed xsl:param and xsl:variable ordering 2008-07-08 18:06:27 +02:00
local.mapping.xml fixed multicols usage 2008-11-12 13:16:59 +01:00
main.xsl legi2pdf: handling of long tables in parchemin 2013-06-12 15:21:41 +02:00
misc.xsl legi2pdf: makes sure there's a space after speaker (#3095) 2013-06-22 12:32:06 +02:00
para.xsl legi2pdf: handle standalone paragraphs (#3185) 2013-07-02 18:02:24 +02:00
parlement.xsl some pfb customisations 2008-11-12 12:10:33 +01:00
pfb.xsl [pfb latex] force width of pfb logo on title page 2010-03-04 22:12:00 +01:00
post_proc.xsl removed hack about euro symbol 2010-04-07 11:04:55 +02:00
pre_proc.xsl add a new "note for toc" style, that adds text to the table of contents (#390) 2011-04-27 09:35:55 +02:00
section.xsl legi2pdf: do not add appendix section titles in toc (#3617 comment 3) 2013-09-13 16:48:11 +02:00
table.xsl legi2pdf: do not give any margin to wide tables (#3699) 2013-10-02 15:22:50 +02:00
template.xml added legi2pdf from subversion; initial svn log is copied below: 2008-07-08 18:00:11 +02:00

README

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: