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,