summaryrefslogtreecommitdiff
path: root/manuscrit.xsl
blob: 15d10fa63c2a04443c328cbe2fec4754a5f08eb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?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" indent="no"/>
  <xsl:strip-space elements="*" />

  <xsl:template match="/">
    <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,twoside,openright]{book}&#xA;</xsl:text>
    <xsl:text>\usepackage[utf8]{inputenc}&#xA;</xsl:text>
    <xsl:text>\usepackage[T1]{fontenc}&#xA;</xsl:text>
    <xsl:text>\usepackage[french]{babel}&#xA;</xsl:text>
    <xsl:text>\usepackage{graphicx}&#xA;</xsl:text>
    <xsl:text>\usepackage{grffile}&#xA;</xsl:text>
    <xsl:text>\usepackage{longtable}&#xA;</xsl:text>
    <xsl:text>\usepackage{wrapfig}&#xA;</xsl:text>
    <xsl:text>\usepackage{rotating}&#xA;</xsl:text>
    <xsl:text>\usepackage[normalem]{ulem}&#xA;</xsl:text>
    <xsl:text>\usepackage{amsmath}&#xA;</xsl:text>
    <xsl:text>\usepackage{textcomp}&#xA;</xsl:text>
    <xsl:text>\usepackage{amssymb}&#xA;</xsl:text>
    <xsl:text>\usepackage{capt-of}&#xA;</xsl:text>
    <xsl:text>\usepackage{hyperref}&#xA;</xsl:text>
    <xsl:text>\usepackage{optidef}&#xA;</xsl:text>
    <xsl:text>\usepackage{tikz}&#xA;</xsl:text>
    <xsl:text>\usepackage{subcaption}&#xA;</xsl:text>
    <xsl:text>\usepackage{geometry}&#xA;</xsl:text>
    <xsl:text>\usepackage{import}&#xA;</xsl:text>
    <xsl:text>\usepackage{caption}&#xA;</xsl:text>
    <xsl:text>\usepackage{algorithm}&#xA;</xsl:text>
    <xsl:text>\usepackage{algorithmicx}&#xA;</xsl:text>
    <xsl:text>\usepackage{algpseudocode}&#xA;</xsl:text>
    <xsl:text>\usepackage{pdfpages}&#xA;</xsl:text>
    <xsl:text>\usepackage{svg}&#xA;</xsl:text>
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\author{</xsl:text><xsl:value-of select="$auteur" /><xsl:text>}&#xA;</xsl:text>
    <xsl:text>\title{</xsl:text><xsl:value-of select="$titre" /><xsl:text>}&#xA;</xsl:text>
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\begin{document}&#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>  \newcommand{\insrcdir}[1]{\srcdir#1}&#xA;</xsl:text>
    <xsl:text>  \let\oldpgfimage\pgfimage&#xA;</xsl:text>
    <xsl:text>  \renewcommand{\pgfimage}[2][]{\oldpfgfimage[#1]{\insrcdir{images/#2}}}&#xA;</xsl:text>
    <xsl:text>}&#xA;</xsl:text>
    <xsl:text>\makeatother&#xA;</xsl:text>
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\let\mylistof\listof&#xA;</xsl:text>
    <xsl:text>\renewcommand\listof[2]{\mylistof{algorithm}{Liste des algorithmes}}&#xA;</xsl:text>
    <xsl:text>\makeatletter&#xA;</xsl:text>
    <xsl:text>\providecommand*{\toclevel@algorithm}{0}&#xA;</xsl:text>
    <xsl:text>\makeatother&#xA;</xsl:text>
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\includepdf{page-de-garde.pdf}&#xA;</xsl:text>
    <xsl:text>&#xA;</xsl:text>
    <xsl:apply-templates />
    <xsl:text>\end{document}&#xA;</xsl:text>
  </xsl:template>

  <xsl:template match="m:résumé">
    <xsl:text>\section*{Résumé}&#xA;</xsl:text>
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="m:mots-clés">
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\vspace{1cm}&#xA;</xsl:text>
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\textbf{Mots-clés}~: &#xA;</xsl:text>
    <xsl:apply-templates />
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\clearpage&#xA;</xsl:text>
    <xsl:text>&#xA;</xsl:text>
  </xsl:template>

  <xsl:template match="m:mot-clé[position() = last()]">
    <xsl:apply-templates /><xsl:text>.&#xA;</xsl:text>
  </xsl:template>

  <xsl:template match="m:mot-clé">
    <xsl:apply-templates /><xsl:text>, </xsl:text>
  </xsl:template>

  <xsl:template match="m:abstract">
    <xsl:text>\section*{Abstract}&#xA;</xsl:text>
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="m:keywords">
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\vspace{1cm}&#xA;</xsl:text>
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\textbf{Keywords}~: &#xA;</xsl:text>
    <xsl:apply-templates />
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>\cleardoublepage&#xA;</xsl:text>
    <xsl:text>&#xA;</xsl:text>
  </xsl:template>

  <xsl:template match="m:keyword[position() = last()]">
    <xsl:apply-templates /><xsl:text>.&#xA;</xsl:text>
  </xsl:template>

  <xsl:template match="m:keyword">
    <xsl:apply-templates /><xsl:text>, </xsl:text>
  </xsl:template>

  <xsl:template match="html:head">
  </xsl:template>
</xsl:stylesheet>