summaryrefslogtreecommitdiff
path: root/page-de-garde.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'page-de-garde.xsl')
-rw-r--r--page-de-garde.xsl168
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}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\usepackage[utf8]{inputenc}&#xA;</xsl:text>
+ <xsl:text>\usepackage[T1]{fontenc}&#xA;</xsl:text>
+ <xsl:text>\usepackage{graphicx}&#xA;</xsl:text>
+ <xsl:text>\usepackage[french]{babel}&#xA;</xsl:text>
+ <xsl:text>\usepackage[inner=2.5cm, outer=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\makeatletter&#xA;</xsl:text>
+ <xsl:text>\@ifundefined{srcdir}{}{&#xA;</xsl:text>
+ <xsl:text> \graphicspath{{\srcdir}}&#xA;</xsl:text>
+ <xsl:text>}&#xA;</xsl:text>
+ <xsl:text>\makeatother&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\begin{document}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\setlength{\parindent}{0pt}&#xA;</xsl:text>
+ <xsl:text>\thispagestyle{empty}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\begin{center}&#xA;</xsl:text>
+ <xsl:text>\includegraphics[height=3cm]{images/the-logo.png}&#xA;</xsl:text>
+ <xsl:text>\end{center}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\fontsize{11pt}{13pt}\selectfont&#xA;</xsl:text>
+ <xsl:text>N\textsuperscript{o} d’ordre NNT~: </xsl:text><xsl:value-of select="$numéro-ordre-nnt" /><xsl:text>&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\vspace{1cm}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\begin{center}&#xA;</xsl:text>
+ <xsl:text>\fontsize{14pt}{16pt}\selectfont&#xA;</xsl:text>
+ <xsl:text>\textbf{\uppercase{</xsl:text><xsl:value-of select="$page-de-garde-titre" /><xsl:text>}}\\&#xA;</xsl:text>
+ <xsl:text>\fontsize{12pt}{14pt}\selectfont&#xA;</xsl:text>
+ <xsl:text>opérée au sein de\\&#xA;</xsl:text>
+ <xsl:text>\textbf{</xsl:text><xsl:value-of select="$l-université" /><xsl:text>}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\vspace{0.5cm}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\textbf{</xsl:text><xsl:value-of select="$école-doctorale" /><xsl:text>}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\vspace{0.5cm}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\textbf{Spécialité de doctorat~: </xsl:text><xsl:value-of select="$spécialité" /><xsl:text>}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\vspace{1.5cm}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>Soutenue publiquement le </xsl:text><xsl:value-of select="$date-soutenance" /><xsl:text>, par~:\\&#xA;</xsl:text>
+ <xsl:text>\fontsize{14pt}{16pt}\selectfont&#xA;</xsl:text>
+ <xsl:text>\textbf{</xsl:text><xsl:value-of select="$auteur" /><xsl:text>}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\vspace{1.5cm}&#xA;</xsl:text> <!-- Adapter à la longueur du titre -->
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\rule[20pt]{\textwidth}{0.5pt}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\fontsize{25pt}{22pt}\selectfont&#xA;</xsl:text>
+ <xsl:text>\textbf{</xsl:text><xsl:value-of select="$titre" /><xsl:text>}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\rule{\textwidth}{0.5pt}&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\vspace{2cm}&#xA;</xsl:text> <!-- Adapter à la longueur du titre -->
+ <xsl:text>\end{center}&#xA;</xsl:text> <!-- Adapter à la longueur du titre -->
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\fontsize{12pt}{14pt}\selectfont&#xA;</xsl:text>
+ <xsl:text>Devant le jury composé de~:&#xA;</xsl:text>
+ <xsl:text>\bigskip&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\fontsize{11pt}{13pt}\selectfont&#xA;</xsl:text>
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:apply-templates select="/html:html/html:head/m:page-de-garde/m:jury" />
+ <xsl:text>&#xA;</xsl:text>
+ <xsl:text>\end{document}&#xA;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="m:jury">
+ <xsl:text>\begin{itemize}&#xA;</xsl:text>
+ <xsl:apply-templates />
+ <xsl:text>\end{itemize}&#xA;</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>&#xA;</xsl:text>
+ </xsl:template>
+</xsl:stylesheet>