From b0dc457b53e55483bb9cf863577b946aa6defce3 Mon Sep 17 00:00:00 2001 From: benjamineeckh <72217356+benjamineeckh@users.noreply.github.com> Date: Fri, 19 Sep 2025 17:20:00 +0200 Subject: [PATCH 1/3] push of modern-se-kul-thesis template --- modern-se-kul-thesis/.typstignore | 16 ++ modern-se-kul-thesis/0.1.0/LICENSE | 19 ++ modern-se-kul-thesis/0.1.0/README.md | 67 +++++ .../0.1.0/src/assets/logokul.svg | 25 ++ .../0.1.0/src/assets/logokuleng.svg | 21 ++ .../0.1.0/src/assets/text-blobs.typ | 21 ++ .../0.1.0/src/core/component.typ | 14 + .../0.1.0/src/core/components/abstract.typ | 25 ++ .../0.1.0/src/core/components/appendix.pdf | Bin 0 -> 2213 bytes .../0.1.0/src/core/components/appendix.typ | 40 +++ .../src/core/components/bibliography.typ | 27 ++ .../0.1.0/src/core/components/copyright.typ | 31 ++ .../0.1.0/src/core/components/cover-page.typ | 190 +++++++++++++ .../components/declaration-of-originality.typ | 15 + .../src/core/components/dutch-summary.typ | 20 ++ .../components/list-of-abbrvs-symbols.typ | 39 +++ .../0.1.0/src/core/components/outline.typ | 95 +++++++ .../0.1.0/src/core/components/preface.typ | 39 +++ modern-se-kul-thesis/0.1.0/src/core/utils.typ | 4 + .../0.1.0/src/core/utils/footers.typ | 16 ++ .../0.1.0/src/core/utils/headers.typ | 32 +++ .../0.1.0/src/core/utils/margins.typ | 2 + modern-se-kul-thesis/0.1.0/src/lib.typ | 268 ++++++++++++++++++ .../0.1.0/template/references.bib | 0 .../0.1.0/template/sections/chapter-1.typ | 2 + .../0.1.0/template/sections/preface.typ | 1 + .../0.1.0/template/thesis.typ | 66 +++++ modern-se-kul-thesis/0.1.0/thumbnail.png | Bin 0 -> 141671 bytes modern-se-kul-thesis/0.1.0/typst.toml | 26 ++ 29 files changed, 1121 insertions(+) create mode 100644 modern-se-kul-thesis/.typstignore create mode 100644 modern-se-kul-thesis/0.1.0/LICENSE create mode 100644 modern-se-kul-thesis/0.1.0/README.md create mode 100644 modern-se-kul-thesis/0.1.0/src/assets/logokul.svg create mode 100644 modern-se-kul-thesis/0.1.0/src/assets/logokuleng.svg create mode 100644 modern-se-kul-thesis/0.1.0/src/assets/text-blobs.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/component.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/abstract.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/appendix.pdf create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/appendix.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/bibliography.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/copyright.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/cover-page.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/declaration-of-originality.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/dutch-summary.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/list-of-abbrvs-symbols.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/outline.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/preface.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/utils.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/utils/footers.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/utils/headers.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/core/utils/margins.typ create mode 100644 modern-se-kul-thesis/0.1.0/src/lib.typ create mode 100644 modern-se-kul-thesis/0.1.0/template/references.bib create mode 100644 modern-se-kul-thesis/0.1.0/template/sections/chapter-1.typ create mode 100644 modern-se-kul-thesis/0.1.0/template/sections/preface.typ create mode 100644 modern-se-kul-thesis/0.1.0/template/thesis.typ create mode 100644 modern-se-kul-thesis/0.1.0/thumbnail.png create mode 100644 modern-se-kul-thesis/0.1.0/typst.toml diff --git a/modern-se-kul-thesis/.typstignore b/modern-se-kul-thesis/.typstignore new file mode 100644 index 0000000000..ba2d170a42 --- /dev/null +++ b/modern-se-kul-thesis/.typstignore @@ -0,0 +1,16 @@ +# this is not a "standard" ignore file, it's specific to this template's `scripts/package` script +# list any files here that should not be uploaded to Universe when releasing this package + +# if you are used to ignore files, be aware that .typstignore is a bit more limited: +# - only this file is used; .typstignore files in subdirectories are not considered +# - patterns must match file/directory names from the beginning: `x.typ` will not match `src/x.typ` +# - `*` in patterns works, but also matches directory separators: `*.typ` _will_ match `src/x.typ` +# .git and .typstignore are excluded automatically + +.github +scripts +tests +Justfile +# PDF manuals should be included so that they can be linked, but not their sources +docs/* +!docs/*.pdf diff --git a/modern-se-kul-thesis/0.1.0/LICENSE b/modern-se-kul-thesis/0.1.0/LICENSE new file mode 100644 index 0000000000..6802bc4b80 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/LICENSE @@ -0,0 +1,19 @@ +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/modern-se-kul-thesis/0.1.0/README.md b/modern-se-kul-thesis/0.1.0/README.md new file mode 100644 index 0000000000..006e642a19 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/README.md @@ -0,0 +1,67 @@ +# The `modern-se-kul-thesis` Package +
Version 0.1.0
+ +This is an unofficial typst template for doing a thesis at the engineering science faculty at KU Leuven. +This was made by trying to as closely follow the Latex template [here](https://eng.kuleuven.be/docs/kulemt). +## Usage + +You can use this template in the web editor by going to "start from template" and searching for "modern-se-kul-thesis". +Alternatively, you can use this template locally by running: +```typ +typst init @preview/modern-se-kul-thesis +``` +This will then create a basic folder structure with some fields pre-filled. + +## Configuration +- `title`: The title of the thesis. +- `subtitle`: An optional subtitle. +- `academic-year`: Can be a starting year (e.g. 2025) or a tuple of start and end year (e.g. 2025,2027) +- `authors`: An array of all the authors. +- `promotors`: An array of all the promotors. +- `assessors`: An array of all the assessors. +- `supervisors`: An array of all the supervisors. +- `degree: An array containing`: the name of your master, elective and the specified color in hsv (default is for computer science). +- `language`: "en" or "nl". +- `electronic-version`: A boolean toggle to set the thesis as electronic. +- `english-master`: A boolean toggle to use the template for the English master. +- `list-of-figures`: Toggle to add a list of figures. +- `list-of-listings`: Toggle to add a list of listings (code blocks). +- `font-size`: Font size toggle. +- `preface`: The preface of your thesis goes here. +- `abstract`: The abstract of your thesis goes here. +- `dutch-summary`: The dutch summary of your thesis goes here. +- `abbreviations`: The abbreviations used in your thesis go here. +- `symbols`: The symbols used in your thesis go here. +- `bibliography`: The bibliography of your thesis goes here. +- `appendices`: The appendices of your thesis goes here. +```typ +#import "@preview/modern-se-kul-thesis:0.1.0": template +#show: template.with( +title: [The main title], +subtitle: [The subtitle], +academic-year: 2025, +authors: ("an Author",), +promotors: ("a promotor",), +assessors: ("an assessor",), +supervisors: ("a supervisor",), +degree: ( + elective: "Software engineering", + master: "Computerwetenschappen", + color: (0, 0, 1, 0), +), +language: "en", +electronic-version: false, +english-master: false, +list-of-figures: true, +list-of-listings: false, +font-size: 11pt, +preface: [#lorem(100)], +abstract: [#lorem(100)], +dutch-summary: [#lorem(100)], +abbreviations: [WIP: Work in progress], +symbols: [$Omega$:Ohm], +bibliography: include bibliography.bib, +appendices: [#lorem(100)], +) +// Put your thesis content here +``` diff --git a/modern-se-kul-thesis/0.1.0/src/assets/logokul.svg b/modern-se-kul-thesis/0.1.0/src/assets/logokul.svg new file mode 100644 index 0000000000..c049d466a5 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/assets/logokul.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modern-se-kul-thesis/0.1.0/src/assets/logokuleng.svg b/modern-se-kul-thesis/0.1.0/src/assets/logokuleng.svg new file mode 100644 index 0000000000..07dc859f6f --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/assets/logokuleng.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/modern-se-kul-thesis/0.1.0/src/assets/text-blobs.typ b/modern-se-kul-thesis/0.1.0/src/assets/text-blobs.typ new file mode 100644 index 0000000000..f060306514 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/assets/text-blobs.typ @@ -0,0 +1,21 @@ +#let submission-text(degree, elective) = ( + "en": [ + Thesis submitte as part of the degree Master of Science: #degree, with elective #elective + ], + "nl" : [ + Thesis voorgedragen tot het behalen van de graad van Master of Science in de ingenieurswetenschappen: #degree, hoofdoptie #elective + ] +) + +#let copyright = ( + "tm": [#sym.copyright Copyright KU Leuven], + "en" :[ + Without written permission of the supervisors and the author it is forbidden to reproduce or adapt in any form or by any means any part of this publication. Requests for obtaining the right to reproduce or utilize parts of this publication should be addressed to the Departement Computerwetenschappen, Celestijnenlaan 200A bus 2402, B-3001 Heverlee, +32-16-327700 or by email #link("mailto:info@cs.kuleuven.be"). +#v(1em) + A written permission of the supervisors is also required to use the methods, products, schematics and programmes described in this work for industrial or commercial use, and for submitting this publication in scientific contests.], + + "nl": [Zonder voorafgaande schriftelijke toestemming van zowel de promotoren als de auteur is overnemen, kopiƫren, gebruiken of realiseren van deze uitgave of gedeelten ervan verboden. Voor aanvragen tot of informatie i.v.m. het overnemen en/of gebruik en/of realisatie van gedeelten uit deze publicatie, wend u tot het Departement Computerwetenschappen, Celestijnenlaan 200A bus 2402, B-3001 Heverlee, +32-16- 327700 of via e-mail #link("mailto:info@cs.kuleuven.be"). + +#v(1em) + + Voorafgaande schriftelijke toestemming van de promotoren is eveneens vereist voor het aanwenden van de in deze masterproef beschreven (originele) methoden, producten, schakelingen en programma's voor industrieel of commercieel nut en voor de inzending van deze publicatie ter deelname aan wetenschappelijke prijzen of wedstrijden.]) diff --git a/modern-se-kul-thesis/0.1.0/src/core/component.typ b/modern-se-kul-thesis/0.1.0/src/core/component.typ new file mode 100644 index 0000000000..ad6824663b --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/component.typ @@ -0,0 +1,14 @@ +#import "components/abstract.typ": insert-abstract +#import "components/bibliography.typ": insert-bibliography +#import "components/copyright.typ": insert-copyright +#import "components/cover-page.typ": insert-cover-page +#import "components/declaration-of-originality.typ": insert-dec-of-orig +// #import "components/keywords.typ": insert-keywords +#import "components/preface.typ": insert-preface +#import "components/outline.typ": ( + insert-heading-outline, insert-image-outline, insert-listing-outline, +) +#import "components/list-of-abbrvs-symbols.typ": insert-list-of-abbrv-symbol +// #import "components/figure-outline.typ": insert-figure-outline +#import "components/appendix.typ": insert-appendices + diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/abstract.typ b/modern-se-kul-thesis/0.1.0/src/core/components/abstract.typ new file mode 100644 index 0000000000..aac0e5e377 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/abstract.typ @@ -0,0 +1,25 @@ +#let insert-abstract(abstract, lang: "en") = context { + heading( + level: 1, + numbering: none, + outlined: true, + if lang == "en" { + "Abstract" + } else { + "Samenvatting" + }, + ) + if abstract != none { + abstract + } else { + let t = if lang == "nl" { + "PLAATSHOUDER VOOR SAMENVATTING" + } else { + "PLACEHOLDER FOR ABSTRACT" + } + text(purple, size: 3em)[#t] + set text(red) + lorem(200) + } +} + diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/appendix.pdf b/modern-se-kul-thesis/0.1.0/src/core/components/appendix.pdf new file mode 100644 index 0000000000000000000000000000000000000000..245a89aff29082971dd63ff6f922c1be408342d8 GIT binary patch literal 2213 zcma)8&2HO95YC||7JY{W3!@GKiCogOM1o=vi&1OTOjKD-0=Pb`$Q8|)CFzEFX_LT6WhlN%&Ve}cRHzT3Z+oFOX(7}e-x zV>O{QTkx3H$l5@!%8~))>RJl|jh2ZFK$8Z$NG@oZiW_A0q|;HB3(Da)CxV7FW(k#+ zwcwN#TJy!8n$OOzhlr5bUnwEkpP#>c|Ln!T-~Az-uUVUIq?+9}JHhoT`UMEa^7Yp& zfe2-KCVOEzTl-e*r;mZX$3U5b-S!{e&OXvuAn8=4cuWK+Es=DnfY*)q`BH#vB;6@! z$a2OnD-u)G-(Vw1JMw)9sTGx6UG3EZ-7TmDLk0!o=ok`F3uJb&-NnzhD;X<8x%YAC zS*GQfF78>_v2p)}Y5ioHiWsrvX-;c%EHBPZ{`!#Jo;u~#SwvKjga{&IxLnMHx{)8E zi`IerFB?#QO9h(IG%E-Ce}Dg@qbwQd@14kusv*6}e!1uL^8U>b%jL4W zw7ZO_26kQ7FfGHfI>6}Eccmarr>uWmI|ykV^Q;n(Q6wFb8C!^f4tuI#l6dR1TJT)C zOk#uPw2;+g;4X&vHjx+AmR;6erJ@_N!e~eZOmmMJMNe~!Vvjx@r%&^RQKdVJs+Ens zP+$QSe_2FW>*(BTY?z zO9umGyH8ykpO>{DWlX=pxJC7o*qbw65D}27%Cnfr<1#>sZ|s(Q`1YWSzN5T`Yddf+eE})aHF3=fC1K*G*zk1svfMUqI_eM6}I>1U-3s{SqKnu%cM8llabx?7} zAh1=o4%T)lr?NH!S-c(7?cmxI&R zw{7(WyXpl!1D!){KGLS~V}of3eIaM5Yz-<^yV3M6qf5%ioX#oCEIDk{Km%f!ap0B_n1QY~rHZkr8w(M*Ib&D=id)NyPF&41Wp7+SP^P`SnIKFqKK%yOV_ zA7I#d$g?dFe896$U|Jkvr!c?{uoL$o&%qCQr#4K4eOuf!Td@dEvYhhupMlHlp2{ph ywkC|hSX9GMex8?ehU6eo^XNQ8SI1wg(dX#vOKPq{p>m;8j{7j}kB(ly9sLh2)_^Yn literal 0 HcmV?d00001 diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/appendix.typ b/modern-se-kul-thesis/0.1.0/src/core/components/appendix.typ new file mode 100644 index 0000000000..8ba7e2589a --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/appendix.typ @@ -0,0 +1,40 @@ +#let insert-appendices(appendices) = { + set heading(numbering: "A.1", supplement: "Appendix") + // let heading-number = "1.1.1." + // let heading-spacing = context h( + // measure(heading-number).width - measure(heading-number).width, + // ) + pagebreak(weak: true, to: "odd") + page( + footer: context [#align(center)[#( + (here().page-numbering())(here().page()) + )]], + header: none, + )[ + #set align(center) + #v(40%) + #text(size: 2.5em, weight: "semibold")[Appendices] + ] + + pagebreak(weak: true, to: "odd") + + // shoddy hack, but it works + // show heading: it => { + // if it.level == 1 { it } else { + // let size = if it.level == 2 { + // 1.1em + // } else { 1em } + // set text(size, weight: "bold") + // let first-number = numbering(it.numbering, counter(heading).get().first()) + // + // let heading-number = (first-number, ..counter(heading).get().slice(1)) + // .map(str) + // .join(".") + // [#linebreak()#heading-number #heading-spacing #it.body#linebreak()] + // } + // } + set heading(numbering: "A.1") + counter(heading).update(0) + appendices +} + diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/bibliography.typ b/modern-se-kul-thesis/0.1.0/src/core/components/bibliography.typ new file mode 100644 index 0000000000..62d989c8de --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/bibliography.typ @@ -0,0 +1,27 @@ + +// Bibliography +#let insert-bibliography(bib, lang: "en") = { + if bib != none { + show heading: it => { + pagebreak(to: "odd", weak: true) + pad(top: 1em + 35mm, bottom: 2em, text( + size: 1.7em, + )[#it.body]) + } + heading( + level: 1, + numbering: none, + if lang == "en" { + "Bibliography" + } else { + "Bibliografie" + }, + outlined: true, + ) + set bibliography(title: none) + set par(spacing: 1em) + show bibliography: set text(size: 0.9em) + show link: it => text(fill: rgb(238, 34, 153), weight: "semibold")[#it] + bib + } +} diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/copyright.typ b/modern-se-kul-thesis/0.1.0/src/core/components/copyright.typ new file mode 100644 index 0000000000..3e3af80a56 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/copyright.typ @@ -0,0 +1,31 @@ +#import "../../assets/text-blobs.typ": copyright +/// inserts the copyright page +/// -> content +#let insert-copyright( + /// Whether the thesis is done during an English master + /// -> bool + english-master, + /// The language of the thesis + /// -> Str + lang, +) = { + // Copyright + set align(left + bottom) + set par(justify: true, first-line-indent: 0pt) + show link: it => [#text(font: "Nimbus Mono PS", weight: 300)[#it]] + set text(hyphenate: false) + copyright.tm + v(2em) + if lang == "en" { + copyright.en + v(2em) + } + if not english-master { + copyright.nl + } + + // par(first-line-indent: 0pt, leading: 5pt, justify: true)[ + // text(hyphenate: false, size: 10.5pt)[ + // #copyright-text + // ] + // ] + v(7%) +} diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/cover-page.typ b/modern-se-kul-thesis/0.1.0/src/core/components/cover-page.typ new file mode 100644 index 0000000000..27633ea1d6 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/cover-page.typ @@ -0,0 +1,190 @@ +#import "../../assets/text-blobs.typ": submission-text +#let generate-year(academic-year) = [ + #if type(academic-year) == array { + [#academic-year.at(0) #sym.dash.en #academic-year.at(1)] + } else { + let next-year = academic-year + 1 + [#academic-year #sym.dash.en #next-year] + } +] + +#let convert-cmyk(degree) = { + let clr = cmyk(..degree.map(v => v * 100%)) + let (red, green, blue) = rgb(clr) + .components() + .slice(0, 3) + .map(v => int(v * 255 / 100%)) + let text-clr = if (red * 0.299 + green * 0.587 + blue * 0.114) > 186 { + black + } else { white } + return (clr, text-clr) +} + +// TODO: fix error messages + add some standard values +#let insert-cover-page( + title, + subtitle, + authors, + promotors, + evaluators, + supervisors, + academic-year, + // An degree dictionary, you should specify a `university` + // keyword, `school` keyword and a `degree` keyword + degree, + english-master, + // can be an actual image, or just a path to an image + cover: false, + lang: "en", +) = { + // diferent scope so logo and font don't get copied over to all the other pages + let background-logo + if lang == "en" { + background-logo = place( + top + left, + dy: 10mm, + dx: 10mm, + image( + format: "svg", + width: 35%, + "../../assets/logokuleng.svg", + ), + ) + } else if lang == "nl" { + //TODO: add dutch logo + background-logo = place( + top + left, + dy: 10mm, + dx: 10mm, + image( + format: "svg", + width: 30%, + "../../assets/logokul.svg", + ), + ) + // logo = image("../../assets/logokuleng.svg") + } else { + panic("language not supported") + } + page( + margin: 20mm, + header: none, + numbering: none, + footer: none, + background: background-logo, + )[ + #{ + set text( + font: "Nimbus Sans", + ) + [ + #v(30%) + #text(2.25em, weight: 500, title) + #if subtitle != none { + v(1em) + text(1.5em, weight: 300, subtitle) + } + #v(40pt) + #block(height: 67pt)[ + #text(1.4em)[#authors.join("\n")] + + ] + + ] + + set text(size: 12pt) + // v(30pt) + set align(right) + // promotors, evaluators, supervisors + // width should be 50% of the text box, don't know how to do it in typst + block(width: 45%)[ + #[ + #set par(leading: 6pt) + #submission-text(degree.master, degree.elective).at( + if english-master { "en" } else { "nl" }, + ) + + + ] + + #let bold-spacing = 8pt + #if promotors == none { + panic("You probably need to have a promotor") + } else { + v(bold-spacing) + if english-master { + [*Supervisor*#if promotors.len() > 1 { [*s*] }: #linebreak()] + } else { + [*Promotor*#if promotors.len() > 1 { [*en*] }: #linebreak()] + } + par(leading: 5pt)[ + // #v(-0.6em) + #promotors.join(linebreak()) + ] + // linebreak() + } + #if not cover { + if evaluators == none { + // [] + } else { + v(bold-spacing) + if english-master { + [*Assessor*#if evaluators.len() > 1 { [*s*] }: #linebreak()] + } else { + [*Evaluator*#if evaluators.len() > 1 { [*en*] }: #linebreak()] + } + par(leading: 5pt)[ + // #v(-0.6em) + #evaluators.join(linebreak()) + ] + // linebreak() + } + + if supervisors == none { + // [] + } else { + v(bold-spacing) + if english-master { + [*Supervisor*#if supervisors.len() > 1 { [*s*] }: #linebreak()] + } else { + [*Begeleider*#if supervisors.len() > 1 { [*s*] }: #linebreak()] + } + par(leading: 5pt)[ + // #v(-0.6em) + #supervisors.join(linebreak()) + ] + } + } + ] + + + // let degree = (color:none) + let height = if degree.color != none and cover { + 30pt + } else { + 15pt + } + + let title-page-footer = text(1.2em, weight: 500, [ + #if english-master { + "Academic Year" + } else { + "Academiejaar" + } + #generate-year(academic-year) + ]) + title-page-footer += if degree.color != none and cover { + let (clr, text-clr) = convert-cmyk(degree.color) + v(15pt) + rect(width: 190mm, height: 15mm, fill: clr, stroke: none)[#align( + center + horizon, + )[#text(fill: text-clr)[#degree.master: #degree.elective]]] + } + place( + center + bottom, + dy: height, + title-page-footer, + ) + } + ] +} diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/declaration-of-originality.typ b/modern-se-kul-thesis/0.1.0/src/core/components/declaration-of-originality.typ new file mode 100644 index 0000000000..54a3649fa9 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/declaration-of-originality.typ @@ -0,0 +1,15 @@ +#let insert-dec-of-orig(declaration-of-originality, lang:"en") = { + if declaration-of-originality != none{ + heading( + level: 1, + numbering: none, + outlined: false, + if lang == "en" { + "Declaration of Originality" + } else { + "Declaratie van originaliteit" + } + ) + text(style: "italic", declaration-of-originality.at(lang)) + } +} \ No newline at end of file diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/dutch-summary.typ b/modern-se-kul-thesis/0.1.0/src/core/components/dutch-summary.typ new file mode 100644 index 0000000000..35de4f85d4 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/dutch-summary.typ @@ -0,0 +1,20 @@ + +#let insert-dutch-summary(summary, lang: "nl") = { + if summary != none and lang == "en"{ + heading( + level: 1, + numbering: none, + outlined: true, + "Samenvatting" + ) + summary + }else{ + if lang == "en"{ + page[ + #text(red, size: 5em)[#rotate(45deg)[placeholder] + + You need a dutch summary if you are writing an English thesis set `overrule-dutch-summary` to true if you want to remove this warning] + ] + } + } +} \ No newline at end of file diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/list-of-abbrvs-symbols.typ b/modern-se-kul-thesis/0.1.0/src/core/components/list-of-abbrvs-symbols.typ new file mode 100644 index 0000000000..e1a4fa5feb --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/list-of-abbrvs-symbols.typ @@ -0,0 +1,39 @@ +// TODO: idk, is kinda wonky to use +#let insert-list-of-abbrv-symbol( + lang: "en", + abbreviations: none, + symbols: none, +) = { + let title = if lang == "en" { + "List of Abbreviations and Symbols" + } else { + "Lijst van Afkortingen en Symbolen" + } + let abbrv = if lang == "en" { + "Abbreviations" + } else { + "Afkortingen" + } + + let symb = if lang == "en" { + "Symbols" + } else { + "Symbolen" + } + set par(first-line-indent: 0em) + heading(numbering: none, bookmarked: true, level: 1, title) + if abbreviations != none { + text(black, weight: "bold", size: 1.3em)[#abbrv] + v(1em) + + abbreviations + } + + if symbols != none { + text(black, weight: "bold", size: 1.3em)[#symb] + v(1em) + + symbols + } +} + diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/outline.typ b/modern-se-kul-thesis/0.1.0/src/core/components/outline.typ new file mode 100644 index 0000000000..64948263a1 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/outline.typ @@ -0,0 +1,95 @@ +#let graph-outline(..args) = { + show outline: set heading(outlined: true) + outline(..args) +} +#let create-page-number(it) = box( + width: 2.5em, + align(right + top, it.page()), +) +#let format-body-with-page(body, number) = {} + +/// Inserts outline +/// - lang (string): language for the oultine, "en" or "nl" allowed +/// -> content +#let insert-heading-outline(lang: "en") = { + // Table of contents + // Outline customization + show outline.entry: it => { + let weight = if it.element.level == 1 { 900 } else { 500 } + let fill = if it.element.level != 1 { + repeat(gap: 0.5em)[.] + } else { [] } + let rest = ( + text(red, weight: weight)[#it.body()] + + h(1em) + + box(width: 1fr, fill) + + sym.space + + sym.wj + + text(weight: weight)[ #create-page-number(it) ] + ) + // TOOD: fix indentation of numbered items + link( + it.element.location(), + it.indented(text(red, weight: weight)[#it.prefix()], rest), + ) + } + show outline: set heading(numbering: none, outlined: false) + show outline.entry.where(level: 1): set block(above: 1.1em) + let title = if lang == "nl" { + "Inhoudsopgave" + } else { + "Contents" + } + outline(title: title, depth: 2) +} + +#let insert-figure-outline(title, target: image) = { + // Table of contents + // Outline customization + show outline.entry: it => { + let fill = repeat(gap: 0.5em)[.] + let rest = ( + text(red, weight: 500)[#it.body()] + + h(1em) + + box(width: 1fr, fill) + + sym.space + + sym.wj + + create-page-number(it) + ) + // + [#it.element.fields()] + let location = it.element.location() + let number = context { + let chapter-number = counter(heading).at(location).at(0) + if it.element.caption != none { + let figure-number = it.element.caption.counter.at(location).at(0) + numbering("1.1", chapter-number, figure-number) + } else { "" } + } + // TODO: add spacing for images with number "N.1" + link( + location, + it.indented( + text(red, weight: 500)[#number], + rest, + ), + ) + } + show outline: set heading(numbering: none, outlined: false) + show outline.entry.where(level: 1): set block(above: 1.1em) + graph-outline( + title: title, + target: figure.where(kind: target), + ) +} +#let insert-listing-outline(lang: "en") = { + let title = if lang == "en" { "List of Listings" } else { + "Lijst van code" + } + insert-figure-outline(title, target: raw) +} +#let insert-image-outline(lang: "en") = { + let title = if lang == "en" { "List of Figures" } else { + "Lijst van Figuren" + } + insert-figure-outline(title, target: image) +} diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/preface.typ b/modern-se-kul-thesis/0.1.0/src/core/components/preface.typ new file mode 100644 index 0000000000..38fce5aa73 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/components/preface.typ @@ -0,0 +1,39 @@ +/// inserts preface +/// - preface (content): The actual preface content to insert +/// - authors (array): Array of authors +/// - lang (string): The language of the preface, should be "en" or "nl" +/// -> content +#let insert-preface(preface, authors, lang: "en") = { + // preface + if preface != none { + heading( + level: 1, + numbering: none, + outlined: true, + if lang == "en" { + "Preface" + } else { + "Voorwoord" + }, + ) + block[#sym.zws#label("start-of-preamble")] + v(-2em) + + // let spacing = 0.5em + // set par(leading: spacing, spacing: spacing) + preface + v(1em) + let auth = authors.join("\n") + align(right)[_ #auth _] + } else { + let t = if lang == "nl" { + "PLAATSHOUDER VOOR VOORWOORD" + } else { + "PLACEHOLDER FOR PREFACE" + } + text(purple, size: 3em)[#t] + set text(red) + lorem(200) + } +} + diff --git a/modern-se-kul-thesis/0.1.0/src/core/utils.typ b/modern-se-kul-thesis/0.1.0/src/core/utils.typ new file mode 100644 index 0000000000..ee985adf13 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/utils.typ @@ -0,0 +1,4 @@ +#import "utils/headers.typ": custom-header +#import "utils/footers.typ": custom-footer +#import "utils/margins.typ" + diff --git a/modern-se-kul-thesis/0.1.0/src/core/utils/footers.typ b/modern-se-kul-thesis/0.1.0/src/core/utils/footers.typ new file mode 100644 index 0000000000..a9d20dd162 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/utils/footers.typ @@ -0,0 +1,16 @@ +// needs context +// custom footer, used in `set page(footer:...)` +#let custom-footer() = { + let num = counter(page).get().at(0) + let dir = if calc.odd(int(num)) { + right + } else { + left + } + let num = if type(here().page-numbering()) == str { + numbering(here().page-numbering(), counter(page).get().at(0)) + } else { + here().page-numbering()(counter(page).get().at(0)) + } + align(dir, num) +} diff --git a/modern-se-kul-thesis/0.1.0/src/core/utils/headers.typ b/modern-se-kul-thesis/0.1.0/src/core/utils/headers.typ new file mode 100644 index 0000000000..cfebf84042 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/utils/headers.typ @@ -0,0 +1,32 @@ +#import "@preview/hydra:0.6.2": hydra +// needs context +// heading generation, depends on if the page is even or odd +#let custom-header() = { + if calc.even(counter(page).get().at(0)) { + let entry = hydra(skip-starting: true, 1) + if entry != none { + entry = if entry.has("text") { + entry.text + } else { + entry.children.first() + [. ] + entry.children.last() + } + align(left)[#smallcaps(entry)] + line(length: 100%, stroke: (thickness: 0.1pt)) + } + } else { + let entry = hydra(2, skip-starting: false) + if entry == none { + entry = hydra(1) + } + if entry != none { + entry = if entry.has("text") { + entry.text + } else { + entry.children.first() + [. ] + entry.children.last() + } + align(right)[#smallcaps(entry)] + line(length: 100%, stroke: (thickness: 0.1pt)) + } + } +} + diff --git a/modern-se-kul-thesis/0.1.0/src/core/utils/margins.typ b/modern-se-kul-thesis/0.1.0/src/core/utils/margins.typ new file mode 100644 index 0000000000..3e5a780d83 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/core/utils/margins.typ @@ -0,0 +1,2 @@ +// TODO after everything else works +// See https://typst.app/docs/reference/layout/page/#parameters-margin diff --git a/modern-se-kul-thesis/0.1.0/src/lib.typ b/modern-se-kul-thesis/0.1.0/src/lib.typ new file mode 100644 index 0000000000..d36b33573f --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/src/lib.typ @@ -0,0 +1,268 @@ +#import "assets/text-blobs.typ": copyright, submission-text +#import "core/component.typ" +#import "core/utils.typ" + +/// The function used to instantiate the template for the thesis +/// -> content +#let template( + /// The title of the thesis. + /// -> content + title: [A very cool thesis], + /// An optional subtitle. + /// -> content + subtitle: none, + /// the starting year of the thesis or a tuple of years denoting the starting and ending years. + /// -> int | (array, int) + academic-year: datetime.today().year(), + /// the name(s) of the author. + /// -> array + authors: (), + /// the name of the promotor(s), or a list of authors. + /// -> array + promotors: (), + /// the name of the assessors(s). + /// -> array + assessors: (), + /// the name of the supervisors(s) (aka mentors). + /// -> array + supervisors: (), + /// your studies, should specify (master, elective and color (in hsv)). + /// -> array + degree: ( + master: "Computer Science", + elective: "Software engineering", + color: (0, 0, 1, 0), + ), + /// the language of the thesis, supported languages are "nl" and "en". + /// -> string + language: "en", + /// whether to print the document as an electronic version or for printing. + /// -> bool + electronic-version: false, + /// toggle to notify the template that you don't need any Dutch things. + /// -> bool + english-master: false, + /// Whether to automatically add a list of figures + /// -> bool + list-of-figures: false, + /// Whether to automatically add a list of listings (code blocks) + /// -> bool + list-of-listings: false, + /// the size of the text, can choose between 10pt and 11pt. + /// -> pt + font-size: 11pt, + /// The preface (voorwoord). + /// -> content + preface: none, + /// The abstract (samenvatting). + /// -> content + abstract: none, + /// (optional) Summary needed if writing a English thesis for the Dutch master. + /// -> content + dutch-summary: none, + /// List of abbreviations + /// -> content + abbreviations: none, + /// List of symbols + /// -> content + symbols: none, + /// the bibliography. + /// -> content + bibliography: none, + /// The appendiceses + /// -> content + appendices: none, + /// automatically inserted content of the thesis. + /// -> content + body, +) = { + // Set document matadata. + set document(title: title, author: authors) + + set text(font: "New Computer Modern", lang: language, size: font-size) + set par(first-line-indent: 1em, spacing: 0.65em, justify: true) + + /////////////////////////// Heading config + // Configure headings + set heading(numbering: "1.1.1") + + /////////////////////////// figure numbering + set figure(numbering: it => context { + let count = counter(heading).get() + numbering("1.1", count.at(0), it) + }) + /////////////////////////// frontpage + // Print cover page + if not electronic-version { + component.insert-cover-page( + title, + subtitle, + authors, + promotors, + assessors, + supervisors, + academic-year, + degree, + english-master, + cover: true, + lang: language, + ) + } + // Actual cover page + component.insert-cover-page( + title, + subtitle, + authors, + promotors, + assessors, + supervisors, + academic-year, + degree, + english-master, + cover: false, + lang: language, + ) + + /////////////////////////// pre-body content + // copyright + component.insert-copyright(english-master, language) + + // numbering setup + header + footer + // TODO: fix margins for RL pages + set page( + paper: "a4", + numbering: (num, ..) => { + // subtract 2 for header page + copyright notice + numbering("i", num - 2) + }, + margin: (left: 28mm, right: 28mm, bottom: 45mm, top: 37mm), + header: context utils.custom-header(), + footer: context utils.custom-footer(), + // header-ascent: 10mm, + footer-descent: 15%, + ) + + // header stuff + show heading.where(level: 1): it => { + pagebreak(weak: true) + pad(top: 19mm, bottom: 19mm, { + set text(1.55em, weight: "bold") + it.body + }) + } + + + // citations + show ref: it => { + let el = it.element + if el != none { + // All other references in the document, such as figures + show regex("\d(\.\d)*|[A-Z] |[A-Z](\.\d)+"): it => { + text(red)[#it] + } + it + } else { + // Bibliography reference + show regex("\d"): it => { + text(rgb("#00ff00"))[#it] + } + it + } + } + + let spacing = 0.5em + set par(first-line-indent: 0.5cm, leading: spacing, spacing: spacing) + // preface + component.insert-preface(preface, authors, lang: language) + + // outline + component.insert-heading-outline(lang: language) + + // abstract + component.insert-abstract(abstract, lang: language) + + // Optional dutch abstract + if (not english-master) and language == "en" { + component.insert-abstract(dutch-summary, lang: "nl") + } + + if list-of-figures { component.insert-image-outline(lang: language) } + if list-of-listings { component.insert-listing-outline(lang: language) } + if abbreviations != none or symbols != none { + component.insert-list-of-abbrv-symbol( + lang: language, + symbols: symbols, + abbreviations: abbreviations, + ) + } + + let chapter-numbering = "1.1.1" + set page( + numbering: (num, ..) => { + let starting-heading = query( + heading.where(level: 1, numbering: chapter-numbering), + ) + .first() + .location() + .page() + numbering("1", num - starting-heading + 1) + }, + ) + // counter(page).update(1) + set heading(supplement: "Chapter") + set heading(numbering: chapter-numbering) + /////////////////////////// show rules + show heading.where(level: 1): it => { + pagebreak(weak: true, to: "odd") + context counter(figure.where(kind: image)).update(0) + block[ + #pad(top: 25mm, text( + size: 1.3em, + weight: "semibold", + )[ + #it.supplement #numbering( + it.numbering, + counter(heading).at(here()).at(0), + ) + ]) + #pad(top: 1em, bottom: 2em, text( + size: 1.7em, + )[#it.body]) + + ] + } + + show heading.where(level: 2): it => block(width: 100%)[ + #set text(1.1em, weight: "bold") + #pad(top: 0.4em, bottom: 0.8em)[ + #numbering(chapter-numbering, ..counter(heading).get()) #it.body + ] + ] + show heading.where(level: 3): it => block(width: 100%)[ + #set text(1em, weight: "bold") + #pad(top: 0.2em, bottom: 0.5em)[ + #numbering(chapter-numbering, ..counter(heading).get()) #it.body + ] + ] + show heading.where(level: 4): it => block(width: 100%)[ + #set text(1em, weight: "bold") + #pad(top: 0em, bottom: 0.5em)[ + #it.body + ] + ] + show pagebreak.where(to: "odd", weak: true): set page( + header: none, + footer: none, + ) + show pagebreak.where(to: "even", weak: true): set page( + header: none, + footer: none, + ) + + body + + if appendices != none { + component.insert-appendices(appendices) + } + component.insert-bibliography(bibliography, lang: language) +} diff --git a/modern-se-kul-thesis/0.1.0/template/references.bib b/modern-se-kul-thesis/0.1.0/template/references.bib new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modern-se-kul-thesis/0.1.0/template/sections/chapter-1.typ b/modern-se-kul-thesis/0.1.0/template/sections/chapter-1.typ new file mode 100644 index 0000000000..6bd2c35c8d --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/template/sections/chapter-1.typ @@ -0,0 +1,2 @@ += Chapter 1 +#lorem (300) diff --git a/modern-se-kul-thesis/0.1.0/template/sections/preface.typ b/modern-se-kul-thesis/0.1.0/template/sections/preface.typ new file mode 100644 index 0000000000..2fb44f0460 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/template/sections/preface.typ @@ -0,0 +1 @@ +This is a preface diff --git a/modern-se-kul-thesis/0.1.0/template/thesis.typ b/modern-se-kul-thesis/0.1.0/template/thesis.typ new file mode 100644 index 0000000000..cc4b523299 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/template/thesis.typ @@ -0,0 +1,66 @@ +#import "@preview/modern-kul-thesis:0.1.0": template +#show: template.with( + // Your title goes here + title: "An example title", + + // subtitle: "With a subtitle", + + // Give or only the year you started in (eg: 2024), or a tuple with the start and end year (eg: (2024, 2040)) + academic-year: datetime.today().year(), + + // "Master's Thesis", "PhD Thesis", etc. + // subtitle: "Master's Thesis", + + // Change to the name(s) of the author(s) + authors: ("A guy", "Another guy"), + + // Change to the name(s) of the promotor(s) + promotors: ("Prof. dr. ir. Man",), + + // Add as many co-supervisors as you needthe entry + // if none are needed + assessors: ( + "Assessor nr 1", + ), + + // Change to your supervisor's name + // remove if none are needed + supervisors: ( + "A supervisor", + ), + + // Customize with your own faculty and degree (should be in dutch if you are doing the dutch master) + degree: ( + elective: "Software engineering", + master: "Computerwetenschappen", + color: (0, 0, 1, 0), + ), + + // Change to "nl" for the Dutch template + language: "en", + english-master: false, + font-size: 11pt, + + // set to true to remove extra title-page and have non-changing margins + electronic-version: true, + + // Hayagriva bibliography is the default one, if you want to use a + // BibTeX file, pass a .bib file instead (e.g. "works.bib") + bibliography: bibliography("references.bib"), + + // Preface text + preface: include "sections/preface.typ", + // Abstract text + // abstract: include "sections/main-text/abstract.typ", + // dutch-summary: include "sections/main-text/dutch-abstract.typ", + list-of-figures: true, + list-of-listings: false, + // abbreviations: include "sections/main-text/list-of-abbreviations-and-symbols.typ", + symbols: none, + + // appendices: include "sections/appendix/appendix.typ", + + // pre-body-page:true, +) + +#include "sections/chapter-1.typ" diff --git a/modern-se-kul-thesis/0.1.0/thumbnail.png b/modern-se-kul-thesis/0.1.0/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..5b52dd7f0a67979953d96c1553193c7ab2654399 GIT binary patch literal 141671 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 literal 0 HcmV?d00001 diff --git a/modern-se-kul-thesis/0.1.0/typst.toml b/modern-se-kul-thesis/0.1.0/typst.toml new file mode 100644 index 0000000000..2ac4fea3c2 --- /dev/null +++ b/modern-se-kul-thesis/0.1.0/typst.toml @@ -0,0 +1,26 @@ +# for a description of available keys, see https://github.com/typst/packages/?tab=readme-ov-file#package-format + +[package] +name = "modern-se-kul-thesis" +version = "0.1.0" +entrypoint = "src/lib.typ" +authors = ["Benjamin Eeckhout "] +license = "MIT" +description = "Unofficial Master's thesis template for writing a thesis at the engineering science faculty at KU Leuven" +repository = "https://github.com/benjamineeckh/kul-typst-template" +keywords = ["thesis", "KU Leuven", "Katholieke Universiteit Leuven", "masterthesis"] +categories = ["thesis"] +compiler = "0.13.0" +exclude = [ + ".github", + "docs", + "scripts", + "tests", + ".typstignore", + "Justfile", + "references" +] +[template] +path = "template" +entrypoint = "thesis.typ" +thumbnail = "thumbnail.png" From 7d7cd986f1d04651ec0220449ed00b44d1897b78 Mon Sep 17 00:00:00 2001 From: benjamineeckh <72217356+benjamineeckh@users.noreply.github.com> Date: Fri, 19 Sep 2025 17:29:00 +0200 Subject: [PATCH 2/3] fix: removed file + fixed template --- modern-se-kul-thesis/.typstignore | 16 ---------------- modern-se-kul-thesis/0.1.0/template/thesis.typ | 2 +- 2 files changed, 1 insertion(+), 17 deletions(-) delete mode 100644 modern-se-kul-thesis/.typstignore diff --git a/modern-se-kul-thesis/.typstignore b/modern-se-kul-thesis/.typstignore deleted file mode 100644 index ba2d170a42..0000000000 --- a/modern-se-kul-thesis/.typstignore +++ /dev/null @@ -1,16 +0,0 @@ -# this is not a "standard" ignore file, it's specific to this template's `scripts/package` script -# list any files here that should not be uploaded to Universe when releasing this package - -# if you are used to ignore files, be aware that .typstignore is a bit more limited: -# - only this file is used; .typstignore files in subdirectories are not considered -# - patterns must match file/directory names from the beginning: `x.typ` will not match `src/x.typ` -# - `*` in patterns works, but also matches directory separators: `*.typ` _will_ match `src/x.typ` -# .git and .typstignore are excluded automatically - -.github -scripts -tests -Justfile -# PDF manuals should be included so that they can be linked, but not their sources -docs/* -!docs/*.pdf diff --git a/modern-se-kul-thesis/0.1.0/template/thesis.typ b/modern-se-kul-thesis/0.1.0/template/thesis.typ index cc4b523299..e37506f6a9 100644 --- a/modern-se-kul-thesis/0.1.0/template/thesis.typ +++ b/modern-se-kul-thesis/0.1.0/template/thesis.typ @@ -1,4 +1,4 @@ -#import "@preview/modern-kul-thesis:0.1.0": template +#import "@preview/modern-se-kul-thesis:0.1.0": template #show: template.with( // Your title goes here title: "An example title", From 2635f1b19e5e7cf16f175e8d53441b0328e1a44d Mon Sep 17 00:00:00 2001 From: benjamineeckh <72217356+benjamineeckh@users.noreply.github.com> Date: Mon, 22 Sep 2025 21:49:38 +0200 Subject: [PATCH 3/3] fix: removed logos and pdf + logo code --- modern-se-kul-thesis/0.1.0/LICENSE | 4 ++- modern-se-kul-thesis/0.1.0/README.md | 4 ++- .../0.1.0/src/assets/logokul.svg | 25 --------------- .../0.1.0/src/assets/logokuleng.svg | 21 ------------ .../0.1.0/src/core/components/appendix.pdf | Bin 2213 -> 0 bytes .../0.1.0/src/core/components/cover-page.typ | 15 +++------ modern-se-kul-thesis/0.1.0/src/lib.typ | 5 +++ .../0.1.0/template/thesis.typ | 30 ++---------------- 8 files changed, 17 insertions(+), 87 deletions(-) delete mode 100644 modern-se-kul-thesis/0.1.0/src/assets/logokul.svg delete mode 100644 modern-se-kul-thesis/0.1.0/src/assets/logokuleng.svg delete mode 100644 modern-se-kul-thesis/0.1.0/src/core/components/appendix.pdf diff --git a/modern-se-kul-thesis/0.1.0/LICENSE b/modern-se-kul-thesis/0.1.0/LICENSE index 6802bc4b80..ab4dd7d69c 100644 --- a/modern-se-kul-thesis/0.1.0/LICENSE +++ b/modern-se-kul-thesis/0.1.0/LICENSE @@ -1,5 +1,7 @@ MIT License +Copyright (c) 2024 Benjamin Eeckhout + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights @@ -16,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. diff --git a/modern-se-kul-thesis/0.1.0/README.md b/modern-se-kul-thesis/0.1.0/README.md index 006e642a19..b6d5b456fb 100644 --- a/modern-se-kul-thesis/0.1.0/README.md +++ b/modern-se-kul-thesis/0.1.0/README.md @@ -34,6 +34,7 @@ This will then create a basic folder structure with some fields pre-filled. - `symbols`: The symbols used in your thesis go here. - `bibliography`: The bibliography of your thesis goes here. - `appendices`: The appendices of your thesis goes here. +- `logo`: The logo of the university for the front page ```typ #import "@preview/modern-se-kul-thesis:0.1.0": template #show: template.with( @@ -46,7 +47,7 @@ assessors: ("an assessor",), supervisors: ("a supervisor",), degree: ( elective: "Software engineering", - master: "Computerwetenschappen", + master: "Computer Science", color: (0, 0, 1, 0), ), language: "en", @@ -62,6 +63,7 @@ abbreviations: [WIP: Work in progress], symbols: [$Omega$:Ohm], bibliography: include bibliography.bib, appendices: [#lorem(100)], +logo: [Temp] ) // Put your thesis content here ``` diff --git a/modern-se-kul-thesis/0.1.0/src/assets/logokul.svg b/modern-se-kul-thesis/0.1.0/src/assets/logokul.svg deleted file mode 100644 index c049d466a5..0000000000 --- a/modern-se-kul-thesis/0.1.0/src/assets/logokul.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/modern-se-kul-thesis/0.1.0/src/assets/logokuleng.svg b/modern-se-kul-thesis/0.1.0/src/assets/logokuleng.svg deleted file mode 100644 index 07dc859f6f..0000000000 --- a/modern-se-kul-thesis/0.1.0/src/assets/logokuleng.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/appendix.pdf b/modern-se-kul-thesis/0.1.0/src/core/components/appendix.pdf deleted file mode 100644 index 245a89aff29082971dd63ff6f922c1be408342d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2213 zcma)8&2HO95YC||7JY{W3!@GKiCogOM1o=vi&1OTOjKD-0=Pb`$Q8|)CFzEFX_LT6WhlN%&Ve}cRHzT3Z+oFOX(7}e-x zV>O{QTkx3H$l5@!%8~))>RJl|jh2ZFK$8Z$NG@oZiW_A0q|;HB3(Da)CxV7FW(k#+ zwcwN#TJy!8n$OOzhlr5bUnwEkpP#>c|Ln!T-~Az-uUVUIq?+9}JHhoT`UMEa^7Yp& zfe2-KCVOEzTl-e*r;mZX$3U5b-S!{e&OXvuAn8=4cuWK+Es=DnfY*)q`BH#vB;6@! z$a2OnD-u)G-(Vw1JMw)9sTGx6UG3EZ-7TmDLk0!o=ok`F3uJb&-NnzhD;X<8x%YAC zS*GQfF78>_v2p)}Y5ioHiWsrvX-;c%EHBPZ{`!#Jo;u~#SwvKjga{&IxLnMHx{)8E zi`IerFB?#QO9h(IG%E-Ce}Dg@qbwQd@14kusv*6}e!1uL^8U>b%jL4W zw7ZO_26kQ7FfGHfI>6}Eccmarr>uWmI|ykV^Q;n(Q6wFb8C!^f4tuI#l6dR1TJT)C zOk#uPw2;+g;4X&vHjx+AmR;6erJ@_N!e~eZOmmMJMNe~!Vvjx@r%&^RQKdVJs+Ens zP+$QSe_2FW>*(BTY?z zO9umGyH8ykpO>{DWlX=pxJC7o*qbw65D}27%Cnfr<1#>sZ|s(Q`1YWSzN5T`Yddf+eE})aHF3=fC1K*G*zk1svfMUqI_eM6}I>1U-3s{SqKnu%cM8llabx?7} zAh1=o4%T)lr?NH!S-c(7?cmxI&R zw{7(WyXpl!1D!){KGLS~V}of3eIaM5Yz-<^yV3M6qf5%ioX#oCEIDk{Km%f!ap0B_n1QY~rHZkr8w(M*Ib&D=id)NyPF&41Wp7+SP^P`SnIKFqKK%yOV_ zA7I#d$g?dFe896$U|Jkvr!c?{uoL$o&%qCQr#4K4eOuf!Td@dEvYhhupMlHlp2{ph ywkC|hSX9GMex8?ehU6eo^XNQ8SI1wg(dX#vOKPq{p>m;8j{7j}kB(ly9sLh2)_^Yn diff --git a/modern-se-kul-thesis/0.1.0/src/core/components/cover-page.typ b/modern-se-kul-thesis/0.1.0/src/core/components/cover-page.typ index 27633ea1d6..c92a123a78 100644 --- a/modern-se-kul-thesis/0.1.0/src/core/components/cover-page.typ +++ b/modern-se-kul-thesis/0.1.0/src/core/components/cover-page.typ @@ -34,21 +34,19 @@ degree, english-master, // can be an actual image, or just a path to an image + logo, cover: false, lang: "en", ) = { // diferent scope so logo and font don't get copied over to all the other pages let background-logo + let logo = scale(200%, logo, reflow: true) if lang == "en" { background-logo = place( top + left, dy: 10mm, dx: 10mm, - image( - format: "svg", - width: 35%, - "../../assets/logokuleng.svg", - ), + box(width: 40%, logo), ) } else if lang == "nl" { //TODO: add dutch logo @@ -56,13 +54,8 @@ top + left, dy: 10mm, dx: 10mm, - image( - format: "svg", - width: 30%, - "../../assets/logokul.svg", - ), + box(width: 30%, logo), ) - // logo = image("../../assets/logokuleng.svg") } else { panic("language not supported") } diff --git a/modern-se-kul-thesis/0.1.0/src/lib.typ b/modern-se-kul-thesis/0.1.0/src/lib.typ index d36b33573f..e776937bfe 100644 --- a/modern-se-kul-thesis/0.1.0/src/lib.typ +++ b/modern-se-kul-thesis/0.1.0/src/lib.typ @@ -72,6 +72,9 @@ /// The appendiceses /// -> content appendices: none, + /// Logo to be added to the front page + /// -> content + logo: none, /// automatically inserted content of the thesis. /// -> content body, @@ -104,6 +107,7 @@ academic-year, degree, english-master, + logo, cover: true, lang: language, ) @@ -119,6 +123,7 @@ academic-year, degree, english-master, + logo, cover: false, lang: language, ) diff --git a/modern-se-kul-thesis/0.1.0/template/thesis.typ b/modern-se-kul-thesis/0.1.0/template/thesis.typ index e37506f6a9..632eab1b5f 100644 --- a/modern-se-kul-thesis/0.1.0/template/thesis.typ +++ b/modern-se-kul-thesis/0.1.0/template/thesis.typ @@ -1,66 +1,40 @@ #import "@preview/modern-se-kul-thesis:0.1.0": template #show: template.with( - // Your title goes here title: "An example title", - // subtitle: "With a subtitle", - - // Give or only the year you started in (eg: 2024), or a tuple with the start and end year (eg: (2024, 2040)) academic-year: datetime.today().year(), - - // "Master's Thesis", "PhD Thesis", etc. - // subtitle: "Master's Thesis", - - // Change to the name(s) of the author(s) authors: ("A guy", "Another guy"), - - // Change to the name(s) of the promotor(s) promotors: ("Prof. dr. ir. Man",), - - // Add as many co-supervisors as you needthe entry - // if none are needed assessors: ( "Assessor nr 1", ), - - // Change to your supervisor's name - // remove if none are needed supervisors: ( "A supervisor", ), - // Customize with your own faculty and degree (should be in dutch if you are doing the dutch master) degree: ( elective: "Software engineering", master: "Computerwetenschappen", color: (0, 0, 1, 0), ), - - // Change to "nl" for the Dutch template language: "en", english-master: false, font-size: 11pt, - // set to true to remove extra title-page and have non-changing margins electronic-version: true, - // Hayagriva bibliography is the default one, if you want to use a // BibTeX file, pass a .bib file instead (e.g. "works.bib") bibliography: bibliography("references.bib"), - - // Preface text preface: include "sections/preface.typ", - // Abstract text // abstract: include "sections/main-text/abstract.typ", // dutch-summary: include "sections/main-text/dutch-abstract.typ", list-of-figures: true, list-of-listings: false, // abbreviations: include "sections/main-text/list-of-abbreviations-and-symbols.typ", symbols: none, - // appendices: include "sections/appendix/appendix.typ", - - // pre-body-page:true, + // Make sure that this is the correct logo for the correct master (en/nl)! + logo: [#text(size: 3em, fill: gradient.linear(..color.map.turbo))[Fix logo]], ) #include "sections/chapter-1.typ"