From d22744d70ff8cc365fbd2e1f67591d1686980605 Mon Sep 17 00:00:00 2001 From: Ernesto Martinez Garcia Date: Tue, 4 Mar 2025 16:26:19 +0100 Subject: [PATCH] initial commit --- .gitignore | 3 + 1.0.0/README.md | 33 ++++ 1.0.0/src/assets/tuglogo.svg | 47 ++++++ 1.0.0/src/colors.typ | 87 ++++++++++ 1.0.0/src/helper.typ | 34 ++++ 1.0.0/src/lib.typ | 284 ++++++++++++++++++++++++++++++++ 1.0.0/src/pages/outline.typ | 15 ++ 1.0.0/src/pages/title.typ | 101 ++++++++++++ 1.0.0/template/bibliography.bib | 13 ++ 1.0.0/template/slides.typ | 116 +++++++++++++ 1.0.0/thumbnail.png | Bin 0 -> 99825 bytes 1.0.0/typst.toml | 17 ++ CITATION.cff | 18 ++ LICENSE | 21 +++ README.md | 74 +++++++++ 15 files changed, 863 insertions(+) create mode 100644 .gitignore create mode 100644 1.0.0/README.md create mode 100644 1.0.0/src/assets/tuglogo.svg create mode 100644 1.0.0/src/colors.typ create mode 100644 1.0.0/src/helper.typ create mode 100644 1.0.0/src/lib.typ create mode 100644 1.0.0/src/pages/outline.typ create mode 100644 1.0.0/src/pages/title.typ create mode 100644 1.0.0/template/bibliography.bib create mode 100644 1.0.0/template/slides.typ create mode 100644 1.0.0/thumbnail.png create mode 100644 1.0.0/typst.toml create mode 100644 CITATION.cff create mode 100644 LICENSE create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ed83e23 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.pdf +**/dhat-heap.json +model/ diff --git a/1.0.0/README.md b/1.0.0/README.md new file mode 100644 index 0000000..ac5aeb0 --- /dev/null +++ b/1.0.0/README.md @@ -0,0 +1,33 @@ +# Typst ISEC Slides Template + +An unofficial ISEC TUGraz Slides template + +Author: Ernesto Martínez García <[ecomaikgolf.com](https://ecomaikgolf.com)> + +> [!NOTE] +> If you are an ISEC or TUGraz employee and want it renamed to `isec-slides` or +> `tugraz-slides` I would need an approval to allocate the name :) + +## Design + +TODO + +## Contributing + +Contribute to the template in the [upstream repository](https://github.com/ecomaikgolf/typst-isec-slides-template) + +Check for [open issues](https://github.com/ecomaikgolf/typst-isec-slides-template) + +## Samples + +TODO + +## License `src/assets/tuglogo.svg` + +According to Wikipedia: + +> This logo image consists only of simple geometric shapes or text. It does not +> meet the threshold of originality needed for copyright protection, and is +> therefore in the public domain. [...] + +https://en.m.wikipedia.org/wiki/File:TU_Graz.svg diff --git a/1.0.0/src/assets/tuglogo.svg b/1.0.0/src/assets/tuglogo.svg new file mode 100644 index 0000000..e5d11af --- /dev/null +++ b/1.0.0/src/assets/tuglogo.svg @@ -0,0 +1,47 @@ + + + + + + + + + + diff --git a/1.0.0/src/colors.typ b/1.0.0/src/colors.typ new file mode 100644 index 0000000..6d68a3e --- /dev/null +++ b/1.0.0/src/colors.typ @@ -0,0 +1,87 @@ +// TUGraz +#let tug = rgb("e4154b") +#let isec = rgb("272733") +#let foot = rgb("e1e1e1") +#let web = rgb("0c5a77") + +// Faculties +#let csbme = rgb("19b4e3") +#let arch = rgb("0a98a2") +#let bauw = rgb("d68e23") +#let etec = rgb("68242c") +#let mach = rgb("3066ba") +#let chem = rgb("5e60a8") +#let math = rgb("1e6934") + +// ISEC research areas +#let crypto = rgb("a6c947") +#let system = rgb("1171a8") +#let formal = rgb("f7931e") +#let applied = rgb("7d219e") + +// Powerpoint palette +#let page = tug +#let fore = rgb("0f0f0f") +#let back = rgb("ffffff") +#let dark = rgb("3b5a70") +#let lite = rgb("eeece1") +#let head = rgb("245b78") +#let body = rgb("e2e9ed") +#let urlA = rgb("0066d8") +#let urlB = rgb("6c2f91") +#let colA = tug +#let colB = rgb("5191c1") +#let colC = rgb("a5a5a5") +#let colD = rgb("285f82") +#let colE = rgb("78b473") +#let colF = rgb("e59352") + + +#let tugred = colA +#let tuggreen = colE +#let tugblue = colD +#let tugyellow = colF +#let tugcyan = csbme +#let tugpurple = applied +#let tugviolet = chem +#let tugmagenta = tugpurple +#let tugturquoise = arch +#let tugbrown = etec +#let tugblack = fore +#let tugwhite = back +#let tuggray = colC +#let tuggrey = tuggray +#let tugdark = dark +#let tugmid = colB +#let tuglite = lite + +#let main = tug +#let head = isec +#let emph = colD +#let standout = head + +#let showcase = [ + #set rect(width: 7.4cm, height: 1.5cm) + #set text(fill: white) + #set align(center) + #grid(columns: 3, rows: 6, column-gutter: 1.8cm, row-gutter: 0.05cm, align: left, + rect(fill: isec)[isec], + rect(fill: tug)[tug = main], + rect(fill: colA)[colA = tugred], + rect(fill: csbme)[csbme = tugcyan], + rect(fill: fore)[fore], + rect(fill: colB)[colB = tugmid], + rect(fill: crypto)[crypto], + rect(fill: back)[#text(fill: black)[back]], + rect(fill: colC)[colC = tuggray], + rect(fill: system)[system], + rect(fill: foot)[#text(fill: black)[foot]], + rect(fill: colD)[colD = tugblue], + rect(fill: formal)[formal], + rect(fill: emph)[emph], + rect(fill: colE)[colE = tuggreen], + rect(fill: applied)[applied = tugpurple], + rect(fill: lite)[#text(fill: black)[lite]], + rect(fill: colF)[colF = tugyellow], + ) +] diff --git a/1.0.0/src/helper.typ b/1.0.0/src/helper.typ new file mode 100644 index 0000000..90f912b --- /dev/null +++ b/1.0.0/src/helper.typ @@ -0,0 +1,34 @@ +// -------------------------------------------------------------------------- +// Extra helper functions + +// Fix for typst #311 "Behavior of first line indentation in paragraphs ..." +// https://github.com/typst/typst/issues/311#issuecomment-2023038611 +#let fix-311 = context { + set par.line(numbering: none) + let a = par(box()) + a + v(-0.8 * measure(2 * a).width) +} + +// Transforms content into string +#let content-to-string(content) = { + if content.has("text") { + content.text + } else if content.has("children") { + content.children.map(content-to-string).join("") + } else if content.has("body") { + content-to-string(content.body) + } else if content == [ ] { + " " + } +} + +// partitle simulates \paragraph{title} (more or less) +#let partitle(title: [Title], body) = context [ + #block(above: 0.8cm)[ + *#title* #h(0.3cm) #body + ] + #fix-311 +] + +//vim:tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab colorcolumn=81 diff --git a/1.0.0/src/lib.typ b/1.0.0/src/lib.typ new file mode 100644 index 0000000..c22cb5b --- /dev/null +++ b/1.0.0/src/lib.typ @@ -0,0 +1,284 @@ +#import "@preview/polylux:0.4.0": * +#import "@preview/codly:1.2.0": * +#import "@preview/showybox:2.0.4": showybox +#import "@preview/cheq:0.2.2": * +#import "@preview/fontawesome:0.5.0": * + +#import "pages/title.typ": * +#import "pages/outline.typ": * +#import "colors.typ" + +#let slides( + title: none, + subtitle: none, + authors: none, + date: none, + footer: none, + progress: true, + extra: none, + body +) = [ + + + #let get-heading(level: 1) = context { + let ah = query(heading.where(level: level).after(here())) + let bh = query(heading.where(level: level).before(here())) + + if ah.len() > 0 { + let h = ah.first() + if h.location().page() == here().page() { + h.body + } else { + if bh.len() > 0 { + let h = bh.last() + h.body + } + } + } + } + + #show emph: it => { + text(colors.tug, it.body) + } + + // -------------------------------------------------------------------------- + // Text + + #set text(size: 20pt, lang: "en", region: "US", font: "Open Sans") + + // -------------------------------------------------------------------------- + // Page + + #set page( + paper: "presentation-16-9", + margin: ( + left: 1.49cm, + right: 1.48cm, + top: 2.6cm, + bottom: 1.6cm, + ), + header: [ + #set block(width: 100%) + #set text(fill: black) + + #grid(columns: (auto, 25%), gutter: 0pt, align: top, + block[ + #text(size: 24pt, weight: "semibold", get-heading()) + ], + block()[ + #align(top + right)[ + #v(-0.17cm) + #move(dx: 0.27cm)[ + #text(size: 13.5pt, weight: "medium")[isec.tugraz.at] + #h(0.1cm) + #box(inset: 0pt, outset: 0pt)[#square(width: 0.3cm, height: 0.3cm, outset: 0pt, inset: 0pt, stroke: none, fill: colors.tug)] + ] + ] + ], + ) + ], + footer: context [ + #let footer-body = [ + + #set block(height: 100%, width: 100%) + #set text(size: 15pt, fill: rgb("808080")) + + #grid(columns: (page.margin.bottom.length - 1.68%, 1.3%, auto, 2.5%), + gutter: 0pt, align: horizon, + block(fill: colors.tug)[ + #set align(center + horizon) + #set text(fill: white, size: 12pt) + #toolbox.slide-number + ], + block(), + block[ + #set align(left + horizon) + #set text(size: 13pt) + #footer + ], + block(), + ) + ] + + #let progress-body = [ + #set block(height: 2pt, width: 100%) + #toolbox.progress-ratio(ratio => { + grid( + columns: (ratio * 100%, 1fr), gutter: 0pt, + block(fill: colors.tug), + block(fill: colors.tug), + ) + }) + ] + + #show: toolbox.full-width-block[ + #stack(dir: ttb, + block(height: 100%, footer-body), + if progress { place(float: true, bottom)[#progress-body] } + ) + ] + ], + ) + + // -------------------------------------------------------------------------- + // Enumerate and listing + + #let default-map = ( + "x": text(fill: colors.tuggreen, fa-square-check()), + " ": text(fill: colors.tuggray, fa-square()), + "+": text(fill: colors.tuggreen, fa-plus-circle()), + "-": text(fill: colors.tug, fa-minus-circle()), + ">": text(fill: colors.tugblue, fa-arrow-circle-right()), + ) + + + // TODO not a big fan of doing this one + #show: checklist.with( + marker-map: default-map, + show-list-set-block: (above: 0.7em, below: 0.7em), + radius: 0pt, + ) + + // TODO improve + + #set list(indent: 0.48cm, body-indent: 1.2em, spacing: 0.4cm) + #set list(marker: ( + (move(dy: 0.11cm, square(width: 0.4em, height: 0.4em, fill: colors.tug))), + (move(dy: 0.11cm, square(width: 0.4em, height: 0.4em, fill: black))), + (move(dy: 0.11cm, square(width: 0.4em, height: 0.4em, fill: gray))), + )) + + //#show list.item.where(level: 1): set text(size: 10pt) + + #set enum(numbering: n => [ + #square(stroke: none, fill: colors.tug)[ + #align(center)[ + #text(fill: white)[#n] + ] + ] + ]) + + // -------------------------------------------------------------------------- + // Code listings + + #show raw.where(block: true): set text(size: 13pt) + + #show: codly-init.with() + #codly( + display-name: false, + display-icon: false, + radius: 0pt, + stroke: 1pt + black, + smart-indent: true, + zebra-fill: luma(240), + number-format: (number) => [#text(size: 12pt, fill: gray)[#number]], + number-align: right + horizon, + breakable: true) + + // -------------------------------------------------------------------------- + // Bibliography + + #set bibliography(title: "Bibliography", style: "ieee") + #set cite(style: "alphanumeric") + #show bibliography: set par(spacing: 0.4cm) + #show bibliography: set grid(align: top + left) + #show bibliography: set text(17pt) + #show bibliography: t => { + show grid.cell.where(x: 0): set text(fill: colors.tug) + show grid.cell.where(x: 0): set align(top + left) + show link: set text(fill: colors.tuggray) + t + } + + // -------------------------------------------------------------------------- + // Page + #show heading.where(level: 1): it => [ + #slide[ + // Hack to show the slides even if empty + #place(left + top, hide(square(width: 0pt, height: 0pt))) + ] + ] + + #title-slide(title, subtitle, authors, extra) + + #counter("logical-slide").update(0) + #set align(horizon) + + #body +] + +// Standout slides don't count as real slides in the official template +#let standout-slide(body) = [ + #set page(footer: none, header: none) + #set align(center) + #set text(size: 28pt) + #move(dy: -2.08cm)[ + #body + ] +] + +#let section-slide(section, subtitle) = [ + #set page(footer: none, header: none) + #set align(center) + + #slide[ + #move(dy: -0.3cm)[ + #text(size: 36pt)[#section] + + #v(-0.2cm) + #text(size: 20pt)[#subtitle] + ] + ] +] + +#let blank-slide(body) = [ + #set page(footer: none, header: none, margin: 0pt) + #set align(center) + + #slide[ + #body + ] +] + +#let highlight(color: colors.tug, fill: white, body) = [ + #box[ + #rect(fill: color, inset: (x: 0.2em, y: 0.4em))[ + #set text(fill: fill) + #body + ] + ] +] + +#let comment(body) = [ + #set text(fill: colors.tuggray, size: 16pt) + #body +] + +#let tblock(title, body, color: colors.tug, color-body: colors.lite) = [ + + #show emph: it => { + text(weight: "medium", fill: color, it.body) + } + + #showybox( + title-style: ( + color: white, + sep-thickness: 0pt, + ), + frame: ( + //inset: 0.4em, + radius: 0pt, + thickness: 0pt, + border-color: color, + title-color: color, + body-color: color-body, + inset: (x: 0.55em, y: 0.65em), + ), + above: 0.78em, + below: 0.78em, + title: title, + body + ) +] + +//vim:tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab colorcolumn=81 diff --git a/1.0.0/src/pages/outline.typ b/1.0.0/src/pages/outline.typ new file mode 100644 index 0000000..1170f69 --- /dev/null +++ b/1.0.0/src/pages/outline.typ @@ -0,0 +1,15 @@ +#import "@preview/polylux:0.4.0": * +#import "../colors.typ" + +#let outline-slide() = [ + + #slide[ + = Outline + #let outline = toolbox.all-sections((sections, _current) => { + enum(..sections) + }) + #outline.fields() + #type(outline) + ] + +] diff --git a/1.0.0/src/pages/title.typ b/1.0.0/src/pages/title.typ new file mode 100644 index 0000000..460e4e3 --- /dev/null +++ b/1.0.0/src/pages/title.typ @@ -0,0 +1,101 @@ +#import "@preview/polylux:0.4.0": * +#import "../colors.typ" + +#let title-slide(title, subtitle, authors, extra) = [ + + + + #let footer-isec = [ + #set text(size: 13.3pt, weight: "medium") + + #let arrow-icon = [ + #move(dy: -0.05cm, dx: -0.05cm, + rotate(45deg, + square(fill: none, size: 0.18cm, stroke: ( + "top": colors.tug + 1.35pt, + "bottom": none, + "right": colors.tug + 1.35pt, + "left": none, + )) + ) + ) + ] + + #v(0.4cm) + #box(arrow-icon) #h(0.1cm) isec.tugraz.at + ] + + #set page(footer: footer-isec, header: none) + #set block(below: 0pt, above: 0pt) + + #slide[ + + #place(top + right, dy: -1.9cm, dx: 0.78cm, + [ + #set align(right) + #set text(size: 12pt, tracking: 3.6pt) + + #image("../assets/tuglogo.svg", width: 4.1cm) + + #v(0.13cm) + + #move(dx: -0.07cm)[ + SCIENCE + ] + + #v(0.65em) + + #move(dx: -0.03cm)[ + PASSION + ] + + #v(0.65em) + + #move(dx: -0.06cm)[ + TECHNOLOGY + ] + + ] + ) + + + #v(0.8cm) + + #block(width: 70%)[ + #let title = text(size: 40.5pt, weight: "bold")[#title] + + #move(dx: 0.04em)[ + #grid(columns: (0.195cm, auto), column-gutter: 0.7cm, + context [ + #let s = measure(title) + #move(dy: -0.4cm, rect(fill: colors.tug, height: s.height + 0.65cm)) + ], + title + ) + ] + ] + + #v(0.6cm) + + #block(width: 70%)[ + #text(size: 28.3pt, fill: colors.tug, weight: "bold")[#subtitle] + ] + + #v(1.48cm) + + #block(width: 70%)[ + #set text(size: 19pt) + #for author in authors [ + #author #h(1.1em) + ] + ] + + #v(0.95cm) + + #block(width: 70%)[ + #extra + ] + + ] + +] diff --git a/1.0.0/template/bibliography.bib b/1.0.0/template/bibliography.bib new file mode 100644 index 0000000..8497860 --- /dev/null +++ b/1.0.0/template/bibliography.bib @@ -0,0 +1,13 @@ +// You can use LaTeX's bibliography format per default +// or +// Typst's Hayagriva: +// https://github.com/typst/hayagriva/blob/main/docs/file-format.md + +@software{emg25template, + author = {Ernesto Martínez García}, + year = {2025}, + month = {1}, + title = {{Typst ISEC Master's Thesis Template}}, + url = {https://github.com/ecomaikgolf/typst-isec-master-thesis-template}, + urldate = {2025-01-01} +} // Update urldate! diff --git a/1.0.0/template/slides.typ b/1.0.0/template/slides.typ new file mode 100644 index 0000000..c2e41ee --- /dev/null +++ b/1.0.0/template/slides.typ @@ -0,0 +1,116 @@ +#import "@local/definitely-not-isec-slides:1.0.0": * + +// ---------------------------------------------------------------------------- +// Configuration +// ---------------------------------------------------------------------------- +#show: slides.with( + title: [ Long Paper Title #linebreak() with One to Three Lines], + subtitle: [ An optional short subtitle ], + authors: ( [*First Author*], [Second Author], [Third Author], ), + date: [ 29th Jan 2025 ], + footer: [ First Author ], + extra: [ SomeConf 2025 ], + progress: false, +) + += List + +- First point... +- Second point... + - Subpoint... + - Subpoint... +- Third point... + += List and Figure + +#grid(columns: (1fr, 1fr), + [ + 1. First point... + 2. Second point... + 3. Third point... + ], + [ + #rect(width: 95%, height: 60%) + ] +) + +#standout-slide[Standout slide] + +#section-slide([Section Header], [Optional subtitle or figure]) + += Blocks + +#tblock([Color], color: colors.tugblue)[ + Highlighted content: _Emphasis_, a + _b_ = c, _n-dimensional_ +] + +#tblock([Alert Block])[ + Important content: _Alert_, a + _b_ = c +] + +#tblock([Example Block], color: colors.tuggreen)[ + Example content +] + +#block[ + #set align(horizon) + + #highlight[Highlight (main)] + #highlight(color: colors.tugblue)[Highlight (empth)] + Normal text + #comment[Minor comment] +] + += Color Palette + +#v(-1.5cm) +#colors.showcase + += Lists with FontAwesome + + +Checklist: + +- [x] Item 1 +- [x] Item 2 +- [ ] Item 3 + +Advantages and Disadvantages: + +- [+] Advantage +- [-] Disadvantage +- [>] Conclusion + +- this is a test + += Color Scheme for PGFplots: Lines + += Color Scheme for PGFplots: Fill + += Code Listings + +Powered by codly: + +```cpp +int main() { + std::vector test(50); +} +``` + +```sh +#!/bin/bash + +exit 0 +``` + += Usable Area + +#rect(width: 100%, height: 100%, fill: colors.tugmid) + += Acknowledgements + +This is a test@emg25template + +#bibliography("bibliography.bib") + + diff --git a/1.0.0/thumbnail.png b/1.0.0/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..c865493ea03f6a92ea1eb652e491c8853deb9e29 GIT binary patch literal 99825 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 ff4x`V1u4ATr@idmBcYfur"] +license = "MIT" +description = "An unofficial ISEC TUGraz slides template" +repository = "https://github.com/ecomaikgolf/typst-isec-slides-template" +categories = ["slides"] +disciplines = ["computer-science", "engineering"] +keywords = ["ISEC", "Institute of Information Security", "IAIK", "TUGraz", "Graz University of Technology", "thesis", "template", "Master Thesis"] +compiler = "0.13.0" + +[template] +path = "template" +entrypoint = "slides.typ" +thumbnail = "thumbnail.png" diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..4cc12e0 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,18 @@ +cff-version: 1.2.0 +title: Typst ISEC Slides Template +message: >- + ISEC Typst Slides Template +type: software +authors: + - given-names: Ernesto Martínez García + email: me@ecomaikgolf.com + affiliation: ISEC Graz University of Technology +repository-code: >- + https://github.com/ecomaikgolf/typst-isec-slides-template +keywords: + - typst + - template + - slides + - isec + - iaik + - tugraz diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f6f6c5e --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Ernesto Martínez García + +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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..180980b --- /dev/null +++ b/README.md @@ -0,0 +1,74 @@ +# Typst ISEC Slides Template + +Quickstart (CLI): + +> [!NOTE] +> This is temporary and the template will be upstreamed in Typst Universe so +> that not a single clone is needed + +```sh +git clone git@github.com:ecomaikgolf/typst-isec-slides-template.git ~/.local/share/typst/packages/local/definitely-not-isec-slides/ +typst init @preview/definitely-not-isec-slides:1.0.0 slides +``` +Tested typst version: `0.13.0`. + +## Typst + +### What's Typst? + +A modern typesetting system which has: + +- Milisecond incremental (memoized) builds¹ +- Subsecond full builds¹ +- Multithreaded builds per pagebreak +- Easy rustc-like compiler error messages (and no intermediates!) +- Transparent multiple compiler passes (no more mklatex/makefiles) +- Simple & powerful scripting and syntax +- WebAssembly plugin support (python/js interpreters in your thesis? Sure) + +Migrating from LaTeX? Check the [migration guide](https://typst.app/docs/guides/guide-for-latex-users/) + +¹: This is obviously not a serious benchmark and depends on the document. But + it's fast trust me + +### Quick usage + +Start incremental compilations with: + +```sh +typst watch slides.typ +``` + +then open the generated PDF: + +```sh +xdg-open slides.typ +``` + +Now edit `slides.typ` and it will be incrementally built in each save. + +Incremental builds are blazingly fast, but regular PDF rendering (on the +viewer) is a bottleneck here. + +Use tinymist with neovim's `:TypstPreview` (or VSCode plugin), which uses the +browser to do PDF partial renderings and previews will be even more responsive. +No need for running `typst watch` now. It even has features like cursor sync, +click to jump, etc. + +## Design + +TODO + +## Samples + +TODO + +## License `src/assets/tuglogo.svg` + +According to Wikipedia: + +> This logo image consists only of simple geometric shapes or text. It does not +> meet the threshold of originality needed for copyright protection, and is +> therefore in the public domain. [...] + +https://en.m.wikipedia.org/wiki/File:TU_Graz.svg