From f69e5eac56f98efb23f2183bf404392be28a986a Mon Sep 17 00:00:00 2001 From: Elias Riedling Date: Wed, 1 Jul 2026 21:00:39 +0200 Subject: [PATCH 1/6] Add thesis-clean-ut package --- .../preview/thesis-clean-ut/0.1.0/LICENSE | 21 ++ .../preview/thesis-clean-ut/0.1.0/README.md | 52 +++++ .../chapters/1 official title n declar.typ | 54 +++++ .../template/chapters/10 attachements.typ | 37 +++ .../0.1.0/template/chapters/2 abstract.typ | 22 ++ .../template/chapters/3 acknowledgements.typ | 11 + .../template/chapters/4 abbreviations.typ | 13 ++ .../template/chapters/5 introduction.typ | 13 ++ .../chapters/6 materials and methods.typ | 66 ++++++ .../0.1.0/template/chapters/7 results.typ | 34 +++ .../0.1.0/template/chapters/8 summary.typ | 11 + .../template/chapters/9 bibliography.typ | 13 ++ .../0.1.0/template/chapters/bibliography.bib | 111 +++++++++ .../thesis-clean-ut/0.1.0/template/lib.typ | 219 ++++++++++++++++++ .../thesis-clean-ut/0.1.0/template/main.typ | 71 ++++++ .../0.1.0/template/nature_squarebrackets.csl | 158 +++++++++++++ .../thesis-clean-ut/0.1.0/thumbnail.png | Bin 0 -> 368683 bytes .../preview/thesis-clean-ut/0.1.0/typst.toml | 18 ++ 18 files changed, 924 insertions(+) create mode 100644 packages/preview/thesis-clean-ut/0.1.0/LICENSE create mode 100644 packages/preview/thesis-clean-ut/0.1.0/README.md create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/1 official title n declar.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/10 attachements.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/2 abstract.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/3 acknowledgements.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/4 abbreviations.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/5 introduction.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/6 materials and methods.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/7 results.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/8 summary.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/9 bibliography.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/chapters/bibliography.bib create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/lib.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/main.typ create mode 100644 packages/preview/thesis-clean-ut/0.1.0/template/nature_squarebrackets.csl create mode 100644 packages/preview/thesis-clean-ut/0.1.0/thumbnail.png create mode 100644 packages/preview/thesis-clean-ut/0.1.0/typst.toml diff --git a/packages/preview/thesis-clean-ut/0.1.0/LICENSE b/packages/preview/thesis-clean-ut/0.1.0/LICENSE new file mode 100644 index 0000000000..5eadb8e732 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Elias Riedling + +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/packages/preview/thesis-clean-ut/0.1.0/README.md b/packages/preview/thesis-clean-ut/0.1.0/README.md new file mode 100644 index 0000000000..b3cef85c91 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/README.md @@ -0,0 +1,52 @@ +# Typst thesis templates for bachelor and master thesis + +This template is designed to write final theses in the field of life sciences with a clean look, offering 1) the automatic generation of a two-column bibliography 2) automatic subfigure-numbering and 3) allows for the display of short captions for figures in the outline. The biggest downside of this template yet is its pre-defined customization of text, tables, figures... which make this template less flexible. But you are of course free to make changes anytime :) +The first two pages are generated for the University Tübingen, feel free to change them, too. + +## Disclaimer + +- This thesis is not official and does not represent the University of Tübingen in any way +- This is a template and does not have to meet the exact requirements of your university. Check what your thesis should look like! +- The thesis is currently only supported in English + +## Getting started + +### Start from Template + +This template works best with the "Start from template" option in the Typst web app: + +1. Go to https://typst.app +2. Click "Start from template" +3. Search for "ut-thesis-clean" +4. All template files will be automatically copied to your project + +The template includes a local copy of `lib.typ` (where all customizations live) so it works immediately without any additional setup. Simply edit `main.typ` and the chapter files to write your thesis. + +## Custom functions + +The caption-function is a slight modification of the original caption of figures: + +```typ +#figure(.., caption: caption[short description][more details]) +``` +This will display the short description in the outline of figures and will show the original figure caption as: + +**Figure X: short description.** more details + +Furthermore, the TODO-function is a small QoL-improvement, allowing for highlighting text for later editing: + +```typ +#todo[text] +``` + +Finally, the custom subfigure-function automatically numbers the subfigures with A,B,C... above the top-left corner of the figure: + +```typ +#subfig-grid(columns: 2, +figure(.., caption: []), +figure(.., caption: []), +.., +caption: [caption describing the whole figure, including subfigures] +``` + +Note that this does **not** allow for captioning of the subfigures directly (this will look bad), but instead requires a description of subfigures in the total figure caption \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/1 official title n declar.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/1 official title n declar.typ new file mode 100644 index 0000000000..a33519c4b7 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/1 official title n declar.typ @@ -0,0 +1,54 @@ +#let titlepage()=[ + #set page( + paper: "a4", + margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), + ) + + #set text(weight: "bold",font: "TeX Gyre Heros", size: 20pt, lang: "de", hyphenate: false) + + #set par(justify: false) + + + #place(top + center, text(size:1.3em, [Your Title])) + #v(1.1fr) + + #align(center + horizon, [ + #text([Bachelorarbeit der Mathematisch-Naturwissenschaftlichen Fakultät]) + #v(0.1em) + der #smallcaps[Eberhard Karls Universität Tübingen]//kapitälchen + #v(0.1em) + #text([im Fach X]) + + #v(1fr) + + vorgelegt von#str("\n\n") Surname, Name#str("\n") Tübingen, November 2025]) + #pagebreak() +] + + +// declaration of independence +#let declaration() = [ + #set page( + paper: "a4", + margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), + ) + + #set text(size: 12pt, font: "TeX Gyre Heros", + lang: "de", hyphenate: false) + #set list(marker: "-") + #set par(justify: true) + + #strong("Erklärung:") + +Hiermit erkläre ich, + +- dass ich diese Arbeit selbst verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe, alle wörtlich oder sinngemäß aus anderen Werken übernommenen Aussagen als solche gekennzeichnet habe, die Arbeit weder vollständig noch in wesentlichen Teilen Gegenstand eines anderen Prüfungsverfahrens gewesen ist und die Arbeit weder vollständig noch in wesentlichen Teilen bereits veröffentlicht ist sowie dass das in Dateiform eingereichte Exemplar mit eingereichten gebundenen Exemplaren übereinstimmt. + +- dass ich die Richtlinien zur Sicherung guter wissenschaftlicher Praxis und zum Umgang mit wissenschaftlichem Fehlverhalten an der Eberhard-Karls-Universität beachtet habe. +#v(2.5em) + +Tübingen, den #datetime.today().display("[day].[month].[year]") +//#image("../pictures/Unterschrift.png", width: 25%) + +Your name +] \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/10 attachements.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/10 attachements.typ new file mode 100644 index 0000000000..56267e58f5 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/10 attachements.typ @@ -0,0 +1,37 @@ +#import "../lib.typ":* + +#let attachements() = [ + +// ------change figure numbering------- +#set figure(numbering: (..ns) => numbering("S1", ..ns)) +#set figure(outlined: false) +#counter(figure.where(kind: image)).update(0) + +#heading([Supplementary figures], depth: 2, numbering: none) + +#subfig-grid-attachments(columns:2, rows:2, + figure(rect[#lorem(60)], + caption: []),, + + figure(rect[#lorem(60)], + caption: []), + + figure(rect[#lorem(60)], + caption: []), + + figure(rect[#lorem(60)], + caption: []), + + //figure(image("Path/to/image.png"),caption: []), + + caption: [#caption[This is a short caption][This is a extension that is only shown in the descriptions but not in the outline]],//total caption + label: + ) + + +#heading([Availability of Data], numbering: none, depth: 2) +// direct download link generator for google drive files: +// https://sites.google.com/site/gdocs2direct +*The original data output from the processings, summarized in an Excel-table, is provided +on the attached CD in the print version and through* #link("https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ&start_radio=1",[this link]) *in the PDF.* +] \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/2 abstract.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/2 abstract.typ new file mode 100644 index 0000000000..4860d34b6a --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/2 abstract.typ @@ -0,0 +1,22 @@ +#let abstract() = [ + // -------------------------englische version + #align(center + horizon)[ + #heading("Abstract", depth: 1, numbering: none) + #v(0.6em) + ] + // english abstract... + #lorem(60) + + #pagebreak() + + // -------------------------deutsche version + #align(center + horizon)[ + // #set par(justify: false) + #heading("Zusammenfassung", depth: 1, numbering: none) + #v(0.6em) + ] + // deutsche zusammenfassung... + + #lorem(60) + +] \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/3 acknowledgements.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/3 acknowledgements.typ new file mode 100644 index 0000000000..5d685cb305 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/3 acknowledgements.typ @@ -0,0 +1,11 @@ +#let acknowledgements() = [ + #align(center + horizon)[ + #heading(depth: 1, numbering: none, outlined: false, "Acknowledgements") + #v(0.6em) + ] + + Your text goes here + +] + + diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/4 abbreviations.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/4 abbreviations.typ new file mode 100644 index 0000000000..48453d55c0 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/4 abbreviations.typ @@ -0,0 +1,13 @@ +#let abbreviations()=[ + #v(0.7em) + #align(center)[ + + //could look something like this: + #table(columns:2, + table.header([Abbreviation],[Meaning]), + [67],[nonsensical internet expression], + [...], [...], + + )] + +] \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/5 introduction.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/5 introduction.typ new file mode 100644 index 0000000000..0fb2422f6d --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/5 introduction.typ @@ -0,0 +1,13 @@ +#import "../lib.typ": * + +#let introduction() = [ + +== How to Rickroll +generate a link where nobody expects it + + +#pagebreak() + += Aims of the thesis + +] \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/6 materials and methods.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/6 materials and methods.typ new file mode 100644 index 0000000000..1606170377 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/6 materials and methods.typ @@ -0,0 +1,66 @@ +#import "../lib.typ": * + +#let methods() = [ + +== Materials + +#figure( + table(columns: 2, + table.header([Chemicals],[Provider], repeat: true), + // inhalt + [Oranges],[Tree], + // [],[], +), caption: [List of Chemicals] +) + +#figure( + table(columns: 2, align: horizon, + table.header([Solution],[Composition]), + //inhalt + [Orange juice],[100% Oranges], +), caption: [List of Solutions], +) + +#figure(table(columns: 2, + table.header([Enzyme],[Provider]), + [Lysozyme],[Saliva], +),caption: [List of Enzymes]) + +#figure( + table(columns: 2, +table.header([Primer],[Sequence]), +[seq-fwd],[#upper("ctgtttctccatacccgtt")], + +), caption: [List of Primers, 5'\-3' orientation] +) + +#figure( + table(columns: 2, + table.header([Software],[Provider]), + //inhalt + [Excel],[Microsoft], +), caption: [List of Softwares]) + +#[ +#show figure.where(kind: table): set block(breakable: true) + #todo("this #[] block and the show rule above in the code makes this table be able to span multiple pages. Do this for every table you want to span multiple pages") + + +#figure( + table(columns: 2, + table.header([Instrument],[Provider]), + //inhalt + [Paper&Pen],[Also trees], +), caption: [List of Instruments]) +] + + +== Methods +#set heading(outlined: false) + +//describe each method + +#heading([Rickrolling people], level: 3, numbering: none) +#link("https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ&start_radio=1",[Totally unsuspicious link]) + +] \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/7 results.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/7 results.typ new file mode 100644 index 0000000000..3a6c4d384e --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/7 results.typ @@ -0,0 +1,34 @@ +#import "../lib.typ":* + +#let results() = [ + +== Lorem ipsum +We are here in @lorem. You could also write that as @lorem[Chapter] + +Citations are grouped automatically for more than three citations @Gratani2023@Abida2021. If we add one more, the citations are connected with a hyphen: @Gratani2023@Abida2021@Abramson2024. Cool, right? + +@subfigure is not the same as @asubfigure, attachment figures are numbered and referenced with a "S", however i havent found a good solution to reference attachment subfigure-grids as a whole: @agreatplot and @greatplot. + + +Finally, #lorem(20) @Gratani2023), and therefore we need more money. + +#subfig-grid(columns:2, rows:2, + figure(rect[#lorem(60)], + caption: []),, + + figure(rect[#lorem(60)], + caption: []), + + figure(rect[#lorem(60)], + caption: []), + + figure(rect[#lorem(60)], + caption: []), + + //figure(image("Path/to/image.png"),caption: []), + + caption: [#caption[This is a short caption][This is a extension that is only shown in the descriptions but not in the outline]],//total caption + label: + ) + +] \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/8 summary.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/8 summary.typ new file mode 100644 index 0000000000..77c2ede03d --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/8 summary.typ @@ -0,0 +1,11 @@ +#let summary() = [ + + == Summary + + + + == Outlook + + + +] \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/9 bibliography.typ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/9 bibliography.typ new file mode 100644 index 0000000000..4a291048f7 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/9 bibliography.typ @@ -0,0 +1,13 @@ +#let bibliography-literature() = [ + /* + for converting .ris to .bib: + https://www.bruot.org/ris2bib/ + + .nbib to .bib: + https://www.bibtex.com/c/pmid-to-bibtex-converter/ + */ + #heading(numbering: none, [Bibliography]) + #bibliography("bibliography.bib", title: none, + style: "../nature_squarebrackets.csl") + +] \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/bibliography.bib b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/bibliography.bib new file mode 100644 index 0000000000..6035ab9e58 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/chapters/bibliography.bib @@ -0,0 +1,111 @@ +@Article{Steen2004, +author={Steen, Hanno +and Mann, Matthias}, +title={The abc's (and xyz's) of peptide sequencing}, +journal={Nature Reviews Molecular Cell Biology}, +year={2004}, +month={Sep}, +day={01}, +volume={5}, +number={9}, +pages={699-711}, +issn={1471-0080}, +doi={10.1038/nrm1468}, +} +@ARTICLE{Abida2021, +AUTHOR={Sultan, Abida and Jers, Carsten and Ganief, Tariq A. and Shi, Lei and Senissar, Meriem and Køhler, Julie Bonne and Macek, Boris and Mijakovic, Ivan }, +TITLE={Phosphoproteome Study of Escherichia coli Devoid of Ser/Thr Kinase YeaG During the Metabolic Shift From Glucose to Malate}, +JOURNAL={Frontiers in Microbiology}, +VOLUME={Volume 12 - 2021}, +YEAR={2021}, +DOI={10.3389/fmicb.2021.657562}, +ISSN={1664-302X}} +@Article{Hulsen2008, +author={Hulsen, Tim +and de Vlieg, Jacob +and Alkema, Wynand}, +title={BioVenn -- a web application for the comparison and visualization of biological lists using area-proportional Venn diagrams}, +journal={BMC Genomics}, +year={2008}, +month={Oct}, +day={16}, +volume={9}, +number={1}, +pages={488}, +issn={1471-2164}, +doi={10.1186/1471-2164-9-488}, +url={https://doi.org/10.1186/1471-2164-9-488} +} +@Article{Abramson2024, +author={Abramson, Josh +and Adler, Jonas +and Dunger, Jack +and Evans, Richard +and Green, Tim +and Pritzel, Alexander +and Ronneberger, Olaf +and Willmore, Lindsay +and Ballard, Andrew J. +and Bambrick, Joshua +and Bodenstein, Sebastian W. +and Evans, David A. +and Hung, Chia-Chun +and O'Neill, Michael +and Reiman, David +and Tunyasuvunakool, Kathryn +and Wu, Zachary +and {\v{Z}}emgulyt{\.{e}}, Akvil{\.{e}} +and Arvaniti, Eirini +and Beattie, Charles +and Bertolli, Ottavia +and Bridgland, Alex +and Cherepanov, Alexey +and Congreve, Miles +and Cowen-Rivers, Alexander I. +and Cowie, Andrew +and Figurnov, Michael +and Fuchs, Fabian B. +and Gladman, Hannah +and Jain, Rishub +and Khan, Yousuf A. +and Low, Caroline M. R. +and Perlin, Kuba +and Potapenko, Anna +and Savy, Pascal +and Singh, Sukhdeep +and Stecula, Adrian +and Thillaisundaram, Ashok +and Tong, Catherine +and Yakneen, Sergei +and Zhong, Ellen D. +and Zielinski, Michal +and {\v{Z}}{\'i}dek, Augustin +and Bapst, Victor +and Kohli, Pushmeet +and Jaderberg, Max +and Hassabis, Demis +and Jumper, John M.}, +title={Accurate structure prediction of biomolecular interactions with {AlphaFold 3}}, +journal={Nature}, +year={2024}, +month={Jun}, +day={01}, +volume={630}, +number={8016}, +pages={493-500}, +issn={1476-4687}, +doi={10.1038/s41586-024-07487-w}, +url={https://doi.org/10.1038/s41586-024-07487-w} +} +@article{Gratani2023, +author = {Fabio Lino Gratani and Till Englert and Payal Nashier and Peter Sass and Laura Czech and Niels Neumann and Sofia Doello and Petra Mann and Rudolf Blobelt and Siegfried Alberti and Karl Forchhammer and Gert Bange and Katharina Höfer and Boris Macek}, +title = {$#text(font: "TeX Gyre Heros")[_E. coli_]$ Toxin YjjJ (HipH) Is a Ser/Thr Protein Kinase That Impacts Cell Division, Carbon Metabolism, and Ribosome Assembly}, +journal = {mSystems}, +volume = {8}, +number = {1}, +pages = {e01043-22}, +year = {2023}, +doi = {10.1128/msystems.01043-22}, +URL = {https://journals.asm.org/doi/abs/10.1128/msystems.01043-22}, +eprint = {https://journals.asm.org/doi/pdf/10.1128/msystems.01043-22} +} \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/lib.typ b/packages/preview/thesis-clean-ut/0.1.0/template/lib.typ new file mode 100644 index 0000000000..7fcd62ff52 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/lib.typ @@ -0,0 +1,219 @@ +#import "@preview/subpar:0.2.2" +#import "@preview/hydra:0.6.2": hydra + +#let in-outline = state("in-outline", false) + +#let caption(short, details) = context { + if in-outline.get() { short } else { [#strong(short). #details] } +} + +#let todo(lol) = text(weight: "bold", fill: red, [TODO: ]+ lol) + +#let subfig-grid(..args) = subpar.grid( + align:top+start, + numbering-sub: "A", + numbering-sub-ref: (..nums) => numbering("1A", ..nums), + show-sub-caption: (num, it) => { + set text(size: 1.5em) //big numeration + // subcaption numbering + text(weight: "bold", num) + // it.separator + // subcaption body + it.body + }, + show-sub: it => { + set figure.caption(position: top) + it + }, + ..args +) + +#let subfig-grid-attachments(..args) = subpar.grid( + align:top+start, + numbering-sub: "A", + numbering-sub-ref: (..nums) => numbering("S1A", ..nums), + show-sub-caption: (num, it) => { + set text(size: 1.5em) //big numeration + // subcaption numbering + text(weight: "bold", num) + // it.separator + // subcaption body + it.body + }, + show-sub: it => { + set figure.caption(position: top) + it + }, + ..args +) + +#let upmu = [~$upright(mu) "l"$] +// =========================================================== +#let template(title-page: {}, +declaration: {}, +acknowledgements: {}, abstract: {}, abbreviations: {}, body) = context{[ + +//----page formatting============================ +#set page(margin: (x: 2.5cm, y: 2.5cm), + paper: "a4" + ) + +// blocksatz +#set par(justify: true, linebreaks: "optimized") + +#set heading(numbering: "1.1.1.a.") +#set text(font: "TeX Gyre Heros",//Helvetica + lang: "en", hyphenate: true, + size: 12pt, ligatures: false, + region: "US") + +//===================show rules================================ + +#show heading: it => text(hyphenate: false, it) + +//figure caption left-aligned +#show figure.caption: set align(start) + +//figure supplement bold, text 10pt +#show figure.caption: it => context box( + inset: (left: 1.4em, right: 1.4em), + align(left)[#text(size: 10pt)[ + *#it.supplement~#it.counter.display()#it.separator*#it.body + ] + ] +) +#set image(fit: "contain", scaling: "smooth") + +#show figure.where(kind: image): set text(size: 10pt) + + +//-------------------------table design----------------------- +#show table.cell.where(y: 0): strong //first table line *bold* +#set table(stroke: (x, y) => ( + left: if x > 0 { 0.7pt }, + top: if y == 0 {1.0pt}, + bottom : if y == 0 {0.7pt}), + align: (x, y) => center + horizon + ) +#set table.hline(stroke: 0.7pt) +//caption above table +#show figure.where(kind: table): set figure.caption(position: top) + +// ------------------------------------------------------------- + +// footnotes definieren +#set footnote.entry(gap: 0.6em, indent: 0em) + +// references bold and blue +#show ref: it => strong(text(fill: blue, it)) +#show link: set text(hyphenate: false) +#show cite: it => strong(text(fill: blue, it)) + +#show bibliography: it => { + show link: set text(blue) + show link: strong + set text(size: 10pt, costs: (hyphenation: 150%)) + columns(it) +} + +#show math.equation: set text(font: "Lete Sans Math") + +#set pagebreak(weak: true) + +//---title page (s) ------------------------------------------------ +#title-page +#pagebreak() +#declaration + +#counter(page).update(1) //resettet counter sodass numerierung erst ab abschnitt "abstract" anfängt + + +//----abstract---------------------------------------- + +#page(numbering: "I")[ + #abstract +] +#pagebreak() + +//--------------------acknowledgements----------------- + +#page(numbering: "I")[ + #acknowledgements +] + +//----outlines---------------------------------------- +// https://typst.app/docs/reference/model/outline/ +//https://github.com/roland-KA/basic-report-typst-template/blob/main/lib.typ +//https://github.com/fuchs-fabian/typst-template-aio-studi-and-thesis/blob/main/src/lib.typ + +//----Table of Contents +//heading level 1 bold +#page(numbering: "I")[ +#show outline.entry.where(level: 1): it => { + set text(1.2em, weight: "bold") + v(1.5em, weak: true) + it +} + +#heading([Table of Contents], numbering: none, outlined: false) +#v(0.5em) +#outline(title: none, depth: 3) +] +#pagebreak() + +// ONLY SHOW SHORT CAPTION IN OUTLINE +// https://forum.typst.app/t/how-do-i-customize-outline-entries-it-inner-it-body/3591/7 +// https://forum.typst.app/t/how-to-have-different-text-shown-in-figure-caption-and-in-outline/2349/3 + +#show outline: it => { + in-outline.update(true) + it + in-outline.update(false) +} + +#show outline.entry: it => link( + it.element.location(), + it.indented(strong(it.prefix()), it.inner()), +) + +//---------List of Images +#page(numbering: "I")[ +#heading([List of Images], numbering: none) +#v(0.5em) +#outline(title: none, target: figure.where(kind: image)) +] +#pagebreak() + +//---------List of Tables +#page(numbering: "I")[ +#heading([List of Tables], numbering: none) +#v(0.5em) +#outline(title: none, target: figure.where(kind: table)) +] +#pagebreak() + +// -------------list of abbreviatons +#page(numbering: "I")[ +#heading([List of Abbreviations], numbering: none) +#abbreviations +] + +//start latin numbering============================ +#counter(page).update(1) + +#show link: it => strong(text(blue,it)) + +//================MAIN================================= +#set page(header: + [ + #set text(size: 12pt) + //displayed smart heading level one im document header + #context{strong(hydra(1, skip-starting: false, use-last: true))} + #h(1fr) + #context{strong(counter(page).display())} + #v(-0.9em) #line(length: 100%)] + ) + +#body + +]} diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/main.typ b/packages/preview/thesis-clean-ut/0.1.0/template/main.typ new file mode 100644 index 0000000000..3b64bf7d4e --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/main.typ @@ -0,0 +1,71 @@ + +//===========Exporting!! +// PDF version 1.7 and standard A-3b for attachments +// to word https://www.ilovepdf.com/de/pdf_zu_word +// pandoc online for single files +//==========================imports====================== + +#import "lib.typ": * + +#import "chapters/1 official title n declar.typ": titlepage, declaration +#import "chapters/2 abstract.typ": abstract +#import "chapters/3 acknowledgements.typ": acknowledgements +#import "chapters/4 abbreviations.typ": abbreviations +#import "chapters/5 introduction.typ": introduction +#import "chapters/6 materials and methods.typ": methods +#import "chapters/7 results.typ": results +#import "chapters/8 summary.typ": summary +#import "chapters/9 bibliography.typ": bibliography-literature +#import "chapters/10 attachements.typ": attachements + + +#show: template.with(title-page: titlepage(), +declaration: declaration(), +acknowledgements: acknowledgements(), abstract: abstract(), abbreviations: abbreviations()) + + += #text(fill: red)[How to use this template and general typst tips] + +- make label: \, mostly used to tag figures (special syntax and headings, see this heading). IMPORTANT: text can not be labeled (or need some workaround, check the forum if you want this) + +- reference label: works for labels \@label_name and publication identifiers \@publication_name Heading reference: @tips, Publication reference: @Abida2021 (Publication automatically get added to the two-column bibliography after the discussion) + +- Lists can be made by adding a \- before a new text line, enumberated lists can be made by adding a \+ likewise + +- Making figures: see next pages for exampels + +- Making tables: if you find it too tedious to input the weird table syntax and want to upload from excel, word or some other format; there are online converters: https://www.latex-tables.com/ + + +#todo("you should delete this chapter") + += Introduction + +#introduction() +// #pagebreak() + += Materials and Methods + +#methods() +#pagebreak() + + += Results + +#results() +// #pagebreak() + += Discussion + +#summary() + +#pagebreak() + +#bibliography-literature() + +#heading([Supplementary information], numbering: none, depth: 1) + + +#attachements() + + diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/nature_squarebrackets.csl b/packages/preview/thesis-clean-ut/0.1.0/template/nature_squarebrackets.csl new file mode 100644 index 0000000000..0126d35e23 --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/template/nature_squarebrackets.csl @@ -0,0 +1,158 @@ + + \ No newline at end of file diff --git a/packages/preview/thesis-clean-ut/0.1.0/thumbnail.png b/packages/preview/thesis-clean-ut/0.1.0/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..5d5564d0482f2aef638cbce9ae10bc2c954f3cf7 GIT binary patch literal 368683 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 uU$@!1i@cNAyzKQFlIs4uX`xc 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 z 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

gD@D#G}_VSq0GH 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 literal 0 HcmV?d00001 diff --git a/packages/preview/thesis-clean-ut/0.1.0/typst.toml b/packages/preview/thesis-clean-ut/0.1.0/typst.toml new file mode 100644 index 0000000000..599e07f56e --- /dev/null +++ b/packages/preview/thesis-clean-ut/0.1.0/typst.toml @@ -0,0 +1,18 @@ +[package] +name = "thesis-clean-ut" +version = "0.1.0" +entrypoint = "template/lib.typ" +authors = [ + "Elias Riedling " +] +license = "MIT" +description = "Thesis with two-column bibliography, subfigures, and custom captions" +repository = "https://github.com/Lai-es/typst-thesis-template" +keywords = ["Bachelorarbeit", "Masterarbeit", "aio", "thesis"] +categories = ["thesis"] +compiler = "0.14.2" + +[template] +path = "template" +entrypoint = "main.typ" +thumbnail = "thumbnail.png" From ac0b720dea5838b003f827250bb3e1b84d4c9983 Mon Sep 17 00:00:00 2001 From: Elias Riedling Date: Wed, 1 Jul 2026 21:16:15 +0200 Subject: [PATCH 2/6] Rename package to clean-ut --- .../{thesis-clean-ut => clean-ut}/0.1.0/LICENSE | 0 .../{thesis-clean-ut => clean-ut}/0.1.0/README.md | 0 .../template/chapters/1 official title n declar.typ | 0 .../0.1.0/template/chapters/10 attachements.typ | 0 .../0.1.0/template/chapters/2 abstract.typ | 0 .../0.1.0/template/chapters/3 acknowledgements.typ | 0 .../0.1.0/template/chapters/4 abbreviations.typ | 0 .../0.1.0/template/chapters/5 introduction.typ | 0 .../template/chapters/6 materials and methods.typ | 0 .../0.1.0/template/chapters/7 results.typ | 0 .../0.1.0/template/chapters/8 summary.typ | 0 .../0.1.0/template/chapters/9 bibliography.typ | 0 .../0.1.0/template/chapters/bibliography.bib | 0 .../0.1.0/template/lib.typ | 0 .../0.1.0/template/main.typ | 0 .../0.1.0/template/nature_squarebrackets.csl | 0 .../0.1.0/thumbnail.png | Bin .../{thesis-clean-ut => clean-ut}/0.1.0/typst.toml | 2 +- 18 files changed, 1 insertion(+), 1 deletion(-) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/LICENSE (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/README.md (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/1 official title n declar.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/10 attachements.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/2 abstract.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/3 acknowledgements.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/4 abbreviations.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/5 introduction.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/6 materials and methods.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/7 results.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/8 summary.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/9 bibliography.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/chapters/bibliography.bib (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/lib.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/main.typ (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/template/nature_squarebrackets.csl (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/thumbnail.png (100%) rename packages/preview/{thesis-clean-ut => clean-ut}/0.1.0/typst.toml (94%) diff --git a/packages/preview/thesis-clean-ut/0.1.0/LICENSE b/packages/preview/clean-ut/0.1.0/LICENSE similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/LICENSE rename to packages/preview/clean-ut/0.1.0/LICENSE diff --git a/packages/preview/thesis-clean-ut/0.1.0/README.md b/packages/preview/clean-ut/0.1.0/README.md similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/README.md rename to packages/preview/clean-ut/0.1.0/README.md diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/1 official title n declar.typ b/packages/preview/clean-ut/0.1.0/template/chapters/1 official title n declar.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/1 official title n declar.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/1 official title n declar.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/10 attachements.typ b/packages/preview/clean-ut/0.1.0/template/chapters/10 attachements.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/10 attachements.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/10 attachements.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/2 abstract.typ b/packages/preview/clean-ut/0.1.0/template/chapters/2 abstract.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/2 abstract.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/2 abstract.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/3 acknowledgements.typ b/packages/preview/clean-ut/0.1.0/template/chapters/3 acknowledgements.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/3 acknowledgements.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/3 acknowledgements.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/4 abbreviations.typ b/packages/preview/clean-ut/0.1.0/template/chapters/4 abbreviations.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/4 abbreviations.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/4 abbreviations.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/5 introduction.typ b/packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/5 introduction.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/6 materials and methods.typ b/packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/6 materials and methods.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/7 results.typ b/packages/preview/clean-ut/0.1.0/template/chapters/7 results.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/7 results.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/7 results.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/8 summary.typ b/packages/preview/clean-ut/0.1.0/template/chapters/8 summary.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/8 summary.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/8 summary.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/9 bibliography.typ b/packages/preview/clean-ut/0.1.0/template/chapters/9 bibliography.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/9 bibliography.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/9 bibliography.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/chapters/bibliography.bib b/packages/preview/clean-ut/0.1.0/template/chapters/bibliography.bib similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/chapters/bibliography.bib rename to packages/preview/clean-ut/0.1.0/template/chapters/bibliography.bib diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/lib.typ b/packages/preview/clean-ut/0.1.0/template/lib.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/lib.typ rename to packages/preview/clean-ut/0.1.0/template/lib.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/main.typ b/packages/preview/clean-ut/0.1.0/template/main.typ similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/main.typ rename to packages/preview/clean-ut/0.1.0/template/main.typ diff --git a/packages/preview/thesis-clean-ut/0.1.0/template/nature_squarebrackets.csl b/packages/preview/clean-ut/0.1.0/template/nature_squarebrackets.csl similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/template/nature_squarebrackets.csl rename to packages/preview/clean-ut/0.1.0/template/nature_squarebrackets.csl diff --git a/packages/preview/thesis-clean-ut/0.1.0/thumbnail.png b/packages/preview/clean-ut/0.1.0/thumbnail.png similarity index 100% rename from packages/preview/thesis-clean-ut/0.1.0/thumbnail.png rename to packages/preview/clean-ut/0.1.0/thumbnail.png diff --git a/packages/preview/thesis-clean-ut/0.1.0/typst.toml b/packages/preview/clean-ut/0.1.0/typst.toml similarity index 94% rename from packages/preview/thesis-clean-ut/0.1.0/typst.toml rename to packages/preview/clean-ut/0.1.0/typst.toml index 599e07f56e..087dec67b2 100644 --- a/packages/preview/thesis-clean-ut/0.1.0/typst.toml +++ b/packages/preview/clean-ut/0.1.0/typst.toml @@ -1,5 +1,5 @@ [package] -name = "thesis-clean-ut" +name = "clean-ut" version = "0.1.0" entrypoint = "template/lib.typ" authors = [ From 6ee5c956bdf661023670db8756d39c7c029df614 Mon Sep 17 00:00:00 2001 From: Elias Riedling Date: Wed, 1 Jul 2026 22:28:29 +0200 Subject: [PATCH 3/6] replaced relative imports of lib.typ with package specifications --- packages/preview/clean-ut/0.1.0/README.md | 4 ++-- .../clean-ut/0.1.0/template/chapters/10 attachements.typ | 2 +- .../clean-ut/0.1.0/template/chapters/5 introduction.typ | 2 +- .../0.1.0/template/chapters/6 materials and methods.typ | 2 +- .../preview/clean-ut/0.1.0/template/chapters/7 results.typ | 2 +- packages/preview/clean-ut/0.1.0/template/main.typ | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/preview/clean-ut/0.1.0/README.md b/packages/preview/clean-ut/0.1.0/README.md index b3cef85c91..bfdd0cfdba 100644 --- a/packages/preview/clean-ut/0.1.0/README.md +++ b/packages/preview/clean-ut/0.1.0/README.md @@ -27,7 +27,7 @@ The template includes a local copy of `lib.typ` (where all customizations live) The caption-function is a slight modification of the original caption of figures: ```typ -#figure(.., caption: caption[short description][more details]) +#figure(.., caption: [#caption[short description][more details]]) ``` This will display the short description in the outline of figures and will show the original figure caption as: @@ -46,7 +46,7 @@ Finally, the custom subfigure-function automatically numbers the subfigures with figure(.., caption: []), figure(.., caption: []), .., -caption: [caption describing the whole figure, including subfigures] +caption: [caption describing the whole figure, including subfigures]) ``` Note that this does **not** allow for captioning of the subfigures directly (this will look bad), but instead requires a description of subfigures in the total figure caption \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/10 attachements.typ b/packages/preview/clean-ut/0.1.0/template/chapters/10 attachements.typ index 56267e58f5..bd02cb94f5 100644 --- a/packages/preview/clean-ut/0.1.0/template/chapters/10 attachements.typ +++ b/packages/preview/clean-ut/0.1.0/template/chapters/10 attachements.typ @@ -1,4 +1,4 @@ -#import "../lib.typ":* +#import "@preview/clean-ut:0.1.0": * #let attachements() = [ diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ b/packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ index 0fb2422f6d..d8652d9bde 100644 --- a/packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ +++ b/packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ @@ -1,4 +1,4 @@ -#import "../lib.typ": * +#import "@preview/clean-ut:0.1.0": * #let introduction() = [ diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ b/packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ index 1606170377..640582f98b 100644 --- a/packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ +++ b/packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ @@ -1,4 +1,4 @@ -#import "../lib.typ": * +#import "@preview/clean-ut:0.1.0": * #let methods() = [ diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/7 results.typ b/packages/preview/clean-ut/0.1.0/template/chapters/7 results.typ index 3a6c4d384e..3255f48fa8 100644 --- a/packages/preview/clean-ut/0.1.0/template/chapters/7 results.typ +++ b/packages/preview/clean-ut/0.1.0/template/chapters/7 results.typ @@ -1,4 +1,4 @@ -#import "../lib.typ":* +#import "@preview/clean-ut:0.1.0": * #let results() = [ diff --git a/packages/preview/clean-ut/0.1.0/template/main.typ b/packages/preview/clean-ut/0.1.0/template/main.typ index 3b64bf7d4e..e1d8253111 100644 --- a/packages/preview/clean-ut/0.1.0/template/main.typ +++ b/packages/preview/clean-ut/0.1.0/template/main.typ @@ -5,7 +5,7 @@ // pandoc online for single files //==========================imports====================== -#import "lib.typ": * +#import "@preview/clean-ut:0.1.0": * #import "chapters/1 official title n declar.typ": titlepage, declaration #import "chapters/2 abstract.typ": abstract From 19d735f2277d1775914475aa2836ac01f329bcb7 Mon Sep 17 00:00:00 2001 From: Elias Riedling Date: Wed, 1 Jul 2026 22:33:38 +0200 Subject: [PATCH 4/6] modified README and deleted instructions on how to download the package --- packages/preview/clean-ut/0.1.0/README.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/packages/preview/clean-ut/0.1.0/README.md b/packages/preview/clean-ut/0.1.0/README.md index bfdd0cfdba..55b5557369 100644 --- a/packages/preview/clean-ut/0.1.0/README.md +++ b/packages/preview/clean-ut/0.1.0/README.md @@ -9,19 +9,6 @@ The first two pages are generated for the University Tübingen, feel free to cha - This is a template and does not have to meet the exact requirements of your university. Check what your thesis should look like! - The thesis is currently only supported in English -## Getting started - -### Start from Template - -This template works best with the "Start from template" option in the Typst web app: - -1. Go to https://typst.app -2. Click "Start from template" -3. Search for "ut-thesis-clean" -4. All template files will be automatically copied to your project - -The template includes a local copy of `lib.typ` (where all customizations live) so it works immediately without any additional setup. Simply edit `main.typ` and the chapter files to write your thesis. - ## Custom functions The caption-function is a slight modification of the original caption of figures: From 6a6d49e49772f51be7c1bfaaf6f7eea21ab92c9f Mon Sep 17 00:00:00 2001 From: Elias Riedling Date: Mon, 6 Jul 2026 18:32:33 +0200 Subject: [PATCH 5/6] made structure more user-friendly and tidied up all files --- packages/preview/clean-ut/0.1.0/README.md | 2 +- packages/preview/clean-ut/0.1.0/lib.typ | 201 ++++++++++++++++ .../0.1.0/template/chapters/01 title page.typ | 23 ++ .../template/chapters/02 declaration.typ | 29 +++ .../{2 abstract.typ => 03 abstract.typ} | 15 +- ...ledgements.typ => 04 acknowledgements.typ} | 6 +- .../template/chapters/05 abbreviations.typ | 21 ++ .../template/chapters/06 introduction.typ | 12 + .../chapters/07 materials and methods.typ | 82 +++++++ .../{7 results.typ => 08 results.typ} | 60 ++--- .../0.1.0/template/chapters/09 summary.typ | 11 + .../chapters/1 official title n declar.typ | 54 ----- .../0.1.0/template/chapters/1 title page.typ | 23 ++ .../template/chapters/10 bibliography.typ | 14 ++ ...0 attachements.typ => 11 attachements.typ} | 53 +++-- .../0.1.0/template/chapters/2 declaration.typ | 29 +++ .../0.1.0/template/chapters/3 abstract.typ | 25 ++ .../template/chapters/4 abbreviations.typ | 13 -- .../template/chapters/4 acknowledgements.typ | 11 + .../template/chapters/5 abbreviations.typ | 21 ++ .../template/chapters/5 introduction.typ | 13 -- .../template/chapters/6 introduction.typ | 12 + .../chapters/6 materials and methods.typ | 66 ------ .../chapters/7 materials and methods.typ | 82 +++++++ .../0.1.0/template/chapters/8 results.typ | 42 ++++ .../0.1.0/template/chapters/8 summary.typ | 11 - .../template/chapters/9 bibliography.typ | 13 -- .../0.1.0/template/chapters/9 summary.typ | 11 + .../preview/clean-ut/0.1.0/template/lib.typ | 219 ------------------ .../preview/clean-ut/0.1.0/template/main.typ | 64 ++--- packages/preview/clean-ut/0.1.0/typst.toml | 4 +- 31 files changed, 751 insertions(+), 491 deletions(-) create mode 100644 packages/preview/clean-ut/0.1.0/lib.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/01 title page.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/02 declaration.typ rename packages/preview/clean-ut/0.1.0/template/chapters/{2 abstract.typ => 03 abstract.typ} (67%) rename packages/preview/clean-ut/0.1.0/template/chapters/{3 acknowledgements.typ => 04 acknowledgements.typ} (73%) create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/05 abbreviations.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/06 introduction.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/07 materials and methods.typ rename packages/preview/clean-ut/0.1.0/template/chapters/{7 results.typ => 08 results.typ} (51%) create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/09 summary.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/1 official title n declar.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/1 title page.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/10 bibliography.typ rename packages/preview/clean-ut/0.1.0/template/chapters/{10 attachements.typ => 11 attachements.typ} (55%) create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/2 declaration.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/3 abstract.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/4 abbreviations.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/4 acknowledgements.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/5 abbreviations.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/6 introduction.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/7 materials and methods.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/8 results.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/8 summary.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/9 bibliography.typ create mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/9 summary.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/lib.typ diff --git a/packages/preview/clean-ut/0.1.0/README.md b/packages/preview/clean-ut/0.1.0/README.md index 55b5557369..3144541d42 100644 --- a/packages/preview/clean-ut/0.1.0/README.md +++ b/packages/preview/clean-ut/0.1.0/README.md @@ -36,4 +36,4 @@ figure(.., caption: []), caption: [caption describing the whole figure, including subfigures]) ``` -Note that this does **not** allow for captioning of the subfigures directly (this will look bad), but instead requires a description of subfigures in the total figure caption \ No newline at end of file +Note that this does **not** allow for captioning of the subfigures directly (this will look ugly), but instead requires a description of subfigures in the total figure caption (as it is usual in the life sciences) \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/lib.typ b/packages/preview/clean-ut/0.1.0/lib.typ new file mode 100644 index 0000000000..32d8221385 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/lib.typ @@ -0,0 +1,201 @@ +#import "@preview/subpar:0.2.2" +#import "@preview/hydra:0.6.2": hydra + +#let in-outline = state("in-outline", false) + +//custom caption function to show the short version in the outline and the long version in the figure +#let caption(short, details) = context { + if in-outline.get() { + short + } else { + [#strong(short). #details] + } +} + +// todo helper +#let todo(stuff) = text(weight: "bold", fill: red, [TODO: ] + stuff) + +// numbered subfigure grid +#let subfig-grid(..args) = subpar.grid( + align: top + start, + numbering-sub: "A", + numbering-sub-ref: (..nums) => numbering("1A", ..nums), + show-sub-caption: (num, it) => { + set text(size: 1.5em) //big numeration + // subcaption numbering + text(weight: "bold", num) + // it.separator + // subcaption body + it.body + }, + show-sub: it => { + set figure.caption(position: top) + it + }, + ..args, +) + +//numbered subfigure grid, special attachment numbering +#let subfig-grid-attachments(..args) = subpar.grid( + align: top + start, + numbering-sub: "A", + numbering-sub-ref: (..nums) => numbering("S1A", ..nums), + show-sub-caption: (num, it) => { + set text(size: 1.5em) //big numeration + // subcaption numbering + text(weight: "bold", num) + // it.separator + // subcaption body + it.body + }, + show-sub: it => { + set figure.caption(position: top) + it + }, + ..args, +) + +// shorthand for the upright mu letter +#let upmu = [~$upright(mu)$] + +//--------------Function to show outline, list of figures, list of tables and list of abbreviations +#let outlines = { + //----Table of Contents + //heading level 1 bold + page(numbering: "I")[ + #show outline.entry.where(level: 1): it => { + set text(1.2em, weight: "bold") + v(1.5em, weak: true) + it + } + + #heading([Table of Contents], numbering: none, outlined: false) + #v(0.5em) + #outline(title: none, depth: 3) + ] + pagebreak() + + // ONLY SHOW SHORT CAPTION IN OUTLINE + show outline: it => { + in-outline.update(true) + it + in-outline.update(false) + } + + show outline.entry: it => link( + it.element.location(), + it.indented(strong(it.prefix()), it.inner()), + ) + + //---------List of Images + page(numbering: "I")[ + #heading([List of Images], numbering: none) + #v(0.5em) + #outline(title: none, target: figure.where(kind: image)) + ] + pagebreak() + + //---------List of Tables + page(numbering: "I")[ + #heading([List of Tables], numbering: none) + #v(0.5em) + #outline(title: none, target: figure.where(kind: table)) + ] + pagebreak() + + show link: it => strong(text(blue, it)) +} + +//==========================Header design========================= +#let page-header = { + set page( + header: [ + #set text(size: 12pt) + //displayed smart heading level one im document header + #context { strong(hydra(1, skip-starting: false, use-last: true)) } + #h(1fr) + #context { strong(counter(page).display()) } + #v(-0.9em) #line(length: 100%) + ], + ) +} + +// ===========================Template================================ +#let template = { + [ + +//=========================Page formatting============================ +#set page( + margin: (x: 2.5cm, y: 2.5cm), + paper: "a4", +) + +// blocksatz +#set par(justify: true, linebreaks: "optimized") + +#set heading(numbering: "1.1.1.a.") + +#set text( + font: "TeX Gyre Heros", //Helvetica + lang: "en", + hyphenate: true, + size: 12pt, + ligatures: false, + region: "US", +) + +//===================show rules================================ + +#show heading: it => text(hyphenate: false, it) + +//figure caption left-aligned +#show figure.caption: set align(start) + +//figure supplement bold, text 10pt +#show figure.caption: it => context box( + inset: (left: 1.4em, right: 1.4em), + align(left)[#text(size: 10pt)[ + *#it.supplement~#it.counter.display()#it.separator*#it.body + ]], +) +#set image(fit: "contain", scaling: "smooth") + +#show figure.where(kind: image): set text(size: 10pt) + +//-------------------------table design----------------------- +#show table.cell.where(y: 0): strong //first table line *bold* +#set table( + stroke: (x, y) => ( + left: if x > 0 { 0.7pt }, + top: if y == 0 { 1.0pt }, + bottom: if y == 0 { 0.7pt }, + ), + align: (x, y) => center + horizon, +) +#set table.hline(stroke: 0.7pt) +//caption above table +#show figure.where(kind: table): set figure.caption(position: top) + +// ------------------------------------------------------------- + +// footnotes definieren +#set footnote.entry(gap: 0.6em, indent: 0em) + +// references bold and blue +#show ref: it => strong(text(fill: blue, it)) +#show link: set text(hyphenate: false) +#show cite: it => strong(text(fill: blue, it)) + +#show bibliography: it => { + show link: set text(blue) + show link: strong + set text(size: 10pt, costs: (hyphenation: 150%)) + columns(it) +} + +#show math.equation: set text(font: "Lete Sans Math") + +#set pagebreak(weak: true) + + ] +} diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/01 title page.typ b/packages/preview/clean-ut/0.1.0/template/chapters/01 title page.typ new file mode 100644 index 0000000000..8eb072f83f --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/01 title page.typ @@ -0,0 +1,23 @@ +#set page( + paper: "a4", + margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), +) + +#set text(weight: "bold", font: "TeX Gyre Heros", size: 20pt, lang: "de", hyphenate: false) +#set par(justify: false) + +#place(top + center, text(size: 1.3em, [Your Title])) +#v(1.1fr) + +#align(center + horizon, [ + #text([Bachelorarbeit der Mathematisch-Naturwissenschaftlichen Fakultät]) + #v(0.1em) + der #smallcaps[Eberhard Karls Universität Tübingen] //kapitälchen + #v(0.1em) + #text([im Fach X]) + +#v(1fr) + +vorgelegt von #str("\n\n") Surname, Name #str("\n") Tübingen, November 2025]) + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/02 declaration.typ b/packages/preview/clean-ut/0.1.0/template/chapters/02 declaration.typ new file mode 100644 index 0000000000..386ea0e972 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/02 declaration.typ @@ -0,0 +1,29 @@ +// declaration of independence +#set page( + paper: "a4", + margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), +) + +#set text( + size: 12pt, + font: "TeX Gyre Heros", + lang: "de", + hyphenate: false, +) +#set list(marker: "-") +#set par(justify: true) + +#strong("Erklärung:") + +Hiermit erkläre ich, + +- dass ich diese Arbeit selbst verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe, alle wörtlich oder sinngemäß aus anderen Werken übernommenen Aussagen als solche gekennzeichnet habe, die Arbeit weder vollständig noch in wesentlichen Teilen Gegenstand eines anderen Prüfungsverfahrens gewesen ist und die Arbeit weder vollständig noch in wesentlichen Teilen bereits veröffentlicht ist sowie dass das in Dateiform eingereichte Exemplar mit eingereichten gebundenen Exemplaren übereinstimmt. + +- dass ich die Richtlinien zur Sicherung guter wissenschaftlicher Praxis und zum Umgang mit wissenschaftlichem Fehlverhalten an der Eberhard-Karls-Universität beachtet habe. +#v(2.5em) + +Tübingen, den #datetime.today().display("[day].[month].[year]") + +Your name + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/2 abstract.typ b/packages/preview/clean-ut/0.1.0/template/chapters/03 abstract.typ similarity index 67% rename from packages/preview/clean-ut/0.1.0/template/chapters/2 abstract.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/03 abstract.typ index 4860d34b6a..f5696f578d 100644 --- a/packages/preview/clean-ut/0.1.0/template/chapters/2 abstract.typ +++ b/packages/preview/clean-ut/0.1.0/template/chapters/03 abstract.typ @@ -1,4 +1,6 @@ -#let abstract() = [ +#counter(page).update(1) //resettet counter so numbering starts only from section "abstract" + +#page(numbering: "I")[ // -------------------------englische version #align(center + horizon)[ #heading("Abstract", depth: 1, numbering: none) @@ -8,15 +10,16 @@ #lorem(60) #pagebreak() - + // -------------------------deutsche version #align(center + horizon)[ - // #set par(justify: false) + // #set par(justify: false) sieht manchmal schöner aus #heading("Zusammenfassung", depth: 1, numbering: none) #v(0.6em) ] // deutsche zusammenfassung... - - #lorem(60) -] \ No newline at end of file + #lorem(60) +] + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/3 acknowledgements.typ b/packages/preview/clean-ut/0.1.0/template/chapters/04 acknowledgements.typ similarity index 73% rename from packages/preview/clean-ut/0.1.0/template/chapters/3 acknowledgements.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/04 acknowledgements.typ index 5d685cb305..8cdfe081d1 100644 --- a/packages/preview/clean-ut/0.1.0/template/chapters/3 acknowledgements.typ +++ b/packages/preview/clean-ut/0.1.0/template/chapters/04 acknowledgements.typ @@ -1,11 +1,11 @@ -#let acknowledgements() = [ +#page(numbering: "I")[ #align(center + horizon)[ #heading(depth: 1, numbering: none, outlined: false, "Acknowledgements") - #v(0.6em) + #v(0.6em) ] Your text goes here ] - +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/05 abbreviations.typ b/packages/preview/clean-ut/0.1.0/template/chapters/05 abbreviations.typ new file mode 100644 index 0000000000..1354969cd8 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/05 abbreviations.typ @@ -0,0 +1,21 @@ +#page(numbering: "I")[ + #heading([List of Abbreviations], numbering: none) + + + #v(0.7em) + #align(center)[ + + //could look something like this: + #table( + columns: 2, + table.header([Abbreviation], [Meaning]), + [67], [nonsensical internet expression], + [...], [...], + ) + ] +] + +#pagebreak() + +//start latin numbering============================ +#counter(page).update(1) \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/06 introduction.typ b/packages/preview/clean-ut/0.1.0/template/chapters/06 introduction.typ new file mode 100644 index 0000000000..57e14ff740 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/06 introduction.typ @@ -0,0 +1,12 @@ +#import "@preview/clean-ut:0.1.0":* + += Introduction + +== How to Rickroll +generate a link where nobody expects it + + +#pagebreak() + +//this is optional, but sometimes supervisors require this += Aims of the thesis \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/07 materials and methods.typ b/packages/preview/clean-ut/0.1.0/template/chapters/07 materials and methods.typ new file mode 100644 index 0000000000..63ebb767e1 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/07 materials and methods.typ @@ -0,0 +1,82 @@ +#import "@preview/clean-ut:0.1.0":* + += Materials and Methods + +== Materials + +#figure( + table( + columns: 2, + table.header([Chemicals], [Provider], repeat: true), + // inhalt + [Oranges], [Tree], + // [],[], + ), + caption: [List of Chemicals], +) + +#figure( + table( + columns: 2, + align: horizon, + table.header([Solution], [Composition]), + //inhalt + [Orange juice], [100% Oranges], + ), + caption: [List of Solutions], +) + +#figure( + table( + columns: 2, + table.header([Enzyme], [Provider]), + [Lysozyme], [Saliva], + ), + caption: [List of Enzymes], +) + +#figure( + table( + columns: 2, + table.header([Primer], [Sequence]), + [seq-fwd], [#upper("ctgtttctccatacccgtt")], + ), + caption: [List of Primers, 5'\-3' orientation], +) + +#figure( + table( + columns: 2, + table.header([Software], [Provider]), + //inhalt + [Excel], [Microsoft], + ), + caption: [List of Softwares], +) + +#[ + #show figure.where(kind: table): set block(breakable: true) + #todo("this #[] block and the show rule above in the code makes this table be able to span multiple pages. Do this for every table you want to span multiple pages") + + + #figure( + table( + columns: 2, + table.header([Instrument], [Provider]), + //inhalt + [Paper&Pen], [Also trees], + ), + caption: [List of Instruments], + ) +] + + +== Methods +#set heading(outlined: false) + +//describe each method + +#heading([Rickrolling people], level: 3, numbering: none) +#link("https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ&start_radio=1", [Totally unsuspicious link]) + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/7 results.typ b/packages/preview/clean-ut/0.1.0/template/chapters/08 results.typ similarity index 51% rename from packages/preview/clean-ut/0.1.0/template/chapters/7 results.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/08 results.typ index 3255f48fa8..900d17af3c 100644 --- a/packages/preview/clean-ut/0.1.0/template/chapters/7 results.typ +++ b/packages/preview/clean-ut/0.1.0/template/chapters/08 results.typ @@ -1,34 +1,42 @@ #import "@preview/clean-ut:0.1.0": * -#let results() = [ += Results == Lorem ipsum We are here in @lorem. You could also write that as @lorem[Chapter] Citations are grouped automatically for more than three citations @Gratani2023@Abida2021. If we add one more, the citations are connected with a hyphen: @Gratani2023@Abida2021@Abramson2024. Cool, right? -@subfigure is not the same as @asubfigure, attachment figures are numbered and referenced with a "S", however i havent found a good solution to reference attachment subfigure-grids as a whole: @agreatplot and @greatplot. - - -Finally, #lorem(20) @Gratani2023), and therefore we need more money. - -#subfig-grid(columns:2, rows:2, - figure(rect[#lorem(60)], - caption: []),, - - figure(rect[#lorem(60)], - caption: []), - - figure(rect[#lorem(60)], - caption: []), - - figure(rect[#lorem(60)], - caption: []), - - //figure(image("Path/to/image.png"),caption: []), - - caption: [#caption[This is a short caption][This is a extension that is only shown in the descriptions but not in the outline]],//total caption - label: - ) - -] \ No newline at end of file +@subfigure is not the same as @asubfigure, attachment figures are numbered and referenced with a "S", however i havent found a good solution to reference attachment subfigure-grids as a whole: @agreatplot and @greatplot, so refrain from doing this if possible. + + +Finally, #lorem(20) @Gratani2023), and therefore we need more money. + +#subfig-grid( + columns: 2, + rows: 2, + figure( + rect[#lorem(60)], + caption: [], + ), , + + figure( + rect[#lorem(60)], + caption: [], + ), + + figure( + rect[#lorem(60)], + caption: [], + ), + + figure( + rect[#lorem(60)], + caption: [], + ), + + //figure(image("Path/to/image.png"), caption: []), + + caption: [#caption[This is a short caption][This is a extension that is only shown in the descriptions but not in the outline]], //total caption + label: , +) \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/09 summary.typ b/packages/preview/clean-ut/0.1.0/template/chapters/09 summary.typ new file mode 100644 index 0000000000..070d2c66b4 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/09 summary.typ @@ -0,0 +1,11 @@ +#import "@preview/clean-ut:0.1.0":* + += Discussion + +== Summary + + + +== Outlook + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/1 official title n declar.typ b/packages/preview/clean-ut/0.1.0/template/chapters/1 official title n declar.typ deleted file mode 100644 index a33519c4b7..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/1 official title n declar.typ +++ /dev/null @@ -1,54 +0,0 @@ -#let titlepage()=[ - #set page( - paper: "a4", - margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), - ) - - #set text(weight: "bold",font: "TeX Gyre Heros", size: 20pt, lang: "de", hyphenate: false) - - #set par(justify: false) - - - #place(top + center, text(size:1.3em, [Your Title])) - #v(1.1fr) - - #align(center + horizon, [ - #text([Bachelorarbeit der Mathematisch-Naturwissenschaftlichen Fakultät]) - #v(0.1em) - der #smallcaps[Eberhard Karls Universität Tübingen]//kapitälchen - #v(0.1em) - #text([im Fach X]) - - #v(1fr) - - vorgelegt von#str("\n\n") Surname, Name#str("\n") Tübingen, November 2025]) - #pagebreak() -] - - -// declaration of independence -#let declaration() = [ - #set page( - paper: "a4", - margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), - ) - - #set text(size: 12pt, font: "TeX Gyre Heros", - lang: "de", hyphenate: false) - #set list(marker: "-") - #set par(justify: true) - - #strong("Erklärung:") - -Hiermit erkläre ich, - -- dass ich diese Arbeit selbst verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe, alle wörtlich oder sinngemäß aus anderen Werken übernommenen Aussagen als solche gekennzeichnet habe, die Arbeit weder vollständig noch in wesentlichen Teilen Gegenstand eines anderen Prüfungsverfahrens gewesen ist und die Arbeit weder vollständig noch in wesentlichen Teilen bereits veröffentlicht ist sowie dass das in Dateiform eingereichte Exemplar mit eingereichten gebundenen Exemplaren übereinstimmt. - -- dass ich die Richtlinien zur Sicherung guter wissenschaftlicher Praxis und zum Umgang mit wissenschaftlichem Fehlverhalten an der Eberhard-Karls-Universität beachtet habe. -#v(2.5em) - -Tübingen, den #datetime.today().display("[day].[month].[year]") -//#image("../pictures/Unterschrift.png", width: 25%) - -Your name -] \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/1 title page.typ b/packages/preview/clean-ut/0.1.0/template/chapters/1 title page.typ new file mode 100644 index 0000000000..8eb072f83f --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/1 title page.typ @@ -0,0 +1,23 @@ +#set page( + paper: "a4", + margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), +) + +#set text(weight: "bold", font: "TeX Gyre Heros", size: 20pt, lang: "de", hyphenate: false) +#set par(justify: false) + +#place(top + center, text(size: 1.3em, [Your Title])) +#v(1.1fr) + +#align(center + horizon, [ + #text([Bachelorarbeit der Mathematisch-Naturwissenschaftlichen Fakultät]) + #v(0.1em) + der #smallcaps[Eberhard Karls Universität Tübingen] //kapitälchen + #v(0.1em) + #text([im Fach X]) + +#v(1fr) + +vorgelegt von #str("\n\n") Surname, Name #str("\n") Tübingen, November 2025]) + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/10 bibliography.typ b/packages/preview/clean-ut/0.1.0/template/chapters/10 bibliography.typ new file mode 100644 index 0000000000..3821f9fcb9 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/10 bibliography.typ @@ -0,0 +1,14 @@ +/* +for converting .ris to .bib: +https://www.bruot.org/ris2bib/ + + .nbib to .bib: +https://www.bibtex.com/c/pmid-to-bibtex-converter/ +*/ +#heading(numbering: none, [Bibliography]) + +#bibliography( + "bibliography.bib", + title: none, + style: "../nature_squarebrackets.csl", +) \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/10 attachements.typ b/packages/preview/clean-ut/0.1.0/template/chapters/11 attachements.typ similarity index 55% rename from packages/preview/clean-ut/0.1.0/template/chapters/10 attachements.typ rename to packages/preview/clean-ut/0.1.0/template/chapters/11 attachements.typ index bd02cb94f5..4617df8721 100644 --- a/packages/preview/clean-ut/0.1.0/template/chapters/10 attachements.typ +++ b/packages/preview/clean-ut/0.1.0/template/chapters/11 attachements.typ @@ -1,6 +1,6 @@ -#import "@preview/clean-ut:0.1.0": * +#import "@preview/clean-ut:0.1.0":* -#let attachements() = [ +#heading([Supplementary information], numbering: none, depth: 1) // ------change figure numbering------- #set figure(numbering: (..ns) => numbering("S1", ..ns)) @@ -9,29 +9,38 @@ #heading([Supplementary figures], depth: 2, numbering: none) -#subfig-grid-attachments(columns:2, rows:2, - figure(rect[#lorem(60)], - caption: []),, - - figure(rect[#lorem(60)], - caption: []), - - figure(rect[#lorem(60)], - caption: []), - - figure(rect[#lorem(60)], - caption: []), - - //figure(image("Path/to/image.png"),caption: []), - - caption: [#caption[This is a short caption][This is a extension that is only shown in the descriptions but not in the outline]],//total caption - label: - ) +#subfig-grid-attachments( + columns: 2, + rows: 2, + figure( + rect[#lorem(60)], + caption: [], + ), , + + figure( + rect[#lorem(60)], + caption: [], + ), + + figure( + rect[#lorem(60)], + caption: [], + ), + + figure( + rect[#lorem(60)], + caption: [], + ), + + //figure(image("Path/to/image.png"), caption: []), + + caption: [#caption[This is a short caption][This is a extension that is only shown in the descriptions but not in the outline]], //total caption + label: , +) #heading([Availability of Data], numbering: none, depth: 2) // direct download link generator for google drive files: // https://sites.google.com/site/gdocs2direct *The original data output from the processings, summarized in an Excel-table, is provided -on the attached CD in the print version and through* #link("https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ&start_radio=1",[this link]) *in the PDF.* -] \ No newline at end of file +on the attached CD in the print version and through* #link("https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ&start_radio=1", [this link]) *in the PDF.* \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/2 declaration.typ b/packages/preview/clean-ut/0.1.0/template/chapters/2 declaration.typ new file mode 100644 index 0000000000..386ea0e972 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/2 declaration.typ @@ -0,0 +1,29 @@ +// declaration of independence +#set page( + paper: "a4", + margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), +) + +#set text( + size: 12pt, + font: "TeX Gyre Heros", + lang: "de", + hyphenate: false, +) +#set list(marker: "-") +#set par(justify: true) + +#strong("Erklärung:") + +Hiermit erkläre ich, + +- dass ich diese Arbeit selbst verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe, alle wörtlich oder sinngemäß aus anderen Werken übernommenen Aussagen als solche gekennzeichnet habe, die Arbeit weder vollständig noch in wesentlichen Teilen Gegenstand eines anderen Prüfungsverfahrens gewesen ist und die Arbeit weder vollständig noch in wesentlichen Teilen bereits veröffentlicht ist sowie dass das in Dateiform eingereichte Exemplar mit eingereichten gebundenen Exemplaren übereinstimmt. + +- dass ich die Richtlinien zur Sicherung guter wissenschaftlicher Praxis und zum Umgang mit wissenschaftlichem Fehlverhalten an der Eberhard-Karls-Universität beachtet habe. +#v(2.5em) + +Tübingen, den #datetime.today().display("[day].[month].[year]") + +Your name + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/3 abstract.typ b/packages/preview/clean-ut/0.1.0/template/chapters/3 abstract.typ new file mode 100644 index 0000000000..f5696f578d --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/3 abstract.typ @@ -0,0 +1,25 @@ +#counter(page).update(1) //resettet counter so numbering starts only from section "abstract" + +#page(numbering: "I")[ + // -------------------------englische version + #align(center + horizon)[ + #heading("Abstract", depth: 1, numbering: none) + #v(0.6em) + ] + // english abstract... + #lorem(60) + + #pagebreak() + + // -------------------------deutsche version + #align(center + horizon)[ + // #set par(justify: false) sieht manchmal schöner aus + #heading("Zusammenfassung", depth: 1, numbering: none) + #v(0.6em) + ] + // deutsche zusammenfassung... + + #lorem(60) +] + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/4 abbreviations.typ b/packages/preview/clean-ut/0.1.0/template/chapters/4 abbreviations.typ deleted file mode 100644 index 48453d55c0..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/4 abbreviations.typ +++ /dev/null @@ -1,13 +0,0 @@ -#let abbreviations()=[ - #v(0.7em) - #align(center)[ - - //could look something like this: - #table(columns:2, - table.header([Abbreviation],[Meaning]), - [67],[nonsensical internet expression], - [...], [...], - - )] - -] \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/4 acknowledgements.typ b/packages/preview/clean-ut/0.1.0/template/chapters/4 acknowledgements.typ new file mode 100644 index 0000000000..8cdfe081d1 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/4 acknowledgements.typ @@ -0,0 +1,11 @@ +#page(numbering: "I")[ + #align(center + horizon)[ + #heading(depth: 1, numbering: none, outlined: false, "Acknowledgements") + #v(0.6em) + ] + + Your text goes here + +] + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/5 abbreviations.typ b/packages/preview/clean-ut/0.1.0/template/chapters/5 abbreviations.typ new file mode 100644 index 0000000000..1354969cd8 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/5 abbreviations.typ @@ -0,0 +1,21 @@ +#page(numbering: "I")[ + #heading([List of Abbreviations], numbering: none) + + + #v(0.7em) + #align(center)[ + + //could look something like this: + #table( + columns: 2, + table.header([Abbreviation], [Meaning]), + [67], [nonsensical internet expression], + [...], [...], + ) + ] +] + +#pagebreak() + +//start latin numbering============================ +#counter(page).update(1) \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ b/packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ deleted file mode 100644 index d8652d9bde..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/5 introduction.typ +++ /dev/null @@ -1,13 +0,0 @@ -#import "@preview/clean-ut:0.1.0": * - -#let introduction() = [ - -== How to Rickroll -generate a link where nobody expects it - - -#pagebreak() - -= Aims of the thesis - -] \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/6 introduction.typ b/packages/preview/clean-ut/0.1.0/template/chapters/6 introduction.typ new file mode 100644 index 0000000000..57e14ff740 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/6 introduction.typ @@ -0,0 +1,12 @@ +#import "@preview/clean-ut:0.1.0":* + += Introduction + +== How to Rickroll +generate a link where nobody expects it + + +#pagebreak() + +//this is optional, but sometimes supervisors require this += Aims of the thesis \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ b/packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ deleted file mode 100644 index 640582f98b..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/6 materials and methods.typ +++ /dev/null @@ -1,66 +0,0 @@ -#import "@preview/clean-ut:0.1.0": * - -#let methods() = [ - -== Materials - -#figure( - table(columns: 2, - table.header([Chemicals],[Provider], repeat: true), - // inhalt - [Oranges],[Tree], - // [],[], -), caption: [List of Chemicals] -) - -#figure( - table(columns: 2, align: horizon, - table.header([Solution],[Composition]), - //inhalt - [Orange juice],[100% Oranges], -), caption: [List of Solutions], -) - -#figure(table(columns: 2, - table.header([Enzyme],[Provider]), - [Lysozyme],[Saliva], -),caption: [List of Enzymes]) - -#figure( - table(columns: 2, -table.header([Primer],[Sequence]), -[seq-fwd],[#upper("ctgtttctccatacccgtt")], - -), caption: [List of Primers, 5'\-3' orientation] -) - -#figure( - table(columns: 2, - table.header([Software],[Provider]), - //inhalt - [Excel],[Microsoft], -), caption: [List of Softwares]) - -#[ -#show figure.where(kind: table): set block(breakable: true) - #todo("this #[] block and the show rule above in the code makes this table be able to span multiple pages. Do this for every table you want to span multiple pages") - - -#figure( - table(columns: 2, - table.header([Instrument],[Provider]), - //inhalt - [Paper&Pen],[Also trees], -), caption: [List of Instruments]) -] - - -== Methods -#set heading(outlined: false) - -//describe each method - -#heading([Rickrolling people], level: 3, numbering: none) -#link("https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ&start_radio=1",[Totally unsuspicious link]) - -] \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/7 materials and methods.typ b/packages/preview/clean-ut/0.1.0/template/chapters/7 materials and methods.typ new file mode 100644 index 0000000000..63ebb767e1 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/7 materials and methods.typ @@ -0,0 +1,82 @@ +#import "@preview/clean-ut:0.1.0":* + += Materials and Methods + +== Materials + +#figure( + table( + columns: 2, + table.header([Chemicals], [Provider], repeat: true), + // inhalt + [Oranges], [Tree], + // [],[], + ), + caption: [List of Chemicals], +) + +#figure( + table( + columns: 2, + align: horizon, + table.header([Solution], [Composition]), + //inhalt + [Orange juice], [100% Oranges], + ), + caption: [List of Solutions], +) + +#figure( + table( + columns: 2, + table.header([Enzyme], [Provider]), + [Lysozyme], [Saliva], + ), + caption: [List of Enzymes], +) + +#figure( + table( + columns: 2, + table.header([Primer], [Sequence]), + [seq-fwd], [#upper("ctgtttctccatacccgtt")], + ), + caption: [List of Primers, 5'\-3' orientation], +) + +#figure( + table( + columns: 2, + table.header([Software], [Provider]), + //inhalt + [Excel], [Microsoft], + ), + caption: [List of Softwares], +) + +#[ + #show figure.where(kind: table): set block(breakable: true) + #todo("this #[] block and the show rule above in the code makes this table be able to span multiple pages. Do this for every table you want to span multiple pages") + + + #figure( + table( + columns: 2, + table.header([Instrument], [Provider]), + //inhalt + [Paper&Pen], [Also trees], + ), + caption: [List of Instruments], + ) +] + + +== Methods +#set heading(outlined: false) + +//describe each method + +#heading([Rickrolling people], level: 3, numbering: none) +#link("https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ&start_radio=1", [Totally unsuspicious link]) + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/8 results.typ b/packages/preview/clean-ut/0.1.0/template/chapters/8 results.typ new file mode 100644 index 0000000000..900d17af3c --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/8 results.typ @@ -0,0 +1,42 @@ +#import "@preview/clean-ut:0.1.0": * + += Results + +== Lorem ipsum +We are here in @lorem. You could also write that as @lorem[Chapter] + +Citations are grouped automatically for more than three citations @Gratani2023@Abida2021. If we add one more, the citations are connected with a hyphen: @Gratani2023@Abida2021@Abramson2024. Cool, right? + +@subfigure is not the same as @asubfigure, attachment figures are numbered and referenced with a "S", however i havent found a good solution to reference attachment subfigure-grids as a whole: @agreatplot and @greatplot, so refrain from doing this if possible. + + +Finally, #lorem(20) @Gratani2023), and therefore we need more money. + +#subfig-grid( + columns: 2, + rows: 2, + figure( + rect[#lorem(60)], + caption: [], + ), , + + figure( + rect[#lorem(60)], + caption: [], + ), + + figure( + rect[#lorem(60)], + caption: [], + ), + + figure( + rect[#lorem(60)], + caption: [], + ), + + //figure(image("Path/to/image.png"), caption: []), + + caption: [#caption[This is a short caption][This is a extension that is only shown in the descriptions but not in the outline]], //total caption + label: , +) \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/8 summary.typ b/packages/preview/clean-ut/0.1.0/template/chapters/8 summary.typ deleted file mode 100644 index 77c2ede03d..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/8 summary.typ +++ /dev/null @@ -1,11 +0,0 @@ -#let summary() = [ - - == Summary - - - - == Outlook - - - -] \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/9 bibliography.typ b/packages/preview/clean-ut/0.1.0/template/chapters/9 bibliography.typ deleted file mode 100644 index 4a291048f7..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/9 bibliography.typ +++ /dev/null @@ -1,13 +0,0 @@ -#let bibliography-literature() = [ - /* - for converting .ris to .bib: - https://www.bruot.org/ris2bib/ - - .nbib to .bib: - https://www.bibtex.com/c/pmid-to-bibtex-converter/ - */ - #heading(numbering: none, [Bibliography]) - #bibliography("bibliography.bib", title: none, - style: "../nature_squarebrackets.csl") - -] \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/9 summary.typ b/packages/preview/clean-ut/0.1.0/template/chapters/9 summary.typ new file mode 100644 index 0000000000..070d2c66b4 --- /dev/null +++ b/packages/preview/clean-ut/0.1.0/template/chapters/9 summary.typ @@ -0,0 +1,11 @@ +#import "@preview/clean-ut:0.1.0":* + += Discussion + +== Summary + + + +== Outlook + +#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/lib.typ b/packages/preview/clean-ut/0.1.0/template/lib.typ deleted file mode 100644 index 7fcd62ff52..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/lib.typ +++ /dev/null @@ -1,219 +0,0 @@ -#import "@preview/subpar:0.2.2" -#import "@preview/hydra:0.6.2": hydra - -#let in-outline = state("in-outline", false) - -#let caption(short, details) = context { - if in-outline.get() { short } else { [#strong(short). #details] } -} - -#let todo(lol) = text(weight: "bold", fill: red, [TODO: ]+ lol) - -#let subfig-grid(..args) = subpar.grid( - align:top+start, - numbering-sub: "A", - numbering-sub-ref: (..nums) => numbering("1A", ..nums), - show-sub-caption: (num, it) => { - set text(size: 1.5em) //big numeration - // subcaption numbering - text(weight: "bold", num) - // it.separator - // subcaption body - it.body - }, - show-sub: it => { - set figure.caption(position: top) - it - }, - ..args -) - -#let subfig-grid-attachments(..args) = subpar.grid( - align:top+start, - numbering-sub: "A", - numbering-sub-ref: (..nums) => numbering("S1A", ..nums), - show-sub-caption: (num, it) => { - set text(size: 1.5em) //big numeration - // subcaption numbering - text(weight: "bold", num) - // it.separator - // subcaption body - it.body - }, - show-sub: it => { - set figure.caption(position: top) - it - }, - ..args -) - -#let upmu = [~$upright(mu) "l"$] -// =========================================================== -#let template(title-page: {}, -declaration: {}, -acknowledgements: {}, abstract: {}, abbreviations: {}, body) = context{[ - -//----page formatting============================ -#set page(margin: (x: 2.5cm, y: 2.5cm), - paper: "a4" - ) - -// blocksatz -#set par(justify: true, linebreaks: "optimized") - -#set heading(numbering: "1.1.1.a.") -#set text(font: "TeX Gyre Heros",//Helvetica - lang: "en", hyphenate: true, - size: 12pt, ligatures: false, - region: "US") - -//===================show rules================================ - -#show heading: it => text(hyphenate: false, it) - -//figure caption left-aligned -#show figure.caption: set align(start) - -//figure supplement bold, text 10pt -#show figure.caption: it => context box( - inset: (left: 1.4em, right: 1.4em), - align(left)[#text(size: 10pt)[ - *#it.supplement~#it.counter.display()#it.separator*#it.body - ] - ] -) -#set image(fit: "contain", scaling: "smooth") - -#show figure.where(kind: image): set text(size: 10pt) - - -//-------------------------table design----------------------- -#show table.cell.where(y: 0): strong //first table line *bold* -#set table(stroke: (x, y) => ( - left: if x > 0 { 0.7pt }, - top: if y == 0 {1.0pt}, - bottom : if y == 0 {0.7pt}), - align: (x, y) => center + horizon - ) -#set table.hline(stroke: 0.7pt) -//caption above table -#show figure.where(kind: table): set figure.caption(position: top) - -// ------------------------------------------------------------- - -// footnotes definieren -#set footnote.entry(gap: 0.6em, indent: 0em) - -// references bold and blue -#show ref: it => strong(text(fill: blue, it)) -#show link: set text(hyphenate: false) -#show cite: it => strong(text(fill: blue, it)) - -#show bibliography: it => { - show link: set text(blue) - show link: strong - set text(size: 10pt, costs: (hyphenation: 150%)) - columns(it) -} - -#show math.equation: set text(font: "Lete Sans Math") - -#set pagebreak(weak: true) - -//---title page (s) ------------------------------------------------ -#title-page -#pagebreak() -#declaration - -#counter(page).update(1) //resettet counter sodass numerierung erst ab abschnitt "abstract" anfängt - - -//----abstract---------------------------------------- - -#page(numbering: "I")[ - #abstract -] -#pagebreak() - -//--------------------acknowledgements----------------- - -#page(numbering: "I")[ - #acknowledgements -] - -//----outlines---------------------------------------- -// https://typst.app/docs/reference/model/outline/ -//https://github.com/roland-KA/basic-report-typst-template/blob/main/lib.typ -//https://github.com/fuchs-fabian/typst-template-aio-studi-and-thesis/blob/main/src/lib.typ - -//----Table of Contents -//heading level 1 bold -#page(numbering: "I")[ -#show outline.entry.where(level: 1): it => { - set text(1.2em, weight: "bold") - v(1.5em, weak: true) - it -} - -#heading([Table of Contents], numbering: none, outlined: false) -#v(0.5em) -#outline(title: none, depth: 3) -] -#pagebreak() - -// ONLY SHOW SHORT CAPTION IN OUTLINE -// https://forum.typst.app/t/how-do-i-customize-outline-entries-it-inner-it-body/3591/7 -// https://forum.typst.app/t/how-to-have-different-text-shown-in-figure-caption-and-in-outline/2349/3 - -#show outline: it => { - in-outline.update(true) - it - in-outline.update(false) -} - -#show outline.entry: it => link( - it.element.location(), - it.indented(strong(it.prefix()), it.inner()), -) - -//---------List of Images -#page(numbering: "I")[ -#heading([List of Images], numbering: none) -#v(0.5em) -#outline(title: none, target: figure.where(kind: image)) -] -#pagebreak() - -//---------List of Tables -#page(numbering: "I")[ -#heading([List of Tables], numbering: none) -#v(0.5em) -#outline(title: none, target: figure.where(kind: table)) -] -#pagebreak() - -// -------------list of abbreviatons -#page(numbering: "I")[ -#heading([List of Abbreviations], numbering: none) -#abbreviations -] - -//start latin numbering============================ -#counter(page).update(1) - -#show link: it => strong(text(blue,it)) - -//================MAIN================================= -#set page(header: - [ - #set text(size: 12pt) - //displayed smart heading level one im document header - #context{strong(hydra(1, skip-starting: false, use-last: true))} - #h(1fr) - #context{strong(counter(page).display())} - #v(-0.9em) #line(length: 100%)] - ) - -#body - -]} diff --git a/packages/preview/clean-ut/0.1.0/template/main.typ b/packages/preview/clean-ut/0.1.0/template/main.typ index e1d8253111..f85131ca6f 100644 --- a/packages/preview/clean-ut/0.1.0/template/main.typ +++ b/packages/preview/clean-ut/0.1.0/template/main.typ @@ -1,71 +1,51 @@ - //===========Exporting!! // PDF version 1.7 and standard A-3b for attachments // to word https://www.ilovepdf.com/de/pdf_zu_word // pandoc online for single files //==========================imports====================== -#import "@preview/clean-ut:0.1.0": * - -#import "chapters/1 official title n declar.typ": titlepage, declaration -#import "chapters/2 abstract.typ": abstract -#import "chapters/3 acknowledgements.typ": acknowledgements -#import "chapters/4 abbreviations.typ": abbreviations -#import "chapters/5 introduction.typ": introduction -#import "chapters/6 materials and methods.typ": methods -#import "chapters/7 results.typ": results -#import "chapters/8 summary.typ": summary -#import "chapters/9 bibliography.typ": bibliography-literature -#import "chapters/10 attachements.typ": attachements - - -#show: template.with(title-page: titlepage(), -declaration: declaration(), -acknowledgements: acknowledgements(), abstract: abstract(), abbreviations: abbreviations()) - +#import "@preview/clean-ut:0.1.0" : * //imports the styling, show-outlines and show-header functions -= #text(fill: red)[How to use this template and general typst tips] - -- make label: \, mostly used to tag figures (special syntax and headings, see this heading). IMPORTANT: text can not be labeled (or need some workaround, check the forum if you want this) +#show: template -- reference label: works for labels \@label_name and publication identifiers \@publication_name Heading reference: @tips, Publication reference: @Abida2021 (Publication automatically get added to the two-column bibliography after the discussion) +#include "chapters/01 title page.typ" -- Lists can be made by adding a \- before a new text line, enumberated lists can be made by adding a \+ likewise +#include "chapters/02 declaration.typ" -- Making figures: see next pages for exampels +#include "chapters/03 abstract.typ" -- Making tables: if you find it too tedious to input the weird table syntax and want to upload from excel, word or some other format; there are online converters: https://www.latex-tables.com/ +#include "chapters/04 acknowledgements.typ" +#show: outlines //shows table of contents, list of figures, list of tables -#todo("you should delete this chapter") +#include "chapters/05 abbreviations.typ" -= Introduction +#show: page-header //shows the header from now on -#introduction() -// #pagebreak() += #text(fill: red)[How to use this template and general typst tips] -= Materials and Methods +- make label: \, mostly used to tag figures (special syntax and headings, see this heading). IMPORTANT: text can not be labeled (or needs some workaround, check the forum if you want this) -#methods() -#pagebreak() +- reference label: works for labels \@label_name and publication identifiers \@publication_name Heading reference: @tips, Publication reference: @Abida2021 (Publication automatically get added to the two-column bibliography after the discussion) +- Lists can be made by adding a \- before a new text line, enumerated lists can be made by adding a \+ likewise -= Results +- Making figures: see next pages for examples -#results() -// #pagebreak() +- Making tables: if you find it too tedious to input your data in the (weird) table syntax and want to upload from excel, word or some other format; there are online converters: https://www.latex-tables.com/ -= Discussion +#todo("you should delete this chapter or move it to somewhere where it is not visible") -#summary() +#include "chapters/06 introduction.typ" -#pagebreak() +#include "chapters/07 materials and methods.typ" -#bibliography-literature() +#include "chapters/08 results.typ" -#heading([Supplementary information], numbering: none, depth: 1) +#include "chapters/09 summary.typ" +#include "chapters/10 bibliography.typ" -#attachements() +#include "chapters/11 attachements.typ" diff --git a/packages/preview/clean-ut/0.1.0/typst.toml b/packages/preview/clean-ut/0.1.0/typst.toml index 087dec67b2..164ada008a 100644 --- a/packages/preview/clean-ut/0.1.0/typst.toml +++ b/packages/preview/clean-ut/0.1.0/typst.toml @@ -1,7 +1,7 @@ [package] name = "clean-ut" version = "0.1.0" -entrypoint = "template/lib.typ" +entrypoint = "lib.typ" authors = [ "Elias Riedling " ] @@ -10,7 +10,7 @@ description = "Thesis with two-column bibliography, subfigures, and custom capti repository = "https://github.com/Lai-es/typst-thesis-template" keywords = ["Bachelorarbeit", "Masterarbeit", "aio", "thesis"] categories = ["thesis"] -compiler = "0.14.2" +compiler = "0.14.0" [template] path = "template" From acdad4e99923308102842b21eb5a4b8795819d03 Mon Sep 17 00:00:00 2001 From: Elias Riedling Date: Mon, 6 Jul 2026 18:41:48 +0200 Subject: [PATCH 6/6] deleted duplicated chapter files --- .../0.1.0/template/chapters/1 title page.typ | 23 ------ .../0.1.0/template/chapters/2 declaration.typ | 29 ------- .../0.1.0/template/chapters/3 abstract.typ | 25 ------ .../template/chapters/4 acknowledgements.typ | 11 --- .../template/chapters/5 abbreviations.typ | 21 ----- .../template/chapters/6 introduction.typ | 12 --- .../chapters/7 materials and methods.typ | 82 ------------------- .../0.1.0/template/chapters/8 results.typ | 42 ---------- .../0.1.0/template/chapters/9 summary.typ | 11 --- 9 files changed, 256 deletions(-) delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/1 title page.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/2 declaration.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/3 abstract.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/4 acknowledgements.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/5 abbreviations.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/6 introduction.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/7 materials and methods.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/8 results.typ delete mode 100644 packages/preview/clean-ut/0.1.0/template/chapters/9 summary.typ diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/1 title page.typ b/packages/preview/clean-ut/0.1.0/template/chapters/1 title page.typ deleted file mode 100644 index 8eb072f83f..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/1 title page.typ +++ /dev/null @@ -1,23 +0,0 @@ -#set page( - paper: "a4", - margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), -) - -#set text(weight: "bold", font: "TeX Gyre Heros", size: 20pt, lang: "de", hyphenate: false) -#set par(justify: false) - -#place(top + center, text(size: 1.3em, [Your Title])) -#v(1.1fr) - -#align(center + horizon, [ - #text([Bachelorarbeit der Mathematisch-Naturwissenschaftlichen Fakultät]) - #v(0.1em) - der #smallcaps[Eberhard Karls Universität Tübingen] //kapitälchen - #v(0.1em) - #text([im Fach X]) - -#v(1fr) - -vorgelegt von #str("\n\n") Surname, Name #str("\n") Tübingen, November 2025]) - -#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/2 declaration.typ b/packages/preview/clean-ut/0.1.0/template/chapters/2 declaration.typ deleted file mode 100644 index 386ea0e972..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/2 declaration.typ +++ /dev/null @@ -1,29 +0,0 @@ -// declaration of independence -#set page( - paper: "a4", - margin: (top: 3cm, left: 3cm, right: 3cm, bottom: 3cm), -) - -#set text( - size: 12pt, - font: "TeX Gyre Heros", - lang: "de", - hyphenate: false, -) -#set list(marker: "-") -#set par(justify: true) - -#strong("Erklärung:") - -Hiermit erkläre ich, - -- dass ich diese Arbeit selbst verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe, alle wörtlich oder sinngemäß aus anderen Werken übernommenen Aussagen als solche gekennzeichnet habe, die Arbeit weder vollständig noch in wesentlichen Teilen Gegenstand eines anderen Prüfungsverfahrens gewesen ist und die Arbeit weder vollständig noch in wesentlichen Teilen bereits veröffentlicht ist sowie dass das in Dateiform eingereichte Exemplar mit eingereichten gebundenen Exemplaren übereinstimmt. - -- dass ich die Richtlinien zur Sicherung guter wissenschaftlicher Praxis und zum Umgang mit wissenschaftlichem Fehlverhalten an der Eberhard-Karls-Universität beachtet habe. -#v(2.5em) - -Tübingen, den #datetime.today().display("[day].[month].[year]") - -Your name - -#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/3 abstract.typ b/packages/preview/clean-ut/0.1.0/template/chapters/3 abstract.typ deleted file mode 100644 index f5696f578d..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/3 abstract.typ +++ /dev/null @@ -1,25 +0,0 @@ -#counter(page).update(1) //resettet counter so numbering starts only from section "abstract" - -#page(numbering: "I")[ - // -------------------------englische version - #align(center + horizon)[ - #heading("Abstract", depth: 1, numbering: none) - #v(0.6em) - ] - // english abstract... - #lorem(60) - - #pagebreak() - - // -------------------------deutsche version - #align(center + horizon)[ - // #set par(justify: false) sieht manchmal schöner aus - #heading("Zusammenfassung", depth: 1, numbering: none) - #v(0.6em) - ] - // deutsche zusammenfassung... - - #lorem(60) -] - -#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/4 acknowledgements.typ b/packages/preview/clean-ut/0.1.0/template/chapters/4 acknowledgements.typ deleted file mode 100644 index 8cdfe081d1..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/4 acknowledgements.typ +++ /dev/null @@ -1,11 +0,0 @@ -#page(numbering: "I")[ - #align(center + horizon)[ - #heading(depth: 1, numbering: none, outlined: false, "Acknowledgements") - #v(0.6em) - ] - - Your text goes here - -] - -#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/5 abbreviations.typ b/packages/preview/clean-ut/0.1.0/template/chapters/5 abbreviations.typ deleted file mode 100644 index 1354969cd8..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/5 abbreviations.typ +++ /dev/null @@ -1,21 +0,0 @@ -#page(numbering: "I")[ - #heading([List of Abbreviations], numbering: none) - - - #v(0.7em) - #align(center)[ - - //could look something like this: - #table( - columns: 2, - table.header([Abbreviation], [Meaning]), - [67], [nonsensical internet expression], - [...], [...], - ) - ] -] - -#pagebreak() - -//start latin numbering============================ -#counter(page).update(1) \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/6 introduction.typ b/packages/preview/clean-ut/0.1.0/template/chapters/6 introduction.typ deleted file mode 100644 index 57e14ff740..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/6 introduction.typ +++ /dev/null @@ -1,12 +0,0 @@ -#import "@preview/clean-ut:0.1.0":* - -= Introduction - -== How to Rickroll -generate a link where nobody expects it - - -#pagebreak() - -//this is optional, but sometimes supervisors require this -= Aims of the thesis \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/7 materials and methods.typ b/packages/preview/clean-ut/0.1.0/template/chapters/7 materials and methods.typ deleted file mode 100644 index 63ebb767e1..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/7 materials and methods.typ +++ /dev/null @@ -1,82 +0,0 @@ -#import "@preview/clean-ut:0.1.0":* - -= Materials and Methods - -== Materials - -#figure( - table( - columns: 2, - table.header([Chemicals], [Provider], repeat: true), - // inhalt - [Oranges], [Tree], - // [],[], - ), - caption: [List of Chemicals], -) - -#figure( - table( - columns: 2, - align: horizon, - table.header([Solution], [Composition]), - //inhalt - [Orange juice], [100% Oranges], - ), - caption: [List of Solutions], -) - -#figure( - table( - columns: 2, - table.header([Enzyme], [Provider]), - [Lysozyme], [Saliva], - ), - caption: [List of Enzymes], -) - -#figure( - table( - columns: 2, - table.header([Primer], [Sequence]), - [seq-fwd], [#upper("ctgtttctccatacccgtt")], - ), - caption: [List of Primers, 5'\-3' orientation], -) - -#figure( - table( - columns: 2, - table.header([Software], [Provider]), - //inhalt - [Excel], [Microsoft], - ), - caption: [List of Softwares], -) - -#[ - #show figure.where(kind: table): set block(breakable: true) - #todo("this #[] block and the show rule above in the code makes this table be able to span multiple pages. Do this for every table you want to span multiple pages") - - - #figure( - table( - columns: 2, - table.header([Instrument], [Provider]), - //inhalt - [Paper&Pen], [Also trees], - ), - caption: [List of Instruments], - ) -] - - -== Methods -#set heading(outlined: false) - -//describe each method - -#heading([Rickrolling people], level: 3, numbering: none) -#link("https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=RDdQw4w9WgXcQ&start_radio=1", [Totally unsuspicious link]) - -#pagebreak() \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/8 results.typ b/packages/preview/clean-ut/0.1.0/template/chapters/8 results.typ deleted file mode 100644 index 900d17af3c..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/8 results.typ +++ /dev/null @@ -1,42 +0,0 @@ -#import "@preview/clean-ut:0.1.0": * - -= Results - -== Lorem ipsum -We are here in @lorem. You could also write that as @lorem[Chapter] - -Citations are grouped automatically for more than three citations @Gratani2023@Abida2021. If we add one more, the citations are connected with a hyphen: @Gratani2023@Abida2021@Abramson2024. Cool, right? - -@subfigure is not the same as @asubfigure, attachment figures are numbered and referenced with a "S", however i havent found a good solution to reference attachment subfigure-grids as a whole: @agreatplot and @greatplot, so refrain from doing this if possible. - - -Finally, #lorem(20) @Gratani2023), and therefore we need more money. - -#subfig-grid( - columns: 2, - rows: 2, - figure( - rect[#lorem(60)], - caption: [], - ), , - - figure( - rect[#lorem(60)], - caption: [], - ), - - figure( - rect[#lorem(60)], - caption: [], - ), - - figure( - rect[#lorem(60)], - caption: [], - ), - - //figure(image("Path/to/image.png"), caption: []), - - caption: [#caption[This is a short caption][This is a extension that is only shown in the descriptions but not in the outline]], //total caption - label: , -) \ No newline at end of file diff --git a/packages/preview/clean-ut/0.1.0/template/chapters/9 summary.typ b/packages/preview/clean-ut/0.1.0/template/chapters/9 summary.typ deleted file mode 100644 index 070d2c66b4..0000000000 --- a/packages/preview/clean-ut/0.1.0/template/chapters/9 summary.typ +++ /dev/null @@ -1,11 +0,0 @@ -#import "@preview/clean-ut:0.1.0":* - -= Discussion - -== Summary - - - -== Outlook - -#pagebreak() \ No newline at end of file