diff options
Diffstat (limited to 'page-de-garde.xsl')
-rw-r--r-- | page-de-garde.xsl | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/page-de-garde.xsl b/page-de-garde.xsl new file mode 100644 index 0000000..f0c20fd --- /dev/null +++ b/page-de-garde.xsl @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:html="http://www.w3.org/1999/xhtml" + xmlns:m="http://planete-kraus.eu/ns/manuscrit"> + + <xsl:import href="http://h4sp.planete-kraus.eu/transform/latex.xsl" /> + + <xsl:output method="text"/> + + <xsl:template match="/"> + <xsl:variable name="numéro-ordre-nnt"> + <xsl:variable name="espacé"> + <xsl:apply-templates select="/html:html/html:head/m:page-de-garde/m:numéro-ordre-nnt" /> + </xsl:variable> + <xsl:value-of select="normalize-space($espacé)" /> + </xsl:variable> + <xsl:variable name="page-de-garde-titre"> + <xsl:variable name="espacé"> + <xsl:apply-templates select="/html:html/html:head/m:page-de-garde/m:page-de-garde-titre" /> + </xsl:variable> + <xsl:value-of select="normalize-space($espacé)" /> + </xsl:variable> + <xsl:variable name="l-université"> + <xsl:variable name="espacé"> + <xsl:apply-templates select="/html:html/html:head/m:page-de-garde/m:l-université" /> + </xsl:variable> + <xsl:value-of select="normalize-space($espacé)" /> + </xsl:variable> + <xsl:variable name="école-doctorale"> + <xsl:variable name="espacé"> + <xsl:apply-templates select="/html:html/html:head/m:page-de-garde/m:école-doctorale" /> + </xsl:variable> + <xsl:value-of select="normalize-space($espacé)" /> + </xsl:variable> + <xsl:variable name="spécialité"> + <xsl:variable name="espacé"> + <xsl:apply-templates select="/html:html/html:head/m:page-de-garde/m:spécialité" /> + </xsl:variable> + <xsl:value-of select="normalize-space($espacé)" /> + </xsl:variable> + <xsl:variable name="date-soutenance"> + <xsl:variable name="espacé"> + <xsl:apply-templates select="/html:html/html:head/m:page-de-garde/m:date-soutenance" /> + </xsl:variable> + <xsl:value-of select="normalize-space($espacé)" /> + </xsl:variable> + <xsl:variable name="auteur"> + <xsl:variable name="espacé"> + <xsl:apply-templates select="/html:html/html:head/m:author" /> + </xsl:variable> + <xsl:value-of select="normalize-space($espacé)" /> + </xsl:variable> + <xsl:variable name="titre"> + <xsl:variable name="espacé"> + <xsl:apply-templates select="/html:html/html:head/html:title" /> + </xsl:variable> + <xsl:value-of select="normalize-space($espacé)" /> + </xsl:variable> + <xsl:text>\documentclass[11pt,a4paper]{book}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\usepackage[utf8]{inputenc}
</xsl:text> + <xsl:text>\usepackage[T1]{fontenc}
</xsl:text> + <xsl:text>\usepackage{graphicx}
</xsl:text> + <xsl:text>\usepackage[french]{babel}
</xsl:text> + <xsl:text>\usepackage[inner=2.5cm, outer=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\makeatletter
</xsl:text> + <xsl:text>\@ifundefined{srcdir}{}{
</xsl:text> + <xsl:text> \graphicspath{{\srcdir}}
</xsl:text> + <xsl:text>}
</xsl:text> + <xsl:text>\makeatother
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\begin{document}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\setlength{\parindent}{0pt}
</xsl:text> + <xsl:text>\thispagestyle{empty}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\begin{center}
</xsl:text> + <xsl:text>\includegraphics[height=3cm]{images/the-logo.png}
</xsl:text> + <xsl:text>\end{center}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\fontsize{11pt}{13pt}\selectfont
</xsl:text> + <xsl:text>N\textsuperscript{o} d’ordre NNT~: </xsl:text><xsl:value-of select="$numéro-ordre-nnt" /><xsl:text>
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\vspace{1cm}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\begin{center}
</xsl:text> + <xsl:text>\fontsize{14pt}{16pt}\selectfont
</xsl:text> + <xsl:text>\textbf{\uppercase{</xsl:text><xsl:value-of select="$page-de-garde-titre" /><xsl:text>}}\\
</xsl:text> + <xsl:text>\fontsize{12pt}{14pt}\selectfont
</xsl:text> + <xsl:text>opérée au sein de\\
</xsl:text> + <xsl:text>\textbf{</xsl:text><xsl:value-of select="$l-université" /><xsl:text>}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\vspace{0.5cm}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\textbf{</xsl:text><xsl:value-of select="$école-doctorale" /><xsl:text>}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\vspace{0.5cm}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\textbf{Spécialité de doctorat~: </xsl:text><xsl:value-of select="$spécialité" /><xsl:text>}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\vspace{1.5cm}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>Soutenue publiquement le </xsl:text><xsl:value-of select="$date-soutenance" /><xsl:text>, par~:\\
</xsl:text> + <xsl:text>\fontsize{14pt}{16pt}\selectfont
</xsl:text> + <xsl:text>\textbf{</xsl:text><xsl:value-of select="$auteur" /><xsl:text>}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\vspace{1.5cm}
</xsl:text> <!-- Adapter à la longueur du titre --> + <xsl:text>
</xsl:text> + <xsl:text>\rule[20pt]{\textwidth}{0.5pt}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\fontsize{25pt}{22pt}\selectfont
</xsl:text> + <xsl:text>\textbf{</xsl:text><xsl:value-of select="$titre" /><xsl:text>}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\rule{\textwidth}{0.5pt}
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\vspace{2cm}
</xsl:text> <!-- Adapter à la longueur du titre --> + <xsl:text>\end{center}
</xsl:text> <!-- Adapter à la longueur du titre --> + <xsl:text>
</xsl:text> + <xsl:text>\fontsize{12pt}{14pt}\selectfont
</xsl:text> + <xsl:text>Devant le jury composé de~:
</xsl:text> + <xsl:text>\bigskip
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>\fontsize{11pt}{13pt}\selectfont
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:apply-templates select="/html:html/html:head/m:page-de-garde/m:jury" /> + <xsl:text>
</xsl:text> + <xsl:text>\end{document}
</xsl:text> + </xsl:template> + + <xsl:template match="m:jury"> + <xsl:text>\begin{itemize}
</xsl:text> + <xsl:apply-templates /> + <xsl:text>\end{itemize}
</xsl:text> + </xsl:template> + + <xsl:template match="m:membre"> + <xsl:variable name="name"> + <xsl:apply-templates /> + </xsl:variable> + <xsl:variable name="grade"> + <xsl:call-template name="escape-latex"> + <xsl:with-param name="str" select="@grade" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="affiliation"> + <xsl:call-template name="escape-latex"> + <xsl:with-param name="str" select="@affiliation" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="rôle"> + <xsl:call-template name="escape-latex"> + <xsl:with-param name="str" select="@rôle" /> + </xsl:call-template> + </xsl:variable> + <xsl:text>\item </xsl:text> + <xsl:value-of select="normalize-space($name)" /> + <xsl:text>, </xsl:text> + <xsl:value-of select="$grade" /> + <xsl:text>, </xsl:text> + <xsl:value-of select="$affiliation" /> + <xsl:text>, </xsl:text> + <xsl:value-of select="$rôle" /> + <xsl:text>
</xsl:text> + </xsl:template> +</xsl:stylesheet> |