From a1a6d7cff8a0505be72d2840a395eb3e3bd251ec Mon Sep 17 00:00:00 2001 From: Jean-Marie Mineau Date: Wed, 11 Jun 2025 17:27:51 +0200 Subject: [PATCH] wip --- lib/matisse-thesis.typ | 3 + lib/todos.typ | 2 +- template/0_preamble/acknowledgements.typ | 7 ++ template/0_preamble/french_summary.typ | 9 ++ template/0_preamble/notations.typ | 10 ++ template/main.typ | 119 ++++++++++++++++++++++- 6 files changed, 144 insertions(+), 6 deletions(-) create mode 100644 template/0_preamble/acknowledgements.typ create mode 100644 template/0_preamble/french_summary.typ create mode 100644 template/0_preamble/notations.typ diff --git a/lib/matisse-thesis.typ b/lib/matisse-thesis.typ index 63626ca..695e22b 100644 --- a/lib/matisse-thesis.typ +++ b/lib/matisse-thesis.typ @@ -2,6 +2,7 @@ #import "cover.typ": cover #import "abstracts.typ": abstracts +#import "todos.typ": todos #let matisse-thesis( // English title, will be used for the document title metadata @@ -33,6 +34,8 @@ body ) = { + if draft { todos() } + // ---------- GENERAL ---------- let draft-string = "" diff --git a/lib/todos.typ b/lib/todos.typ index 0860878..13090d0 100644 --- a/lib/todos.typ +++ b/lib/todos.typ @@ -12,7 +12,7 @@ #let todos() = context { if (todo-list.final().len() != 0) and (show-todos.get()) { pagebreak(weak: true) - [= TO-DOs] + text(size: 2em, weight: "bold", fill:red)[TO-DOs] for t in todo-list.final() { let l = label(t.first()) list.item(link(l)[TODO n°#t.at(1) p.#locate(l).page() : #t.last()]) diff --git a/template/0_preamble/acknowledgements.typ b/template/0_preamble/acknowledgements.typ new file mode 100644 index 0000000..8cdc627 --- /dev/null +++ b/template/0_preamble/acknowledgements.typ @@ -0,0 +1,7 @@ +#import "@local/template-thesis-matisse:0.0.1": todo + += Acknowledgements + +#todo[Acknowledge people] + +#lorem(400) diff --git a/template/0_preamble/french_summary.typ b/template/0_preamble/french_summary.typ new file mode 100644 index 0000000..d3965c8 --- /dev/null +++ b/template/0_preamble/french_summary.typ @@ -0,0 +1,9 @@ +#import "@local/template-thesis-matisse:0.0.1": todo + += Résumé en Français + +#todo[ + Write a "Substantial Summary" in french, at least 4 pages: https://ed-matisse.doctorat-bretagne.fr/fr/soutenance-de-these#p-151 +] + +#lorem(2000) diff --git a/template/0_preamble/notations.typ b/template/0_preamble/notations.typ new file mode 100644 index 0000000..5a95637 --- /dev/null +++ b/template/0_preamble/notations.typ @@ -0,0 +1,10 @@ +#let tldr = link()[TL;DR] + +#let notation_table = align(center, table( + columns: 2, + align: center+horizon, + table.header( + [Acronyms], [Meanings], + ), + tldr, [Too long; didn't read], +)) diff --git a/template/main.typ b/template/main.typ index 5df8688..4239c2e 100644 --- a/template/main.typ +++ b/template/main.typ @@ -2,6 +2,7 @@ #import "jury.typ": jury-content #import "abstract.typ": keywords-en, keywords-fr, abstract-en, abstract-fr +#import "0_preamble/notations.typ": * #show: matisse-thesis.with( title-fr: "Lorem Ipsum Fr", @@ -16,13 +17,121 @@ keywords-fr: keywords-fr, abstract-en: abstract-en, abstract-fr: abstract-fr, - draft: true, +draft: true, ) -#todo[Write the Thesis] +// Preamble +#{ + set heading(numbering: none, outlined: false) + set page(numbering: "i") + counter(page).update(0) -#lorem(2000) + include("0_preamble/acknowledgements.typ") + + // https://ed-matisse.doctorat-bretagne.fr/fr/soutenance-de-these#p-151 + // > Le manuscrit est normalement rédigé en français (Loi relative à l'emploi de la langue française, 1994). + // > Toutefois, il est accepté de bâtir le manuscrit sur la base d'un résumé substantiel en français + // > (au moins 4 pages), le reste du manuscrit étant considéré comme des annexes et étant alors rédigé en + // > langue étrangère. + // > + // > Dans le cas d'une thèse qui ne serait pas rédigée en français, il est conseillé de bien distinguer le + // > résumé substantiel des chapitres de la thèse pour éviter d'essuyer un refus de la part de + // > l'administration de l'établissement d'inscription (par exemple en l'intitulant résumé en français et + // > en ne lui affectant aucun numéro de chapitre). + // + include("0_preamble/french_summary.typ") + + outline(title: "Table of Contents", indent: auto) + show outline.entry: it => { + v(5mm, weak: true) + it + } + + outline(title: "Index of Figures", target: figure.where(supplement: [Figure])) + outline(title: "Index of Tables", target: figure.where(supplement: [Table])) + outline(title: "Index of Listings", target: figure.where(supplement: [Listing])) + + [= List of Acronyms and Notations] + + notation_table + +} + +#counter(page).update(1) + += Introduction + +#todo[Write an introduction] + +#lorem(200) + +#figure( + circle(radius: 50pt), + caption: [A circle], +) + +#lorem(200) + += Background + +#todo[Present your field background] + +#lorem(200) + +#figure( + table( + columns: (20pt, 20pt, 20pt), + align: center+horizon, + table.header( + table.cell(colspan:3)[Play] + ), + emoji.crossmark, [], emoji.circle.stroked, + [], emoji.circle.stroked, [], + emoji.crossmark, [], emoji.crossmark, + ), + caption: [A tic tac toe game], +) + +== Something + +#lorem(200) + +== Something Else + +#lorem(200) + += Related Work + +#todo[Do the State of the Art] + +#lorem(200) + +#figure([ + ```python + for _ in range(10): + print("Hello Void") + ``` +], caption: [Some code], +) + += Contribution 1 + +#todo[Contribute to science] + +#lorem(500) + += Contribution 2 + +#lorem(500) + += Contribution n + +#lorem(500) + += Conclusion + +#todo[Conclude] + +#lorem(500) #bibliography("bibliography.bib") - -#todos()