update title page
This commit is contained in:
parent
abf7b5aef0
commit
517ea39fa4
4 changed files with 242 additions and 255 deletions
54
1.0.1/src/assets/unigrazlogo-white-border.svg
Normal file
54
1.0.1/src/assets/unigrazlogo-white-border.svg
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) by Marsupilami -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
width="892"
|
||||
height="768"
|
||||
viewBox="-1.66203747 -1.66203747 68.18782194 58.72532394"
|
||||
id="svg9193"
|
||||
sodipodi:docname="unigrazlogo-white-border.svg"
|
||||
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.0520833"
|
||||
inkscape:cx="446.25743"
|
||||
inkscape:cy="384"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1015"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg9193" />
|
||||
<defs
|
||||
id="defs9195" />
|
||||
<path
|
||||
d="m 0,55.40125 64.86375,0 L 64.86375,0 0,0 0,55.40125 z"
|
||||
id="path3442"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
d="m 2.85501,2.8575 18.9275,0 0,49.67875 -18.9275,0 0,-49.67875 z"
|
||||
id="path3444"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
d="m 21.78251,2.8575 40.21999,0 0,49.67875 -40.21999,0 0,-49.67875 z"
|
||||
id="path3446"
|
||||
style="fill:#ffdf00;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
d="m 45.67713,45.13812 -1.01375,0 0,1.39875 1.01375,0 c 0.63,0 0.81875,-0.30875 0.81875,-0.705 0,-0.3825 -0.18875,-0.69375 -0.81875,-0.69375 m 5.26,2.27375 1.30625,0 -0.64125,-1.54 -0.665,1.54 z m -29.155,5.1325 40.22625,0 0,-9.61 -40.22625,0 0,9.61 z m 19.82875,-4.2175 c -0.465,0.9 -1.54125,1.4275 -2.6775,1.4275 -1.85375,0 -3.12,-1.36875 -3.12,-3.055 0,-1.6875 1.42625,-3.055 3.12,-3.055 1.01625,0 1.91625,0.49125 2.47375,1.25 l -1.19875,0.84875 c -0.3175,-0.42875 -0.7,-0.6725 -1.275,-0.6725 -0.965,0 -1.61,0.6675 -1.61,1.62875 0,0.95875 0.66625,1.58875 1.63125,1.58875 0.8375,0 1.3,-0.3425 1.41375,-0.7725 l -1.00125,0 0,-1.075 2.50375,0 10e-4,0.4875 c 0,0.51125 -0.0537,1.00375 -0.26125,1.39875 m 11.56125,1.31625 -0.48875,-1.02375 -2.17625,0 -0.48875,1.02375 -3.32625,0 -1.13875,-1.7175 -0.89,0 0,1.7175 -1.64375,0 0,-5.89375 2.8125,0 c 1.31875,0 2.18625,0.91 2.18625,2.0825 0,0.79875 -0.34625,1.37875 -1.0325,1.665 l 1.3975,1.98 3.06,-5.7825 0.385,0 3.05875,5.94875 -1.715,0 z m 6.99125,0 -4.9175,0 0,-0.4575 2.56375,-4.0475 -2.525,0 0,-1.38875 4.87875,0 0,0.3375 -2.67375,4.1675 2.67375,0 0,1.38875 z m -2.93708,-17.83562 2.89126,0 0,10.16375 -2.89126,0 0,-10.16375 z m -10.53987,-0.1905 0.815,0 5.285,4.78125 0,-4.5925 2.88,0 0,10.3 -0.88375,0 -5.2075,-4.7225 0,4.58875 -2.895,-0.001 0.0125,-10.35375 z m -10.97975,0.19175 0,5.85125 c 0,2.5625 2.22,4.51 4.7825,4.50875 2.56,-0.004 4.77375,-1.95 4.77375,-4.51125 l 0,-5.85 -2.91125,0 0,5.41875 c 0,1.28375 -0.765,2.13875 -1.87375,2.14 -1.11125,0 -1.88,-0.80125 -1.88,-2.14 l 0,-5.41875 -2.89125,10e-4 z"
|
||||
id="path3472"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
</svg>
|
||||
<!-- version: 20110311, original size: 64.863747 55.401249, border: 3% -->
|
||||
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) by Marsupilami -->
|
||||
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="892" height="768" viewBox="-1.66203747 -1.66203747 68.18782194 58.72532394" id="svg9193">
|
||||
<defs id="defs9195"/>
|
||||
<path d="m 0,55.40125 64.86375,0 L 64.86375,0 0,0 0,55.40125 z" id="path3442" style="fill:#d9dbdc;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 2.85501,2.8575 18.9275,0 0,49.67875 -18.9275,0 0,-49.67875 z" id="path3444" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 21.78251,2.8575 40.21999,0 0,49.67875 -40.21999,0 0,-49.67875 z" id="path3446" style="fill:#ffdf00;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
<path d="m 45.67713,45.13812 -1.01375,0 0,1.39875 1.01375,0 c 0.63,0 0.81875,-0.30875 0.81875,-0.705 0,-0.3825 -0.18875,-0.69375 -0.81875,-0.69375 m 5.26,2.27375 1.30625,0 -0.64125,-1.54 -0.665,1.54 z m -29.155,5.1325 40.22625,0 0,-9.61 -40.22625,0 0,9.61 z m 19.82875,-4.2175 c -0.465,0.9 -1.54125,1.4275 -2.6775,1.4275 -1.85375,0 -3.12,-1.36875 -3.12,-3.055 0,-1.6875 1.42625,-3.055 3.12,-3.055 1.01625,0 1.91625,0.49125 2.47375,1.25 l -1.19875,0.84875 c -0.3175,-0.42875 -0.7,-0.6725 -1.275,-0.6725 -0.965,0 -1.61,0.6675 -1.61,1.62875 0,0.95875 0.66625,1.58875 1.63125,1.58875 0.8375,0 1.3,-0.3425 1.41375,-0.7725 l -1.00125,0 0,-1.075 2.50375,0 10e-4,0.4875 c 0,0.51125 -0.0537,1.00375 -0.26125,1.39875 m 11.56125,1.31625 -0.48875,-1.02375 -2.17625,0 -0.48875,1.02375 -3.32625,0 -1.13875,-1.7175 -0.89,0 0,1.7175 -1.64375,0 0,-5.89375 2.8125,0 c 1.31875,0 2.18625,0.91 2.18625,2.0825 0,0.79875 -0.34625,1.37875 -1.0325,1.665 l 1.3975,1.98 3.06,-5.7825 0.385,0 3.05875,5.94875 -1.715,0 z m 6.99125,0 -4.9175,0 0,-0.4575 2.56375,-4.0475 -2.525,0 0,-1.38875 4.87875,0 0,0.3375 -2.67375,4.1675 2.67375,0 0,1.38875 z m -2.93708,-17.83562 2.89126,0 0,10.16375 -2.89126,0 0,-10.16375 z m -10.53987,-0.1905 0.815,0 5.285,4.78125 0,-4.5925 2.88,0 0,10.3 -0.88375,0 -5.2075,-4.7225 0,4.58875 -2.895,-0.001 0.0125,-10.35375 z m -10.97975,0.19175 0,5.85125 c 0,2.5625 2.22,4.51 4.7825,4.50875 2.56,-0.004 4.77375,-1.95 4.77375,-4.51125 l 0,-5.85 -2.91125,0 0,5.41875 c 0,1.28375 -0.765,2.13875 -1.87375,2.14 -1.11125,0 -1.88,-0.80125 -1.88,-2.14 l 0,-5.41875 -2.89125,10e-4 z" id="path3472" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"/>
|
||||
</svg>
|
||||
<!-- version: 20110311, original size: 64.863747 55.401249, border: 3% -->
|
||||
|
Before Width: | Height: | Size: 2.6 KiB |
|
|
@ -142,7 +142,7 @@
|
|||
#let title-slide(..args) = touying-slide-wrapper(self => {
|
||||
let info = self.info + args.named()
|
||||
let body = {
|
||||
let footer-isec = [
|
||||
let footer-kfu = [
|
||||
#set text(size: 13.3pt, weight: "medium")
|
||||
|
||||
#let circle-icon = [
|
||||
|
|
@ -158,25 +158,25 @@
|
|||
#box(circle-icon) #h(0.1cm) #self.store.institute
|
||||
]
|
||||
|
||||
set page(footer: footer-isec, header: none)
|
||||
set page(footer: footer-kfu, header: none)
|
||||
set block(below: 0pt, above: 0pt)
|
||||
|
||||
place(center + horizon, dx: -15em, [
|
||||
#circle(stroke: self.colors.primary + 13em, radius: 32em)
|
||||
])
|
||||
|
||||
// Top-right icon + text
|
||||
place(top + right, dy: -1.9cm, dx: 0.78cm, [
|
||||
#self.store.logo
|
||||
])
|
||||
|
||||
place(center + horizon, dx: -15em, [
|
||||
#circle(stroke: self.colors.primary + 5em, radius: 25em)
|
||||
])
|
||||
|
||||
v(0.8cm)
|
||||
|
||||
block(width: 83%)[
|
||||
#let title = text(size: 40.5pt, weight: "bold")[#info.at(
|
||||
"title",
|
||||
default: "",
|
||||
)]
|
||||
"title",
|
||||
default: "",
|
||||
)]
|
||||
|
||||
#move(dx: 0.04em)[
|
||||
#grid(
|
||||
|
|
@ -225,7 +225,7 @@
|
|||
|
||||
if (
|
||||
self.info.at("download-qr", default: none) != none
|
||||
and self.info.at("download-qr", default: none) != ""
|
||||
and self.info.at("download-qr", default: none) != ""
|
||||
) {
|
||||
place(bottom + right)[
|
||||
#align(center + horizon)[
|
||||
|
|
@ -352,7 +352,7 @@
|
|||
/// Example:
|
||||
///
|
||||
/// ```typst
|
||||
/// #show: definitely-not-isec-theme.with(
|
||||
/// #show: definitely-not-kfu-theme.with(
|
||||
/// aspect-ratio: "16-9",
|
||||
/// slide-alignment: top,
|
||||
/// config-info(
|
||||
|
|
@ -383,7 +383,7 @@
|
|||
/// - config-common (dict):
|
||||
/// - handout (bool): Boolean for handout mode
|
||||
/// - config-colors (dict): Colors for the presentation
|
||||
/// - ... see definition of `#definitely-not-isec-theme`
|
||||
/// - ... see definition of `#definitely-not-kfu-theme`
|
||||
#let definitely-not-kfu-theme(
|
||||
aspect-ratio: "16-9",
|
||||
header: utils.display-current-heading(level: 1),
|
||||
|
|
@ -436,7 +436,6 @@
|
|||
kfu: rgb("FED501"),
|
||||
primary: rgb("FED501"),
|
||||
footer: rgb("808080"),
|
||||
isec: rgb("272733"),
|
||||
foot: rgb("e1e1e1"),
|
||||
web: rgb("0c5a77"),
|
||||
csbme: rgb("19b4e3"),
|
||||
|
|
@ -465,23 +464,6 @@
|
|||
colD: rgb("285f82"),
|
||||
colE: rgb("78b473"),
|
||||
colF: rgb("e59352"),
|
||||
tugred: rgb("e4154b"),
|
||||
tuggreen: rgb("78b473"),
|
||||
tugblue: rgb("285f82"),
|
||||
tugyellow: rgb("e59352"),
|
||||
tugcyan: rgb("19b4e3"),
|
||||
tugpurple: rgb("7d219e"),
|
||||
tugviolet: rgb("5e60a8"),
|
||||
tugmagenta: rgb("7d219e"),
|
||||
tugturquoise: rgb("0a98a2"),
|
||||
tugbrown: rgb("68242c"),
|
||||
tugblack: rgb("0f0f0f"),
|
||||
tugwhite: rgb("ffffff"),
|
||||
tuggray: rgb("a5a5a5"),
|
||||
tuggrey: rgb("a5a5a5"),
|
||||
tugdark: rgb("3b5a70"),
|
||||
tugmid: rgb("5191c1"),
|
||||
tuglite: rgb("eeece1"),
|
||||
main: rgb("e4154b"),
|
||||
emph: rgb("285f82"),
|
||||
standout: rgb("245b78"),
|
||||
|
|
@ -489,226 +471,188 @@
|
|||
config-methods(
|
||||
cover: (self: none, body) => hide(body),
|
||||
init: (
|
||||
self: none,
|
||||
body,
|
||||
) => {
|
||||
// TUGraz uses Source Sans Pro, but its a licensed Adobe font
|
||||
set text(size: 20pt, lang: "en", region: "US", font: font)
|
||||
show emph: it => { text(self.colors.primary, it.body) }
|
||||
show cite: it => { text(self.colors.primary, it) }
|
||||
show strong: it => { text(weight: "bold", it.body) }
|
||||
self: none,
|
||||
body,
|
||||
) => {
|
||||
set text(size: 20pt, lang: "en", region: "US", font: font)
|
||||
show emph: it => { text(self.colors.primary, it.body) }
|
||||
show cite: it => { text(self.colors.primary, it) }
|
||||
show strong: it => { text(weight: "bold", it.body) }
|
||||
|
||||
// Bibliography
|
||||
set bibliography(title: none, style: "ieee")
|
||||
set cite(style: "alphanumeric")
|
||||
show bibliography: set par(spacing: 0.4cm)
|
||||
show bibliography: set grid(align: top + left)
|
||||
show bibliography: set text(17pt)
|
||||
show bibliography: t => {
|
||||
show grid.cell.where(x: 0): set text(fill: self.colors.primary)
|
||||
show grid.cell.where(x: 0): set align(top + left)
|
||||
show link: set text(fill: gray)
|
||||
t
|
||||
// Bibliography
|
||||
set bibliography(title: none, style: "ieee")
|
||||
set cite(style: "alphanumeric")
|
||||
show bibliography: set par(spacing: 0.4cm)
|
||||
show bibliography: set grid(align: top + left)
|
||||
show bibliography: set text(17pt)
|
||||
show bibliography: t => {
|
||||
show grid.cell.where(x: 0): set text(fill: self.colors.primary)
|
||||
show grid.cell.where(x: 0): set align(top + left)
|
||||
show link: set text(fill: gray)
|
||||
t
|
||||
}
|
||||
|
||||
// Lists & Enums
|
||||
set list(
|
||||
marker: (
|
||||
(move(dx: 0.15cm, dy: 0.1cm, circle(radius: 0.2em, stroke: self.colors.primary + 2pt, fill: self.colors.primary))),
|
||||
(move(dy: 0.2cm, circle(width: 0.2em, fill: black))),
|
||||
(move(dy: 0.2cm, circle(width: 0.2em, fill: gray))),
|
||||
),
|
||||
body-indent: 1.2em,
|
||||
)
|
||||
set enum(
|
||||
numbering: n => {
|
||||
circle(stroke: self.colors.primary + 2pt, radius: 0.3cm)[
|
||||
#align(center + horizon)[ #text(size: 12pt, fill: black)[#n] ]
|
||||
]
|
||||
},
|
||||
body-indent: 0.6cm
|
||||
)
|
||||
|
||||
// Code blocks
|
||||
show: codly-init.with()
|
||||
show raw.where(block: true): set text(size: 13pt)
|
||||
|
||||
// Hotfixes, the messy part
|
||||
|
||||
// https://github.com/touying-typ/touying/issues/136
|
||||
set par(spacing: 0.65em)
|
||||
|
||||
body
|
||||
}),
|
||||
..args,
|
||||
)
|
||||
|
||||
body
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Macros
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
/// Macro for a pdfpc note
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// ```typst
|
||||
/// #note("This will show on pdfpc speaker notes")
|
||||
/// ```
|
||||
///
|
||||
/// - text (str): Note for pdfpc
|
||||
///
|
||||
/// -> content
|
||||
#let note(text) = [
|
||||
#pdfpc.speaker-note(text)
|
||||
]
|
||||
|
||||
/// Quote block for phrases. Has a color.primary rectangle in the left
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// ```typst
|
||||
/// #quote-block[
|
||||
/// #lorem(10)
|
||||
/// ]
|
||||
/// ```
|
||||
///
|
||||
/// - top-pad (length): Extra height of the quote colored block
|
||||
/// - color (color): Color of the quote block
|
||||
/// - spacing (length): Spacing after the `#quote-block`
|
||||
///
|
||||
/// -> content
|
||||
#let quote-block(
|
||||
top-pad: 0.55cm,
|
||||
color: none,
|
||||
spacing: 0.3cm,
|
||||
body,
|
||||
) = [
|
||||
#touying-fn-wrapper((self: none) => [
|
||||
// Grid with the design
|
||||
#let g(s: 0cm, body) = [
|
||||
#grid(
|
||||
columns: (0.195cm, auto),
|
||||
column-gutter: 0.7cm,
|
||||
row-gutter: 0cm,
|
||||
[
|
||||
#rect(
|
||||
fill: if color == none { self.colors.primary } else { color },
|
||||
height: s + top-pad,
|
||||
)
|
||||
],
|
||||
align(horizon, body),
|
||||
)
|
||||
]
|
||||
|
||||
// We compute its "auto" heigth and then print it with the correct height
|
||||
#layout(size => {
|
||||
let (height,) = measure(width: size.width, g(body))
|
||||
g(s: height, body)
|
||||
})
|
||||
|
||||
#v(spacing)
|
||||
])
|
||||
]
|
||||
|
||||
/// Block with title and content
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// ```typst
|
||||
/// #color-block(title: [Advantages])[
|
||||
/// - A
|
||||
/// - B
|
||||
/// - C
|
||||
/// ]
|
||||
/// ```
|
||||
///
|
||||
/// - title (content): Title for the color block
|
||||
/// - icon (str): Icon to show at the left of the title (Tableau Icons) https://tabler.io/icons
|
||||
/// - spacing (length): Spacing before and after the color block
|
||||
/// - color (color): Color for the title block
|
||||
/// - color-body (color): Color for the background of the body
|
||||
///
|
||||
/// -> content
|
||||
#let color-block(
|
||||
title: [],
|
||||
icon: none,
|
||||
spacing: 0.78em,
|
||||
color: none,
|
||||
color-body: none,
|
||||
body
|
||||
) = [
|
||||
#import "@preview/tableau-icons:0.331.0": *
|
||||
#touying-fn-wrapper((self: none) => [
|
||||
#show emph: it => {
|
||||
text(weight: "medium", fill: self.colors.primary, it.body)
|
||||
}
|
||||
|
||||
// Lists & Enums
|
||||
set list(
|
||||
marker: (
|
||||
(move(dx: 0.15cm, dy: 0.1cm, circle(radius: 0.2em, stroke: self.colors.primary + 2pt, fill: self.colors.primary))),
|
||||
(move(dy: 0.2cm, circle(width: 0.2em, fill: black))),
|
||||
(move(dy: 0.2cm, circle(width: 0.2em, fill: gray))),
|
||||
#showybox(
|
||||
title-style: (
|
||||
color: white,
|
||||
sep-thickness: 0pt,
|
||||
),
|
||||
body-indent: 1.2em,
|
||||
)
|
||||
set enum(
|
||||
numbering: n => {
|
||||
circle(stroke: self.colors.primary + 2pt, radius: 0.3cm)[
|
||||
#align(center + horizon)[ #text(size: 12pt, fill: black)[#n] ]
|
||||
frame: (
|
||||
//inset: 0.4em,
|
||||
radius: 0pt,
|
||||
thickness: 0pt,
|
||||
border-color: if color == none { self.colors.primary } else { color },
|
||||
title-color: if color == none { self.colors.primary } else { color },
|
||||
body-color: if color-body == none { self.colors.lite } else { color-body },
|
||||
inset: (x: 0.55em, y: 0.65em),
|
||||
),
|
||||
above: spacing,
|
||||
below: spacing,
|
||||
title: if icon == none {
|
||||
align(horizon)[#strong(title)]
|
||||
} else {
|
||||
align(horizon)[
|
||||
#draw-icon(icon, height: 1.2em, baseline: 20%, fill: white) #h(0.2cm) #strong[#title]
|
||||
]
|
||||
},
|
||||
body-indent: 0.6cm
|
||||
)
|
||||
|
||||
// Code blocks
|
||||
show: codly-init.with()
|
||||
show raw.where(block: true): set text(size: 13pt)
|
||||
|
||||
// Hotfixes, the messy part
|
||||
|
||||
// https://github.com/touying-typ/touying/issues/136
|
||||
set par(spacing: 0.65em)
|
||||
|
||||
body
|
||||
}),
|
||||
..args,
|
||||
)
|
||||
|
||||
body
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Macros
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
/// Macro for a pdfpc note
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// ```typst
|
||||
/// #note("This will show on pdfpc speaker notes")
|
||||
/// ```
|
||||
///
|
||||
/// - text (str): Note for pdfpc
|
||||
///
|
||||
/// -> content
|
||||
#let note(text) = [
|
||||
#pdfpc.speaker-note(text)
|
||||
]
|
||||
|
||||
/// Quote block for phrases. Has a color.primary rectangle in the left
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// ```typst
|
||||
/// #quote-block[
|
||||
/// #lorem(10)
|
||||
/// ]
|
||||
/// ```
|
||||
///
|
||||
/// - top-pad (length): Extra height of the quote colored block
|
||||
/// - color (color): Color of the quote block
|
||||
/// - spacing (length): Spacing after the `#quote-block`
|
||||
///
|
||||
/// -> content
|
||||
#let quote-block(
|
||||
top-pad: 0.55cm,
|
||||
color: none,
|
||||
spacing: 0.3cm,
|
||||
body,
|
||||
) = [
|
||||
#touying-fn-wrapper((self: none) => [
|
||||
// Grid with the design
|
||||
#let g(s: 0cm, body) = [
|
||||
#grid(
|
||||
columns: (0.195cm, auto),
|
||||
column-gutter: 0.7cm,
|
||||
row-gutter: 0cm,
|
||||
[
|
||||
#rect(
|
||||
fill: if color == none { self.colors.primary } else { color },
|
||||
height: s + top-pad,
|
||||
)
|
||||
],
|
||||
align(horizon, body),
|
||||
)
|
||||
]
|
||||
|
||||
// We compute its "auto" heigth and then print it with the correct height
|
||||
#layout(size => {
|
||||
let (height,) = measure(width: size.width, g(body))
|
||||
g(s: height, body)
|
||||
})
|
||||
|
||||
#v(spacing)
|
||||
])
|
||||
]
|
||||
|
||||
/// Block with title and content
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// ```typst
|
||||
/// #color-block(title: [Advantages])[
|
||||
/// - A
|
||||
/// - B
|
||||
/// - C
|
||||
/// ]
|
||||
/// ```
|
||||
///
|
||||
/// - title (content): Title for the color block
|
||||
/// - icon (str): Icon to show at the left of the title (Tableau Icons) https://tabler.io/icons
|
||||
/// - spacing (length): Spacing before and after the color block
|
||||
/// - color (color): Color for the title block
|
||||
/// - color-body (color): Color for the background of the body
|
||||
///
|
||||
/// -> content
|
||||
#let color-block(
|
||||
title: [],
|
||||
icon: none,
|
||||
spacing: 0.78em,
|
||||
color: none,
|
||||
color-body: none,
|
||||
body
|
||||
) = [
|
||||
#import "@preview/tableau-icons:0.331.0": *
|
||||
#touying-fn-wrapper((self: none) => [
|
||||
#show emph: it => {
|
||||
text(weight: "medium", fill: self.colors.primary, it.body)
|
||||
}
|
||||
|
||||
#showybox(
|
||||
title-style: (
|
||||
color: white,
|
||||
sep-thickness: 0pt,
|
||||
),
|
||||
frame: (
|
||||
//inset: 0.4em,
|
||||
radius: 0pt,
|
||||
thickness: 0pt,
|
||||
border-color: if color == none { self.colors.primary } else { color },
|
||||
title-color: if color == none { self.colors.primary } else { color },
|
||||
body-color: if color-body == none { self.colors.lite } else { color-body },
|
||||
inset: (x: 0.55em, y: 0.65em),
|
||||
),
|
||||
above: spacing,
|
||||
below: spacing,
|
||||
title: if icon == none {
|
||||
align(horizon)[#strong(title)]
|
||||
} else {
|
||||
align(horizon)[
|
||||
#draw-icon(icon, height: 1.2em, baseline: 20%, fill: white) #h(0.2cm) #strong[#title]
|
||||
]
|
||||
},
|
||||
body,
|
||||
)
|
||||
])
|
||||
]
|
||||
|
||||
/// Showcase the colors of the slide
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// ```typst
|
||||
/// #showcase-colors
|
||||
/// ```
|
||||
///
|
||||
/// -> content
|
||||
#let showcase-colors = [
|
||||
#touying-fn-wrapper((self: none) => [
|
||||
#set rect(width: 7.4cm, height: 1.5cm)
|
||||
#set text(fill: white)
|
||||
#set align(center)
|
||||
#grid(columns: 3, rows: 6, column-gutter: 1.8cm, row-gutter: 0.05cm, align: left,
|
||||
rect(fill: self.colors.isec)[isec],
|
||||
rect(fill: self.colors.kfu)[tug = main],
|
||||
rect(fill: self.colors.colA)[colA = tugred],
|
||||
rect(fill: self.colors.csbme)[csbme = tugcyan],
|
||||
rect(fill: self.colors.fore)[fore],
|
||||
rect(fill: self.colors.colB)[colB = tugmid],
|
||||
rect(fill: self.colors.crypto)[crypto],
|
||||
rect(fill: self.colors.back)[#text(fill: black)[back]],
|
||||
rect(fill: self.colors.colC)[colC = tuggray],
|
||||
rect(fill: self.colors.system)[system],
|
||||
rect(fill: self.colors.foot)[#text(fill: black)[foot]],
|
||||
rect(fill: self.colors.colD)[colD = tugblue],
|
||||
rect(fill: self.colors.formal)[formal],
|
||||
rect(fill: self.colors.emph)[emph],
|
||||
rect(fill: self.colors.colE)[colE = tuggreen],
|
||||
rect(fill: self.colors.applied)[applied = tugpurple],
|
||||
rect(fill: self.colors.lite)[#text(fill: black)[lite]],
|
||||
rect(fill: self.colors.colF)[colF = tugyellow],
|
||||
body,
|
||||
)
|
||||
])
|
||||
]
|
||||
]
|
||||
|
||||
//vim:tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab colorcolumn=81
|
||||
|
|
|
|||
|
|
@ -16,6 +16,6 @@
|
|||
#set align(right)
|
||||
#set text(size: 12pt, tracking: 3.6pt)
|
||||
|
||||
#image("assets/unigrazlogo.svg", width: 4.1cm)
|
||||
#image("assets/unigrazlogo-white-border.svg", width: 4.1cm)
|
||||
]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue