Kapitel 11 · Teil II · Das Handwerk
Übungen
Wie Postext die Übungen eines Schulbuchs oder Arbeitshefts setzt: der Block :::exercise, seine zwölf Arten von der Auswahlaufgabe bis zur schriftlichen Division, Lösungen im Markdown, Nummerierung, Lösungen nach der Übung, auf dem Kopf, am Ende des Kapitels oder des Buchs, die Lehrerausgabe, die Prüfungen und Übungen, die im HTML-Betrachter und im EPUB am Bildschirm gelöst werden
Kurz gesagt
Diese Seite erklärt, wie Übungen in ein Postext-Buch kommen: Fragen mit Antworten zum Ankreuzen, Aussagen zum Beurteilen, Lückentexte, Paare zum Verbinden, Wörter in einem Buchstabengitter, Rechenaufgaben und mehr. Jede Übung steht mit ihren Lösungen im Text des Kapitels, und Postext druckt sie in der passenden Form: mit Nummer, Antwortmöglichkeiten und Linien zum Ausfüllen. Die Lösungen stehen nach der Übung, auf dem Kopf, am Ende des Kapitels oder gar nicht im Druck. Aus demselben Text entsteht auch eine Lehrerausgabe, in der alle Lösungen eingetragen sind. Im HTML-Betrachter und in EPUB-Büchern lassen sich die Übungen am Bildschirm lösen und prüfen.
Fragen und Lösungen stehen im Markdown; wie sie gedruckt werden, legt ein Übungsstil fest.
Eine Übung ist ein Block des Kapitels zwischen :::exercise und :::. Darin stehen die Arbeitsanweisung, die Fragen, die Antwortmöglichkeiten, die Lücken mit ihren Lösungen und, falls vorhanden, ein Lösungsweg. Postext liest die Lösungen aus dem Text, druckt die Übung für die Schülerinnen und Schüler (leere Linien, leere Kästchen, gemischte Einträge), erstellt den Lösungsschlüssel und setzt die Lösungen dorthin, wo das Buch sie haben will. Nummernmarke, Kennbuchstaben der Antworten, Aussehen einer Lücke und Lineatur einer Schreibfläche kommen aus exerciseStyles; wo die Lösungen stehen und welche Ausgabe gedruckt wird, aus exercises. Aus demselben Markdown entstehen so das Schülerbuch, das Lehrerbuch und eine interaktive Ausgabe für den Bildschirm.
Eine Übung wird als Kasten aus gewöhnlichen Absätzen, Chips und Zeichnungen gesetzt. Sie wird deshalb wie jeder Kasten platziert, über Spalten und Seiten geteilt, im barrierefreien PDF getaggt und in allen Ausgaben gezeichnet. Ein Buch ohne :::exercise wird gesetzt wie bisher.
#Der Block
:::exercise
Kreise die Hauptstadt von Portugal ein.
- [ ] Madrid
- [x] Lissabon
- [ ] Rom
:::Die Absätze am Anfang der Übung bis zur ersten Liste, Lücke oder Wortsammlung bilden die Arbeitsanweisung. Sie stehen nach der Nummer der Übung, in der Schrift, die der Stil für Anweisungen vorsieht (standardmäßig fett). Alles danach ist der Hauptteil, also das, was die Übung verlangt.
Der Block kennt diese Attribute:
| Attribut | Wirkung |
|---|---|
type | Die Art der Übung (siehe unten). Kann fehlen, wenn der Inhalt sie verrät: Eine Aufgabenliste ist choice, eine Liste von Paaren mit -> ist match, ein Text mit [[…]] ist gaps, alles andere ist open. Einige andere Schreibweisen werden ebenfalls gelesen (mcq, tf, cloze, matching…). |
style | Die ID eines Übungsstils. Fehlt sie oder ist sie unbekannt, gilt der erste Stil aus exerciseStyles. |
title | Ein Titel, fett nach der Nummer gedruckt. |
#id | Ein Anker, wie bei einem Kasten: :::exercise{#vulkane}. |
n | Eine feste Nummer, um die Zählung einer gedruckten Ausgabe beizubehalten. Die folgenden Übungen zählen von ihr aus weiter. |
level | Schwierigkeitsgrad von 1 bis zum Höchstwert des Stils (standardmäßig 3), nach der Nummer als Zeichen gedruckt: level=2 ergibt ●●○. |
icon | Die IDs von Arbeitsform-Symbolen, die der Stil festlegt, durch Leerzeichen getrennt: icon="pencil pair". |
example | Der erste Eintrag wird als Muster gelöst gedruckt und nicht abgefragt. |
columns | Auswahl: die Antwortmöglichkeiten nebeneinander, so viele je Zeile. |
select | Auswahl: one oder many, wie viele Antworten am Bildschirm angekreuzt werden dürfen. Mehr als ein [x] bedeutet bereits many. |
shuffle=false | Zuordnen und Reihenfolge: die Einträge in der geschriebenen Reihenfolge drucken, statt sie zu mischen. |
bank | Lückentext: die Lösungen als Wortspeicher drucken. |
lines, area | Offene Fragen: wie viele Schreiblinien und welche Lineatur. |
mark | Markieren: wie ein Wort in der Lösung gekennzeichnet wird: circle (Standard), box, underline oder highlight. |
size, directions, hidden | Wortsuchrätsel: die Seitenlänge des Gitters, die Richtungen, in denen die Wörter verlaufen, und keine Wortliste unter dem Gitter. |
In eine Übung gehören zwei weitere Blöcke. :::solution … ::: enthält einen Lösungsweg oder eine Musterlösung in beliebigem Markdown; er wird nie in der Übung gedruckt, sondern dort, wo die Lösungen stehen. :::hint … ::: enthält einen Tipp, den die Bildschirmausgaben auf Anfrage zeigen; im Druck fehlt er.
#Übungsarten
Das Mischen hängt von einem Startwert ab: Eine Übung wird im Canvas, im PDF, im HTML-Betrachter, im EPUB und im Lösungsschlüssel gleich gemischt. Mit einem anderen exercises.seed entsteht eine zweite Fassung einer Klassenarbeit.
#Auswahl und richtig oder falsch
Auswahl
Eine Aufgabenliste, die richtigen Antworten angekreuzt:
:::exercise
Welcher Planet ist der Sonne am nächsten?
- [ ] Venus
- [x] Merkur
- [ ] Mars
:::Die Antwortmöglichkeiten stehen untereinander, mit a), b), c) gekennzeichnet, und umbrechende Zeilen hängen unter dem Text ein. Mehrere Fragen in einer Übung bilden eine nummerierte Liste, deren Einträge die Fragestämme sind, jeweils mit eingerückter Aufgabenliste darunter; die Fragen werden mit 1., 2. nummeriert, die Antworten stehen unter ihnen:
:::exercise{columns=3}
Kreuze die richtige Antwort an.
1. Mit den Wurzeln nimmt die Pflanze … auf.
- [x] Wasser
- [ ] Licht
- [ ] Samen
2. Die Blätter stellen Nährstoffe her mithilfe von
- [ ] Erde
- [ ] Wind
- [x] Sonnenlicht
:::columns=3 setzt drei Antworten in eine Zeile. Kennbuchstaben und ihr Nachsatzzeichen richten sich nach der Dokumentsprache: a) im Deutschen, Englischen und in den romanischen Sprachen, A. im Chinesischen, ア イ ウ im Japanischen, أ) ب) ج) im Arabischen. Ein Stil kann vor jede Antwort ein Kästchen oder einen Kreis zum Ankreuzen setzen (options.marker) oder, wie in chinesischen und japanischen Tests, eine Klammer ( ) nach dem Fragestamm, in die der Buchstabe geschrieben wird (options.bracket).
Richtig oder falsch
:::exercise{type=truefalse}
Richtig oder falsch? Kreuze an.
- [x] Die Sonne ist ein Stern.
- [ ] Der Mond ist ein Planet.
:::Jede Aussage wird nummeriert und endet mit den beiden Antworten am Zeilenende, jede mit einem Kästchen: R □ F □. Ein angekreuzter Eintrag ist richtig. Die Buchstaben folgen der Sprache: R/F im Deutschen, T/F im Englischen, V/F im Spanischen, Katalanischen, Französischen, Italienischen und Portugiesischen, √/× im Chinesischen, ○/× im Japanischen, صح/خطأ im Arabischen. Ein Stil kann stattdessen eine einzige Lücke drucken, in die die Antwort geschrieben wird (trueFalse.look: 'bracket').
#Lückentexte und Wortspeicher
[[Lösung]] ist eine Lücke und wird als Schreiblinie gedruckt:
:::exercise{bank}
Setze die Wörter aus dem Kasten ein.
1. Die Wurzeln nehmen [[Wasser]] aus dem Boden auf.
2. In den Blättern stellt die Pflanze ihre [[Nahrung]] her.
3. Blüten locken [[Insekten | Bienen]] an.
::bank[Steine | Wind]
:::[[Fotografie | Photographie]]: eine Lücke mit mehreren richtigen Lösungen. Der Lösungsschlüssel druckt die erste.[[geht | (gehen) | gehst]]: eine Auswahl im Satz. Die Möglichkeiten stehen in der Zeile,(geht / gehen / gehst), und die eingeklammerte ist richtig: Sie wird eingekreist.[[ging]]{width=6}: eine Lücke von sechs Geviert Breite.\|ist ein wörtlicher senkrechter Strich in einer Lösung,\[[ein wörtliches Paar eckiger Klammern.
Alle Lücken einer Übung sind so breit wie ihre längste Lösung plus 1,5 em, damit die Länge einer Linie die Lösung nicht verrät (blank.width ändert das). bank druckt die Lösungen gemischt in einem umrahmten Wortspeicher unter der Arbeitsanweisung. Eine Zeile ::bank[Steine | Wind] setzt den Wortspeicher an die Stelle, an der sie steht, und fügt ihre Wörter als Ablenker hinzu; die Zeile allein verlangt den Wortspeicher schon. [[…]] wird nur innerhalb einer Übung gelesen: Doppelte eckige Klammern an anderer Stelle im Buch bleiben, wie sie sind.
Beginnt eine Übung mit ihrem Text statt mit einer Arbeitsanweisung, läuft die Nummer in den ersten Absatz ein:
:::exercise
Sieben Tage sind eine [[Woche]], und zwölf Monate sind ein [[Jahr]].
:::#Zuordnen und Sortieren
Zuordnen
Paare, geschrieben mit -> (oder →):
:::exercise
Verbinde jedes Tier mit seinem Zuhause.
- Biene -> Bienenstock
- Vogel -> Nest
- Spinne -> Netz
- Fuchs -> Bau
- -> Stall
:::Die linke Spalte erscheint in der geschriebenen Reihenfolge, die rechte gemischt, mit einem Punkt neben jedem Eintrag, damit die Paare mit einer Linie verbunden werden. - -> Stall fügt der rechten Spalte einen Eintrag ohne Partner hinzu. Mit match.look: 'letters' erhält die rechte Spalte Buchstaben und jeder linke Eintrag eine Klammer für den passenden Buchstaben. shuffle=false lässt die rechte Spalte, wie sie geschrieben ist.
Sortieren
:::exercise{type=sort}
Ordne die Lebensmittel nach dem Pflanzenteil, von dem sie stammen.
- Wurzel: Karotte, Radieschen
- Blatt: Salat, Spinat
- Frucht: Tomate, Apfel
:::Alle Einträge kommen gemischt in einen Wortspeicher, und jede Kategorie erhält eine Spalte (bis zu vier) mit ihrem Namen und Schreiblinien darunter. Die Einträge können durch Kommas, Semikolons, 、, , oder ، getrennt sein.
#Ordnen
Reihenfolge
:::exercise{type=order}
Bringe die Sätze in die richtige Reihenfolge.
1. Der Samen keimt.
2. Der Stängel wächst.
3. Die Blüten öffnen sich.
4. Die Frucht entsteht.
:::Die Liste wird in der richtigen Reihenfolge geschrieben und gemischt gedruckt, jeder Eintrag mit einem Kästchen für seine Nummer.
Sätze bilden
:::exercise{type=scramble}
Bilde Sätze aus den Wörtern.
- Pflanzen / brauchen / Wasser
- Die Sonne / spendet / Licht
:::Jeder Satz wird an seinen Schrägstrichen geteilt (an den Leerzeichen, wenn er keine hat), die Teile werden gemischt und durch Schrägstriche getrennt gedruckt, darunter eine Linie, auf die der Satz geschrieben wird.
#Wörter markieren
:::exercise{type=mark}
Kreise die Verben ein: Das Mädchen [[gießt]] die Pflanzen, und die Sonne [[wärmt]] sie.
:::Der Text wird gedruckt, wie er ist; die Wörter in [[…]] sind die zu markierenden. In der Lösung werden sie eingekreist, oder mit mark=box|underline|highlight am Block umrahmt, unterstrichen oder hervorgehoben, oder einzeln mit [[gießt]]{mark=underline}.
#Offene Fragen und Schreibflächen
:::exercise{type=open lines=4}
Warum brauchen Pflanzen Licht?
:::solution
Mit dem Licht stellen sie ihre Nahrung her.
:::
:::Auf die Arbeitsanweisung folgen Schreiblinien: standardmäßig drei, hier mit lines=4 vier. Ist der Hauptteil eine Liste, erhält jeder Eintrag eigene Linien. area ändert die Lineatur: lines, dots, grid (kariert), seyes (die französische Schullineatur), tianzige (田字格, die Kästchen, in die chinesische Kinder Schriftzeichen schreiben), box (ein leerer Rahmen für eine Zeichnung) oder none. Die :::solution ist die Musterlösung; sie steht bei den Lösungen und in einer Lehrerausgabe auf den Linien.
#Wortsuchrätsel und Kreuzworträtsel
Wortsuchrätsel
:::exercise{type=wordsearch size=10 directions="across down diagonal backwards"}
Finde diese Wörter.
- WURZEL
- STIEL
- BLATT
- BLÜTE
:::Die Wörter werden in ein Buchstabengitter gesetzt, die Liste steht darunter (hidden lässt sie weg). Das Gitter wächst mit dem längsten Wort; size legt seine Seitenlänge fest. directions nimmt across, down, diagonal und backwards; standardmäßig waagerecht, senkrecht und diagonal. Die Buchstaben stehen in Großbuchstaben, sofern der Stil nichts anderes sagt. Ein Wort, das sich nicht unterbringen lässt, wird gemeldet.
Kreuzworträtsel
:::exercise{type=crossword}
Löse das Kreuzworträtsel.
- WURZEL: Der Teil unter der Erde
- BLATT: Der grüne Teil, der Nahrung herstellt
- BLÜTE: Sie lockt Bienen an
- STIEL: Er hält die Pflanze aufrecht
:::Jeder Eintrag ist ein Wort mit seiner Frage. Die Engine baut das Gitter, nummeriert das erste Feld jedes Worts und druckt die Fragen darunter in zwei Listen, deren Überschriften der Dokumentsprache folgen (Waagerecht und Senkrecht, Across und Down, Horizontales y Verticales, ヨコのカギ・タテのカギ).
#Schriftliches Rechnen
:::exercise{type=arithmetic}
Rechne schriftlich.
- 345 + 278
- 902 − 456
- 124 · 3
- 864 : 4
:::Jede Rechnung wird in Kästchen gesetzt, so wie ein Kind sie schreibt: die Ziffern in Spalten, das Rechenzeichen links, ein Strich und leere Kästchen für das Ergebnis, bis zu vier Rechnungen in einer Reihe. Auf einer Seite von rechts nach links behält jede Rechnung ihre Ziffern von links nach rechts, und die Rechnungen folgen von rechts nach links aufeinander. Gelesen werden die Zeichen +, -, −, ×, x, *, der Malpunkt · (auch ⋅), ÷, : und / mit ganzen Zahlen; ein Mal wird als × gedruckt. Die schriftliche Division folgt der Schulkonvention der Dokumentsprache, und arithmetic.division wählt eine andere:
bracket: der Divisor links, der Dividend unter einem Bogen, der Quotient darüber. Englische, chinesische, japanische und arabische Bücher.potence: der Dividend links, der Divisor rechts unter einem L-Winkel, der Quotient unter dem Divisor, der Rest unten. Spanische, katalanische, französische, italienische und portugiesische Bücher.inline:864 : 4 =und die Kästchen des Quotienten in derselben Zeile, die Zwischenschritte darunter. Deutsche Bücher.
#Ein gelöstes Beispiel zuerst
example druckt den ersten Eintrag gelöst, in der Farbe der Lösungen: die erste Lücke ausgefüllt, die richtige Antwort der ersten Frage eingekreist, das erste Paar verbunden, der erste Satz ausgeschrieben. Am Bildschirm wird dieser Eintrag nicht abgefragt, und seine Lösung fehlt im Wortspeicher.
#Nummern, Verweise und Schwierigkeit
Übungen werden in jedem Kapitel mit 1, 2, 3 nummeriert. Alles Weitere legt der Stil fest: eine freistehende fette Nummer mit Punkt (Standard) oder eine Nummer in einem Kreis, einem Quadrat oder einem abgerundeten Quadrat (number.shape), ein Wort davor („Übung 3“ mit number.label: true, in der Dokumentsprache), die Ziffern (number.format, etwa chinesisch 一、二、), eine Vorlage mit der Kapitelnummer ('{h1}.{n}') und wo die Zählung neu beginnt (number.resetOn: in jedem Kapitel, in jedem Abschnitt oder nie). Stile mit demselben number.counter teilen eine Zählung, die ein Buch von Kapitel zu Kapitel weiterführt.
n=12 an einem Block gibt dieser Übung die Nummer 12, die folgenden zählen ab 13 weiter. #id macht die Übung zum Ziel eines :ref, der ihren Namen druckt, „Übung 3“ (das Wort aus number.label, wenn der Stil eines festlegt, sonst das der Dokumentsprache). style=number druckt 3, style=title den title des Blocks (ohne Titel den Namen) und style=page ihre Seite. Ein Verweis erreicht auch Übungen in anderen Kapiteln des Buchs. level und icon stehen nach der Nummer: die Schwierigkeitszeichen und die Arbeitsform-Symbole, die der Stil festlegt.
#Lösungen
#Der Lösungsschlüssel
Jede Übung mit festen Lösungen hat einen Schlüssel, der aus ihren Lösungen entsteht: die richtige Antwort (b) Merkur), die Lücken der Reihe nach (1 Wasser · 2 Nahrung · 3 Insekten), R oder F je Aussage, die Paare, die Reihenfolge, die Sätze, die Wörter eines Kreuzworträtsels mit ihren Nummern, die Ergebnisse der Rechnungen. Im Layout full (Standard) folgt auf den Schlüssel die :::solution der Übung. Eine offene Frage hat keinen Schlüssel: Ihre Musterlösung ist die Lösung.
#Wo die Lösungen stehen
exercises.solutions.placement entscheidet für das ganze Buch; ein Stil kann es für seine eigenen Übungen ändern.
| Platzierung | Was gedruckt wird |
|---|---|
none | Keine Lösungen im Druck (Standard). Die Bildschirmausgaben haben sie trotzdem. |
after | Die Lösung direkt nach ihrer Übung, in kleinerer Schrift. |
inverted | Derselbe Kasten auf dem Kopf, wie in Rätselheften und Kinderzeitschriften. |
chapterEnd | Alle Lösungen des Kapitels an seinem Ende, unter einer Überschrift in der Dokumentsprache (Lösungen, Solutions, Soluciones, 参考答案…), jede nach der Nummer ihrer Übung. |
directive | Nur dort, wo das Kapitel :::solutions schreibt. |
Mit directive druckt eine Zeile :::solutions die noch nicht gedruckten Lösungen der Übungen davor; title="…" ändert ihre Überschrift. :::solutions{scope="book"} in einem eigenen Kapitel am Ende druckt Schlüssel und Lösungen aller Übungen des Buchs, Kapitel für Kapitel:
# Lösungen zu allen Kapiteln
:::solutions{scope="book"}#Lehrerausgabe
{ "exercises": { "edition": "teacher" } }druckt jede Lösung an ihrer Stelle, in der Farbe der Lösungen (ein Magentarot, sofern der Stil kein answers.color setzt): die Lücken ausgefüllt, die richtigen Antworten eingekreist oder ihre Kästchen gefüllt, das Kästchen R oder F gefüllt, die Verbindungslinien gezogen, die Nummern in den Kästchen der Reihenfolge, die Sätze und die sortierten Wörter auf ihren Linien, die Musterlösung einer offenen Frage auf ihren Linien, die Wörter des Kreuzworträtsels und die Ergebnisse der Rechnungen in ihren Kästchen.
#Prüfungen
Das Bedienfeld Prüfungen der Sandbox und collectContentWarnings melden, was die Engine nicht lesen kann:
exerciseUnknownType: eintype, der keine der zwölf Arten ist.exerciseUnknownStyle: einstyle, der keinen Übungsstil nennt (der erste Stil wird verwendet).exerciseNoAnswer: eine Übung mit festen Lösungen, in der es nichts zu bewerten gibt: eine Frage ohne angekreuzte Antwort, ein Lückentext ohne[[…]], eine Zuordnung ohne Paare.exerciseUnreadItem: ein Listeneintrag, den die Übungsart nicht lesen kann, etwa ein Zuordnungseintrag ohne->oder eine Rechnung, die nicht aus zwei ganzen Zahlen und einem Zeichen besteht.exerciseWordUnplaced: ein Wort, das ein Wortsuchrätsel oder Kreuzworträtsel nicht unterbringen konnte.exerciseNested: eine Übung in einer anderen.solutionOutside: ein:::solutionoder:::hintaußerhalb einer Übung. Er druckt nichts.
#Übungen in HTML und EPUB
Im HTML-Betrachter und in EPUB-Büchern lassen sich die Übungen lösen. Man tippt in die Lücken und klickt auf Antworten, Aussagen, Verbindungspunkte und Gitterfelder, prüft dann die Antworten, lässt sich die Lösung zeigen oder beginnt neu. Richtige und falsche Antworten werden mit einer Farbe und einem Zeichen angezeigt (digital.correctColor, digital.wrongColor) und Bildschirmlesern angesagt. Die Antworten bleiben im Browser gespeichert, je Buch, und sind beim nächsten Besuch wieder da (exercises.digital.persist). Mit exercises.digital.check: 'instant' wird jede Antwort geprüft, sobald sie gegeben ist; exercises.digital.interactive: false zeigt die Seiten wie gedruckt. Der Lösungsschlüssel ist in einem EPUB immer enthalten, unabhängig von der Platzierung im Druck, sodass auch ein Lesesystem ohne Skripte die Lösungen hat.
Der Bildschirm kann den Übungen über htmlViewer.overrides eine eigene Form geben; diese Einstellungen werden über die Konfiguration des Buchs gelegt, bevor der HTML-Betrachter setzt. Der Druck behält seine:
const config: PostextConfig = {
exercises: { solutions: { placement: 'chapterEnd' } },
htmlViewer: {
overrides: {
exercises: { solutions: { placement: 'none' } },
exerciseStyles: [
{ id: 'exercise', blank: { minWidth: { value: 6, unit: 'em' } }, area: { kind: 'none' } },
],
},
},
};#Übungsstile
const config: PostextConfig = {
exerciseStyles: [
{
id: 'activity',
number: { shape: 'disc', background: { hex: '#2a5ea8', model: 'hex' } },
instruction: { fontFamily: 'Source Sans 3' },
options: { marker: 'circle' },
blank: { look: 'dots' },
},
],
};Alle Felder eines Stils mit Typ und Standardwert stehen unter Konfiguration › Übungen. Seinen Rahmen übernimmt ein Stil von einem Kastenstil (box), sodass eine Übung wie jeder andere Kasten des Buchs in einem getönten Kasten mit Streifen stehen kann. Der postext-port-Skill folgt denselben Schritten, wenn er die Übungen eines Schulbuchs oder Arbeitshefts überträgt.