From e0d007d99e90f5d75ea2252b6e2fe262f880ef51 Mon Sep 17 00:00:00 2001 From: Erik Grobecker Date: Sun, 20 Oct 2024 15:41:29 +0200 Subject: [PATCH] plotting and some other stuff --- .gitmodules | 6 +++ README.md | 4 ++ schule/philosophie/PL_2024-10-01.typ | 2 +- template.typ | 6 +-- testing/cetz-plot.typ | 55 +++++++++++++++++++++++ testing/cetz.png | Bin 0 -> 58341 bytes testing/cetz.typ | 65 +++++++++++++++++++++++++++ 7 files changed, 134 insertions(+), 4 deletions(-) create mode 100644 .gitmodules create mode 100644 testing/cetz-plot.typ create mode 100644 testing/cetz.png create mode 100644 testing/cetz.typ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..fba375a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "libs/cetz-plot"] + path = libs/cetz-plot + url = https://github.com/cetz-package/cetz-plot +[submodule "libs/cetz"] + path = libs/cetz + url = https://github.com/cetz-package/cetz diff --git a/README.md b/README.md index e23b501..d3a9498 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ # Random Typstery +![Gitea Issues](https://img.shields.io/gitea/issues/open/erik/typst?gitea_url=https%3A%2F%2Fgit.grobecker.me&style=for-the-badge) +![Gitea Last Commit](https://img.shields.io/gitea/last-commit/erik/typst?gitea_url=https%3A%2F%2Fgit.grobecker.me&style=for-the-badge) + + In diesem Projekt schreibe ich zufällige Sachen(meisten für die Schule) mit [typst](https://typst.app),\ diese sind gestützt von meiner [Vorlage](./template.typ) welche ich immer weiter verbessern werde. diff --git a/schule/philosophie/PL_2024-10-01.typ b/schule/philosophie/PL_2024-10-01.typ index 25de654..b740a98 100644 --- a/schule/philosophie/PL_2024-10-01.typ +++ b/schule/philosophie/PL_2024-10-01.typ @@ -52,7 +52,7 @@ Kritik an der Theorie der Demokratie\ #pagebreak() = Programm der AFD -#link("https://archive.is/O9chQ")[siehe hier] #footnote[_würg_] Punkt 6,7 & 8 +#link("https://archive.is/O9chQ")[siehe hier] #footnote[_würg_] Punkt 6, 7 & 8 *Aufgabe:* wie hat die AFD vor Minderheiten zu marginalisieren? diff --git a/template.typ b/template.typ index 0201e09..51fe53a 100644 --- a/template.typ +++ b/template.typ @@ -34,10 +34,10 @@ #show link: set text(rgb("#1470da")) // here are replacements for commonly used shortcuts - #show "z.B.": text[zum Beispiel] - #show "zb": "zumb Beispiel" + #show "z.B.": "zum Beispiel" + #show "zb": "zum Beispiel" #show "vllt": "vielleicht" #show "CO2": $"CO"_2$ - #body // IMPORTANT: must be at the very bottom, ekse the body will be overwritten + #body // IMPORTANT: must be at the very bottom, else the body will be overwritten ] \ No newline at end of file diff --git a/testing/cetz-plot.typ b/testing/cetz-plot.typ new file mode 100644 index 0000000..4f8a254 --- /dev/null +++ b/testing/cetz-plot.typ @@ -0,0 +1,55 @@ +#import "@preview/cetz:0.2.2" + +#set page(width: auto, height: auto, margin: .5cm) + +#show math.equation: block.with(fill: white, inset: 1pt) //for not showing the grid on math + +#cetz.canvas(length: 3cm, { + import cetz.draw: * + + set-style( + mark: (fill: black, scale: 2), + stroke: (thickness: 0.4pt, cap: "round"), + angle: ( + radius: 0.3, + label-radius: .22, + fill: green.lighten(80%), + stroke: (paint: green.darken(50%)) + ), + content: (padding: 1pt) + ) + + grid((-1.5, -1.5), (1.4, 1.4), step: 0.5, stroke: gray + 0.2pt) + + circle((0,0), radius: 1) + + line((-1.5, 0), (1.5, 0), mark: (end: "stealth")) + content((), $ x $, anchor: "west") + line((0, -1.5), (0, 1.5), mark: (end: "stealth")) + content((), $ y $, anchor: "south") + + for (x, ct) in ((-1, $ -1 $), (-0.5, $ -1/2 $), (1, $ 1 $)) { + line((x, 3pt), (x, -3pt)) + content((), anchor: "north", ct) + } + + for (y, ct) in ((-1, $ -1 $), (-0.5, $ -1/2 $), (0.5, $ 1/2 $), (1, $ 1 $)) { + line((3pt, y), (-3pt, y)) + content((), anchor: "east", ct) + } + + // Draw the green angle + cetz.angle.angle((0,0), (1,0), (1, calc.tan(30deg)), + label: text(green, [#sym.alpha])) + + line((0,0), (1, calc.tan(30deg))) + + set-style(stroke: (thickness: 1.2pt)) + + line((30deg, 1), ((), "|-", (0,0)), stroke: (paint: red), name: "sin") + content(("sin.start", 50%, "sin.end"), text(red)[$ sin alpha $]) + line("sin.end", (0,0), stroke: (paint: blue), name: "cos") + content(("cos.start", 50%, "cos.end"), text(blue)[$ cos alpha $], anchor: "north") + line((1, 0), (1, calc.tan(30deg)), name: "tan", stroke: (paint: orange)) + content("tan.end", $ text(#orange, tan alpha) = text(#red, sin alpha) / text(#blue, cos alpha) $, anchor: "west") +}) \ No newline at end of file diff --git a/testing/cetz.png b/testing/cetz.png new file mode 100644 index 0000000000000000000000000000000000000000..b1dea886fbea5fa5b819a7effa6e752f76379ed4 GIT binary patch literal 58341 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 calc.cos(x + calc.pi)) +// }) +// }) + +// #canvas(length: 1cm, { +// plot.plot(size: (-10, 10), +// {}, +// ) +// }) + + +#import "@preview/cetz:0.2.2" +// #cetz.canvas({ +// import cetz.draw: * +// import cetz.plot +// plot.plot(size: (2,2), x-tick-step: 2, y-tick-step: 2, x-equal: "y", +// { +// plot.add(((0,0), (1,1), (2,.5), (4,3))) +// plot.add(domain: (0, 2 * calc.pi), +// t => (calc.cos(t), calc.sin(t)) +// ) +// }) +// }) + +#cetz.canvas({ + import cetz.draw: * + import cetz.plot + plot.plot(size: (10, 4), x-tick-step: 2, y-tick-step: 50, + { + plot.add(domain: (-4, 4), + x => (x, calc.pow(x, 4) ), + label: $f(x)=x^4$ + ) + plot.add(domain: (-5, 6.34), + x => (x, calc.pow(x, 3)), + label: $f(x)=x^3$ + ) + plot.add(domain: (-10, 10), + x => (x, calc.pow(x, 2)), + label: $f(x) = x^2$ + ) + }) +}) \ No newline at end of file