From b0f3ee6b380446ecb4666250e689ee760ccdffdf Mon Sep 17 00:00:00 2001 From: Tobias Wylega Date: Sun, 28 Jun 2026 21:16:10 +0000 Subject: [PATCH] modern-hsh-thesis:1.1.2 --- .../modern-hsh-thesis/1.1.2/.gitignore | 2 + .../modern-hsh-thesis/1.1.2/CHANGELOG.md | 54 +++ .../modern-hsh-thesis/1.1.2/CONTRIBUTING.md | 16 + .../preview/modern-hsh-thesis/1.1.2/LICENSE | 21 ++ .../preview/modern-hsh-thesis/1.1.2/README.md | 137 ++++++++ .../modern-hsh-thesis/1.1.2/docs/manual.pdf | Bin 0 -> 2141 bytes .../modern-hsh-thesis/1.1.2/src/Logo.svg | 11 + .../modern-hsh-thesis/1.1.2/src/Wortmarke.svg | 95 ++++++ .../modern-hsh-thesis/1.1.2/src/lib.typ | 318 ++++++++++++++++++ .../1.1.2/template/Code/code.typ | 3 + .../1.1.2/template/abbreviations.typ | 1 + .../1.1.2/template/chapters/1-einleitung.typ | 38 +++ .../1.1.2/template/customFunctions.typ | 148 ++++++++ .../modern-hsh-thesis/1.1.2/template/main.typ | 26 ++ .../1.1.2/template/sources.bib | 9 + .../1.1.2/template/sources.yaml | 7 + .../modern-hsh-thesis/1.1.2/thumbnail.png | Bin 0 -> 63825 bytes .../modern-hsh-thesis/1.1.2/typst.toml | 24 ++ 18 files changed, 910 insertions(+) create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/.gitignore create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/CHANGELOG.md create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/CONTRIBUTING.md create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/LICENSE create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/README.md create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/docs/manual.pdf create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/src/Logo.svg create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/src/Wortmarke.svg create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/src/lib.typ create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/template/Code/code.typ create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/template/abbreviations.typ create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/template/chapters/1-einleitung.typ create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/template/customFunctions.typ create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/template/main.typ create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/template/sources.bib create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/template/sources.yaml create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/thumbnail.png create mode 100644 packages/preview/modern-hsh-thesis/1.1.2/typst.toml diff --git a/packages/preview/modern-hsh-thesis/1.1.2/.gitignore b/packages/preview/modern-hsh-thesis/1.1.2/.gitignore new file mode 100644 index 0000000000..c43e07ae0e --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/.gitignore @@ -0,0 +1,2 @@ +/.idea/ +/modern-hsh-thesis/ \ No newline at end of file diff --git a/packages/preview/modern-hsh-thesis/1.1.2/CHANGELOG.md b/packages/preview/modern-hsh-thesis/1.1.2/CHANGELOG.md new file mode 100644 index 0000000000..c0e57e8392 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/CHANGELOG.md @@ -0,0 +1,54 @@ +# [v1.1.2](https://github.com/MrToWy/hsh-thesis/releases/tag/v1.1.2) +## Added +- Added `custom-logo1` & `custom-logo2` parameter to allow changing the logos on the first page. +- Added `prof-title` & 'second-prof-title' parameter to allow changing the title of the professors on the first page. + +# [v1.1.1](https://github.com/MrToWy/hsh-thesis/releases/tag/v1.1.1) +## Added +- Added `justify-title` parameter to allow for disabling the justification of the title. + +## Changed +- Parameter `title` can now be a string or content. Content is useful if you want to use a custom size or color for the title. + +# [v1.1.0](https://github.com/MrToWy/hsh-thesis/releases/tag/v1.1.0) +## Added +- Added `custom-declaration-of-independence` parameter to allow for a custom declaration of independence. + +## Changed +- Upgraded codly to 1.3.0 + +# [v1.0.2](https://github.com/MrToWy/hsh-thesis/releases/tag/v1.0.2) +## Changed +- Upgraded Typst to version 0.13 +- Upgraded treet to version 0.1.1 +- Upgraded gentle-clues to 1.2.0 +- Upgraded wrap-it to 0.1.1 +- Upgraded Hydra to 0.6.0 +- Upgraded codly to 1.2.0 + +## Misc +- Added "Use Git Bash Console" info to readme +- Added .gitignore +- Added CONTRIBUTING.md + + +# [v1.0.1](https://github.com/MrToWy/hsh-thesis/releases/tag/v1.0.1) +## Added +- Optional Parameter `chapter-break-mode` to control whether a new chapter should start on a new page. + + +## Changed +- Upgraded Typst to version 0.12 +- Upgraded Hydra to 0.5.1 + +## Removed +- get-current-heading (instead use get-current-heading-hydra) + +## Misc +- Added "Just" install step to readme + + +--- + +# [v1.0.0](https://github.com/MrToWy/hsh-thesis/releases/tag/v1.0.0) +Initial Release \ No newline at end of file diff --git a/packages/preview/modern-hsh-thesis/1.1.2/CONTRIBUTING.md b/packages/preview/modern-hsh-thesis/1.1.2/CONTRIBUTING.md new file mode 100644 index 0000000000..ed45a2924c --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/CONTRIBUTING.md @@ -0,0 +1,16 @@ +# How to contribute +Everyone is welcome to contribute to this template. Thanks for your work! + +## Bugs +- Create an issue that describes the bug +- [Optional] Create a PR with your changes and mention the issue you created + + +## Features +- Create an issue that describes the new feature +- [Optional] Create a PR with your changes and mention the issue you created + - Make sure that your changes won't break exisiting documents. Use optional parameters with a default value for example. + + +## Legal notice +By contributing to this repo, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree. \ No newline at end of file diff --git a/packages/preview/modern-hsh-thesis/1.1.2/LICENSE b/packages/preview/modern-hsh-thesis/1.1.2/LICENSE new file mode 100644 index 0000000000..aa762d7be7 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Tobias Wylega + +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/packages/preview/modern-hsh-thesis/1.1.2/README.md b/packages/preview/modern-hsh-thesis/1.1.2/README.md new file mode 100644 index 0000000000..76219054c8 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/README.md @@ -0,0 +1,137 @@ +# Contributions welcome + +All contributions (no matter if small) are always welcome. + +To see how you can help and where to start [see Contributing file](CONTRIBUTING.md). + +# The `modern-hsh-thesis` Package +
Version 1.1.2
+ +A template for writing a bachelors or masters thesis at the Hochschule Hannover, Faculty 4. + +## Getting Started + +### WebApp +Choose the template in the typst web app and follow the instructions there. + +### Terminal +```bash +typst init @preview/modern-hsh-thesis:1.1.2 +``` + +### Import +```typ +#import "@preview/modern-hsh-thesis:1.1.2": * + +#show: project.with( + title: "Beispiel-Titel", + subtitle: "Bachelorarbeit im Studiengang Mediendesigninformatik", + author: "Vorname Nachname", + author_email: "vorname@nachname.tld", + matrikelnummer: 1234567, + prof: [ + Prof. Dr. Vorname Nachname\ + Abteilung Informatik, Fakultät IV\ + Hochschule Hannover\ + #link("mailto:vorname.nachname@hs-hannover.de") + + ], + second_prof: [ + Prof. Dr. Vorname Nachname\ + Abteilung Informatik, Fakultät IV\ + Hochschule Hannover\ + #link("mailto:vorname.nachname@hs-hannover.de") + ], + date: "01. August 2024", + glossaryColumns: 1, + bibliography: bibliography(("sources.bib", "sources.yaml"), style: "institute-of-electrical-and-electronics-engineers", title: "Literaturverzeichnis") +) +``` + +#### Import parameter +While subtitle, author and many more parameters are self-explanatory, some parameters require additional context to understand their full meaning and usage. + +##### Parameter `title` (optional, String or Fragment) +The title of the thesis. This can be a string or content. \ +Content is useful if you want to use a custom size or color for the title. \ +Usage for content: +```typ +title: [ + #text(weight: "semibold")[Example-Title] + ], +``` + +##### Parameter `chapter-break-mode` (optional, String) +"**default**": Ensures each chapter begins on a left-hand page, potentially inserting an additional blank page if necessary \ +"**recto**": Ensures each chapter begins on a right-hand (recto) page, potentially inserting an additional blank page if necessary \ +"**next-page**": Forces a page break before starting each new chapter +"**none**": Chapters continue on the current page without interruption + +##### Parameter `custom-declaration-of-independence` (optional, String) +A custom declaration of independence. If not provided, the default declaration will be used. + +##### Parameter `justify-title` (optional, boolean, default:true) +Can be used to disable the justification of the title. Helpful for long titles. + +#### Parameter `custom-logo1`, `custom-logo2` (optional, Image) +Can be used to display custom logos on the title page. If not provided, the default logos will be used. +Example usage: +```typ + custom-logo1: image("LUH.svg", width: 26%), +``` + + +### Additional functions +`customFunctions.typ` contains additional functions that can be used in the template. + +`#smallLine`: A small line that can be used to separate sections. + +`#task`: A card that can be used to create a list of tracks (see example in 1-einleitung.typ). + +`#track` or `##narrowTrack`: A track that can be displayed inside a task (see example in 1-einleitung.typ). + +`#useCase`: Display a Use Case (see example in 1-einleitung.typ). + +`#attributedQuote`: Display a quote with an attribution. + +`#diagramFigure`, `#codeFigure`, `#imageFigure`, `#treeFigure`: Wrap an image/code/diagram/tree-list in a figure with a caption. + +`#imageFigureNoPad`: Display a figure without padding. + +`#getCurrentHeadingHydra`: Get the heading of the current page. + + + +### Development Environment +In WebStorm make sure to open a Git Bash Console. +0. Install Just `winget install --id Casey.Just --exact` +1. Install Typst https://github.com/typst-community/typst-install +2. Clone the repository +3. CD into the repository +4. Run `git pull && just install && just install-preview` to install/update the template +5. Run `typst init @local/modern-hsh-thesis:1.1.2 && typst compile modern-hsh-thesis/main.typ` to compile the template + + +## FAQ +### Change Hyphenation (Silbentrennung) +```typst +#set text(lang: "de") +#set text(hyphenate: true) +``` + +### Disable Blocksatz +```typst +#set par(justify: false) +``` + +### Disable Blocksatz for headings only +```typst +#show heading: it => [ + #set par(justify: false) + #it +] +``` + +## Additional Documentation + +Take a look at this complete Bachelor's thesis example using the `modern-hsh-thesis` template: [Bachelor's Thesis Example](https://github.com/MrToWy/Bachelorarbeit) diff --git a/packages/preview/modern-hsh-thesis/1.1.2/docs/manual.pdf b/packages/preview/modern-hsh-thesis/1.1.2/docs/manual.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bf5c91cdab2ffe51695b72f182d42069f97e07b2 GIT binary patch literal 2141 zcma)7!EWO=5N*+$f&K%bMSui_O-Z&KOOUl_>=wD?ar@ z`X_tXPwFppC@GfgMHZ`z$l;rrH^bq~*AjK>I{TA6l zqq-10TvB<5AqBvuka(U#w3F(0)lyOsxBaQ4;DF|QD?*whWi!A&jbd`ei#r{*mTmRS zOKXTm1EV(@*`v=YQecHtf&)k>ld#LtP;HxBs%`D*hO&)(KqEYh6G;W0C6K-;4S7TX zpG!eW+A041RY*NEKL9^xj2Ul%_Y)%hSk$Au+JlPA?H)a)XkwjG)Jak zSeE(s1uhk0&fYk0=#CmEHC@{tR)ynJNg^T%UT*KDs-(aCn})ahzQ{=UL?ybXo0yHY z|Gs?HP#lf5KP_MPvk85OKkNlv?r&G&{wcI0?Y-v~PLXCQ7)C{!u-qxe8i5j|4y=_J zYp8_Cr?Cde?oPyzIn8rLw045&tX6~FSbLB%b1>fRcD-G{$HfL4wrykG#HQH=L^pq7 zk`!H*zpD*QX&#C=laLss43c}km17NjmSm#vU^Lr`q%;|Ym_k*mo5n`Z0DiB`)9ip| zd9RG37xEMrBm<;=g!KLIW7G5qzFKU)kC!;xG#Xhe8%I>&0I2i<37Jnbr!J!v=ZV)Y zB^RHbx>4vPgl)F)PO9WzkxjKoVvjNxtNg*TT9k+QNJm+O0*%)%ss=q(prdt9P)S8QwNRMP$5{E=p0){NP zihF&etoXh&XSpOSr1PmazfB+0Sbv_RG?X7^&&lJSJ^wx)m-dgLweo8R`vK(^v{nw_ z{l|*gBq4e3WrA}cSg|@ebAh`9&F>QxIVgBA23!?STUOmrtMuzTgVzMB!-Mpi2Mzwm zntk|vcgEMgfmCk^@C}sFIb|1WHngTn-P(O3p5|=LVYsLz zjS!$J|)oyZ24-{P!Gm_Wxk zV>p1J^(vEs#0eE@s4wF^h0tIsbBWY_1Xv{ysc`|z>D~ET^?LF4i5itq??RTTgOH8R K+1d3Uv;P4IznQ`S literal 0 HcmV?d00001 diff --git a/packages/preview/modern-hsh-thesis/1.1.2/src/Logo.svg b/packages/preview/modern-hsh-thesis/1.1.2/src/Logo.svg new file mode 100644 index 0000000000..800957f352 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/src/Logo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/packages/preview/modern-hsh-thesis/1.1.2/src/Wortmarke.svg b/packages/preview/modern-hsh-thesis/1.1.2/src/Wortmarke.svg new file mode 100644 index 0000000000..df2488512a --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/src/Wortmarke.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/preview/modern-hsh-thesis/1.1.2/src/lib.typ b/packages/preview/modern-hsh-thesis/1.1.2/src/lib.typ new file mode 100644 index 0000000000..4c55849885 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/src/lib.typ @@ -0,0 +1,318 @@ +#import "@preview/hydra:0.6.0": hydra +#import "@preview/codly:1.3.0": * + +#let small-line = line(length: 100%, stroke: 0.045em) + +#let get-current-heading-hydra(top-level: false) = { + if(top-level){ + return hydra(1) + } + + return hydra(2) +} + +#show par: it => [#it ] + +#let project( + title: "", + subtitle: "", + author: "", + author-email: "", + matrikelnummer: 0, + prof: none, + prof-title: "Erstprüfer", + second-prof: none, + second-prof-title: "Zweitprüfer", + date: none, + glossary-columns: 1, + enable-glossary: false, + enable-abbildungsverzeichnis: false, + bibliography: none, + chapter-break-mode: "default", + custom-declaration-of-independence: none, + justify-title: true, + custom-logo1: none, + custom-logo2: none, + body, +) = { + // Set the document's basic properties. + set document(author: author, title: title) + set page("a4") + + set page(margin: (inside: 3.5cm, outside: 2cm, y: 3.75cm)) + //set page(margin: (inside: 2.75cm, outside: 2.75cm, y: 1.75cm)) + + set par(justify: true) + show table : set table.cell(align: left) + + set text(font: "Arial", lang: "de", size: 12pt, hyphenate: false) // replaced this font: New Computer Modern + show math.equation: set text(weight: 400) + + + // heading size + show heading.where( + level: 1 +): it => pad(bottom: 1em)[ + #set text(2em) + #it +] + + // heading size + show heading.where( + level: 2 +): it => pad(bottom: 0.4em, top: 0.4em)[ + #set text(1.3em) + #it +] + + // heading size + show heading.where( + level: 3 +): it => pad(bottom: 0.4em, top: 0.4em)[ + #set text(1.25em) + #it +] + + // heading size + show heading.where( + level: 9 +): it => pad(rest: 0em, bottom: -1.45em)[ + #it +] + + show heading.where(level: 1): set heading(supplement: [Kapitel]) + + show heading.where(level: 2): set heading(supplement: [Abschnitt]) + + show heading.where(level: 3): set heading(supplement: [Unterabschnitt]) + + show heading.where(level: 9): set heading(supplement: []) + + show figure.where(kind: "code"): it => { + if "label" in it.fields() { + state("codly-label").update((_) => it.label) + it + state("codly-label").update((_) => none) + } else { + it + } +} + + show: codly-init.with() + show figure: set block(breakable: true); + codly( + zebra-fill: white, + breakable: true, + reference-sep: ", Zeile ", + default-color: rgb("#7d7d7d") + ) + + + let logo1 = if custom-logo1 != none { + if type(custom-logo1) == str { image(custom-logo1, width: 26%) } else { custom-logo1 } + } else { + image("Logo.svg", width: 26%) + } + +let logo2 = if custom-logo2 != none { + if type(custom-logo2) == str { image(custom-logo2, width: 26%) } else { custom-logo2 } +} else { + image("Wortmarke.svg", width: 26%) +} + + // Title page. + v(0.6fr) + align(left, logo2) + v(1.6fr) + + if justify-title { + if type(title) == str { + text(2em, weight: 700, title) + } + else{ + title + } + } + else{ + set par(justify: false) + if type(title) == str { + text(2em, weight: 700, title) + } + else{ + title + } + } + + v(1.2em, weak: true) + text(author) + v(1.2em, weak: true) + text(subtitle) + v(1.2em, weak: true) + text(1.1em, date) + + align(right, logo1) + pagebreak() + pagebreak() + + // Author + grid( + columns: (1fr, 4fr), + rows: (auto), + row-gutter: 3em, + gutter: 13pt, + text("Autor:", weight: "bold"), + [#author\ + #link("mailto:" + author-email)\ + Matrikelnummer: #matrikelnummer + ], + text(prof-title + ":", weight: "bold"), + prof, + text(second-prof-title + ":", weight: "bold"), + second-prof, + ) + + align(bottom)[ + #align(center, text("Selbständigkeitserklärung", weight: "bold")) + + #if(custom-declaration-of-independence != none){ + text(custom-declaration-of-independence) + } else{ + text("Hiermit erkläre ich, dass ich die eingereichte Bachelorarbeit selbständig und ohne fremde Hilfe verfasst, andere als die von mir angegebenen Quellen und Hilfsmittel nicht benutzt und die den benutzten Werken wörtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe.") + } + + + #v(5.2em, weak: true) + + #grid( + columns: (auto, 4fr), + gutter: 13pt, + [Hannover, den #date], + align(right)[Unterschrift], + ) + ] + + pagebreak() + + + + // Table of contents. + show outline.entry.where( + level: 1 + ): it => { + if(it.element.has("level")){ + v(2em, weak: true) + strong(it) + } + else{ + v(1.2em, weak: true) + it + } + + } + outline(depth: 3, indent: auto) + pagebreak() + + if(enable-abbildungsverzeichnis){ + // table of figures +set page(numbering: "I") +counter(page).update(1) + { + show heading: none + heading[Abbildungsverzeichnis] +} +outline( + title: [Abbildungsverzeichnis], + target: figure, + indent: true +) + +pagebreak() + } + + + // glossary + + if(enable-glossary){ + show figure.where(kind: "jkrb_glossary"): it => {emph(it.body)} + [ + = Glossar + + #columns(glossary-columns)[ + #make-glossary(glossary-pool) + ] + ] + } + + + // header + set page(header: context{ + + // dont print anything when the first element on the page is a level 1 heading + let chapter = hydra(1) + + if(chapter == none){ + return + } + + + if calc.even(here().page()) { + align(left, smallcaps(get-current-heading-hydra(top-level: true))) + } + else{ + align(right, emph(get-current-heading-hydra())) + } + + small-line + }) + + + // footer + set page(footer: context{ + if calc.even(here().page()) { + small-line + align(left, counter(page).display("1")); + } else { + small-line + align(right, counter(page).display("1")); + } + }) + + // ensure, that a + show heading.where(level:1) : it => { + if chapter-break-mode == "default"{ + //level 1 heading always starts on an empty, left page + pagebreak(weak:true, to: "even"); + } + if chapter-break-mode == "recto"{ + //level 1 heading always starts on an empty, right page + pagebreak(weak:true, to: "odd"); + } + if chapter-break-mode == "next-page"{ + //level 1 heading always starts on an empty page + pagebreak(weak:true); + } + it + } + + + // Main body. + set page(numbering: "1", number-align: center) + counter(page).update(1) + set heading( + numbering: "1.1." + ) + + body + + set page(header: none) + + // bibliography + if bibliography != none { + bibliography + } + + pagebreak() + hide("white page") + + //todo-outline +} diff --git a/packages/preview/modern-hsh-thesis/1.1.2/template/Code/code.typ b/packages/preview/modern-hsh-thesis/1.1.2/template/Code/code.typ new file mode 100644 index 0000000000..b34e4716a0 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/template/Code/code.typ @@ -0,0 +1,3 @@ +```ts + console.log('Hello World'); +``` \ No newline at end of file diff --git a/packages/preview/modern-hsh-thesis/1.1.2/template/abbreviations.typ b/packages/preview/modern-hsh-thesis/1.1.2/template/abbreviations.typ new file mode 100644 index 0000000000..8396e36dd4 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/template/abbreviations.typ @@ -0,0 +1 @@ +#let hsh = "Hochschule Hannover" \ No newline at end of file diff --git a/packages/preview/modern-hsh-thesis/1.1.2/template/chapters/1-einleitung.typ b/packages/preview/modern-hsh-thesis/1.1.2/template/chapters/1-einleitung.typ new file mode 100644 index 0000000000..f5682b4162 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/template/chapters/1-einleitung.typ @@ -0,0 +1,38 @@ +#import "../customFunctions.typ": * + + += Template + +Ein vollständiges Beispiel ist auf GitHub zu finden: #link("https://github.com/MrToWy/Bachelorarbeit")[HIER KLICKEN]. + +In diesem Template für die #hsh können sowohl .yaml-Dateien @harry, als auch .bib-Dateien @typst verwenden werden. + +== Codebeispiel + +Für Code @code1 und Bilder können Funktionen aus der `customFunctions.typ` verwendet werden. + +#code-figure("Caption", , "code") + +== Use Cases + +#use-case(1, "Erster Usecase")[ + Der Use Case beschreibt, wie.... +][ + Beispielakteur +][ + Beispielvorbedingung +][ + 1. Schritt 1 + 2. Schritt 2 +] + +== anforderungen + +Anforderungen können in Tabellen dargestellt werden. + +#task(title: [Aus @code-abschnitt ergeben sich folgende Anforderungen:])[ +#narrow-track("Beispiel 1", type: "F", label: )[Lorem ipsum.] #linebreak() +#narrow-track("Beispiel 2", type: "F", label: )[Lorem ipsum.] #linebreak() +] + +Auf die Anforderungen kann ebenfalls referenziert werden. @example1 diff --git a/packages/preview/modern-hsh-thesis/1.1.2/template/customFunctions.typ b/packages/preview/modern-hsh-thesis/1.1.2/template/customFunctions.typ new file mode 100644 index 0000000000..37b272a546 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/template/customFunctions.typ @@ -0,0 +1,148 @@ +#import "@preview/gloss-awe:0.0.5": * +#import "abbreviations.typ": * +#import "@preview/treet:0.1.1": * +#import "@preview/big-todo:0.2.0": * +#import "@preview/gentle-clues:1.2.0": * +#import "@preview/wrap-it:0.1.1": wrap-content +#import "@preview/hydra:0.6.0": hydra +#import "@preview/codly:1.3.0": * + +#let colorize = true + +#let use-case-color = rgb("E28862") +#let use-case-color-light = rgb("EEC0AB") +#let requirement-color = silver + +#if not colorize { + use-case-color = rgb("AAAAAA") + use-case-color-light = rgb("CCCCCC") +} + +#let side-padding = 1em +#let top-bot-padding = 3em + +#let small-line = line(length: 100%, stroke: 0.045em) + +#let example-text(content: none) = { + if(content == none){ + return + } +[ + #linebreak() + #text(weight: "semibold")[Beispiel: ] + #content +] +} + +#let track(title, padding: top-bot-padding/8, type: "E", example: none, label:none, content) = { + let c = counter(type) + c.step() + [ + #box[ + #context[ + #pad(top: padding, bottom: padding)[ + #text(weight: "semibold")[ + #heading(outlined: false, depth: 9, numbering: (..nums) => { + let nums = nums.pos() + // the number to actually display + let num = nums.last() + + // combine indent and formatted numbering + h(0em) + numbering(type + "1", num) +})[#smallcaps(title)]#label + ] #linebreak() + #content + #example-text(content: example) + ]]]] +} + +#let narrow-track(title, type: "Info", label:none, content) = [ + #track(title, padding: 0em, type: type, label:label, content) +] + +#let use-case(nummer, name, kurzbeschreibung, akteur, vorbedingungen, hauptszenario) = [ + #pad(left: 0em, right: 0em, rest: top-bot-padding/2)[ + #figure()[ + #block()[ + #show table.cell.where(x: 0): set text(weight: "bold") + + #table( + columns: (0.4fr, 1fr), + fill: (x, y) => if calc.even(x) { use-case-color } else { use-case-color-light }, + stroke: (x: none, y: 2.5pt + rgb("FFFF")), + + [Name], text([UC] + str(nummer) + " - " + name, weight: "semibold"), + [Kurzbeschreibung], kurzbeschreibung, + [Akteur], akteur, + [Vorbedingungen], vorbedingungen, + [Hauptszenario], hauptszenario, + // [Nachbedingung], nachbedingung + ) + ]]] +] + +#let attributed-quote(label, body) = [ + #pad(left: side-padding, right: side-padding, rest: top-bot-padding)[ + // use a box to prevent the quote from beeing split on two pages + #box( + quote( + block: true, quotes: true, attribution: [#cite(label.target, form: "author") #label])[ + #body + ]) + ] +] + +#let diagram-figure(caption, plabel, filename, rendered:true) = [ + #pad(left: side-padding, right: side-padding, rest: top-bot-padding)[ + #figure( + caption: caption, + kind: "diagram", + supplement: [Diagramm], + include "Diagrams/" + (if (rendered){"rendered/"} else {""}) + filename + ".typ" + ) #plabel +]] + +#let code-figure(caption, plabel, filename, annotations: none) = [ + #pad(left: 0em, right: 0em, rest: top-bot-padding/4)[ + + #figure( + caption: caption, + kind: "code", + supplement: [Code], + include "Code/" + filename + ".typ" + ) #plabel +]] + +#let image-figure(plabel, filename, p-caption, height: auto, width: auto) = [ + #align(center)[ + #pad(left: side-padding, right: side-padding, rest: top-bot-padding)[ + #figure( + image("Images/" + filename, height: height, width: width), + caption: p-caption + ) #plabel +]]] + +#let image-figure-no-pad(plabel, filename, p-caption, height: auto, width: auto) = [ + #align(center)[ + #figure( + image("Images/" + filename, height: height, width: width), + caption: p-caption + ) #plabel +]] + +#let tree-figure(p-label, p-caption, content) = [ +#pad(left: side-padding, right: side-padding, rest: top-bot-padding)[ +#par(leading: 0.5em)[ +#figure(caption: p-caption)[ +#align(left)[ +#tree-list(content)]] #p-label ]] +] + +#let get-current-heading-hydra(top-level: false) = { + if(top-level){ + return hydra(1) + } + + return hydra(2) +} diff --git a/packages/preview/modern-hsh-thesis/1.1.2/template/main.typ b/packages/preview/modern-hsh-thesis/1.1.2/template/main.typ new file mode 100644 index 0000000000..eae8dff174 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/template/main.typ @@ -0,0 +1,26 @@ +#import "@preview/modern-hsh-thesis:1.1.1": * + +#show: project.with( + title: "Beispiel-Titel", + subtitle: "Bachelorarbeit im Studiengang Mediendesigninformatik", + author: "Vorname Nachname", + author-email: "vorname@nachname.tld", + matrikelnummer: 1234567, + prof: [ + Prof. Dr. Vorname Nachname\ + Abteilung Informatik, Fakultät IV\ + Hochschule Hannover\ + #link("mailto:vorname.nachname@hs-hannover.de") + ], + second-prof: [ + Prof. Dr. Vorname Nachname\ + Abteilung Informatik, Fakultät IV\ + Hochschule Hannover\ + #link("mailto:vorname.nachname@hs-hannover.de") + ], + date: "01. August 2024", + glossary-columns: 1, + bibliography: bibliography(("sources.bib", "sources.yaml"), style: "institute-of-electrical-and-electronics-engineers", title: "Literaturverzeichnis") +) + +#include "chapters/1-einleitung.typ" diff --git a/packages/preview/modern-hsh-thesis/1.1.2/template/sources.bib b/packages/preview/modern-hsh-thesis/1.1.2/template/sources.bib new file mode 100644 index 0000000000..deff260632 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/template/sources.bib @@ -0,0 +1,9 @@ +@online{typst, + title = {Typst: Compose papers faster}, + url = {https://typst.app/}, + shorttitle = {Typst}, + abstract = {Focus on your text and let Typst take care of layout and formatting. Sign up now and speed up your writing process.}, + titleaddon = {Typst}, + urldate = {2024-07-24}, + langid = {english}, +} \ No newline at end of file diff --git a/packages/preview/modern-hsh-thesis/1.1.2/template/sources.yaml b/packages/preview/modern-hsh-thesis/1.1.2/template/sources.yaml new file mode 100644 index 0000000000..a1dc858fe8 --- /dev/null +++ b/packages/preview/modern-hsh-thesis/1.1.2/template/sources.yaml @@ -0,0 +1,7 @@ +harry: + type: Book + title: Harry Potter and the Order of the Phoenix + author: Rowling, J. K. + volume: 5 + page-total: 768 + date: 2003-06-21 diff --git a/packages/preview/modern-hsh-thesis/1.1.2/thumbnail.png b/packages/preview/modern-hsh-thesis/1.1.2/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..6a3ca48f3b5717bcaa7d9e70880a6303d4854e05 GIT binary patch literal 63825 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"] +license = "MIT" +description = "Template for writing a bachelors or masters thesis at the Hochschule Hannover, Faculty 4." +repository = "https://github.com/MrToWy/hsh-thesis" +keywords = ["thesis", "hsh", "Hochschule Hannover"] +categories = ["thesis"] +compiler = "0.15.0" +exclude = [ + ".github", + "docs", + "scripts", + "tests", + ".typstignore", + "Justfile", +] + +[template] +path = "template" +entrypoint = "main.typ" +thumbnail = "thumbnail.png"