commit 7a230f611b28decf048e905b075dd01bd4e03244 Author: Michael <20937441+KMikeeU@users.noreply.github.com> Date: Wed Nov 12 18:50:28 2025 +0100 Initial template diff --git a/README.md b/README.md new file mode 100644 index 0000000..c33f8fe --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# AI-Ethics TU Vienna +This is a Typst port of the LaTeX template for the AI Ethics course at TU Vienna. + +## Usage +Look for the `ai-ethics-tuw` template in the Typst universe, or start locally with: + +```sh +typst init @preview/ai-ethics-tuw +``` + +## Configuration + +This is a sample configuration with values taken from the original template: + +```typ +#import "@preview/ai-ethics-tuw:1.0.0": * + + +#show: ai-ethics-template.with( + title: "This is the title of the paper", + author: ( + name: "Author", + number: "Matrikel number", + email: "Email address", + course: "Course name" + ), + abstract: [ + Abstract of approximately 100-200 words. + ], + keywords: ("Keyword1", "keyword2", "...", "keyword(n)") +) +``` diff --git a/lib.typ b/lib.typ new file mode 100644 index 0000000..d049379 --- /dev/null +++ b/lib.typ @@ -0,0 +1,97 @@ + +#let ai-ethics-template( + title: [], + abstract: [], + author: (), + keywords: (), + doc, +) = { + + // -- Text + let font-size = 9.5pt + set text(size: font-size, font: "New Computer Modern") + + // -- Header + set page(header: context { + if here().page() > 1 [ + #grid( + columns: (1cm, 1fr, 1cm), + [#here().page()], + align(center, [#text(size: 8pt, title)]) + ) + ] + }, header-ascent: 2em) + + // -- Margins + set page(margin: (x: 4.5cm, top: 5.5cm, bottom: 5cm)) + + // -- Headings + show heading.where(level: 1): set heading(numbering: (n) => {numbering("1", n) + h(0.35cm)}) + + show heading.where(level: 1): it => [ + #set text(size: 12pt) + #it + #v(0.2em) + ] + + show heading.where(level: 2): it => { + block(above: par.spacing, below: 0pt) + box(text(size: font-size, it)) + h(0.25cm) + } + + + // -- Bibliography + show bibliography: set bibliography(title: [References #v(0.5em)]) + + show bibliography: it => { + show heading: set heading(numbering: none) + it + } + + // -- Lists + show list: set list(marker: [#text(baseline: -0.2em, size: 15pt, "•")]) + show list: it => [ + #pad(y: 0.5em, [ + #it + ]) + ] + + // Front-matter Content + align(center, [ + #v(0.75cm) + #text(weight: "bold", size: 1.6em, title) + #v(1em) + + #text(size: 12pt, author.name) + #v(0.5em) + + #emph([ + #{author.number} \ + #{author.email} \ + #{author.course} \ + ]) + ]) + + v(1em) + + block([ + #line(length: 100%) + #v(-0.1cm) + + *Abstract* \ + + #{abstract} \ + + #emph[Keywords]: #h(0.5em) #(keywords.join(", ")) + + #v(-0.1cm) + + #line(length: 100%) + ]) + + // -- Paragraph indents + set par(first-line-indent: 1em, spacing: 0.65em, justify: true) + + + doc +} diff --git a/template/bibliography.bib b/template/bibliography.bib new file mode 100644 index 0000000..a0e85f9 --- /dev/null +++ b/template/bibliography.bib @@ -0,0 +1,9 @@ + + +@book{shafer2012fundamentals, + title={The fundamentals of ethics}, + author={Shafer-Landau, Russ}, + volume={4}, + year={2012}, + publisher={Oxford University Press New York} +} diff --git a/template/main.typ b/template/main.typ new file mode 100644 index 0000000..dd2ce54 --- /dev/null +++ b/template/main.typ @@ -0,0 +1,37 @@ +#import "@local/ai-ethics-tuw:1.0.0": * + + +#show: ai-ethics-template.with( + title: [This is the title of the paper], + author: ( + name: [Author], + number: [Matrikel number], + email: [Email address], + course: [Course name] + ), + abstract: [ + Abstract of approximately 100-200 words. + ], + keywords: ("Keyword1", "keyword2", "...", "keyword(n)") +) + += Instructions for authors + +== Info +This is the template for the paper of the AI Ethics course, TU Wien. The paper should be in English and should be around 10 pages with a 10% buffer. This excludes references. This is the Typst template, adapted from the official LaTeX template. + +The reviewing process is single-blind and papers should not be anonymized. The first page should contain an abstract of around 100-200 words. You do not need to add a table of contents but are encouraged to add an "outline of the paper" paragraph at the end of your introduction section. Your paper must be submitted as a PDF in TUWEL. + + +For the final version incorporating the received feedback, you are asked to mark important changes in the paper by using a coloured font, e.g., blue. + + +== General Info on the Style +Important information pertaining to the preparation of your paper is listed below. This list resonates publication policies of scientific journals and conferences. + +- Please prepare your paper by editing this file (main.typ) as well as the bibliography file, `bibliography.bib`. + +- This is an example citation of an important paper @shafer2012fundamentals. + + +#bibliography("bibliography.bib") diff --git a/thumbnail.png b/thumbnail.png new file mode 100644 index 0000000..d2120b0 Binary files /dev/null and b/thumbnail.png differ diff --git a/typst.toml b/typst.toml new file mode 100644 index 0000000..b6cf562 --- /dev/null +++ b/typst.toml @@ -0,0 +1,17 @@ +[package] +name = "ai-ethics-tuw" +version = "1.0.0" +compiler = "0.14.0" +entrypoint = "lib.typ" +repository = "https://github.com/typst/templates" +authors = ["Michael "] +license = "MIT" +description = "A Typst port of the LaTeX template for the AI Ethics course at TU Vienna" +keywords = ["TU Vienna", "AI Ethics"] +categories = ["paper"] +disciplines = ["computer-science", "philosophy"] + +[template] +path = "template" +entrypoint = "main.typ" +thumbnail = "thumbnail.png"