Typst-Elemente
Diese Seite gibt eine vollständige Übersicht über die für inf-schule definierten Typst-Elemente. Sie stehen zur Verfügung, sobald das Template eingebunden ist:
#import "/assets/typ/templateDefault.typ": *
loesung entgegen. Er wird
im Arbeitsblatt nicht ausgegeben und erscheint nur in der Musterlösung. Wie
diese erzeugt wird, steht auf der Seite "Einbindung und Arbeitsweise".
Der Dokumentrahmen
doc – Rahmen des Arbeitsblatts
- Umschließt den gesamten Inhalt und setzt Seitenränder, Kopf- und Fußzeile (mit Name/Datum-Feldern und Logo).
- Parameter
title: Titel in der Kopfzeile. - Parameter
art: bestimmt den Bearbeitungsmodus und damit die Farbgebung:-
"Erarbeitung"(Standard) – blau, -
"Übung"– grün, -
"Sicherung"– rot (typisch für einen Wissensspeicher).
-
- Parameter
code: Kürzel für den inf-schule-Shortlink/QR-Code in Kopf- und Fußzeile.
#doc(title: "Wissensspeicher Klassen", art: "Sicherung", code: "abcd")[
// ... Inhalt ...
]
blattTitel – Überschrift im inf-schule-Stil
- Zentrierte Überschrift. Parameter:
string(Text), optionaltextsize(Standard: 30pt).
#blattTitel("Das World Wide Web")
#blattTitel("Kleinere Überschrift", textsize: 18pt)
Überschriften innerhalb des Blatts
ueberschriftLernstrecke – große Abschnittsüberschrift
- Große, farbige Überschrift (Farbe je nach Modus).
#ueberschriftLernstrecke("Wissensspeicher Netzwerk")
ueberschriftAbschnitt – kleinere Überschrift
- Kleinere, farbige Überschrift. Optional
optional: true(markiert einen Zusatz-Abschnitt) undcolor.
#ueberschriftAbschnitt("Vertiefung", optional: true)
Boxen
titelbox – Standardisierte Textbox
- Erster Parameter: Überschrift (weiße Schrift auf farbigem Balken, Farbe je nach Modus).
- Jedes weitere Argument bildet eine eigene Spalte innerhalb der Box.
#titelbox("Aufgaben",
[1) Erkläre den Begriff „Website“.],
[2) Nenne zwei Browser.]
)
#titelbox("Eine Spalte")[Inhalt der Box]
information – Infobox
- Hellblaue Box mit i-Symbol für Hinweise.
#information[Dieses Arbeitsblatt kannst du ausdrucken oder digital ausfüllen.]
plain – schlichte Box
- Graue Box ohne Symbol.
#plain[Ein neutraler Hinweis ohne besondere Auszeichnung.]
sicherung – Wissensbox
- Rote Box mit Überschrift (Standard: Wissen) zum Festhalten von
Ergebnissen. Optional
ueberschrift. - Mit
loesungwird der Inhalt in der Musterlösung ersetzt: Im Arbeitsblatt stehen dort Schreiblinien, in der Musterlösung der ausformulierte Merksatz.
#sicherung[Ein Objekt ist ein Exemplar einer Klasse.]
#sicherung(ueberschrift: "Merke")[...]
#sicherung(loesung: [Wiederholungen heißen auch Schleifen.])[
#ausfuellText(anzahlLinien: 2)
]
zielsetzung – Zielbox
- Box für die Lernziele einer Einheit.
#zielsetzung[In dieser Einheit lernst du, was Klassen und Objekte sind.]
Hervorhebungen
fachbegriff – Fachbegriff hervorheben
- Setzt den Begriff fett und in der Akzentfarbe Rot.
Ein #fachbegriff("Objekt") ist ein Exemplar einer #fachbegriff("Klasse").
Aufgaben
aufgabe – nummerierte Aufgabe
- Erstellt eine Aufgabe mit Nummer (oder Buchstabe) in einem farbigen Kreis.
- Optionale Parameter:
optional: true(Zusatzaufgabe, mit Stern),gruppe: true(Gruppenarbeit-Symbol),gridView: true(mehrere Teilaufgaben nebeneinander). - Mehrere Argumente werden zu Teilaufgaben a), b), c) …
#aufgabe(1)[Erkläre den Begriff „Objekt“.]
#aufgabe(2, optional: true)[Finde ein eigenes Beispiel.]
#aufgabe(3,
[Nenne drei Browser.],
[Ordne sie nach Verbreitung.],
)
Lösungen zu Aufgaben
-
loesungals Parameter gilt für die gesamte Aufgabe. - Teilaufgaben tragen ihre Lösung im Dictionary:
(content: [...], loesung: [...]). Dort ist auchoptional: truemöglich. - Lösungen ersetzen die Aufgabe nicht, sondern stehen zusätzlich darunter – beim Korrigieren braucht man beides.
#aufgabe(1, loesung: [Ein Objekt ist ein Exemplar einer Klasse.])[
Erkläre den Unterschied zwischen Klasse und Objekt.
]
#aufgabe(2,
(content: [Berechne $3 + 4$.], loesung: [$7$]),
(content: [Begründe, warum die Reihenfolge egal ist.],
loesung: [Wegen des Kommutativgesetzes der Addition.]),
)
Ausfüll-Elemente
Diese Elemente sind der Kern eines Wissensspeichers: Im Ausdruck bleiben sie leer zum Ausfüllen, in der Musterlösung werden die hinterlegten Antworten angezeigt.
schreiblinie – Schreiblinie
- Der Klammer-Inhalt wird als Beschriftung über die Linie gesetzt.
- Mit
lengthwird die Linienlänge festgelegt (Standard: 100%). -
loesungschreibt den Lösungstext auf die Linie.
#schreiblinie[Eine Klasse ist]
#schreiblinie[]
#schreiblinie(length: 60%)[Datum:]
#schreiblinie(loesung: "ein Bauplan für Objekte.")[Eine Klasse ist]
ausfuellText – mehrere Schreiblinien
- Erzeugt mehrere Schreiblinien auf einmal. Parameter
anzahlLinien(Standard: 3) und optionalanfang(Beschriftung der ersten Linie). -
loesungnimmt entweder einen Inhalt (erste Linie) oder ein Array mit einem Eintrag je Linie.
#ausfuellText(anzahlLinien: 3, anfang: [Merke:])
#ausfuellText(anzahlLinien: 3, anfang: "Damit", loesung: (
"gleiche Anweisungsblöcke nicht oft",
"aneinandergehängt werden müssen,",
"gibt es Wiederholungen.",
))
gap – Lücke im Fließtext
- Fügt eine Ausfülllücke ein. Die als erstes Argument angegebene Antwort erscheint nur in der Musterlösung, sonst steht dort eine Linie.
- Die Breite richtet sich nach der Antwort; mit
factorodersizelässt sie sich anpassen. -
nurLoesung: truelässt im Arbeitsblatt gar nichts stehen – gedacht für Tabellenzellen, die leer bleiben sollen.
Ein Objekt ist ein #gap("Exemplar") einer Klasse.
Ein Objekt ist ein #gap("Exemplar", size: 4cm) einer Klasse.
#table(columns: (auto, 1fr),
table.header([*Datentyp*], [*Bedeutung*]),
[#gap("Int", nurLoesung: true)], [ganze Zahl],
)
lueckenText / schnipselHaufen – Lückentext mit Schnipseln
-
lueckenTextumschließt einen Text mit mehrerengap-Lücken. MitzeigeSchnipselwerden die Lösungswörter als durchmischte „Schnipsel“ als Auswahlhilfe angeboten (Position:top,bottom,leftoderright).
#lueckenText(zeigeSchnipsel: bottom)[
Ein #gap("Objekt") ist ein Exemplar einer #gap("Klasse").
]
lueckenCode – Quellcode mit Lücken und Syntaxhervorhebung
- Erwartet einen Raw-Codeblock mit Sprachangabe und hebt den vollständigen bereinigten Quellcode hervor.
- Lösungen werden im Code mit
§§umschlossen. Im Arbeitsblatt erscheinen dort Lücken; in der Musterlösung wird der hervorgehobene Code mit markierten Lösungen angezeigt. - Die Lücken sind standardmäßig etwa 1,5-mal so breit wie ihre Lösung. Mit
factorlässt sich dieser Faktor verändern; der kleinste mögliche Wert ist1. - Eine Markierung darf nicht über mehrere Zeilen reichen. Für die Einrückung Leerzeichen statt Tabulatoren verwenden und lange Codezeilen vermeiden, da sie nicht automatisch umgebrochen werden.
#lueckenCode(
```kotlin
fun §§main§§() {
§§val§§ stapel = Stapel()
stapel.§§mischen§§()
}
```
)
Freiflächen
karos – Schreibkästchen
- Erzeugt ein 0,5 cm-Raster. Parameter
width,height; optionalausrichtung(left | center | right, Standard: center). -
loesungwird in der Musterlösung mittig ins Raster gesetzt.
#karos(10cm, 6cm)
#karos(8cm, 4cm, ausrichtung: left)
#karos(6cm, 2cm, loesung: [$x = 5$])
freiflaeche – leerer Bereich fester Höhe
- Reserviert Platz zum Schreiben oder Zeichnen. Optional
ausrichtungfür die Position der Lösung.
#freiflaeche(4cm, loesung: [Ein Struktogramm mit zwei Verzweigungen.])
loesungsOverlay – Lösung über einer Abbildung
- Für Aufgaben, die auf einem Bild gelöst werden: Ankreuzen, Verbinden,
Beschriften.
dxunddyverschieben gegenüber der linken oberen Ecke.
#image("tablet.svg", width: 400pt)
#loesungsOverlay([✓], dx: 2.5cm, dy: 1.8cm)
Sprechblasen
sprechblase – Sprechblase mit Öffnung und Spitze
- Parameter u.a.:
-
seite: "oben" | "unten" | "links" | "rechts" (Standard: "oben") -
offenBeginn: Position der Öffnung (relativ, Standard: 50%),offenBreite: Breite der Öffnung -
breite,hoehe: Außenmaße der Blase -
spitzeX,spitzeY: Offsets der Spitze
-
#sprechblase(seite: "oben", breite: 10cm, hoehe: 1.5cm, spitzeX: 1cm, spitzeY: 1cm)[
Tipp: Eine URL identifiziert eine Ressource.
]
Musterlösungen von Hand steuern
privat / public
-
privatzeigt Inhalt nur in der Musterlösung, sonst wahlweise einen Ersatz überansonsten.gapist damit umgesetzt. -
publicist die Umkehrung: Inhalt immer sichtbar, in der Musterlösung kann mitansonstenein Alternativtext gezeigt werden.
Das Ergebnis lautet #privat("42", ansonsten: [_______]).
Darstellung – Lösungen erscheinen einheitlich in Rot. Kurze Lösungen (Lücken, Schreiblinien, Tabellenzellen) stehen als schlichter roter Text an der Stelle, an der sonst die Linie ist. Längere Lösungen (Aufgaben) stehen in einem eigenen Block mit rotem Balken links und heller Tönung.
<hatLoesung>, sobald eine Lösung hinterlegt ist. Daran
erkennt die Seite, ob sie überhaupt eine Musterlösung anbieten muss.
Farben des Templates
Die Template-Farben stehen als Konstanten bereit, z.B. für eigene Auszeichnungen:
-
infsblueDark,infsblueLight– Blautöne (Erarbeitung) -
infsgreen– Grün (Übung) -
infsred– Rot (Sicherung, Akzentfarbe) -
infsyellow,lightGray,darkGray
#text(fill: infsblueDark)[Ein blauer Hinweis]
transparentColor(farbe) – ein
direktes .transparentize() schlägt bei CMYK fehl, weil dieser
Farbraum keinen Alphakanal kennt.
Standard-Typst-Elemente
Neben den Template-Funktionen kannst du das komplette Standard-Typst verwenden. Häufig gebraucht werden:
- Text:
*fett*,_kursiv_,#text(...)[...] - Überschriften:
= Ebene 1,== Ebene 2 - Listen:
- Punkt(ungeordnet),+ Punkt(nummeriert) - Bilder:
#image("bild.png", width: 300pt) - Layout:
#grid(...),#table(...),#align(center)[...],#block[...],#box[...] - Abstände:
#v(1em)(vertikal),#h(1em)(horizontal),#pagebreak() - Linien:
#line(length: 100%)
Vollständiges Beispiel
Das folgende Beispiel verwendet die wichtigsten Elemente in einem
Sicherungs-Arbeitsblatt. Es liegt als Datei unter
beispiele/elemente.typ und lässt sich direkt herunterladen –
einmal als Arbeitsblatt und einmal als Musterlösung.
Der Ordner beispiele/ ist zugleich ein Beispiel für die
Konvention: Er enthält die Quelldatei und eine arbeitsblatt.txt,
ist also in sich abgeschlossen und über einen Permalink erreichbar:
@/arbeitsblatt/u4tsak05cfqlb1f6
Dieser Link lädt dasselbe PDF unmittelbar herunter – ohne den Umweg über diese Seite und unabhängig davon, wo der Ordner im Seitenbaum liegt.