From 5016c6ae91830683b1309f455c980db8ee97a966 Mon Sep 17 00:00:00 2001 From: fredrikr79 Date: Sun, 12 Oct 2025 18:44:10 +0200 Subject: [PATCH] ex8: init --- exercise8/lib.typ | 33 +++++++++++++++++++++++++++++++++ exercise8/main.typ | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 exercise8/lib.typ create mode 100644 exercise8/main.typ diff --git a/exercise8/lib.typ b/exercise8/lib.typ new file mode 100644 index 0000000..4cd6078 --- /dev/null +++ b/exercise8/lib.typ @@ -0,0 +1,33 @@ +#let title(cont, size: 18pt) = align(center)[ + #text(size: size * 2, weight: "bold")[#underline[#cont]] +] + +#let butcher(s, nums) = { + let nums = nums.map(x => if type(x) == float or type(x) == int { + $#x$ + } else { x }) + table( + stroke: (x, y) => if x == 0 and y == s { + (right: 0.7pt + black, top: 0.7pt + black) + } else if x == 0 { + (right: 0.7pt + black) + } else if y == s { + (top: 0.7pt + black) + }, + align: (x, y) => ( + if x > 0 { center } else { left } + ), + columns: s + 1, + $0$, ..range(s).map(x => none), // first row + ..range(2, s + 1) + .map(i => { + let p(i) = calc.floor(i * i / 2 + i / 2 - 1) + ( + nums.slice(p(i - 1), p(i - 1) + i), + range(i, s + 1).map(x => none), + ).flatten() + }) + .flatten(), + none, ..nums.rev().slice(0, s).rev() // last row + ) +} diff --git a/exercise8/main.typ b/exercise8/main.typ new file mode 100644 index 0000000..8d9e0bb --- /dev/null +++ b/exercise8/main.typ @@ -0,0 +1,36 @@ +#import "lib.typ" + +#let FONT_SIZE = 18pt; + +#set page(paper: "a4", margin: (x: 2.6cm, y: 2.8cm), numbering: "1 : 1") +#set par(justify: true, leading: 0.52em) + +#set text(font: "FreeSerif", size: FONT_SIZE, lang: "us") +#show math.equation: set text( + font: "Euler Math", + size: (FONT_SIZE * 1.0), + lang: "en", +) + +#set heading(numbering: none) +#show heading.where(level: 1): it => { + rect(inset: FONT_SIZE / 2)[#it] +} + +these are my solutions to the eighth exercise set of TMA4135. + +this document was created using +#link("https://typst.app/")[#text(blue.darken(5%))[typst]]. + +#lib.title(size: FONT_SIZE)[exercise 7] + +\ + +#outline(title: none) + +#pagebreak() + += problem 1 + +#include "problem1.typ" +