Capitolo 3.13 · Parte II · Il mestiere
Configurazione: esercizi
Gli stili degli esercizi (exerciseStyles) e le impostazioni degli esercizi del libro (exercises): numeri, carattere della consegna, lettere e caselle delle opzioni, spazi da completare, risposte vero/falso, collegamenti, riquadri di parole, aree di scrittura, schemi, divisione in colonna, segni di difficoltà, icone, colore delle risposte, posizione delle soluzioni, guida per l’insegnante ed edizioni a schermo
In breve
Questa pagina elenca tutte le impostazioni dell’aspetto degli esercizi. Uno stile di esercizio decide come si stampa il numero, con quali lettere si indicano le opzioni, che aspetto ha uno spazio da completare, come sono rigate le righe su cui scrivere e come si disegnano schemi e operazioni. Le impostazioni del libro decidono dove si stampano le soluzioni e se il libro è l’edizione per l’alunno o la guida per l’insegnante. Decidono anche come il lettore risolve gli esercizi a schermo. La pagina Esercizi spiega come scrivere gli esercizi veri e propri.
#Stili degli esercizi
La proprietà exerciseStyles dichiara gli stili con nome che un esercizio sceglie con :::exercise{style="…"}. Uno stile è la forma di una famiglia di esercizi; domande e risposte restano nel Markdown (vedi Esercizi). Per impostazione predefinita è incluso uno stile, exercise, così il blocco funziona senza alcuna configurazione; dichiarare exerciseStyles lo sostituisce, e il primo stile dichiarato è quello che prende un esercizio senza style. Ogni campo è facoltativo, e i valori predefiniti seguono la lingua del documento dove le scuole hanno usi diversi: lettere delle opzioni, lettere di vero/falso, disposizione della divisione in colonna, parole stampate.
const config: PostextConfig = {
exerciseStyles: [
{
id: 'activity',
box: 'activity-frame',
number: { shape: 'disc', background: { hex: '#2a5ea8', model: 'hex' } },
instruction: { fontFamily: 'Source Sans 3' },
options: { marker: 'circle' },
blank: { look: 'dots', width: 'answer' },
area: { kind: 'grid', lines: 4 },
level: { glyph: '★', empty: '☆' },
icons: { pair: { glyph: '👥' } },
},
{ id: 'quiz', extends: 'activity', options: { layout: 'row', columns: 4 } },
],
};| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
id | string | — | Identificatore selezionato da :::exercise{style="…"}. Un id sconosciuto ricade sul primo stile e viene segnalato (exerciseUnknownStyle). |
name | string | id | Nome leggibile (solo nell’interfaccia dell’editor). |
extends | string | — | L’id dello stile da cui parte questo. Ogni gruppo (number, options, blank…) si unisce campo per campo, icons per id. |
box | string | — | Un id di calloutStyles per la cornice dell’esercizio: sfondo, bordo, banda, spaziatura interna, collocazione, divisione. Se non è impostato, l’esercizio si compone nel testo corrente senza cornice e resta unito su una sola pagina. |
number | object | — | Come si stampa il numero. Vedi Numero. |
instruction | object | — | Il carattere della consegna. Vedi Consegna. |
options | object | — | Le opzioni di una domanda a scelta multipla. Vedi Opzioni. |
blank | object | — | Come si stampa un [[…]]. Vedi Spazi da completare. |
trueFalse | object | — | Le risposte di un’affermazione vero/falso. Vedi Vero o falso. |
match | object | — | Due colonne da collegare. Vedi Collegamento. |
bank | object | — | Il riquadro di parole. Vedi Riquadro di parole. |
area | object | — | Le aree di scrittura. Vedi Area di scrittura. |
grid | object | — | Le caselle di cerca parole, cruciverba e operazioni. Vedi Schemi. |
arithmetic | object | — | Le operazioni in colonna. Vedi Operazioni in colonna. |
level | object | — | I segni di difficoltà. Vedi Difficoltà. |
icons | Record<string, ExerciseIcon> | {} | Icone di attività per id, richiamate dall’attributo icon di un blocco. Vedi Icone. |
answers | object | — | Come si stampano le risposte nella guida per l’insegnante, in un elemento modello e nelle soluzioni. Vedi Risposte. |
solutions | ExerciseSolutionsConfig | — | Le exercises.solutions del libro per gli esercizi di questo stile: cambiano solo i campi impostati qui. |
digital | object | — | I colori delle edizioni a schermo. Vedi Colori a schermo. |
marginTop | Dimension | 1em | Spazio sopra un esercizio senza box. |
marginBottom | Dimension | 1em | Spazio sotto un esercizio senza box. |
itemSpacing | Dimension | 0.25em | Spazio tra due elementi: opzioni, domande, affermazioni, coppie. |
#Numero
number imposta il numero dell’esercizio. Un numero semplice è in grassetto, nel colore principale, seguito da un punto; un numero in una forma è una cifra bianca dentro un cerchio, un quadrato o un quadrato arrotondato del colore principale, senza nulla dopo.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
show | boolean | true | Stampa il numero. Il conteggio prosegue in ogni caso. |
label | boolean | string | false | Una parola davanti al numero: true prende la parola della lingua del documento (Esercizio, Exercise, Ejercicio, Exercice, Übung, 练习, 練習, تمرين…), una stringa è la parola stessa ('Attività'). |
shape | 'none' | 'disc' | 'square' | 'rounded' | 'none' | La forma in cui si compone il numero. |
color | ColorValue | bianco su una forma, altrimenti il colore principale | Il colore del numero. |
background | ColorValue | il colore principale | Il riempimento della forma. |
fontFamily | string | quella del testo circostante | La famiglia del numero. |
fontSize | Dimension | 1em | Il corpo del numero; un em è quello della consegna. |
fontWeight | number | 700 | Da 600 in su il numero è in grassetto. |
suffix | string | '.', nessuno su una forma | Si stampa dopo un numero semplice e la sua parola: '.', ')', '、'. |
template | string | '{n}' | Che cosa si legge nel numero: {n} il conteggio dell’esercizio, {h1} e {h2} i numeri del capitolo e della sezione ('{h1}.{n}' stampa 3.4). |
resetOn | 'never' | 'h1' … 'h6' | 'h1' | Il livello di titolo che fa ripartire il conteggio; 'never' conta per tutto il libro. |
counter | string | 'exercise' | Il contatore che lo stile fa avanzare. Gli stili che indicano lo stesso contatore lo condividono; uno stile con un contatore proprio ('review') numera i suoi esercizi a parte. |
format | ResourceCounterFormat | 'decimal' | Le cifre di {n}, come in un contatore di risorse: 'roman-upper', 'alpha-lower', 'simp-chinese-informal' (一, 二), 'circled-decimal' (①, ②), 'arabic-indic'… |
#Consegna
instruction imposta i paragrafi iniziali dell’esercizio. I campi non impostati prendono i valori del testo corrente.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
bold | boolean | true | Compone la consegna in grassetto. |
italic | boolean | false | La compone in corsivo. |
color | ColorValue | quello del testo | Il suo colore, tratti in grassetto compresi. |
fontFamily | string | quella del testo | La sua famiglia: nei libri scolastici una consegna in un bastoncino sopra un testo graziato è frequente. |
fontSize | Dimension | quello del testo | Il suo corpo. |
#Opzioni
options imposta le opzioni di una domanda a scelta multipla (- [ ] …).
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
labels | ResourceCounterFormat | 'none' | secondo la lingua | Come si contano le opzioni: 'alpha-lower' (a, b, c), 'alpha-upper' in cinese (A, B, C), 'katakana' in giapponese (ア, イ, ウ), 'abjad' in arabo (أ, ب, ج). Anche 'decimal', 'katakana-iroha', 'circled-decimal'… 'none' non stampa lettere. |
prefix | string | '' | Prima della lettera: '(' per (a). |
suffix | string | ')'; '.' in cinese, nessuno in giapponese | Dopo la lettera. |
marker | 'none' | 'box' | 'circle' | 'none' | Una casella o un cerchietto da barrare prima di ogni opzione. Con 'none' il lettore cerchia la lettera. |
layout | 'stack' | 'row' | 'stack' | 'stack': un’opzione per riga, con le righe di continuazione rientrate sotto il suo testo. 'row': le opzioni affiancate. Anche l’attributo columns=n di un blocco le mette in righe. |
columns | number | tutte | Opzioni per riga nel layout 'row' (fino a 6). |
shuffle | boolean | false | Stampa le opzioni in ordine sparso, lo stesso in ogni output e nella chiave. |
indent | Dimension | 1em | Il rientro delle opzioni dal margine del testo, per una domanda senza enunciato. |
bracket | boolean | false | Una parentesi ( ) alla fine dell’enunciato di ogni domanda in cui scrivere la lettera, come la stampano le verifiche cinesi e giapponesi. La guida per l’insegnante vi scrive la lettera. |
#Spazi da completare
blank imposta come si stampa un [[…]] nel testo dell’alunno: uno spazio della misura della risposta con una riga, dei puntini o una casella, senza disegnare la risposta.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
look | 'line' | 'dots' | 'box' | 'none' | 'line' | Una riga su cui scrivere, una riga di puntini, una casella o uno spazio vuoto. |
width | 'answer' | 'longest' | Dimension | 'longest' | 'longest': tutti gli spazi dell’esercizio larghi quanto la risposta più lunga, così nessuno suggerisce la propria risposta. 'answer': ognuno largo quanto la sua risposta. Una lunghezza: quella larghezza per tutti. L’attributo {width=N} di uno spazio ha la precedenza. |
extra | Dimension | 1.5em | Spazio aggiunto alla larghezza della risposta, in em interi. |
minWidth | Dimension | 3em | La larghezza minima di uno spazio. |
color | ColorValue | nero | Il colore della riga, dei puntini o della casella. Se è impostato colora anche le caselle e i cerchietti da barrare e le cornici delle parole del riquadro, che altrimenti sono nel colore principale. |
weight | Dimension | 0.6pt | Lo spessore della riga. |
#Vero o falso
trueFalse imposta le risposte alla fine di un’affermazione.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
labels | [string, string] | secondo la lingua | Le due risposte: ['V', 'F'] in italiano, spagnolo, catalano, francese e portoghese; T F in inglese; R F in tedesco; √ × in cinese; ○ × in giapponese; صح خطأ in arabo. |
look | 'boxes' | 'bracket' | 'boxes' | 'boxes': ogni lettera con una casella da barrare, in fondo alla riga. 'bracket': un solo spazio in cui scrivere la risposta. |
#Collegamento
match imposta un esercizio di coppie.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
look | 'dots' | 'letters' | 'dots' | 'dots': due colonne con un pallino accanto a ogni elemento, da unire con una linea. 'letters': la colonna di destra con le lettere, uno spazio accanto a ogni elemento di sinistra per scriverle. |
gap | Dimension | 4em | Lo spazio tra le due colonne. |
dotSize | Dimension | 0.35em | Il diametro dei pallini. |
color | ColorValue | il colore principale | I pallini e la cornice del riquadro di parole. |
#Riquadro di parole
bank imposta il riquadro di parole di un completamento con bank o ::bank[…], e di ogni esercizio di classificazione. Il riquadro sta dove è scritta la riga ::bank, altrimenti sotto la consegna.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
box | string | una cornice nel colore dei collegamenti | Un id di calloutStyles per il riquadro. |
order | 'shuffle' | 'alpha' | 'written' | 'shuffle' | Le parole mescolate (a partire dal seme), in ordine alfabetico secondo la lingua del documento, o come sono scritte. |
separator | string | uno spazio em | Tra due parole. Ogni parola si compone in un chip con una cornice sottile. |
#Area di scrittura
area imposta lo spazio sotto una domanda aperta, sotto una frase da riordinare e nelle colonne di un esercizio di classificazione.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
kind | 'lines' | 'dots' | 'grid' | 'seyes' | 'tianzige' | 'box' | 'none' | 'lines' | Righe, una riga di puntini, quadretti, la rigatura Seyès francese, i quadrati 田字格, una cornice vuota o uno spazio bianco. L’attributo area di un blocco ha la precedenza. |
lines | number | 3 | Quante righe di altezza. L’attributo lines di un blocco ha la precedenza. |
spacing | Dimension | 1,35 volte l’interlinea del testo (1,2 per i quadretti) | La distanza tra due righe. |
color | ColorValue | un grigio chiaro | Il colore della rigatura. |
weight | Dimension | 0.5pt | Lo spessore della rigatura. |
#Schemi
grid imposta le caselle di cerca parole, cruciverba e operazioni in colonna.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
cell | Dimension | 1.6em | Il lato di una casella. |
fontFamily | string | quella del testo | La famiglia di lettere e cifre. |
fontSize | Dimension | 0,58 del lato della casella | La dimensione di lettere e cifre; un em è quello del testo. |
color | ColorValue | quello del testo | Il colore di lettere e cifre. |
rule | ColorValue | un grigio medio | I filetti delle caselle. |
ruleWidth | Dimension | 0.6pt | Il loro spessore. |
blocked | ColorValue | — | Il riempimento delle caselle del cruciverba che nessuna parola occupa. Se non è impostato, lo schema stampa solo le caselle delle sue parole. |
uppercase | boolean | true | Compone in maiuscolo le lettere di cerca parole e cruciverba, secondo le regole delle maiuscole della lingua del documento. |
#Operazioni in colonna
arithmetic imposta le operazioni in colonna.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
division | 'bracket' | 'potence' | 'inline' | secondo la lingua | La divisione. 'bracket': il divisore a sinistra del dividendo, una parentesi sopra di esso, il quoziente in alto (inglese, cinese, giapponese, arabo e ogni lingua senza un uso proprio). 'potence': il divisore a destra del dividendo dentro una L, il quoziente sotto il divisore (italiano, spagnolo, catalano, francese, portoghese). 'inline': 864 : 4 = con il quoziente sulla riga e i passaggi sotto (tedesco). |
columns | number | 4 | Operazioni per riga, meno quando la colonna è troppo stretta. |
#Difficoltà
level imposta i segni che l’attributo level di un blocco stampa dopo il numero, in un corpo minore.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
glyph | string | '●' | Un livello raggiunto: '★', '■'. |
empty | string | '○' | Un livello non raggiunto; '' non stampa nulla. |
max | number | 3 | Il livello più alto: level=2 con max: 3 stampa ●●○. |
color | ColorValue | il colore principale | Il colore dei segni. |
#Icone
icons associa un id a un’icona di attività (orale, scritta, a coppie, ascolto, calcolatrice), stampata dopo il numero quando un blocco la richiama: icon="pair".
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
glyph | string | — | Un carattere da stampare: '✎', '🎧', un glifo di un font di icone. |
fontFamily | string | — | La famiglia di un font di icone. |
color | ColorValue | — | Il colore dell’icona. |
resourceId | string | — | Una risorsa bitmap o SVG per l’icona. |
alt | string | — | Che cosa rappresenta l’icona, per gli screen reader e il PDF taggato. |
size | number | 0.75 | L’altezza dell’icona in em della consegna: per impostazione predefinita, quella di una maiuscola. |
Un’icona si stampa come simbolo in linea dopo il numero: l’immagine di resourceId se ne nomina una, altrimenti il glyph in fontFamily e in color (quello del testo se non indicato). Poggia sulla linea di base della consegna, alta size em, e il suo alt si legge al suo posto.
#Risposte
answers imposta le risposte ovunque compaiano: nella guida per l’insegnante, nell’elemento modello di un esercizio con example, nei cerchi e nelle caselle piene, nelle linee tracciate tra le coppie, nelle lettere e nelle cifre degli schemi.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
color | ColorValue | #d6246e, un rosso magenta | Il colore delle risposte, come le sovrastampa una guida per l’insegnante. |
fontFamily | string | quella del testo | Un carattere per le risposte: è frequente un carattere calligrafico. |
italic | boolean | false | Compone in corsivo le risposte negli spazi da completare. |
#Colori a schermo
digital imposta come il visualizzatore HTML e i libri EPUB mostrano una risposta controllata.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
correctColor | ColorValue | un verde (#1e8e3e) | Una risposta giusta. |
wrongColor | ColorValue | un rosso (#c5221f) | Una risposta sbagliata. |
#Impostazioni del libro
La proprietà exercises raccoglie le impostazioni di tutto il libro: l’edizione, la posizione delle soluzioni, il seme di ogni mescolamento e le edizioni a schermo. Un libro che non imposta né exercises né exerciseStyles si impagina e produce lo stesso hash di prima.
const config: PostextConfig = {
exercises: {
edition: 'student',
solutions: { placement: 'chapterEnd', layout: 'key' },
seed: 3,
digital: { check: 'instant' },
},
};| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
edition | 'student' | 'teacher' | 'student' | 'teacher' stampa ogni risposta al suo posto nel colore di answers: la guida per l’insegnante ricavata dal testo dell’alunno. |
solutions | ExerciseSolutionsConfig | — | Dove e come si stampano le soluzioni. Vedi Soluzioni. |
seed | number | 1 | Il seme da cui si ricava ogni mescolamento: opzioni, colonne di destra, elementi da ordinare, parole da riordinare, riquadri di parole, lettere di riempimento del cerca parole. Si cambia per ottenere un’altra versione di una verifica; stampa, schermo e chiave restano concordi. |
digital | object | — | Il visualizzatore HTML e i libri EPUB. Vedi Edizioni a schermo. |
#Soluzioni
exercises.solutions, e sopra di esso il solutions di uno stile per gli esercizi di quello stile.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
placement | 'none' | 'after' | 'inverted' | 'chapterEnd' | 'directive' | 'none' | 'none': nessuna soluzione a stampa. 'after': dopo ogni esercizio, in corpo minore. 'inverted': dopo ogni esercizio, capovolta. 'chapterEnd': alla fine del capitolo, sotto heading. 'directive': dove si trova una riga :::solutions. |
box | string | un riquadro senza cornice in corpo minore | Un id di calloutStyles per il riquadro di una soluzione e per l’elenco delle soluzioni di un capitolo. |
heading | string | la parola della lingua del documento | Il titolo delle soluzioni alla fine di un capitolo: Soluzioni, Solutions, Soluciones, Solucions, Corrigés, Lösungen, Gabarito, 参考答案, 解答, الحلول. Una riga :::solutions{title="…"} imposta il proprio. |
layout | 'key' | 'full' | 'full' | 'key': solo le risposte (1 b · 2 acqua). 'full': la chiave, poi il :::solution dell’esercizio. |
#Edizioni a schermo
exercises.digital imposta il comportamento degli esercizi nel visualizzatore HTML e nei libri EPUB.
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
interactive | boolean | true | Esercizi che il lettore può risolvere. false li mostra come a stampa. |
persist | boolean | true | Conserva le risposte del lettore nel browser, libro per libro. |
check | 'button' | 'instant' | 'button' | 'button': le risposte si controllano quando il lettore lo chiede. 'instant': ogni risposta si controlla appena viene data. |
Lo schermo può avere impostazioni degli esercizi proprie: htmlViewer.overrides accetta anche exercises ed exerciseStyles, che si sovrappongono a quelli del libro prima che il visualizzatore HTML impagini. Così la stampa tiene le soluzioni alla fine del capitolo mentre lo schermo le nasconde, oppure lo schermo toglie le aree di scrittura che a chi legge non servono.
const config: PostextConfig = {
htmlViewer: {
overrides: {
exercises: { solutions: { placement: 'none' } },
exerciseStyles: [{ id: 'exercise', area: { kind: 'none' }, blank: { minWidth: { value: 6, unit: 'em' } } }],
},
},
};