Skip to content

Commit ec6dbc1

Browse files
committed
Ergänzungen bei Lilaq
1 parent 5ed18f5 commit ec6dbc1

File tree

2 files changed

+43
-12
lines changed

2 files changed

+43
-12
lines changed

_lib.typ

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,8 @@
492492
)
493493

494494
// Hier wählen wir den Font, der für Codeblöcke (raw) genutzt werden soll:
495-
show raw: set text(font: "JetBrains Mono", size: config.document.code-font-size)
495+
show raw: set text(font: "JetBrains Mono",
496+
size: config.document.code-font-size)
496497

497498
// Styling für INLINE Code (in Backticks `...`)
498499
// Wir nutzen 'box', damit es im Textfluss bleibt.
@@ -504,6 +505,7 @@
504505
it
505506
)
506507

508+
507509
// Codly Initialisierung
508510
show: codly-init.with()
509511

@@ -516,13 +518,15 @@
516518
radius: 4pt, // Ecken: Abgerundet
517519
inset: 0.32em,
518520
lang-inset: 0.5em,
519-
lang-outset: (x: 0.2em, y: 0.4em),
521+
lang-outset: (x: 0.5em, y: 0.0em),
520522
display-icon: true,
521523
display-name: true, // Zeigt den Namen der Sprache an
522524
number-align: right,
523525
number-format: (n) => text(fill: config.colors.codly.line-numbers, size: 8pt, str(n)), // Nummer-Style
524526
)
525527

528+
//show raw.where(block: true): it => pad(x: 1.5em, it)
529+
526530
title[#theTitle]
527531
align(center)[
528532
#authors \

typst-demo-stefan-1.typ

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -935,7 +935,10 @@ Wohingegen ein Licht, das wir als "kühl" (weil bläulicher) bezeichnen würden
935935

936936

937937
== Lilaq <lilaq>
938-
Für Typst gibt es viele importierbare Pakete, die die Möglichkeiten von Typst erweitern. Ein Paket, mit dem man gut Diagramme zeichnen kann, heißt _Lilaq_. Die folgenden Diagramme sind mit Hilfe von _Lilaq_ entstanden.
938+
Für Typst gibt es viele importierbare Pakete, die die Möglichkeiten von Typst erweitern. Ein Paket, mit dem man gut Diagramme zeichnen kann, heißt _Lilaq_. Die folgenden Diagramme sind mit Hilfe von _Lilaq_ entstanden. Dazu muss das Paket zu Beginn einmal importiert werden:
939+
```typ
940+
#import "@preview/lilaq:0.5.0" as lq
941+
```
939942

940943
#let xs = (0, 1, 2, 3, 4)
941944

@@ -953,7 +956,8 @@ Für Typst gibt es viele importierbare Pakete, die die Möglichkeiten von Typst
953956
lq.plot(xs, x => 2*calc.cos(x)+3, mark: "o", label: [B])
954957
)]
955958
)
956-
Dazu jeweils der Typst-Code:
959+
Dazu jeweils der Typst-Code (natürlich wurde die Variable `xs` nur _einmal_ definiert):
960+
957961
#grid(
958962
columns: (1fr, 1fr),
959963
stroke: 0.0pt + gray,
@@ -981,9 +985,9 @@ Dazu jeweils der Typst-Code:
981985
]
982986
)
983987

984-
#v(1cm)
988+
#v(0.5cm)
985989

986-
Ein bisschen anspruchsvoller geht es auch, man beachte z.B. die x-Achsen-Beschriftung und die überlagerte, leicht transparente Legende im folgenden Diagramm.
990+
Ein bisschen anspruchsvoller geht es auch, man beachte z.B. die x-Achsen-Beschriftung im folgenden Diagramm.
987991

988992
#let xs = lq.linspace(-2*calc.pi, 2*calc.pi, num: 40)
989993
#let ys1 = xs.map(x => calc.sin(x))
@@ -1007,6 +1011,32 @@ Ein bisschen anspruchsvoller geht es auch, man beachte z.B. die x-Achsen-Beschri
10071011
caption: "Ein Diagramm, erzeugt mit Hilfe des Lilaq Pakets"
10081012
)
10091013

1014+
Hier wurde wieder die Typst Funktion `figure()` – bekannt aus @abbildungen – um das Lilaq-Diagramm angewendet, damit wir eine Bildunterschrift und die automatische Nummerierung haben. Der Quellcode ist nicht besonders kompliziert:
1015+
```typ
1016+
#let xs = lq.linspace(-2*calc.pi, 2*calc.pi, num: 40)
1017+
#let ys1 = xs.map(x => calc.sin(x))
1018+
#let ys2 = xs.map(x => calc.cos(x))
1019+
1020+
#figure(
1021+
lq.diagram(
1022+
width: 14cm,
1023+
height: 5cm,
1024+
title: [Trigonometrische Funktionen],
1025+
xlim: (-2*calc.pi, 2*calc.pi),
1026+
xaxis: (
1027+
locate-ticks: lq.tick-locate.linear.with(unit: calc.pi),
1028+
format-ticks: lq.tick-format.linear.with(suffix: $pi$)
1029+
),
1030+
xlabel: $x$,
1031+
ylabel: $y$,
1032+
lq.plot(xs, ys1, color: blue, label: $sin (x)$),
1033+
lq.plot(xs, ys2, mark: "star", label: $cos(x)$, color: orange),
1034+
),
1035+
caption: "Ein Diagramm, erzeugt mit Hilfe des Lilaq Pakets"
1036+
)
1037+
```
1038+
1039+
10101040
#pagebreak()
10111041
== Programmierte Grafiken <programmierung>
10121042

@@ -1029,7 +1059,6 @@ Die folgende *Koch'sche Schneeflocken-Kurve* wurde hier nicht als Bitmap und auc
10291059

10301060
Um diese Grafik hier im Dokument selbst erzeugen zu können (und eben _nicht_ als Grafikdatei mit fixer Auflösung einzubetten), ist die Erzeugung als Funktion realisiert. Hier – für den interessierten Leser – der Typst Quellcode dazu:
10311061

1032-
#code-box[
10331062
```typ
10341063
#let koch-snowflake(n) = {
10351064
let complex-add(c1, c2) = { c1.zip(c2).map(array.sum) }
@@ -1055,11 +1084,9 @@ Um diese Grafik hier im Dokument selbst erzeugen zu können (und eben _nicht_ al
10551084
return koch-snowflake-impl(n)
10561085
}
10571086
```
1058-
]
10591087

10601088
Das tatsächliche Erzeugen der Grafik im Dokument erfolgt dann über diese Typst Syntax im Dokument:
10611089

1062-
#code-box[
10631090
```typ
10641091
#figure(
10651092
lq.diagram(
@@ -1074,7 +1101,7 @@ Das tatsächliche Erzeugen der Grafik im Dokument erfolgt dann über diese Typst
10741101
caption: [Koch'sche Schneeflocke (ein Fraktal)]
10751102
)
10761103
```
1077-
]
1104+
10781105
Dabei wurde wieder – wie schon bei den einfachen Diagramm-Beispielen in @lilaq das Paket _Lilaq_ benutzt.
10791106

10801107
=== Die Collatz Zahlenfolge
@@ -1167,9 +1194,9 @@ Alle drei Funktionen sind ebenfalls im Typst Quelldokument implementiert, aber z
11671194
Aber dieses Typst Quelldokument ist ja Open Source und #link("https://github.com/metawops/typst")[liegt auf Github], so dass man jederzeit reinschauen kann, wenn man sich für die Implementierungsdetails interessiert. Die Funktionen habe ich übrigens in die Hilfs-/Library-Typst-Datei `_lib.typ` ausgelagert, damit sie das eigentliche Quelldokument nicht zu unübersichtlich werden lassen.
11681195

11691196
== Diagramme mit Zusatzpaketen
1170-
Es gibt nahezu 500 #link("https://typst.app/universe/search/?kind=packages")[Zusatzpakete für Typst], darunter zahlreiche, die beim Erzeugen von Diagrammen helfen.
1197+
Es gibt nahezu 500 #link("https://typst.app/universe/search/?kind=packages")[Zusatzpakete für Typst], darunter zahlreiche, die beim Erzeugen von Diagrammen helfen. In @lilaq haben wir bereits eins kennengelernt: Lilaq.
11711198

1172-
Ich habe mal beispielhaft das Paket #link("https://github.com/solstice23/typst-ribbony")[_Ribbony_] herausgepickt. Damit kann man u.a. ein sogenanntes _Sankey Diagramm_ erzeugen:
1199+
Ein weiteres Beispiel ist das Paket #link("https://github.com/solstice23/typst-ribbony")[_Ribbony_]. Damit kann man u.a. ein sogenanntes _Sankey Diagramm_ erzeugen:
11731200

11741201
//#import "@preview/ribbony:0.1.0": *
11751202

0 commit comments

Comments
 (0)