diff --git a/assets/logos-etablissements/CS.png b/assets/logos-etablissements/CS.png
new file mode 100644
index 0000000..6b8e3c6
Binary files /dev/null and b/assets/logos-etablissements/CS.png differ
diff --git a/assets/logos-etablissements/EHESP.png b/assets/logos-etablissements/EHESP.png
new file mode 100644
index 0000000..2055161
Binary files /dev/null and b/assets/logos-etablissements/EHESP.png differ
diff --git a/assets/logos-etablissements/ENIB.png b/assets/logos-etablissements/ENIB.png
new file mode 100644
index 0000000..70cfd6e
Binary files /dev/null and b/assets/logos-etablissements/ENIB.png differ
diff --git a/assets/logos-etablissements/ENS.jpg b/assets/logos-etablissements/ENS.jpg
new file mode 100644
index 0000000..38160de
Binary files /dev/null and b/assets/logos-etablissements/ENS.jpg differ
diff --git a/assets/logos-etablissements/ENSAB.png b/assets/logos-etablissements/ENSAB.png
new file mode 100644
index 0000000..9f2650b
Binary files /dev/null and b/assets/logos-etablissements/ENSAB.png differ
diff --git a/assets/logos-etablissements/ENSAI.png b/assets/logos-etablissements/ENSAI.png
new file mode 100644
index 0000000..e766128
Binary files /dev/null and b/assets/logos-etablissements/ENSAI.png differ
diff --git a/assets/logos-etablissements/ENSCR.png b/assets/logos-etablissements/ENSCR.png
new file mode 100644
index 0000000..0067385
Binary files /dev/null and b/assets/logos-etablissements/ENSCR.png differ
diff --git a/assets/logos-etablissements/ENSTA.jpg b/assets/logos-etablissements/ENSTA.jpg
new file mode 100644
index 0000000..6944af7
Binary files /dev/null and b/assets/logos-etablissements/ENSTA.jpg differ
diff --git a/assets/logos-etablissements/IMTA.png b/assets/logos-etablissements/IMTA.png
new file mode 100644
index 0000000..7f9f288
Binary files /dev/null and b/assets/logos-etablissements/IMTA.png differ
diff --git a/assets/logos-etablissements/INSA.svg b/assets/logos-etablissements/INSA.svg
new file mode 100644
index 0000000..a8c1286
--- /dev/null
+++ b/assets/logos-etablissements/INSA.svg
@@ -0,0 +1,59 @@
+
+
diff --git a/assets/logos-etablissements/InstitutAgro.png b/assets/logos-etablissements/InstitutAgro.png
new file mode 100644
index 0000000..61a1d82
Binary files /dev/null and b/assets/logos-etablissements/InstitutAgro.png differ
diff --git a/assets/logos-etablissements/UBO.png b/assets/logos-etablissements/UBO.png
new file mode 100644
index 0000000..4de3b82
Binary files /dev/null and b/assets/logos-etablissements/UBO.png differ
diff --git a/assets/logos-etablissements/UBS.png b/assets/logos-etablissements/UBS.png
new file mode 100644
index 0000000..c934df9
Binary files /dev/null and b/assets/logos-etablissements/UBS.png differ
diff --git a/assets/UR.png b/assets/logos-etablissements/UR.png
similarity index 100%
rename from assets/UR.png
rename to assets/logos-etablissements/UR.png
diff --git a/assets/logos-etablissements/UR2.png b/assets/logos-etablissements/UR2.png
new file mode 100644
index 0000000..89fe121
Binary files /dev/null and b/assets/logos-etablissements/UR2.png differ
diff --git a/lib/abstracts.typ b/lib/abstracts.typ
index 684fef3..168ee74 100644
--- a/lib/abstracts.typ
+++ b/lib/abstracts.typ
@@ -1,4 +1,4 @@
-
+#import "etablissements.typ": etablissements-data
#let assets-folder = "../assets/"
@@ -22,6 +22,7 @@
})
#let abstracts(
+ university: "UR",
title-fr: "",
keywords-fr: (),
abstract-fr: [],
@@ -48,7 +49,7 @@
)
set text(font: heading-font, fill: black)
- place(dx: 100mm, dy: -15mm, image(assets-folder + "UR.png", width: 6cm))
+ place(dx: 100mm, dy: -15mm, etablissements-data.at(university).logo)
place(dx: 0mm, dy: -15mm, image(assets-folder + "logo.png", width: 7.5cm))
v(2cm)
diff --git a/lib/cover.typ b/lib/cover.typ
index 57687d1..107551b 100644
--- a/lib/cover.typ
+++ b/lib/cover.typ
@@ -1,5 +1,6 @@
#let assets-folder = "../assets/"
+#import "etablissements.typ": etablissements-data
#let cover(
title-en: "",
@@ -9,7 +10,7 @@
defense-place: "",
defense-date: "",
jury-content: [],
- university: [],
+ university: "UR",
speciality: "Informatique",
heading-font: "TeX Gyre Heros",
) = {
@@ -21,27 +22,13 @@
)
set text(font: heading-font, fill: black)
- place(dx: 110mm, dy: -15mm, image(assets-folder + "UR.png", width: 6cm))
+ place(dx: 110mm, dy: -15mm, etablissements-data.at(university).logo)
place(dx: 0mm, dy: -15mm, image(assets-folder + "logo.png", width: 7.5cm))
- v(2.1cm)
- text(size: 2em, smallcaps[Thèse de doctorat de])
- v(2.25cm)
-
- set text(fill: white)
- text(size: 1.5em, smallcaps(university))
- v(.01cm)
- text(size: 1.2em)[
- #smallcaps[École Doctorale N° 601] \
- _Mathématiques, Télécommunications, Informatique, \
- Signal, Systèmes, Électronique_ \
- Spécialité : _ #speciality _ \
- #v(.1cm) #h(.6cm) Par \
- ]
-
// Add a blue background with the width of the page
context {
- let y-start = locate().position().y - 1cm
+ //let y-start = locate().position().y - 1cm
+ let y-start = 14.5cm // should match background, more or less
let y-end = locate().position().y + measure(query().first()).height + .5cm
let height = 5em
@@ -57,6 +44,22 @@
)
}
+ v(2.1cm)
+ text(size: 2em, smallcaps[Thèse de doctorat de])
+ v(2.25cm)
+
+ set text(fill: white)
+ text(size: 1.5em, smallcaps(etablissements-data.at(university).name))
+ v(.01cm)
+ text(size: 1.2em)[
+ #smallcaps[École Doctorale N° 601] \
+ _Mathématiques, Télécommunications, Informatique, \
+ Signal, Systèmes, Électronique_ \
+ Spécialité : _ #speciality _ \
+ #v(.1cm) #h(.6cm) Par \
+ ]
+
+
// Author name
v(0em)
h(.6cm)
diff --git a/lib/etablissements.typ b/lib/etablissements.typ
new file mode 100644
index 0000000..6798888
--- /dev/null
+++ b/lib/etablissements.typ
@@ -0,0 +1,109 @@
+
+
+#let logo-folder = "../assets/logos-etablissements/"
+
+#let etablissements-data = (
+ CS: (
+ logo: image(logo-folder + "CS.png", width: 6cm),
+ name: [CentralSupélec],
+ ),
+ EHESP: (
+ logo: image(logo-folder + "EHESP.png", width: 6cm),
+ name: [l'École des Hautes Études \ en Santé Publique],
+ ),
+ ENIB: (
+ logo: image(logo-folder + "ENIB.png", width: 6cm),
+ name: [l'École Nationale d'Ingénieurs de Brest],
+ ),
+ ENS: (
+ logo: image(logo-folder + "ENS.jpg", width: 6cm),
+ name: [l'École Normale Supérieure de Rennes],
+ ),
+ ENSAI: (
+ logo: image(logo-folder + "ENSAI.png", width: 6cm),
+ name: [l'École Nationale de la Statistique \ et de l'Analyse de l'Information],
+ ),
+ ENSCR: (
+ logo: image(logo-folder + "ENSCR.png", width: 6cm),
+ name: [l'École Nationale Supérieure \ de Chimie Rennes],
+ ),
+ ENSTA: (
+ logo: image(logo-folder + "ENSTA.jpg", width: 6cm),
+ name: [l'École Nationale Supérieure \ de Technique Avancées Bretagne],
+ ),
+ IMTA: (
+ logo: image(logo-folder + "IMTA.png", width: 6cm),
+ name: [l'École Nationale Supérieure \ Mines-Télécom Atlantique Bretagne \ Pays de la Loire -- IMT Atalntique],
+ ),
+ INSA: (
+ logo: image(logo-folder + "INSA.svg", width: 6cm),
+ name: [l'Institut National des \ Sciences Appliquées de Rennes],
+ ),
+ InstitutAgro: (
+ logo: image(logo-folder + "InstitutAgro.png", width: 6cm),
+ name: [l'Institut Agro Rennes Angers],
+ ),
+ UBO: (
+ logo: image(logo-folder + "UBO.png", width: 6cm),
+ name: [l'Université de Bretagne Occidentale],
+ ),
+ UBS: (
+ logo: image(logo-folder + "UBS.png", width: 6cm),
+ name: [l'Université Bretagne Sud],
+ ),
+ UR: (
+ logo: image(logo-folder + "UR.png", width: 6cm),
+ name: [l'Université de Rennes],
+ ),
+ UR2: (
+ logo: image(logo-folder + "UR2.png", width: 6cm),
+ name: [l'Université de Rennes 2],
+ ),
+ ENSAB-UR2: (
+ logo: stack(
+ dir:ttb,
+ image(logo-folder + "ENSAB.png", width: 6cm),
+ image(logo-folder + "UR2.png", width: 6cm),
+ ),
+ name: [l'École Nationale Supérieure \ d'Architecture de Bretagne \ délivrée conjointement avec \ l'Université de Rennes 2],
+ ),
+ UR2-UR: (
+ logo: stack(
+ dir:ttb,
+ image(logo-folder + "UR2.png", width: 6cm),
+ image(logo-folder + "UR.png", width: 6cm),
+ ),
+ name: [l'Université de Rennes 2 \ délivrée conjointement avec \ l'Université de Rennes],
+ ),
+ EHESP-UR: (
+ logo: stack(
+ dir:ttb,
+ image(logo-folder + "EHESP.png", width: 6cm),
+ image(logo-folder + "UR.png", width: 6cm),
+ ),
+ name: [l'École des Hautes Études \ en Santé Publique \ délivrée conjointement avec \ L'Université de Rennes],
+ ),
+ InstitutAgro-UR2: (
+ logo: stack(
+ dir:ttb,
+ image(logo-folder + "InstitutAgro.png", width: 6cm),
+ image(logo-folder + "UR2.png", width: 6cm),
+ ),
+ name: [l'Institut Agro \ Rennes Angers \ délivrée conjointement avec \ L'Université de Rennes],
+ ),
+ InstitutAgro-UBO: (
+ logo: stack(
+ dir:ttb,
+ image(logo-folder + "ENIB.png", width: 6cm),
+ image(logo-folder + "UBO.png", width: 6cm),
+ ),
+ name: [l'École Nationale \ d'Ingénieurs de Brest \ délivrée conjointement avec \ L'Université de Bretagne Occientale],
+ ),
+)
+
+#let assert-etablissements(etablissements) = {
+ assert(
+ etablissements in etablissements-data,
+ message: "'" + etablissements + "'" + " not in : [" + etablissements-data.keys().join(", ") + "]",
+ )
+}
diff --git a/lib/matisse-thesis.typ b/lib/matisse-thesis.typ
index 31985ea..903ad4b 100644
--- a/lib/matisse-thesis.typ
+++ b/lib/matisse-thesis.typ
@@ -3,6 +3,7 @@
#import "cover.typ": cover
#import "abstracts.typ": abstracts
#import "todos.typ": todos, show-todos
+#import "etablissements.typ": *
#let matisse-thesis(
// English title, will be used for the document title metadata
@@ -13,7 +14,7 @@
defense-place: "",
defense-date: "",
jury-content: [],
- university: [l'Université de Rennes],
+ university: "UR",
speciality: "Informatique",
// List of keyword for the abstract
keywords-en: (),
@@ -33,6 +34,7 @@
school-color-verso: rgb("0054a0"),
body
) = {
+ assert-etablissements(university)
if draft {
todos()
@@ -218,6 +220,7 @@
// ---------- ABSTRACT ----------
abstracts(
+ university: university,
title-fr: title-fr, keywords-fr: keywords-fr, abstract-fr: abstract-fr,
title-en: title-en, keywords-en: keywords-en, abstract-en: abstract-en,
heading-font: heading-font, school-color-verso: school-color-verso,
diff --git a/template/jury.typ b/template/jury.typ
index 0bf9656..1c7d43d 100644
--- a/template/jury.typ
+++ b/template/jury.typ
@@ -8,11 +8,11 @@
column-gutter: 2em,
stroke: 0pt,
inset: (x: 0pt, y: .5em),
- "Présidente :", "Alice", "Professeure des universités", "Université de Rennes",
- "Rapporteurs :", "Bob", "", "",
- "", "Eve", "", "",
- "Examinatrice :", "Mallory", "", "",
- "Dir. de thèse :", "Trent", "", "",
+ "Présidente :", "Alice MARTIN", "Professeure des universités", "Université de Rennes",
+ "Rapporteurs :", "Bob BERNARD", "", "",
+ "", "Eve THOMAS", "", "",
+ "Examinatrice :", "Mallory PETIT", "", "",
+ "Dir. de thèse :", "Trent ROBERT", "", "",
)
}
]
diff --git a/template/main.typ b/template/main.typ
index 0dfcaf5..b1a0561 100644
--- a/template/main.typ
+++ b/template/main.typ
@@ -7,12 +7,12 @@
#show: matisse-thesis.with(
title-fr: "Lorem Ipsum Fr",
title-en: "Lorem Ipsum",
- author: "Anne Onyme",
+ author: "Anne ONYME",
affiliation: "Inria",
defense-place: "Rennes",
defense-date: datetime.today().display(),
jury-content: jury-content,
- university: [l'Université de Rennes],
+ university: "UR",
keywords-en: keywords-en,
keywords-fr: keywords-fr,
abstract-en: abstract-en,