Capítol 3.13 · Part II · L'ofici
Configuració: exercicis
Els estils d'exercici (exerciseStyles) i els paràmetres d'exercicis del llibre (exercises): el número, la lletra de l'enunciat, les etiquetes i les caselles de les opcions, els buits, les respostes de vertader o fals, les parelles per relacionar, els bancs de paraules, els espais per escriure, les graelles, la divisió, les marques de dificultat, les icones, el color de les respostes, on s'imprimeixen les solucions, l'edició del professorat i les edicions en pantalla
En poques paraules
Aquesta pàgina recull tots els paràmetres de l'aspecte dels exercicis. Un estil d'exercici decideix com s'imprimeix el número, com s'etiqueten les opcions, quin aspecte té un buit per omplir, quina pauta tenen les línies per escriure i com es dibuixen les graelles i les operacions. Els paràmetres del llibre decideixen on s'imprimeixen les solucions i si el llibre és l'edició de l'alumne o la del professorat. També decideixen com responen els lectors els exercicis en pantalla. La pàgina Exercicis explica com s'escriuen els exercicis.
#Estils d'exercici
La propietat exerciseStyles declara els estils amb nom que un exercici tria amb :::exercise{style="…"}. Un estil és la forma d'una família d'exercicis; les preguntes i les respostes es queden al Markdown (vegeu Exercicis). Per defecte s'inclou un estil, exercise, de manera que el bloc funciona sense cap configuració; si declares exerciseStyles, el substitueixes, i el primer estil declarat és el que pren un exercici sense style. Tots els camps són opcionals, i els valors per defecte segueixen la llengua del document allà on les escoles fan les coses de manera diferent: les etiquetes de les opcions, les lletres de vertader o fals, la manera de disposar la divisió i les paraules que s'imprimeixen.
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 } },
],
};| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
id | string | — | Identificador que tria :::exercise{style="…"}. Un id desconegut fa servir el primer estil i genera un avís (exerciseUnknownStyle). |
name | string | id | Nom llegible (només per a la interfície de l'editor). |
extends | string | — | L'id de l'estil en què es basa aquest. Cada grup (number, options, blank…) es fusiona camp per camp, i icons, per id. |
box | string | — | Un id de calloutStyles per al marc de l'exercici: fons, vora, franja, marges interiors, col·locació i partició. Si no s'indica, l'exercici es compon dins del text corregut, sense marc, i es manté sencer en una sola pàgina. |
number | object | — | Com s'imprimeix el número. Vegeu Número. |
instruction | object | — | La lletra de l'enunciat. Vegeu Enunciat. |
options | object | — | Les opcions d'una pregunta d'opció múltiple. Vegeu Opcions. |
blank | object | — | Com s'imprimeix un [[…]]. Vegeu Buits. |
trueFalse | object | — | Les respostes d'una afirmació de vertader o fals. Vegeu Vertader o fals. |
match | object | — | Dues columnes per relacionar. Vegeu Relacionar. |
bank | object | — | El banc de paraules. Vegeu Banc de paraules. |
area | object | — | Els espais per escriure. Vegeu Espai per escriure. |
grid | object | — | Les caselles de les sopes de lletres, els mots encreuats i les operacions. Vegeu Graelles. |
arithmetic | object | — | Les operacions en columna. Vegeu Operacions. |
level | object | — | Les marques de dificultat. Vegeu Dificultat. |
icons | Record<string, ExerciseIcon> | {} | Icones d'activitat per id, que un bloc anomena amb icon. Vegeu Icones. |
answers | object | — | Com s'imprimeixen les respostes en una edició del professorat, en un element model i a les solucions. Vegeu Respostes. |
solutions | ExerciseSolutionsConfig | — | Les exercises.solutions del llibre per als exercicis d'aquest estil: només canvien els camps que s'hi indiquen. |
digital | object | — | Els colors de les edicions en pantalla. Vegeu Colors a la pantalla. |
marginTop | Dimension | 1em | Espai per sobre d'un exercici sense box. |
marginBottom | Dimension | 1em | Espai per sota d'un exercici sense box. |
itemSpacing | Dimension | 0.25em | Espai entre dos elements: opcions, preguntes, afirmacions, parelles. |
#Número
number defineix el número de l'exercici. Un número sol va en negreta, en el color principal, seguit d'un punt; un número dins d'una forma és una xifra blanca sobre un cercle, un quadrat o un quadrat arrodonit del color principal, sense res al darrere.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
show | boolean | true | Imprimeix el número. El compte avança igualment. |
label | boolean | string | false | Una paraula davant del número: true pren la paraula de la llengua del document (Exercici, Exercise, Ejercicio, Exercice, Übung, 练习, 練習, تمرين…); una cadena és la paraula mateixa ('Activitat'). |
shape | 'none' | 'disc' | 'square' | 'rounded' | 'none' | La forma on va el número. |
color | ColorValue | blanc sobre una forma; si no, el color principal | El color del número. |
background | ColorValue | el color principal | El fons de la forma. |
fontFamily | string | la del text que l'envolta | La família del número. |
fontSize | Dimension | 1em | La mida del número; un em és el de l'enunciat. |
fontWeight | number | 700 | A partir de 600 es compon en negreta. |
suffix | string | '.'; cap sobre una forma | El que s'imprimeix després d'un número sol i de la seva paraula: '.', ')', '、'. |
template | string | '{n}' | El text del número: {n} és el compte de l'exercici, i {h1} i {h2}, els números del capítol i de la secció ('{h1}.{n}' imprimeix 3.4). |
resetOn | 'never' | 'h1' … 'h6' | 'h1' | El nivell d'encapçalament que fa tornar a començar el compte; 'never' compta per tot el llibre. |
counter | string | 'exercise' | El comptador que fa avançar l'estil. Els estils que anomenen el mateix comptador el comparteixen; un estil amb un comptador propi ('review') numera els seus exercicis a part. |
format | ResourceCounterFormat | 'decimal' | Els numerals de {n}, com en un comptador de recursos: 'roman-upper', 'alpha-lower', 'simp-chinese-informal' (一, 二), 'circled-decimal' (①, ②), 'arabic-indic'… |
#Enunciat
instruction defineix els paràgrafs inicials de l'exercici. Els camps sense valor prenen el del text.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
bold | boolean | true | Compon l'enunciat en negreta. |
italic | boolean | false | El compon en cursiva. |
color | ColorValue | el del text | El color, també el dels trossos en negreta. |
fontFamily | string | la del text | La família: als llibres de text és habitual un enunciat de pal sec sobre un text amb gràcies. |
fontSize | Dimension | la del text | La mida. |
#Opcions
options defineix les opcions d'una pregunta d'opció múltiple (- [ ] …).
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
labels | ResourceCounterFormat | 'none' | segons la llengua | Com es compten les opcions: 'alpha-lower' (a, b, c), 'alpha-upper' en xinès (A, B, C), 'katakana' en japonès (ア, イ, ウ), 'abjad' en àrab (أ, ب, ج). També 'decimal', 'katakana-iroha', 'circled-decimal'… Amb 'none' no s'imprimeix cap etiqueta. |
prefix | string | '' | Davant de l'etiqueta: '(' per a (a). |
suffix | string | ')'; '.' en xinès, cap en japonès | Després de l'etiqueta. |
marker | 'none' | 'box' | 'circle' | 'none' | Una casella o un cercle davant de cada opció, per marcar. Amb 'none' el lector encercla l'etiqueta. |
layout | 'stack' | 'row' | 'stack' | 'stack': una opció per línia, amb les línies que continuen alineades sota el seu text. 'row': les opcions una al costat de l'altra. El columns=n d'un bloc també les posa en files. |
columns | number | totes | Opcions per fila amb la disposició 'row' (fins a 6). |
shuffle | boolean | false | Imprimeix les opcions barrejades, en el mateix ordre a totes les sortides i a la clau. |
indent | Dimension | 1em | El sagnat de les opcions respecte a la vora del text, per a una pregunta sense enunciat propi. |
bracket | boolean | false | Un parèntesi ( ) al final de cada pregunta per escriure-hi la lletra, com als exàmens xinesos i japonesos. Una edició del professorat hi escriu la lletra. |
#Buits
blank defineix com s'imprimeix un [[…]] al text de l'alumne: un espai de la mida de la resposta amb una línia, punts o una caixa, sense pintar la resposta.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
look | 'line' | 'dots' | 'box' | 'none' | 'line' | Una línia per escriure-hi, una línia de punts, una caixa o un espai buit. |
width | 'answer' | 'longest' | Dimension | 'longest' | 'longest': tots els buits de l'exercici fan l'amplada de la resposta més llarga, perquè cap buit no delati la resposta. 'answer': cada buit fa l'amplada de la seva resposta. Una longitud: aquesta amplada per a tots. El {width=N} d'un buit té prioritat. |
extra | Dimension | 1.5em | Espai que s'afegeix a l'amplada de la resposta, en em sencers. |
minWidth | Dimension | 3em | L'amplada mínima d'un buit. |
color | ColorValue | negre | El color de la línia, dels punts o de la caixa. Si s'indica, també pinta les caselles i els cercles per marcar i els marcs de les paraules del banc, que, si no, van en el color principal. |
weight | Dimension | 0.6pt | El gruix de la línia. |
#Vertader o fals
trueFalse defineix les respostes del final d'una afirmació.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
labels | [string, string] | segons la llengua | Les dues respostes: ['V', 'F'] en català, castellà, francès, italià i portuguès; T F en anglès; R F en alemany; √ × en xinès; ○ × en japonès; صح خطأ en àrab. |
look | 'boxes' | 'bracket' | 'boxes' | 'boxes': cada lletra amb una casella per marcar, al final de la línia. 'bracket': un sol buit per escriure-hi la resposta. |
#Relacionar
match defineix un exercici de parelles.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
look | 'dots' | 'letters' | 'dots' | 'dots': dues columnes amb un punt al costat de cada element, per unir-los amb una línia. 'letters': la columna de la dreta amb lletres, i un buit al costat de cada element de l'esquerra per escriure-hi la lletra. |
gap | Dimension | 4em | Espai entre les dues columnes. |
dotSize | Dimension | 0.35em | El diàmetre dels punts. |
color | ColorValue | el color principal | Els punts i el marc del banc de paraules. |
#Banc de paraules
bank defineix la caixa de paraules d'un exercici de buits amb bank o ::bank[…], i de tots els exercicis de classificar. La caixa va on és escrita la línia ::bank; sense línia, sota l'enunciat.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
box | string | un marc del color de match | Un id de calloutStyles per a la caixa del banc. |
order | 'shuffle' | 'alpha' | 'written' | 'shuffle' | Les paraules barrejades (amb llavor), en ordre alfabètic segons la llengua del document, o tal com s'han escrit. |
separator | string | un espai d'em | Entre dues paraules. Cada paraula es compon en un xip amb un marc fi. |
#Espai per escriure
area defineix l'espai que hi ha sota una pregunta oberta, sota una frase desordenada i a les columnes d'un exercici de classificar.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
kind | 'lines' | 'dots' | 'grid' | 'seyes' | 'tianzige' | 'box' | 'none' | 'lines' | Línies pautades, una filera de punts, paper quadriculat, la pauta Seyès francesa, quadrats 田字格, un marc buit o espai en blanc. L'area d'un bloc té prioritat. |
lines | number | 3 | Quantes línies d'alçada. Les lines d'un bloc tenen prioritat. |
spacing | Dimension | 1,35 vegades l'interlineat del text (1,2 per a les quadrícules) | La distància entre dues línies. |
color | ColorValue | un gris clar | El color de la pauta. |
weight | Dimension | 0.5pt | El gruix de la pauta. |
#Graelles
grid defineix les caselles de les sopes de lletres, els mots encreuats i les operacions en columna.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
cell | Dimension | 1.6em | El costat d'una casella. |
fontFamily | string | la del text | La família de les lletres i les xifres. |
fontSize | Dimension | 0,58 del costat de la casella | La mida de les lletres i les xifres; un em és el del text. |
color | ColorValue | el del text | El color de les lletres i les xifres. |
rule | ColorValue | un gris mitjà | Les línies de les caselles. |
ruleWidth | Dimension | 0.6pt | El seu gruix. |
blocked | ColorValue | — | L'emplenament de les caselles dels mots encreuats que no ocupa cap paraula. Sense, la graella només imprimeix les caselles de les paraules. |
uppercase | boolean | true | Compon en majúscules les lletres de les sopes de lletres i dels mots encreuats, amb les regles de majúscules de la llengua del document. |
#Operacions
arithmetic defineix les operacions en columna.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
division | 'bracket' | 'potence' | 'inline' | segons la llengua | La divisió. 'potence': el divisor a la dreta del dividend, dins d'un angle en forma de L, i el quocient sota el divisor (català, castellà, francès, italià, portuguès). 'bracket': el divisor a l'esquerra del dividend, una clau per sobre del dividend i el quocient a dalt (anglès, xinès, japonès, àrab i qualsevol llengua sense una disposició pròpia). 'inline': 864 : 4 = amb el quocient a la mateixa línia i els passos a sota (alemany). |
columns | number | 4 | Operacions per fila, menys si la columna és massa estreta. |
#Dificultat
level defineix les marques que el level d'un bloc imprimeix després del número, en una mida més petita.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
glyph | string | '●' | Un nivell assolit: '★', '■'. |
empty | string | '○' | Un nivell no assolit; amb '' no se n'imprimeix cap. |
max | number | 3 | El nivell més alt: level=2 amb max: 3 imprimeix ●●○. |
color | ColorValue | el color principal | El color de les marques. |
#Icones
icons associa un id a una icona d'activitat (oral, escrita, en parella, d'escoltar, amb calculadora), que s'imprimeix després del número quan un bloc l'anomena: icon="pair".
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
glyph | string | — | Un caràcter per imprimir: '✎', '🎧', un glif d'una font d'icones. |
fontFamily | string | — | La família d'una font d'icones. |
color | ColorValue | — | El color de la icona. |
resourceId | string | — | Un recurs de mapa de bits o SVG per a la icona. |
alt | string | — | El que representa la icona, per als lectors de pantalla i el PDF etiquetat. |
size | number | 0.75 | L'alçada de la icona en em de l'enunciat: per defecte, la d'una majúscula. |
Una icona s'imprimeix com un símbol en línia després del número: la imatge de resourceId si n'anomena una, i si no el glyph en fontFamily i en color (el del text si no s'indica). Recolza en la línia de base de l'enunciat, fa size em d'alçada i el seu alt es llegeix al seu lloc.
#Respostes
answers defineix les respostes allà on es mostren: una edició del professorat, l'element model d'un exercici amb example, els cercles i les caselles plenes, les línies entre parelles, les lletres i les xifres de les graelles.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
color | ColorValue | #d6246e, un vermell magenta | El color de les respostes, com les sobreimprimeix un llibre del professorat. |
fontFamily | string | la del text | Una lletra per a les respostes: sovint és una lletra manuscrita. |
italic | boolean | false | Compon en cursiva les respostes dels buits. |
#Colors a la pantalla
digital defineix com mostren una resposta comprovada el visor HTML i els llibres EPUB.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
correctColor | ColorValue | un verd (#1e8e3e) | Una resposta correcta. |
wrongColor | ColorValue | un vermell (#c5221f) | Una resposta incorrecta. |
#Paràmetres del llibre
La propietat exercises conté els paràmetres de tot el llibre: l'edició, on s'imprimeixen les solucions, la llavor de totes les barreges i les edicions en pantalla. Un llibre que no fixa ni exercises ni exerciseStyles es compon i dona el mateix hash que abans.
const config: PostextConfig = {
exercises: {
edition: 'student',
solutions: { placement: 'chapterEnd', layout: 'key' },
seed: 3,
digital: { check: 'instant' },
},
};| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
edition | 'student' | 'teacher' | 'student' | 'teacher' imprimeix cada resposta al seu lloc en el color d'answers: un llibre del professorat a partir del text de l'alumne. |
solutions | ExerciseSolutionsConfig | — | On i com s'imprimeixen les solucions. Vegeu Solucions. |
seed | number | 1 | La llavor de totes les barreges: opcions, columnes de la dreta, elements per ordenar, paraules desordenades, bancs, lletres de farciment de les sopes de lletres. Canvia-la per obtenir una altra versió d'un examen; la impressió, la pantalla i la clau continuen coincidint. |
digital | object | — | El visor HTML i els llibres EPUB. Vegeu Edicions en pantalla. |
#Solucions
exercises.solutions val per a tot el llibre; el solutions d'un estil hi canvia el que calgui per als exercicis d'aquell estil.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
placement | 'none' | 'after' | 'inverted' | 'chapterEnd' | 'directive' | 'none' | 'none': cap solució impresa. 'after': després de cada exercici, amb un cos més petit. 'inverted': després de cada exercici, capgirada. 'chapterEnd': al final del capítol, sota heading. 'directive': allà on hi ha una línia :::solutions. |
box | string | un requadre sense marc amb un cos més petit | Un id de calloutStyles per al requadre d'una solució i per a la llista de solucions d'un capítol. |
heading | string | la paraula de la llengua del document | El títol de les solucions al final d'un capítol: Solucions, Solutions, Soluciones, Corrigés, Lösungen, Soluzioni, Gabarito, 参考答案, 解答, الحلول. Una línia :::solutions{title="…"} en fixa un de propi. |
layout | 'key' | 'full' | 'full' | 'key': només les respostes (1 b · 2 aigua). 'full': la clau i, a continuació, el :::solution de l'exercici. |
#Edicions en pantalla
exercises.digital defineix com es comporten els exercicis al visor HTML i als llibres EPUB.
| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
interactive | boolean | true | Exercicis que el lector pot respondre. Amb false es mostren com els impresos. |
persist | boolean | true | Desa les respostes del lector al navegador, per a cada llibre. |
check | 'button' | 'instant' | 'button' | 'button': les respostes es comproven quan el lector ho demana. 'instant': cada resposta es comprova en el moment d'escriure-la. |
La pantalla pot tenir uns paràmetres d'exercicis propis: htmlViewer.overrides també accepta exercises i exerciseStyles, que es fusionen amb els del llibre abans que el visor HTML faci la maquetació. Així, la impressió pot mantenir les solucions al final del capítol mentre la pantalla les amaga, o la pantalla pot prescindir dels espais per escriure, que en pantalla no fan cap servei.
const config: PostextConfig = {
htmlViewer: {
overrides: {
exercises: { solutions: { placement: 'none' } },
exerciseStyles: [{ id: 'exercise', area: { kind: 'none' }, blank: { minWidth: { value: 6, unit: 'em' } } }],
},
},
};