Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5fb9835f4 | ||
|
|
edbabac625 | ||
|
|
a38c3754aa | ||
|
|
60567ce745 | ||
|
|
0a13243240 | ||
|
|
26fc1f769e | ||
|
|
65c2506188 | ||
|
|
52087756d9 | ||
|
|
d855a22c7b | ||
|
|
b9434226bb | ||
|
|
f101b49738 | ||
|
|
40b028c8cb | ||
|
|
c3e479bc78 | ||
|
|
d7c6309425 | ||
|
|
edd05f4502 |
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 215 KiB |
|
After Width: | Height: | Size: 215 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 399 KiB |
|
After Width: | Height: | Size: 203 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 121 KiB |
@@ -27,37 +27,28 @@
|
|||||||
|
|
||||||
#let definition(body, name: none) = {
|
#let definition(body, name: none) = {
|
||||||
// show figure: statement-style(name, numbered: false)
|
// show figure: statement-style(name, numbered: false)
|
||||||
figure(
|
figure(body, kind: "definition", supplement: {
|
||||||
body,
|
[Definizione]
|
||||||
kind: "definition",
|
if name != none {
|
||||||
supplement: {
|
[ -- ]
|
||||||
[Definizione]
|
name
|
||||||
if name != none {
|
}
|
||||||
[ -- ]
|
})
|
||||||
name
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#let fact(body, name: none) = {
|
#let fact(body, name: none) = {
|
||||||
// show figure: statement-style(name, numbered: false)
|
// show figure: statement-style(name, numbered: false)
|
||||||
figure(
|
figure(body, kind: "fact", supplement: {
|
||||||
body,
|
[Fatto]
|
||||||
kind: "fact",
|
if name != none {
|
||||||
supplement: {
|
[ -- ]
|
||||||
[Fatto]
|
name
|
||||||
if name != none {
|
}
|
||||||
[ -- ]
|
})
|
||||||
name
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#let proposition(body, numbered: true) = {
|
#let proposition(body, numbered: true) = {
|
||||||
// show figure: statement-style(name, numbered: numbered)
|
// show figure: statement-style(name, numbered: numbered)
|
||||||
|
|
||||||
return figure(
|
return figure(
|
||||||
body,
|
body,
|
||||||
// kind: "proposition",
|
// kind: "proposition",
|
||||||
@@ -80,17 +71,12 @@
|
|||||||
|
|
||||||
#let theorem(body, name: none, numbered: true) = {
|
#let theorem(body, name: none, numbered: true) = {
|
||||||
// show figure: statement-style(name, numbered: numbered)
|
// show figure: statement-style(name, numbered: numbered)
|
||||||
figure(
|
figure(body, kind: "theorem", supplement: {
|
||||||
body,
|
[Teorema]
|
||||||
kind: "theorem",
|
if name != none {
|
||||||
supplement: {
|
[ (#name) ]
|
||||||
[Teorema]
|
}
|
||||||
if name != none {
|
}, numbering: if numbered { "1" })
|
||||||
[ (#name)]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
numbering: if numbered { "1" },
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#let proof(body) = block({
|
#let proof(body) = block({
|
||||||
@@ -125,34 +111,35 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#let todo-color = color.mix((red, 10%), (yellow, 90%))
|
#let todo-color = color.mix((red, 10%), (yellow, 90%))
|
||||||
#let todo(content) = block(
|
#let todo(content) = block(breakable: false, grid(
|
||||||
breakable: false,
|
rows: 2,
|
||||||
grid(
|
align: left,
|
||||||
rows: 2,
|
block(fill: todo-color.desaturate(60%), inset: (x: 0.5em, y: 0.35em), radius: (top: 0.25em), {
|
||||||
align: left,
|
set text(fill: black.transparentize(15%), size: 8pt, font: "Open Sans")
|
||||||
block(
|
[*TODO*]
|
||||||
fill: todo-color.desaturate(60%),
|
}),
|
||||||
inset: (x: 0.5em, y: 0.35em),
|
block(
|
||||||
radius: (top: 0.25em),
|
width: 100%,
|
||||||
{
|
fill: todo-color.desaturate(75%),
|
||||||
set text(fill: black.transparentize(15%), size: 8pt, font: "Open Sans")
|
inset: (x: 0.5em, y: 0.5em),
|
||||||
[*TODO*]
|
radius: (bottom: 0.25em, top-right: 0.25em),
|
||||||
},
|
{
|
||||||
),
|
set text(fill: black.transparentize(15%), size: 9pt, font: "Open Sans")
|
||||||
block(
|
content
|
||||||
width: 100%,
|
},
|
||||||
fill: todo-color.desaturate(75%),
|
|
||||||
inset: (x: 0.5em, y: 0.5em),
|
|
||||||
radius: (bottom: 0.25em, top-right: 0.25em),
|
|
||||||
{
|
|
||||||
set text(fill: black.transparentize(15%), size: 9pt, font: "Open Sans")
|
|
||||||
content
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
)
|
))
|
||||||
|
|
||||||
#let scr(it) = text(
|
#let scr(it) = text(features: ("ss01",), box($cal(it)$))
|
||||||
features: ("ss01",),
|
|
||||||
box($cal(it)$),
|
#let blank = {
|
||||||
)
|
$#h(0.125em) #{
|
||||||
|
rect(width: 0.8em * 1.41, height: 0.8em, stroke: 0.5pt, place(dx: -0.2em, dy: -0.55em, {
|
||||||
|
set text(size: 10pt)
|
||||||
|
|
||||||
|
$dots$
|
||||||
|
}))
|
||||||
|
} #h(0.125em)$
|
||||||
|
}
|
||||||
|
|
||||||
|
#let marker(content) = metadata(("marker", content))
|
||||||
@@ -40,8 +40,7 @@
|
|||||||
author = {Crowell, R.H. and Fox, R.H.},
|
author = {Crowell, R.H. and Fox, R.H.},
|
||||||
isbn = {9783540902720},
|
isbn = {9783540902720},
|
||||||
lccn = {77022776},
|
lccn = {77022776},
|
||||||
series = {Ecological Studies},
|
series = {Graduate Text in Mathematics},
|
||||||
url = {https://books.google.it/books?id=_1HvAAAAMAAJ},
|
|
||||||
year = {1977},
|
year = {1977},
|
||||||
publisher = {Springer New York}
|
publisher = {Springer New York}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,36 +1,24 @@
|
|||||||
#import "@preview/cetz:0.3.4"
|
#import "@preview/cetz:0.3.4"
|
||||||
|
|
||||||
#let draw-strand(polyline, style: (:)) = {
|
#let draw-strand(polyline, size-factor: 1.0, style: (:)) = {
|
||||||
import cetz.draw: *
|
import cetz.draw: *
|
||||||
|
|
||||||
set-style(
|
// draw the white outline
|
||||||
..cetz.styles.resolve(
|
set-style(..cetz.styles.resolve((stroke: (paint: white, thickness: size-factor * 0.75pt * 8, cap: "butt")), base: style))
|
||||||
(stroke: (paint: white, thickness: 0.75pt * 8, cap: "butt")),
|
|
||||||
base: style,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
polyline
|
|
||||||
set-style(
|
|
||||||
..cetz.styles.resolve(
|
|
||||||
style,
|
|
||||||
base: (stroke: (paint: black, thickness: 0.75pt, cap: "round")),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
polyline
|
polyline
|
||||||
|
|
||||||
set-style(stroke: (paint: black, thickness: 0.75pt, cap: "round"))
|
// draw the black line
|
||||||
|
set-style(..cetz.styles.resolve(style, base: (stroke: (paint: black, thickness: size-factor * 0.75pt, cap: "round"))))
|
||||||
|
polyline
|
||||||
|
// set-style(stroke: (paint: black, thickness: thickness, cap: "round"))
|
||||||
}
|
}
|
||||||
|
|
||||||
#let skein-canvas = body => cetz.canvas(
|
#let skein-canvas = (body, size-factor: 1.0) => cetz.canvas(length: size-factor * 0.25cm, padding: 0.25, {
|
||||||
length: 0.25cm,
|
import cetz.draw: *
|
||||||
padding: 0.25,
|
rect((-1, -1), (1, 1), fill: white, stroke: none)
|
||||||
{
|
|
||||||
import cetz.draw: *
|
|
||||||
rect((-1, -1), (1, 1), fill: white, stroke: none)
|
|
||||||
|
|
||||||
body
|
body
|
||||||
},
|
})
|
||||||
)
|
|
||||||
|
|
||||||
#let arrow-size = 0.35
|
#let arrow-size = 0.35
|
||||||
|
|
||||||
@@ -48,6 +36,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#let medium-scale-factor = 0.8
|
||||||
|
#let small-scale-factor = 0.125cm / 0.25cm
|
||||||
|
|
||||||
#let skein = (
|
#let skein = (
|
||||||
unit: skein-canvas({
|
unit: skein-canvas({
|
||||||
import cetz.draw: *
|
import cetz.draw: *
|
||||||
@@ -89,15 +80,50 @@
|
|||||||
draw-strand({ hobby((-1.5, +1), (-1, +1), (0.5, 0), (0.1, -1), (0, -1)) })
|
draw-strand({ hobby((-1.5, +1), (-1, +1), (0.5, 0), (0.1, -1), (0, -1)) })
|
||||||
draw-strand({ hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
|
draw-strand({ hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
|
||||||
}),
|
}),
|
||||||
|
//
|
||||||
|
// Medium
|
||||||
|
//
|
||||||
|
unit-medium: skein-canvas(size-factor: medium-scale-factor, {
|
||||||
|
import cetz.draw: *
|
||||||
|
|
||||||
|
circle((0, 0), radius: 1, stroke: (paint: black, thickness: 0.75pt))
|
||||||
|
}),
|
||||||
|
strand-medium: skein-canvas(size-factor: medium-scale-factor, {
|
||||||
|
import cetz.draw: *
|
||||||
|
rect((-1, -1), (1, 1), fill: white, stroke: none)
|
||||||
|
draw-strand(size-factor: medium-scale-factor, { hobby((-1, 0), (0, 0.25), (1, 0), omega: 1) })
|
||||||
|
}),
|
||||||
|
over-twist-medium: skein-canvas(size-factor: medium-scale-factor, {
|
||||||
|
import cetz.draw: *
|
||||||
|
draw-strand(size-factor: medium-scale-factor, { hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
|
||||||
|
draw-strand(size-factor: medium-scale-factor, { hobby((-1.5, +1), (-1, +1), (0.5, 0), (0.1, -1), (0, -1)) })
|
||||||
|
}),
|
||||||
|
under-twist-medium: skein-canvas(size-factor: medium-scale-factor, {
|
||||||
|
import cetz.draw: *
|
||||||
|
draw-strand(size-factor: small-scale-factor, { hobby((-1.5, +1), (-1, +1), (0.5, 0), (0.1, -1), (0, -1)) })
|
||||||
|
draw-strand(size-factor: small-scale-factor, { hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
|
||||||
|
}),
|
||||||
|
//
|
||||||
|
// Small
|
||||||
|
//
|
||||||
|
strand-small: skein-canvas(size-factor: small-scale-factor, {
|
||||||
|
import cetz.draw: *
|
||||||
|
rect((-1, -1), (1, 1), fill: white, stroke: none)
|
||||||
|
draw-strand(size-factor: small-scale-factor, { hobby((-1, 0), (0, 0.25), (1, 0), omega: 1) })
|
||||||
|
}),
|
||||||
|
over-twist-small: skein-canvas(size-factor: small-scale-factor, {
|
||||||
|
import cetz.draw: *
|
||||||
|
draw-strand(size-factor: small-scale-factor, { hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
|
||||||
|
draw-strand(size-factor: small-scale-factor, { hobby((-1.5, +1), (-1, +1), (0.5, 0), (0.1, -1), (0, -1)) })
|
||||||
|
}),
|
||||||
|
under-twist-small: skein-canvas(size-factor: small-scale-factor, {
|
||||||
|
import cetz.draw: *
|
||||||
|
draw-strand(size-factor: small-scale-factor, { hobby((-1.5, +1), (-1, +1), (0.5, 0), (0.1, -1), (0, -1)) })
|
||||||
|
draw-strand(size-factor: small-scale-factor, { hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
|
||||||
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
#let skein-generic(kind: "over", direction: (+1, +1), arrows: (true, true), styles: ((:), (:))) = {
|
||||||
#let skein-generic(
|
|
||||||
kind: "over",
|
|
||||||
direction: (+1, +1),
|
|
||||||
arrows: (true, true),
|
|
||||||
styles: ((:), (:)),
|
|
||||||
) = {
|
|
||||||
skein-canvas({
|
skein-canvas({
|
||||||
import cetz.draw: *
|
import cetz.draw: *
|
||||||
if kind == "over" {
|
if kind == "over" {
|
||||||
|
|||||||
@@ -60,7 +60,6 @@
|
|||||||
// top: 4.5cm,
|
// top: 4.5cm,
|
||||||
// bottom: 3.5cm,
|
// bottom: 3.5cm,
|
||||||
),
|
),
|
||||||
|
|
||||||
header-ascent: 1cm,
|
header-ascent: 1cm,
|
||||||
header: context {
|
header: context {
|
||||||
let i = counter(page).get().first()
|
let i = counter(page).get().first()
|
||||||
@@ -68,14 +67,10 @@
|
|||||||
set text(size: script-size)
|
set text(size: script-size)
|
||||||
align(center, upper(page-title))
|
align(center, upper(page-title))
|
||||||
},
|
},
|
||||||
|
|
||||||
footer-descent: 1cm,
|
footer-descent: 1cm,
|
||||||
footer: context {
|
footer: context {
|
||||||
let i = counter(page).get().first()
|
let i = counter(page).get().first()
|
||||||
align(
|
align(center, [#i])
|
||||||
center,
|
|
||||||
[#i],
|
|
||||||
)
|
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -90,19 +85,8 @@
|
|||||||
|
|
||||||
let heading-size = heading-level-size(it.level)
|
let heading-size = heading-level-size(it.level)
|
||||||
|
|
||||||
set text(
|
set text(size: heading-size, fill: luma(10%), weight: 600, top-edge: "bounds", bottom-edge: "baseline")
|
||||||
size: heading-size,
|
set par(spacing: 0pt, hanging-indent: 0pt, first-line-indent: 0pt)
|
||||||
fill: luma(10%),
|
|
||||||
weight: 600,
|
|
||||||
top-edge: "bounds",
|
|
||||||
bottom-edge: "baseline",
|
|
||||||
)
|
|
||||||
set par(
|
|
||||||
spacing: 0pt,
|
|
||||||
hanging-indent: 0pt,
|
|
||||||
first-line-indent: 0pt,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
if it.level == 1 {
|
if it.level == 1 {
|
||||||
if counter(heading).get() != (0,) {
|
if counter(heading).get() != (0,) {
|
||||||
@@ -111,20 +95,14 @@
|
|||||||
|
|
||||||
stack(
|
stack(
|
||||||
dir: ttb,
|
dir: ttb,
|
||||||
..(
|
..(if counter(heading).get() != (0,) {
|
||||||
if counter(heading).get() != (0,) {
|
(layout(size => v(size.height * 25%)), {
|
||||||
(
|
set text(size: heading-level-size(3))
|
||||||
layout(size => v(size.height * 25%)),
|
[Capitolo ]
|
||||||
{
|
set text(size: heading-level-size(2))
|
||||||
set text(size: heading-level-size(3))
|
counter(heading).display("1")
|
||||||
[Capitolo ]
|
}, v(heading-size * 0.61),)
|
||||||
set text(size: heading-level-size(2))
|
}),
|
||||||
counter(heading).display("1")
|
|
||||||
},
|
|
||||||
v(heading-size * 0.61),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
),
|
|
||||||
line(length: 100%),
|
line(length: 100%),
|
||||||
v(heading-size * 0.61),
|
v(heading-size * 0.61),
|
||||||
align(right, it.body),
|
align(right, it.body),
|
||||||
@@ -169,10 +147,7 @@
|
|||||||
show math.equation: set block(below: normal-size * 1.5, above: normal-size * 1.5)
|
show math.equation: set block(below: normal-size * 1.5, above: normal-size * 1.5)
|
||||||
show math.equation: set text(weight: 400)
|
show math.equation: set text(weight: 400)
|
||||||
|
|
||||||
set math.equation(
|
set math.equation(numbering: "(1)", supplement: none)
|
||||||
numbering: "(1)",
|
|
||||||
supplement: none,
|
|
||||||
)
|
|
||||||
|
|
||||||
show math.equation: it => {
|
show math.equation: it => {
|
||||||
if it.block and not it.has("label") [
|
if it.block and not it.has("label") [
|
||||||
@@ -194,33 +169,20 @@
|
|||||||
show raw.where(block: false): it => {
|
show raw.where(block: false): it => {
|
||||||
set text(size: 7.25pt, fill: luma(7%))
|
set text(size: 7.25pt, fill: luma(7%))
|
||||||
|
|
||||||
box(
|
box(outset: (x: 2pt, y: 3pt), fill: luma(92%), radius: 3pt, it)
|
||||||
outset: (x: 2pt, y: 3pt),
|
|
||||||
fill: luma(92%),
|
|
||||||
radius: 3pt,
|
|
||||||
it,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
show raw.where(block: true): it => block(
|
show raw.where(block: true): it => block(outset: (x: 2pt, y: 3pt), fill: luma(92%), radius: 4pt, inset: 4pt, it)
|
||||||
outset: (x: 2pt, y: 3pt),
|
|
||||||
fill: luma(92%),
|
|
||||||
radius: 4pt,
|
|
||||||
inset: 4pt,
|
|
||||||
it,
|
|
||||||
)
|
|
||||||
|
|
||||||
set std.bibliography(
|
set std.bibliography(style: "ieee", title: none)
|
||||||
style: "ieee",
|
|
||||||
title: none,
|
|
||||||
)
|
|
||||||
|
|
||||||
set figure(gap: 17pt)
|
set figure(gap: 1em)
|
||||||
show figure: set block(above: 1.5em, below: 1.5em)
|
show figure: set block(above: 1.5em, below: 1.5em)
|
||||||
show figure: it => {
|
show figure: it => {
|
||||||
// Customize the figure's caption.
|
// Customize the figure's caption.
|
||||||
show figure.caption: caption => {
|
show figure.caption: caption => block(inset: (x: 1.4em), {
|
||||||
set text(size: small-size)
|
set align(left)
|
||||||
|
set text(size: 10.5pt)
|
||||||
smallcaps(caption.supplement)
|
smallcaps(caption.supplement)
|
||||||
if caption.numbering != none {
|
if caption.numbering != none {
|
||||||
[ ]
|
[ ]
|
||||||
@@ -228,10 +190,10 @@
|
|||||||
}
|
}
|
||||||
[. ]
|
[. ]
|
||||||
caption.body
|
caption.body
|
||||||
}
|
})
|
||||||
|
|
||||||
// We want a bit of space around tables and images.
|
// We want a bit of space around tables and images.
|
||||||
show selector.or(table, image): pad.with(x: 23pt)
|
show selector.or(table, image): pad.with(x: 2em)
|
||||||
|
|
||||||
// Display the figure's body and caption.
|
// Display the figure's body and caption.
|
||||||
it
|
it
|
||||||
@@ -346,102 +308,66 @@
|
|||||||
show ref: it => {
|
show ref: it => {
|
||||||
if it.element != none {
|
if it.element != none {
|
||||||
let el = it.element
|
let el = it.element
|
||||||
if el == figure {
|
if el.func() == figure and (el.kind == "definition" or el.kind == "proposition" or el.kind == "lemma" or el.kind == "theorem") {
|
||||||
if el.kind == "proposition" or el.kind == "lemma" or el.kind == "theorem" {
|
link(el.location(), {
|
||||||
link(
|
if it.supplement != auto { it.supplement } else { el.supplement }
|
||||||
el.location(),
|
[ ]
|
||||||
{
|
(
|
||||||
if it.supplement != auto { it.supplement } else { el.supplement }
|
..counter(heading).at(el.location()).slice(0, 1).map(it => str(it)),
|
||||||
[ ]
|
numbering(el.numbering, ..el.counter.at(el.location())),
|
||||||
(
|
).join(".")
|
||||||
..counter(heading).at(el.location()).slice(0, 1).map(it => str(it)),
|
})
|
||||||
numbering(el.numbering, ..el.counter.at(el.location())),
|
} else if el.func() == metadata and type(el.value) == array and el.value.at(0) == "marker" {
|
||||||
).join(".")
|
link(el.location(), el.value.at(1))
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
it
|
repr(it)
|
||||||
}
|
}
|
||||||
} else if it.citation != none {
|
} else if it.citation != none {
|
||||||
it
|
it
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// show ref: it => {
|
||||||
|
// set text(fill: white)
|
||||||
|
// box(fill: red, outset: (y: 0.5em), it)
|
||||||
|
// }
|
||||||
|
|
||||||
// First thesis page
|
// First thesis page
|
||||||
context {
|
context {
|
||||||
set align(center + horizon)
|
set align(center + horizon)
|
||||||
set text(size: 14pt)
|
set text(size: 14pt)
|
||||||
set page(
|
set page(margin: 0pt, header: none, footer: none)
|
||||||
margin: 0pt,
|
|
||||||
header: none,
|
|
||||||
footer: none,
|
|
||||||
)
|
|
||||||
|
|
||||||
// show text: it => box(stroke: 1pt + red, it)
|
// show text: it => box(stroke: 1pt + red, it)
|
||||||
// show grid: it => box(stroke: 1pt + red, it)
|
// show grid: it => box(stroke: 1pt + red, it)
|
||||||
|
|
||||||
grid(
|
grid(columns: 1, image("assets/unipi.svg", width: 5cm), v(2em), {
|
||||||
columns: 1,
|
set text(size: 18pt)
|
||||||
image("assets/unipi.svg", width: 5cm),
|
smallcaps[Università di Pisa]
|
||||||
v(2em),
|
}, v(1em), {
|
||||||
{
|
line(length: 5.25cm)
|
||||||
set text(size: 18pt)
|
}, v(1em), [
|
||||||
smallcaps[Università di Pisa]
|
*Dipartimento di Matematica \ Corso di Laurea Triennale in Matematica*
|
||||||
},
|
], v(6em), {
|
||||||
|
[Tesi di Laurea]
|
||||||
|
}, v(1em), {
|
||||||
|
set text(size: 18pt)
|
||||||
|
strong(page-title)
|
||||||
|
}, v(15em), {
|
||||||
|
block(width: 12cm, grid(columns: (1fr, 1fr), {
|
||||||
|
set align(left)
|
||||||
|
|
||||||
v(1em),
|
[Relatore: \ *Prof. Paolo Lisca*]
|
||||||
{
|
}, {
|
||||||
line(length: 5.25cm)
|
set align(right)
|
||||||
},
|
|
||||||
|
|
||||||
v(1em),
|
[Candidato: \ *Antonio De Lucreziis*]
|
||||||
[
|
}))
|
||||||
*Dipartimento di Matematica \ Corso di Laurea Triennale in Matematica*
|
}, v(6em), {
|
||||||
],
|
line(length: 6cm)
|
||||||
|
}, v(1em), [
|
||||||
v(6em),
|
*Anno Accademico 2024/2025*
|
||||||
{
|
])
|
||||||
[Tesi di Laurea]
|
|
||||||
},
|
|
||||||
|
|
||||||
v(1em),
|
|
||||||
{
|
|
||||||
set text(size: 18pt)
|
|
||||||
strong(page-title)
|
|
||||||
},
|
|
||||||
|
|
||||||
v(15em),
|
|
||||||
{
|
|
||||||
block(
|
|
||||||
width: 12cm,
|
|
||||||
grid(
|
|
||||||
columns: (1fr, 1fr),
|
|
||||||
{
|
|
||||||
set align(left)
|
|
||||||
|
|
||||||
[Relatore: \ *Prof. Paolo Lisca*]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
set align(right)
|
|
||||||
|
|
||||||
[Candidato: \ *Antonio De Lucreziis*]
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
|
||||||
},
|
|
||||||
|
|
||||||
v(6em),
|
|
||||||
{
|
|
||||||
line(length: 6cm)
|
|
||||||
},
|
|
||||||
|
|
||||||
v(1em),
|
|
||||||
[
|
|
||||||
*Anno Accademico 2024/2025*
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
pagebreak()
|
pagebreak()
|
||||||
}
|
}
|
||||||
@@ -459,43 +385,26 @@
|
|||||||
// },
|
// },
|
||||||
// )
|
// )
|
||||||
|
|
||||||
|
grid(rows: (auto, 1fr, 2fr), align: center + horizon, v(2em), {
|
||||||
|
if abstract != none {
|
||||||
|
pad(x: 2em, grid(columns: 1, {
|
||||||
|
set text(size: 16pt)
|
||||||
|
|
||||||
grid(
|
[*Abstract*]
|
||||||
rows: (auto, 1fr, 2fr),
|
}, v(1em), {
|
||||||
align: center + horizon,
|
set align(start)
|
||||||
v(2em),
|
abstract
|
||||||
{
|
}))
|
||||||
if abstract != none {
|
}
|
||||||
pad(
|
}, {
|
||||||
x: 2em,
|
set text(size: 16pt)
|
||||||
grid(
|
[*Indice*]
|
||||||
columns: 1,
|
|
||||||
{
|
|
||||||
set text(size: 16pt)
|
|
||||||
|
|
||||||
[*Abstract*]
|
v(0.25em)
|
||||||
},
|
|
||||||
|
|
||||||
v(1em),
|
|
||||||
{
|
|
||||||
set align(start)
|
|
||||||
abstract
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
set text(size: 16pt)
|
|
||||||
[*Indice*]
|
|
||||||
|
|
||||||
v(0.25em)
|
|
||||||
|
|
||||||
set text(size: 12pt)
|
|
||||||
outline(title: none, depth: 2, indent: 1em)
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
|
set text(size: 12pt)
|
||||||
|
outline(title: none, depth: 2, indent: 1em)
|
||||||
|
})
|
||||||
|
|
||||||
context { counter("fact").update(2) }
|
context { counter("fact").update(2) }
|
||||||
|
|
||||||
|
|||||||