s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

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": *
Viele Elemente nehmen einen Parameter 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), optional textsize (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) und color.
#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 loesung wird 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

  • loesung als Parameter gilt für die gesamte Aufgabe.
  • Teilaufgaben tragen ihre Lösung im Dictionary: (content: [...], loesung: [...]). Dort ist auch optional: true mö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 length wird die Linienlänge festgelegt (Standard: 100%).
  • loesung schreibt 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 optional anfang (Beschriftung der ersten Linie).
  • loesung nimmt 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 factor oder size lässt sie sich anpassen.
  • nurLoesung: true lä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

  • lueckenText umschließt einen Text mit mehreren gap-Lücken. Mit zeigeSchnipsel werden die Lösungswörter als durchmischte „Schnipsel“ als Auswahlhilfe angeboten (Position: top, bottom, left oder right).
#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 factor lässt sich dieser Faktor verändern; der kleinste mögliche Wert ist 1.
  • 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; optional ausrichtung (left | center | right, Standard: center).
  • loesung wird 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 ausrichtung fü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. dx und dy verschieben 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

  • privat zeigt Inhalt nur in der Musterlösung, sonst wahlweise einen Ersatz über ansonsten. gap ist damit umgesetzt.
  • public ist die Umkehrung: Inhalt immer sichtbar, in der Musterlösung kann mit ansonsten ein 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.

Alle Bausteine setzen automatisch die unsichtbare Marke <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]
Die Farben sind in CMYK definiert, damit der Druck stimmt. Für abgeleitete Hintergrundtöne gibt es 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%)
Eine vollständige Referenz zu Standard-Typst findest du in der offiziellen Typst-Dokumentation.

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.

Suche

v
17.6.3.9.2 Typst-Elemente
Kopieren durch Anklicken

Rückmeldung geben