diff --git a/Assets/image12.svg b/Assets/image12.svg
new file mode 100644
index 0000000..c47e1c3
--- /dev/null
+++ b/Assets/image12.svg
@@ -0,0 +1,45 @@
+
+
diff --git a/Assets/image13.svg b/Assets/image13.svg
new file mode 100644
index 0000000..038ff75
--- /dev/null
+++ b/Assets/image13.svg
@@ -0,0 +1,45 @@
+
+
diff --git a/Assets/image15.svg b/Assets/image15.svg
new file mode 100644
index 0000000..57f99cd
--- /dev/null
+++ b/Assets/image15.svg
@@ -0,0 +1,45 @@
+
+
diff --git a/Assets/image16.svg b/Assets/image16.svg
new file mode 100644
index 0000000..ca86cdb
--- /dev/null
+++ b/Assets/image16.svg
@@ -0,0 +1,60 @@
+
+
diff --git a/Assets/image17.svg b/Assets/image17.svg
new file mode 100644
index 0000000..df5ac08
--- /dev/null
+++ b/Assets/image17.svg
@@ -0,0 +1,60 @@
+
+
diff --git a/Assets/image4.svg b/Assets/image4.svg
new file mode 100644
index 0000000..a9bd3df
--- /dev/null
+++ b/Assets/image4.svg
@@ -0,0 +1,50 @@
+
+
diff --git a/Assets/image6.svg b/Assets/image6.svg
new file mode 100644
index 0000000..df27bb7
--- /dev/null
+++ b/Assets/image6.svg
@@ -0,0 +1,45 @@
+
+
diff --git a/Assets/image7.svg b/Assets/image7.svg
new file mode 100644
index 0000000..a9bd3df
--- /dev/null
+++ b/Assets/image7.svg
@@ -0,0 +1,50 @@
+
+
diff --git a/Assets/image8.svg b/Assets/image8.svg
new file mode 100644
index 0000000..df27bb7
--- /dev/null
+++ b/Assets/image8.svg
@@ -0,0 +1,45 @@
+
+
diff --git a/Assets/ktu.png b/Assets/ktu-logo.png
similarity index 100%
rename from Assets/ktu.png
rename to Assets/ktu-logo.png
diff --git a/Assets/ktu-text.svg b/Assets/ktu-text.svg
new file mode 100644
index 0000000..5db1c76
--- /dev/null
+++ b/Assets/ktu-text.svg
@@ -0,0 +1,45 @@
+
+
diff --git a/README.md b/README.md
index ea1bc71..24168f6 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,12 @@
# KTU-Typst
-To use the template
+This repository contains a Typst template for KTU style presentation and written work.
+
+To use the template, just import `template.typ` at the top of the Typst document and apply a show rule.
+
+## Report
+
+The following is an example on how to apply the report style for a document
```typst
#import "template.typ": ataskaita
@@ -19,3 +25,45 @@ To use the template
= Įvadas
...
```
+
+## Presentation
+
+For presentations, we use the Polylux Typst package. I suggest that you consult documentation on how it works before proceeding.
+
+```typst
+#import "@preview/polylux:0.3.1": *
+#import "template.typ": *
+
+#show: everything => ktu-theme(everything)
+
+#ktu-title-slide[
+ = Pristatymo tema
+
+ #box[
+ #set text(size: 18pt)
+ Autoriai: Vardenis Pavardenis, Petras Petraitis
+ ]
+]
+
+#ktu-outline-slide[
+ == Turinys
+
+ 1. Įvadas
+ 2. Dėstymas
+ 3. Išvados
+]
+
+#ktu-main-slide[
+ == Įvadas
+
+ ...
+]
+
+...
+```
+### Options
+
+`#ktu-title-slide`
+`#ktu-outline-slide`
+`#ktu-main-slide`
+`#ktu-no-vertical-slide`
diff --git a/examples/bibl.yml b/examples/bibl.yml
new file mode 100644
index 0000000..b6c8d25
--- /dev/null
+++ b/examples/bibl.yml
@@ -0,0 +1,15 @@
+wwdc-network:
+ type: Article
+ author: ["Mehta, Jiten", "Kinnear, Eric"]
+ title: Boost Performance and Security with Modern Networking
+ date: 2020-06-26
+ parent:
+ - type: Conference
+ title:
+ value: "{World Wide Developer Conference 2020}"
+ short: WWDC 2020
+ organization: Apple Inc.
+ location: Mountain View, CA
+ - type: Video
+ runtime: "00:13:42"
+ url: { value: https://developer.apple.com/videos/play/wwdc2020/10111/, date: 2020-09-17 }
\ No newline at end of file
diff --git a/examples/presentation.pdf b/examples/presentation.pdf
new file mode 100644
index 0000000..44610b1
Binary files /dev/null and b/examples/presentation.pdf differ
diff --git a/examples/presentation.typ b/examples/presentation.typ
new file mode 100644
index 0000000..9f227fb
--- /dev/null
+++ b/examples/presentation.typ
@@ -0,0 +1,39 @@
+ #import "@preview/polylux:0.3.1": *
+#import "../template.typ": *
+
+#show: everything => ktu-theme(everything)
+
+#ktu-title-slide[
+ = Pristatymo tema
+
+ #box[
+ #set text(size: 18pt)
+ Autoriai: Vardenis Pavardenis, Petras Petraitis
+ ]
+]
+
+#ktu-outline-slide[
+ == Turinys
+
+ 1. Įvadas
+ 2. Dėstymas
+ 3. Išvados
+]
+
+#ktu-main-slide[
+ == Įvadas
+
+ ...
+]
+
+#ktu-main-slide[
+ == Daug teksto
+
+ #lorem(130)
+]
+
+#ktu-no-vertical-slide[
+ == Daug teksto, kitas variantas
+
+ #lorem(130)
+]
diff --git a/examples/report.pdf b/examples/report.pdf
new file mode 100644
index 0000000..7242c78
Binary files /dev/null and b/examples/report.pdf differ
diff --git a/examples/report.typ b/examples/report.typ
new file mode 100644
index 0000000..1fb6090
--- /dev/null
+++ b/examples/report.typ
@@ -0,0 +1,34 @@
+#import "../template.typ": ataskaita, bibl
+
+#show: doc => ataskaita(
+ "Kompiuterinis raštingumas",
+ (
+ [Technologinis projektas],
+ [Typst šablonas]
+ ),
+ author: "Vardenis Pavardenis",
+ recipient: "lekt. Petras Petraitis",
+ document: doc,
+)
+
+= Įvadas
+
+#lorem(400)
+
+#lorem(300)
+
+#pagebreak()
+
+= Antraštė
+
+== Subantraštė
+
+#lorem(200)
+
+== Subantraštė
+
+#lorem(200)
+
+#pagebreak()
+
+#bibl("examples/bibl.yml")
\ No newline at end of file
diff --git a/template.typ b/template.typ
index 654dda9..dde3cfc 100644
--- a/template.typ
+++ b/template.typ
@@ -74,7 +74,7 @@
// Top of the title page
#v(20pt)
#align(center)[
- #image("Assets/ktu.png", width: 2.46cm, height: 2.69cm)
+ #image("Assets/ktu-logo.png", width: 2.46cm, height: 2.69cm)
#v(20pt)*Kauno technologijos universitetas*
#v(0pt)Informatikos fakultetas
#v(83pt)
@@ -137,3 +137,272 @@
)
]
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// PRESENTATION
+#import "@preview/polylux:0.3.1": *
+
+// The margins are set automatically to 2.5/21 times the smaller dimension of the page. This results in 2.5cm margins for an A4 page.
+#let autoMarginSize = 2.5/21 * 7.50in
+#let margins = (
+ top: autoMarginSize,
+ right: autoMarginSize,
+ left: autoMarginSize,
+ bottom: autoMarginSize
+);
+
+#let ktu-theme(body) = {
+
+ set page(
+ fill: white,
+ numbering: "1",
+ number-align: right,
+ width: 13.33in,
+ height: 7.50in,
+ margin: margins,
+ footer: {
+ locate(loc => {
+ let page-counter = counter(page).display("1")
+ if loc.page() != 1 {
+ place(bottom+right, dx: 18pt, dy: -20pt)[
+ #set text(size: 14pt)
+ *#page-counter*
+ ]
+ }
+ })
+ }
+ )
+
+ // Default content size
+ set text(size: 22pt, font: "Arial")
+
+ // First level heading size
+ show heading.where(level: 1): it => [
+ #set text(size: 50pt)
+ #it.body
+ ];
+
+ // Second level heading size
+ show heading.where(level: 2): it => [
+ #set text(size: 30pt)
+ #it.body
+ ];
+
+ // Embed the body
+ body
+}
+
+#let ktu-title-slide(body) = {
+ polylux-slide[
+ // Content
+ #set align(bottom)
+ #box(width: 80%)[
+ #body
+ ]
+
+
+ // Horizontal line
+ #place(
+ top,
+ dx: 222pt,
+ dy: -200pt,
+ pad(
+ right: -margins.right + 100pt,
+ left: -margins.left,
+ scale(
+ x: 300%,
+ rotate(
+ -90deg,
+ image("Assets/image12.svg")
+ )
+ )
+ )
+ )
+
+ // KTU logo
+ #place(
+ top,
+ dx: 792pt,
+ dy: -40pt,
+ image("Assets/ktu-logo.png", height: 36mm)
+ )
+
+ // Vertical line
+ #place(
+ top,
+ dx: 360pt,
+ dy: 385pt,
+ pad(
+ top: -margins.top,
+ bottom: -margins.bottom,
+ rotate(
+ -90deg,
+ scale(
+ y: -100%,
+ image("Assets/image15.svg")
+ )
+ )
+ )
+ )
+
+ // Text on the vertical line side
+ #place(top, dx: 670pt, dy: 250pt)[
+ #set text(size: 15pt)
+ #rotate(-90deg)[
+ *UŽ KIEKVIENOS TECHNOLOGIJOS – ŽMOGUS*
+ ]
+ ]
+ ]
+}
+
+#let ktu-outline-slide(body) = {
+ polylux-slide[
+ // Content
+ #box(
+ pad(
+ left: 90pt,
+ body
+ )
+ )
+
+ // KTU logo
+ #place(
+ top,
+ //dx: 792pt,
+ dx: -50pt,
+ dy: -40pt,
+ image("Assets/ktu-logo.png", height: 36mm)
+ )
+
+ // Vertical line
+ #place(
+ top,
+ dx: -360pt,
+ dy: 385pt,
+ pad(
+ top: -margins.top,
+ bottom: -margins.bottom,
+ rotate(
+ 90deg,
+ scale(
+ y: -100%,
+ x: -100%,
+ image("Assets/image15.svg")
+ )
+ )
+ )
+ )
+
+ // Text on the vertical line side
+ #place(top, dx: -170pt, dy: 250pt)[
+ #set text(size: 15pt)
+ #rotate(-90deg)[
+ *UŽ KIEKVIENOS TECHNOLOGIJOS – ŽMOGUS*
+ ]
+ ]
+ ]
+}
+
+#let ktu-main-slide(body) = {
+ let header = body.children.find(it => { return it.func() == heading })
+
+ polylux-slide[
+ // Content
+ #block(width: 95%, height: 100%)[
+ #header
+ #v(36pt)
+ #body.children.filter(it => {return it.func() != heading}).join()
+ ]
+
+ // DECORATIONS
+ // Horizontal line
+ #place(
+ top,
+ dy: 44pt,
+ pad(
+ right: -margins.right + 94pt,
+ left: -margins.left,
+ image("Assets/image15.svg")
+ )
+ )
+
+ // KTU logo
+ #place(
+ top,
+ dx: 820pt,
+ dy: 0pt,
+ image("Assets/ktu-text.svg", height: 10mm)
+ )
+
+ // Vertical line
+ #place(
+ top,
+ dx: 800pt,
+ pad(
+ top: -margins.top,
+ bottom: -margins.bottom,
+ image("Assets/image12.svg")
+ )
+ )
+
+ // Text on the vertical line side
+ #place(top, dx: 700pt, dy: 250pt)[
+ #set text(size: 13pt)
+ #rotate(-90deg)[
+ *UŽ KIEKVIENOS TECHNOLOGIJOS – ŽMOGUS*
+ ]
+ ]
+ ]
+}
+
+#let ktu-no-vertical-slide(body) = {
+ let header = body.children.find(it => { return it.func() == heading })
+
+ polylux-slide[
+ // Content
+ #block(width: 95%, height: 100%)[
+ #header
+ #v(36pt)
+ #body.children.filter(it => {return it.func() != heading}).join()
+ ]
+
+ // DECORATIONS
+ // Horizontal line
+ #place(
+ top,
+ dy: 44pt,
+ pad(
+ right: -margins.right,
+ left: -margins.left,
+ image("Assets/image15.svg")
+ )
+ )
+
+ // KTU logo
+ #place(
+ top,
+ dx: 820pt,
+ dy: 0pt,
+ image("Assets/ktu-text.svg", height: 10mm)
+ )
+ ]
+}
\ No newline at end of file