Capítol 6 · Part II · L'ofici
Configuració: notes i referències
Les notes a peu de pàgina, la numeració de línies, les referències creuades i les cites, l'índex de continguts i l'índex analític
En poques paraules
Aquesta pàgina reuneix els paràmetres de les parts del llibre que remeten a un altre lloc. Les notes van a peu de pàgina i els números de línia van al marge. Les referències creuades anomenen una figura, una secció o una pàgina, i les cites anomenen les obres que esmentes. L'índex de continguts enumera els capítols i l'índex analític, al final, enumera termes amb les seves pàgines. Cada secció explica l'aspecte d'aquestes peces i com es numeren.
#Notes a peu de pàgina
La propietat footnotes fixa on van les notes citades amb [^id], com es numeren i quin aspecte tenen. El marcatge es descriu a Format del document.
interface FootnotesConfig {
placement?: 'column' | 'chapterEnd' | 'spread'; // Peu de la columna que cita, després del capítol, o al costat del text d'un plec.
numbering?: 'chapter' | 'document' | 'page' | 'column' | 'spread'; // Reiniciar a cada capítol, continuar, o reiniciar a cada pàgina / columna / plec.
numberFormat?: string; // decimal, lower-roman, circled-decimal (①)…
symbols?: string[]; // Els símbols de crida de numberFormat: 'symbols'.
markerPosition?: 'auto' | 'superscript' | 'inline' | 'side' | 'right'; // Volada, sobre la línia de base, al costat de la paraula, o a la dreta d'una línia vertical.
markerSize?: Dimension; // Mida de la crida en línia, lateral o a la dreta; em és el text que l'envolta.
numberGap?: 'en' | 'em'; // Espai després del número de la nota mateixa.
chapterEndAlign?: 'foot' | 'text'; // chapterEnd: notes al peu de la columna, o sota el text.
fontSize?: Dimension; // Cos de la nota; em és el cos del text.
lineHeight?: Dimension; // Interlineat de la nota; em és el cos de la nota.
color?: ColorValue; // Color de la nota; sense valor, el del cos.
textAlign?: TextAlign; // Sense valor, l'alineació del cos.
hangingIndent?: Dimension; // Sagnat de les línies següents d'una nota.
spaceBetween?: Dimension; // Espai entre dues notes.
spaceAbove?: Dimension; // Espai entre el text i el filet; em és el cos del text.
spaceBelowRule?: Dimension; // Espai entre el filet i la primera nota.
separator?: {
enabled?: boolean; // Dibuixar el filet.
width?: number; // Longitud del filet, fracció de l'amplada de columna.
lineWidth?: Dimension; // Gruix del filet.
color?: ColorValue; // Sense valor, el color de les notes.
};
}| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
placement | 'column' | 'chapterEnd' | 'spread' | 'column' (llibres japonesos verticals: 'chapterEnd') | 'column' compon cada nota al peu de la columna que conté la línia que la cita, sota un filet curt; en una maqueta d'una columna és el peu de la pàgina. 'chapterEnd' compon totes les notes d'un capítol després del seu darrer bloc, en l'ordre en què es citen. 'spread' (傍注, només en text vertical) compon les notes citades a les dues pàgines d'un plec al final de la seva pàgina senar, l'esquerra en un llibre enquadernat per la dreta, sota el filet: les notes citades a la pàgina parella l'esperen, una nota que deixaria a la pàgina senar menys d'una línia de text es queda al peu de la pàgina parella amb les que la segueixen, i un capítol que acaba en una pàgina parella hi conserva les notes que esperaven. En text horitzontal torna a 'column' amb un avís unknownConfigValue. Des de postext 1.16. |
numbering | 'chapter' | 'document' | 'page' | 'column' | 'spread' | 'chapter' (llibres japonesos horitzontals: 'page'; amb placement: 'spread': 'spread'; amb numberFormat: 'symbols' al peu de la columna: 'page') | 'chapter' torna a començar per 1 sota cada títol de nivell 1 i al principi de cada document. 'document' continua per tot el document i, en un llibre maquetat capítol a capítol, d'un capítol al següent (continuationAfter porta l'últim número a continuation.footnoteNumber). 'page' torna a començar per 1 a cada pàgina i 'column' a cada columna, comptant les notes on les col·loca la maquetació (les columnes d'una pàgina en ordre de lectura): el 页下注 habitual d'un llibre xinès. El document es maqueta, es numera segons on han caigut les seves notes i es torna a maquetar fins que els números es mantenen (com a màxim tres vegades més). Tots dos valen per a les notes al peu de la columna: amb placement: 'chapterEnd' les notes es numeren per capítol. 'spread' torna a començar a cada plec (pàgines 2–3, 4–5…), en l'ordre de cita, per a placement: 'spread'. |
numberFormat | string | 'decimal' | Com s'escriuen els números, amb qualsevol de les grafies que accepta la configuració de numeració: 'decimal', 'lower-roman', 'lower-alpha', 'circled-decimal' (o '①'), 'cjk-decimal', '一'… El fan servir la crida i el número que obre la nota. circled-decimal escriu en decimal els números més grans que 50. Un nom desconegut numera en decimal, amb un avís unknownNumberFormat. 'symbols' (o '*') marca les notes amb símbols de crida, els de symbols per ordre: * † ‡ § ‖ ¶, després dobles (** †† ‡‡…) i triples; aleshores les notes es tornen a comptar a cada pàgina tret que es fixi numbering. Des de postext 1.19. |
symbols | string[] | ['*', '†', '‡', '§', '‖', '¶'] | La seqüència que escriu numberFormat: 'symbols', doblada i després triplicada quan s'esgota. Els fitxers llatins de Google Fonts i Fontsource porten * † § ¶ (la creu, a latin-ext) però ni ‡ ni ‖, que el PDF dibuixa llavors amb el glif .notdef de la font i un avís missingGlyph: amb una font així, traieu-los (['*', '†', '§', '¶']) o componeu les notes en una font que els tingui. Les cadenes buides es descarten i una llista buida conserva la seqüència per defecte. Des de postext 1.19. |
markerPosition | 'auto' | 'superscript' | 'inline' | 'side' | 'right' | 'auto' | 'superscript' posa volats, a mida reduïda, la crida del text i el número que obre la nota. 'inline' els compon sobre la línia de base: la crida a markerSize, el número de la nota a la mida de la nota; en text vertical, una crida en cercle en línia va dreta en una casella pròpia. 'right' compon una crida reduïda arran del costat dret d'una línia vertical, com componen (1) els llibres verticals japonesos; en text horitzontal és una volada. 'side' (合印) compon una crida petita al costat de la paraula marcada, al costat del seu ruby, que acaba on acaba l'últim caràcter de la paraula; no ocupa lloc a la línia, que es talla i es justifica com si no hi fos, i una interlínia massa estreta per a ella s'avisa amb rubyExceedsLeading. 'auto' és en línia amb circled-decimal, 'right' en un llibre japonès vertical i volada en els altres casos. En tots els casos la crida segueix el caràcter que la precedeix i mai no obre una línia. |
markerSize | Dimension | 1em; 0.6em amb 'side', 0.7em amb 'right' | Mida d'una crida en línia, lateral o a la dreta; em és la mida del text que l'envolta (0.75em és una reducció habitual). No afecta una crida volada. |
numberGap | 'en' | 'em' | 'en' (notes japoneses després del capítol: 'em') | L'espai després del número que obre una nota: un espai de mig quadratí o un quadratí sencer de la nota (un espai ideogràfic quan el número o la nota porten text CJK), que mai no s'estira ni es talla. Des de postext 1.16. |
markerTemplate | string | '{n}' (llibres japonesos verticals: '({n})') | Com s'escriu el número d'una nota; {n} el representa en el format de numeració i les xifres del document: '({n})' dona les crides entre parèntesis dels llibres àrabs, «(١)». Escriu igual la crida del text i el número que obre la nota. Una plantilla sense {n} es llegeix com el valor per defecte. |
noteNumberPosition | 'auto' | 'superscript' | 'inline' | 'auto' | On va el número que obre la nota: volat, o sobre la línia a la mida de la nota. 'auto' segueix markerPosition. Els llibres àrabs posen volada la crida del text i sobre la línia el número de la nota. |
chapterEndAlign | 'foot' | 'text' | 'foot' | Amb placement: 'chapterEnd': 'foot' compon les notes que tanquen una columna al peu d'aquesta, amb les línies sobrants entre el text i les notes, igual que les notes al peu de columna. 'text' les compon just sota el text. |
fontSize | Dimension | 0.8em | Cos del text de les notes. em i rem són el cos del text. Les notes fan servir la família i els pesos del cos. |
lineHeight | Dimension | 1.25em | Interlineat de les notes; em és el cos de la nota. Les notes queden fora de la retícula de línies de base: s'apilen des del peu de la columna i el text de sobre continua a la retícula. |
color | ColorValue | color del cos | Color del text de les notes. |
textAlign | TextAlign | alineació del cos | Alineació del text de les notes. |
hangingIndent | Dimension | 0 | Sagnat de la segona línia i següents d'una nota, per alinear-les després del seu número. |
spaceBetween | Dimension | 0 | Espai entre dues notes. |
spaceAbove | Dimension | 0.5em | Espai entre l'última línia de text i el filet; em és el cos del text. Amb 'chapterEnd' i chapterEndAlign: 'text', spaceAbove + spaceBelowRule és l'espai entre el text i la primera nota. |
spaceBelowRule | Dimension | 0.4em | Espai entre el filet i la primera nota. |
separator.enabled | boolean | true | Dibuixar el filet sobre les notes de cada columna. Amb false els espais de sobre es mantenen. |
separator.width | number | 0.3 | Longitud del filet com a fracció de l'amplada de la columna (0–1), des de la seva vora esquerra. |
separator.lineWidth | Dimension | 0.5pt | Gruix del filet. |
separator.color | ColorValue | color de les notes | Color del filet. |
footnotes: {
fontSize: { value: 7.5, unit: 'pt' },
lineHeight: { value: 9.5, unit: 'pt' },
hangingIndent: { value: 0.8, unit: 'em' },
separator: { width: 0.25, lineWidth: { value: 0.4, unit: 'pt' } },
}Llibres japonesos. Un document japonès (locale: 'ja', des de postext 1.16) dona als camps que deixa sense fixar els valors de JLReq §4.2. Un llibre vertical compon les notes després del capítol (placement: 'chapterEnd', 後注), numerades per capítol, amb crides ({n}) a la dreta de la línia (markerPosition: 'right', amb les xifres dretes segons cjk.uprightDigits); un d'horitzontal les compon al peu de la pàgina, numerades a cada pàgina, amb crides volades. Tots dos tracen el filet amb un terç de la mesura (separator.width: 1/3), i les notes després del capítol porten numberGap: 'em' i un sagnat francès de dos quadratins. Un valor explícit mana i es conserva en desar (stripFootnotesDefaults compara amb els valors per defecte del mateix document); els documents xinesos, àrabs i llatins es resolen com abans. footnoteDocumentDefaults(locale, writingMode, placement?) retorna aquests valors. La crida s'escriu davant d'un 。 que tanca la frase (先生[^1]。): es queda amb el caràcter anterior, i 。 mai no obre una línia. Vegeu Composició japonesa › Notes.
Com es componen les notes al peu de columna:
- La nota i la seva crida comparteixen columna. Abans de col·locar una línia, la maquetació suma l'alçada de les notes que aquella línia cita per primer cop (i la del filet, en la primera nota de la columna). Una línia les notes de la qual no caben a sota passa a la columna següent amb la resta del seu paràgraf, segons les regles de vídues i òrfenes. L'àrea de text de la columna s'escurça en l'alçada de les notes, de manera que l'equilibrat de columnes i la banda de tancament d'un capítol només compten el text.
- Diverses notes en una columna s'apilen en l'ordre de cita sota un únic filet. Una nota citada de nou més endavant conserva el seu número i no es torna a compondre.
- Flotants al peu. Una figura que ocupa el peu d'una columna després que les seves notes s'hagin compost queda damunt d'elles; les notes compostes després de la figura queden damunt d'ella.
- Requadres. Una nota citada dins d'un requadre (en línia, flotant o fix) va al peu de la columna on continua el text després del requadre, normalment la mateixa. Un requadre que tanca el document deixa les seves notes al peu de la columna on ha acabat el text.
- Límits. Una nota mai no es parteix: una de més alta que la columna la desborda. Les crides en peus de figura, cel·les de taula i títols no es llegeixen (s'imprimeixen tal qual).
- Sortida. El canvas, l'HTML i el PDF pinten les notes, les crides (un número volat) i el filet. Al PDF cada crida enllaça amb la seva nota, i un PDF etiquetat marca cada nota com a element
Noteamb un/IDúnic llistat a l'/IDTreede l'arbre d'estructura (PDF/UA-1). Les notes sónVDTBlockambfootnoteNote, apage.floats; els filets són apage.footnoteAreas. - Avisos.
undefinedFootnote(una crida sense definició: el número s'imprimeix sobre una nota buida) iunusedFootnote(una definició que cap crida no cita: no es compon).
El resolutor i el depurador segueixen el patró de les altres seccions:
import { DEFAULT_FOOTNOTES_CONFIG, resolveFootnotesConfig, stripFootnotesDefaults, footnoteDocumentDefaults } from 'postext';
resolveFootnotesConfig(config.footnotes, 'ja', 'vertical-rl'); // els camps sense fixar prenen els valors japonesos verticals#Numeració de línies
La propietat lineNumbers imprimeix al marge el número de cada cinquena línia (o de cada enèsima), al seu costat, com fan les edicions crítiques, les antologies de poesia, els textos legals i les edicions escolars. Compta els versos dels poemes :::verse, o totes les línies del text. Està desactivada per defecte. Cada número es pinta sobre la línia de base de la seva línia, amb un cos propi, i no mou mai cap línia: la pàgina es compon exactament igual que sense números. Des de postext 1.23.
interface LineNumbersConfig {
enabled?: boolean; // Desactivada per defecte.
count?: 'verse' | 'all'; // Els versos dels poemes, o totes les línies del text.
interval?: number; // Imprimir els múltiples de N.
numberFirst?: boolean; // Imprimir també la primera línia després de cada reinici.
restart?: 'document' | 'chapter' | 'section' | 'page' | 'poem'; // On torna a començar el compte.
startAt?: number; // El número de la primera línia després d'un reinici.
position?: 'outer' | 'inner' | 'left' | 'right' | 'start' | 'end' | 'side';
multiColumn?: 'each' | 'gutter' | 'outer-edges'; // Pàgines de dues columnes o més.
gap?: Dimension; // Del text al número; em és el cos del número.
align?: 'auto' | 'left' | 'right';
fontFamily?: string; // La família del cos si no es fixa.
fontSize?: Dimension; // em és el cos del text.
fontWeight?: number; // El pes del cos si no es fixa.
italic?: boolean;
color?: ColorValue; // El color del cos si no es fixa.
format?: string; // decimal, lower-roman, arabic-indic, 一…
}| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
enabled | boolean | false | Imprimeix els números de línia. Un document vertical (layout.writingMode: 'vertical-rl') no en porta cap, i un true en un document així s'avisa com a lineNumbersUnsupported. |
count | 'verse' | 'all' | 'verse' | 'verse' compta els versos dels poemes :::verse, cada vers una vegada: la part d'un vers massa llarg per a la caixa que passa a la línia següent no porta número, i l'espai entre estrofes no es compta. Un poema compost a la manera àrab clàssica compta una línia per bayt; la segona línia d'un bayt esglaonat no es compta. 'all' compta totes les línies dels paràgrafs del cos, dels elements de llista, de les citacions i dels versos, en ordre de lectura: pàgina a pàgina, columna a columna, de dalt a baix. |
interval | number | 5 | Imprimeix el número de cada línia que és múltiple d'aquest (5, 10, 15…). Un poema el primer vers del qual és el 37 imprimeix 40, 45… L'obertura d'un poema pot fixar-ne un de propi (interval=N). |
numberFirst | boolean | false | Imprimeix també el número de la primera línia comptada després de cada reinici. |
restart | 'document' | 'chapter' | 'section' | 'page' | 'poem' | 'poem' amb count: 'verse', 'page' amb count: 'all' | On torna a començar el compte: mai ('document', que continua per tots els capítols d'un llibre), a cada encapçalament de nivell 1 ('chapter'), a cada encapçalament de nivell 1 o 2 ('section'), a cada pàgina ('page') o a cada poema :::verse ('poem'). El lineStart=N d'un poema i el lines=N de la directiva :::numbering el reinicien en qualsevol punt, sigui quin sigui el mode. |
startAt | number | 1 | El número de la primera línia després d'un reinici. |
position | 'outer' | 'inner' | 'left' | 'right' | 'start' | 'end' | 'side' | 'outer' | El costat on van els números. 'outer' és el costat oposat al llom: la dreta d'una pàgina senar i l'esquerra d'una de parell, al revés en un llibre enquadernat per la dreta. 'inner' és el costat del llom. 'left' i 'right' són el mateix a totes les pàgines. 'start' i 'end' segueixen la direcció del document: 'start' és la dreta en un llibre de dreta a esquerra. 'side' els posa a la columna lateral d'una disposició 'oneAndHalf' amb layout.sideColumnRole: 'floats', contra la vora de la columna lateral que dona al text (gap no s'usa); en una pàgina sense columna lateral torna a 'outer'. |
multiColumn | 'each' | 'gutter' | 'outer-edges' | 'outer-edges' | Pàgines amb dues columnes de text o més, l'una al costat de l'altra. 'outer-edges' posa els números de la primera columna a la seva esquerra i els de l'última a la seva dreta; les columnes del mig segueixen 'each'. 'gutter' els posa als intercolumnis: els de la primera columna a la seva dreta, els de les altres a la seva esquerra. 'each' posa els de cada columna al costat de position. |
gap | Dimension | 1em | La distància de la vora de la columna al número; em és el cos del número mateix. |
align | 'auto' | 'left' | 'right' | 'auto' | 'auto' alinea cada número cap al text: a la dreta en un marge esquerre, a l'esquerra en un de dret. 'left' i 'right' alineen els números dins l'amplada del número més ample de la pàgina. |
fontFamily | string | família del cos | Tipus de lletra dels números. Es carrega i s'incrusta com qualsevol altra família. |
fontSize | Dimension | 0.8em | Cos dels números; em és el cos del text. |
fontWeight | number | pes del cos | Pes dels números. |
italic | boolean | false | Compon els números en cursiva. |
color | ColorValue | color del cos | Color dels números. Un color enllaçat a la paleta segueix les paletes de parts i seccions. |
format | string | decimal | Com s'escriuen els números, amb qualsevol de les grafies dels formats de numeració ('lower-roman', 'arabic-indic', '一'…). Els números decimals s'escriuen amb les xifres del document (numerals). Un nom desconegut numera en decimal, amb un avís unknownNumberFormat. |
lineNumbers: {
enabled: true,
count: 'verse',
interval: 5,
restart: 'document', // un sol compte per a tot el llibre
position: 'outer',
fontSize: { value: 0.75, unit: 'em' },
italic: true,
}Què es compta i què no:
- No es compten mai els encapçalaments, els peus, les taules i les imatges, les fórmules en bloc, el text de disseny (obertures, capçaleres), les notes a peu de pàgina i les notes de final de capítol, l'índex de continguts, les entrades de l'índex alfabètic i de la bibliografia, ni les pàgines en blanc.
- Requadres i prosa. El text d'un requadre no es compta, i amb
count: 'verse'tampoc la prosa, llevat que l'estil de paràgraf amb què es compon diguilineNumbers: true; un estil amblineNumbers: falseno es compta mai (vegeu Estils de paràgraf). - Un poema. L'obertura d'un poema admet
numbered=false(els seus versos no es compten),lineStart=N(el seu primer vers és l'N, i el compte torna a començar aquí) iinterval=N.:::numbering{lines=N}dona el número N a la línia comptada següent, sigui on sigui. Vegeu Format del document ›:::versei:::numbering.
En un llibre compost capítol a capítol, restart: 'document' porta el compte d'un capítol al següent a continuation.lineNumber. continuationAfter compta els versos a partir del text; amb count: 'all' el compte depèn de la composició, així que l'aplicació passa el lastLineNumber del document del capítol anterior, com fa el Sandbox.
Amb position: 'side' els números comparteixen la columna lateral amb els requadres, els peus i les figures laterals. Un número que se superposa a un d'ells es pinta igualment, cap dels dos no es mou, i la composició dona un avís de contingut lineNumberOverlap que assenyala la línia numerada.
Sortida. El canvas, el PDF, el visor HTML i l'EPUB de maquetació fixa pinten els números. En un PDF etiquetat són artefactes de paginació i cadascun porta un /ActualText buit, de manera que el text copiat o extret passa d'una línia a l'altra sense ells. La sortida HTML els amaga a les tecnologies d'assistència (aria-hidden), a la selecció i al text copiat. L'EPUB de maquetació fluida, les línies del qual compon el sistema de lectura, conserva només els números dels versos: un span pt-line-number (també aria-hidden) al marge inicial de l'estrofa, al costat de cada vers que porta número a la versió impresa. Al VDT els números són una ranura de disseny de cada pàgina (page.lineNumbers, amb els blocs de text marcats artifact) i una llista de marques (page.lineNumberMarks: number, label, columnIndex, blockId, lineIndex); el document desa lastLineNumber.
No s'admeten: números de línia en text vertical, una referència creuada que imprimeixi el número d'una línia, notes enllaçades a números de línia, ni números per a les línies de cel·les de taula, peus o llistats de codi.
Al Sandbox aquests ajustos són la secció Numeració de línies del tauler de disseny. El resolutor i el depurador segueixen el patró de les altres seccions; la font, el pes i el color surten del text de cos:
import { DEFAULT_LINE_NUMBERS_CONFIG, resolveLineNumbersConfig, stripLineNumbersDefaults } from 'postext';
resolveLineNumbersConfig(config.lineNumbers, resolvedBodyText); // font, pes i color sense fixar segueixen el cos#Referències creuades
La propietat crossRefs fixa les paraules que una referència creuada imprimeix al voltant d'un número o d'una pàgina, i l'estil que pren un :ref que no n'indica cap. Cada plantilla porta {n} on va el número; una que no el porta rep el número després d'un espai no separable ("§" imprimeix § 3.2). Una plantilla sense definir segueix la llengua del document: capítulo / sección / pág. en castellà, chapter / section / p. en anglès, 第{n}章 / 第{n}节 / 第{n}页 en xinès, i el mateix per al francès, l'alemany, l'italià, el portuguès, el català i el neerlandès.
interface CrossRefsConfig {
chapter?: string; // Words around a level-1 heading's number: "chapter {n}".
section?: string; // Around any other heading's number: "section {n}".
page?: string; // Around a page number: "p. {n}".
defaultStyle?: 'default' | 'number' | 'title' | 'page'; // A :ref without style=.
}| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
chapter | string | segons la llengua | Una referència a un títol de nivell 1: "capítulo {n}". Un número la plantilla del qual ja escriu la paraula (Capítulo {1}, 第{1:一}章) s'imprimeix tal qual. |
section | string | segons la llengua | Una referència a un títol de nivell 2 a 6: "sección {n}", "§ {n}". |
page | string | segons la llengua | Una referència de pàgina (style=page): "pág. {n}", "página {n}". |
defaultStyle | 'default' | 'number' | 'title' | 'page' | 'default' | El que imprimeix un :ref a un títol o a una àncora sense style=. 'default': un títol numerat amb la seva paraula i el seu número, un sense número amb el seu títol, una àncora amb el seu text. Una referència que indica style el conserva, i les referències a figures i taules no canvien. |
Les referències prenen el color, el pes i la inclinació de totes les referències (bodyText.referenceColor, referenceBold, referenceItalic).
#Cites
La propietat citations tria l'estil de cita i com es veuen les cites i la bibliografia. El marcatge es descriu a Cites i bibliografia; l'estil l'aplica el paquet postext-citeproc.
interface CitationsConfig {
style?: string; // 'apa', 'ieee', 'chicago-notes-bibliography'… or 'custom'
customStyle?: string; // a whole CSL style (.csl XML), used with style: 'custom'
locale?: string; // CSL locale; the document language when unset
link?: boolean; // citations link to their entries
marker?: 'style' | 'brackets' | 'parentheses' | 'superscript' | 'corner';
collapseRanges?: boolean;
notes?: 'footnote' | 'warichu';
numbering?: 'book' | 'chapter';
bibliography?: {
title?: string; // unset: the document language's word; '' or ' ': none
scope?: 'book' | 'chapter';
auto?: boolean;
fontSize?: Dimension;
lineHeight?: Dimension;
hangingIndent?: Dimension;
entrySpacing?: Dimension;
labelWidth?: Dimension;
labelAlign?: 'left' | 'right';
doi?: 'link' | 'text' | 'hide';
includeUncited?: boolean;
groupByLanguage?: boolean;
};
}| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
style | string | 'apa' | L'id d'un estil inclòs (vegeu Estils) o 'custom'. L'estil decideix el que diuen les cites i les entrades: noms, dates, ordre, puntuació i si les cites són notes. |
customStyle | string | — | Un estil CSL complet, l'XML d'un fitxer .csl, que es fa servir quan style és 'custom'. El Sandbox el carrega des d'un fitxer. |
locale | string | llengua del document | La configuració regional CSL en què l'estil escriu les seves paraules (es-ES, en-US, zh-CN, ja-JP…). Un document japonès es llegeix com a ja-JP: les citacions narratives uneixen dos autors amb と i abreugen els altres amb ほか. |
link | boolean | true | Una cita enllaça amb la seva entrada a la bibliografia (enllaç al PDF, àncora a l'HTML, clic al Sandbox). |
marker | 'style' | 'brackets' | 'parentheses' | 'superscript' | 'corner' | 'style' | Com marca la cita un estil numèric: com l'escriu l'estil, [1], (1), en superíndex o 〔1〕 (dret en text vertical). El localitzador va després del número. |
collapseRanges | boolean | true | Números seguits com a interval: 1–3 amb una marca pròpia, [2]–[4] amb la d'IEEE. false els deixa separats. |
notes | 'footnote' | 'warichu' | 'footnote' | On posa les seves cites un estil de notes: notes a peu de pàgina (com diu footnotes) o notes de dues línies dins del rengle (夹注). |
numbering | 'book' | 'chapter' | 'book' | Les citacions al llarg del llibre, o cada capítol pel seu compte (cada document, i cada encapçalament de nivell 1 després d'una citació): un estil numèric numera cada capítol des d'1 i una obra citada en dos capítols pren el número de cadascun; un estil de notes escriu l'obra completa a la seva primera citació de cada capítol. Pensat per a bibliography.scope: 'chapter', les llistes del qual prenen llavors els números del capítol. |
bibliography.title | string | segons la llengua | Títol sobre la llista, un paràgraf en negreta. En blanc: cap. Un títol propi va sobre :::bibliography. |
bibliography.scope | 'book' | 'chapter' | 'book' | Una llista amb totes les obres que cita el llibre, o una per capítol amb les que cita cadascun. En un document de diversos capítols cada H1 comença una llista nova; amb auto, un capítol que no col·loca el seu :::bibliography rep la llista al final. |
bibliography.auto | boolean | true | Posa la llista després del text (després de l'últim capítol, si abasta tot el llibre) quan cap :::bibliography no la situa. |
bibliography.fontSize | Dimension | 0.9em | Mida de les entrades; em és la mida del text. |
bibliography.lineHeight | Dimension | interlineat del text | Interlineat de les entrades. |
bibliography.hangingIndent | Dimension | 2em | Sagnat de les línies següents d'una entrada sense número. |
bibliography.entrySpacing | Dimension | 0.3em | Espai entre dues entrades. |
bibliography.labelWidth | Dimension | rètol més llarg | Amplada de la columna dels números d'una llista numerada: el text de cada entrada comença a aquesta distància, tant en la primera línia com en les següents, de manera que 9. i 10. comparteixen la columna. El número continua formant part del text de l'entrada. |
bibliography.labelAlign | 'left' | 'right' | 'left' | On es col·loca el número a la seva columna: contra la vora esquerra o contra el text (9. i 10. acaben alhora). |
bibliography.doi | 'link' | 'text' | 'hide' | 'link' | DOI i URL com a enllaços, com a text o fora. |
bibliography.includeUncited | boolean | false | Llista totes les referències, citades o no (com nocite: "@*"). |
bibliography.groupByLanguage | boolean | false | Primer les obres en xinès, japonès i coreà; després les altres. Només en estils autor-data i autor-pàgina: una llista numerada conserva l'ordre dels seus números. |
#Índex de continguts
La propietat toc configura el que imprimeix una directiva :::toc (vegeu Format del document). L'índex es munta a partir de l'esquema del document — cada encapçalament amb el seu número i la seva etiqueta de pàgina, cada :::part — de manera que segueix els capítols: canvia el nom d'un, mou-lo a una altra part, canvia'n els autors, i les entrades canvien amb ell. Una entrada és el número de l'encapçalament en una columna pròpia, el títol, una línia de punts i l'etiqueta de pàgina a la vora dreta, i després una línia de subtítol opcional; una part és una fila dissenyada per parts.design.
const config: PostextConfig = {
toc: {
levels: [{ level: 1, fontWeight: 700, color: { hex: '#00507b', model: 'hex' }, numberWidth: { value: 7.4, unit: 'mm' } }],
unnumbered: { color: { hex: '#000000', model: 'hex' } },
pageNumber: { fontWeight: 400, width: { value: 8, unit: 'mm' } },
leader: { char: '.', gap: { value: 1, unit: 'mm' } },
subtitle: { enabled: true, attr: 'author', italic: true, fontSize: { value: 8.5, unit: 'pt' } },
parts: {
height: { value: 23, unit: 'pt' },
marginTop: { value: 11.5, unit: 'pt' },
design: { elements: [/* una caixa de banda, 'SECCIÓ {number}', '{titleText}', '{pageNumber}' */] },
},
},
};| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
levels | TocLevelConfig[] | nivell 1 | Nivells d'encapçalament llistats, cadascun amb la tipografia de les seves entrades: fontFamily, fontSize, lineHeight (per defecte l'interlineat del cos, perquè l'índex caigui a la retícula), fontWeight, italic, color, indent (de tota l'entrada), numberWidth / numberGap (la columna de números després de la qual comença el títol; els números s'hi alineen a la dreta, i un número més ample que numberWidth, com الفصل الحادي عشر o Capítol 12, eixampla la columna del seu nivell fins al més ample), numberFontFamily, numberFontSize, numberFontWeight, numberColor, marginTop, marginBottom. Els camps sense fixar hereten el text de cos. El número s'assenta a la línia de base de la primera línia del títol, siguin quins siguin la seva font i el seu cos, al llenç, a l'HTML i al PDF (fins a postext 1.4 es centrava a l'altura de la x com un pic, de manera que una font de retolació o un cos més gran quedaven per sobre del títol). Un renderitzador propi troba aquesta línia de base al bulletBaselineY del bloc de l'entrada; bulletY continua sent el centre vertical del quadratí del número, com a la 1.4, de manera que un renderitzador anterior a aquest camp dibuixa els números on sempre. |
unnumbered | TocEntryStyleConfig | — | Sobreescriptures per als encapçalaments l'estil dels quals declara numbered: false (un pròleg): no imprimeixen número i comencen arran a l'indent del nivell. |
pageNumber | objecte | font del nivell 1, pes del cos | fontFamily, fontSize, fontWeight, italic, color de l'etiqueta de pàgina, i width (per defecte 2em): la columna que se li reserva a la vora dreta, on s'alinea a la dreta. |
leader | objecte | | char es repeteix al llarg del buit entre el títol i el número de pàgina, alineat a la dreta perquè els punts d'entrades consecutives quedin en línia ('. ' els espaia); gap és el buit mínim entre el títol i la línia de punts. La línia porta tants caràcters com hi caben, mesurada com una tira sencera en la seva font, de manera que una font que separa amb el kerning els punts seguits posa menys punts en lloc de punts que arribin al número de pàgina. (Fins a postext 1.4 el compte sortia d'un sol punt, i amb una font així la línia de punts anava del títol fins a muntar-se sobre el número). Un títol que no deixés lloc a l'etiqueta salta de línia una mica abans. La línia de punts porta tres caràcters o més: on només n'hi caben un o dos, la fila es queda sense, perquè un punt solt davant del número de pàgina es llegeix com un punt final. En un PDF etiquetat els punts són artefactes, que el text extret omet. El text de cos posa els mateixos farciments a les seves tabulacions. |
subtitle | objecte | | Una segona línia sota l'entrada presa d'un atribut de l'encapçalament (attr) — els autors del capítol — amb els seus propis fontFamily, fontSize, fontWeight, italic (per defecte true), color i indent addicional. La línia comparteix l'interlineat de l'entrada i mai no se separa del seu títol. |
parts.enabled | boolean | true | Si els separadors de part reben una fila. |
parts.breakBefore | boolean | false | Obre una pàgina nova abans de cada fila de part excepte la primera, de manera que els capítols de cada part es llisten en una pàgina pròpia. |
parts.design | DesignSlot | buit | Disseny de la fila; el seu contenidor és la fila (amplada de columna × height). Marcadors: , , …, i (l'etiqueta de la pàgina de part; amb parts.page: false, que no obre pàgina de part, l'etiqueta de la pàgina on comença el contingut de la part, on les capçaleres passen a la part; en un llibre maquetat capítol a capítol, una tanca que clou el seu capítol apunta a la primera pàgina amb contingut del capítol següent). Els colors lligats a la paleta prenen la palette de la mateixa part, així que la fila de cada secció surt amb el seu color. Buit, es componen (separats pel numberSeparator de l'H1) i el número de pàgina amb la tipografia de les entrades de nivell 1. |
parts.height, marginTop, marginBottom | Dimension | 2em, 0, 0 | Alçada de la fila i espai al seu voltant. em és el cos del text, així que la fila per defecte fa el doble del cos, no dues línies de text: amb un text de 9,5/13,5 pt fa 19 pt. Per a una fila de dues línies de text, dona l'alçada en pt (27pt en aquest cas). |
Les etiquetes de pàgina són les que imprimeix el document. buildDocument() torna a compondre un document amb :::toc amb les etiquetes de la passada anterior fins que s'estabilitzen (tres passades addicionals com a màxim); un amfitrió que compon un llibre capítol a capítol subministra en lloc d'això l'esquema del llibre sencer com a PostextContent.outline, muntat amb contentOutline() (encapçalaments i parts a partir del text) i outlineFromDoc() (les mateixes entrades amb les etiquetes de pàgina d'una composició), i torna a compondre el capítol de l'índex cada vegada que canvia l'outlineKey() d'aquest esquema. Cada entrada d'encapçalament porta el number que imprimeix l'índex i, en un encapçalament numerat, el seu counter: el compte acumulat del nivell després de qualsevol startAt, imprimeixi el que imprimeixi la plantilla — el que un amfitrió mostra al costat d'un capítol a les seves pròpies llistes.
#Índex analític
La propietat index configura el que imprimeix una directiva :::index (vegeu Format del document): els termes marcats amb :index[…] i :index{term="…"} al text, ordenats, agrupats per inicial (en xinès, per la inicial del pinyin o per traços, i en japonès per files del gojūon; vegeu groupBy) i cadascun amb les pàgines on cau. Una entrada és el seu terme, un separador i els seus números de pàgina; al darrere van les seves subentrades, amb un pas de sagnat per nivell, i les línies que continuen una entrada pengen turnoverIndent per no alinear-se mai amb una subentrada.
const config: PostextConfig = {
headingStyles: [
// L'índex a dues columnes, sota el seu propi encapçalament.
{ id: 'indice', numbered: false, layout: { layoutType: 'double', gutterWidth: { value: 6, unit: 'mm' } } },
],
index: {
fontSize: { value: 8.5, unit: 'pt' },
lineHeight: { value: 11, unit: 'pt' },
rangeFormat: 'chicago',
groups: { fontFamily: 'Source Sans 3', fontWeight: 700, color: { hex: '#8a1c1c', model: 'hex' } },
},
};| Propietat | Tipus | Per defecte | Descripció |
|---|---|---|---|
fontFamily, fontSize, lineHeight, fontWeight, color | — | el text de cos | Tipografia de les entrades. Totes les línies de l'índex, lletres de grup incloses, es componen sobre lineHeight; l'índex porta el seu propi ritme i no s'ajusta a la retícula de base. |
indent | Dimension | 1em | Sagnat de cada nivell de subentrada. |
turnoverIndent | Dimension | 2em | Sagnat addicional de les línies que continuen una entrada, més enllà del seu nivell. |
entrySpacing | Dimension | 0 | Espai sobre cada entrada principal. |
separator, locatorSeparator, rangeSeparator | string | ', ', ', ', '–'; les dues primeres, '، ' en escriptura àrab | El que s'imprimeix entre el terme i la seva primera pàgina, entre dues pàgines i entre els extrems d'un interval. |
mergeRanges | boolean | true | Uneix en un interval les pàgines consecutives d'un mateix format de numeració: 12, 13, 14 s'imprimeix 12–14. Les pàgines principals no s'uneixen mai. |
rangeFormat | 'full' | 'chicago' | 'full' | Com s'escriu el segon número d'un interval: complet (234–237) o sense les xifres que comparteix amb el primer, com demana el Manual d'estil de Chicago (9.64): 71–72, 100–104, 101–8, 321–28, 1496–500. Les etiquetes romanes s'escriuen sempre completes. |
main | | negreta | Com es compon una pàgina principal (main a la marca). |
see | | segons la llengua, en cursiva (rodona en escriptura àrab) | Les paraules que precedeixen una remissió. Sense fixar, segueixen la llengua del document: Véase / Véase también, See / See also, Voir / Voir aussi, 见 / 另见 (見 / 另見 en xinès tradicional)… Un índex en xinès posa la remissió després d'un punt i sense espai: 贾琏 12。见贾政. |
locale | string | el del document | La llengua l'ordre alfabètic de la qual ordena les entrades (una etiqueta BCP 47, que llegeix Intl.Collator). En castellà la ñ va després de la n i encapçala un grup propi; els accents no alteren l'ordre. |
groupBy | 'auto' | 'letter' | 'pinyin' | 'stroke' | 'gojuon' | 'kana' | 'none' | 'auto' | Què encapçala cada grup. 'letter': la primera lletra de la clau d'ordenació. 'pinyin': una entrada que comença per un caràcter han va sota la inicial llatina de la seva lectura en pinyin (贾宝玉 sota J), i una clau d'ordenació llatina sota la seva lletra, darrere de les entrades xineses d'aquesta lletra (l'ordenador de cadenes posa les lletres llatines després dels caràcters xinesos): sort="jia mu" tanca la J. 'stroke': sota el nombre de traços del primer caràcter, 一畫, 二畫… (一画… en xinès simplificat). 'gojuon': una entrada en kana va sota la seva fila del gojūon, あ行, か行 … わ行, i 'kana', sota el seu primer kana (katakana i hiragana comparteixen capçalera), en l'ordre JIS X 4061 d'un índex japonès: per la lectura (el yomi de la marca i, si no, la lectura en kana del seu ruby, després sort i després el text), els katakana com a hiragana, els kana petits com els grans, ー com la vocal que la precedeix, i el kana sense marca abans que el sonor i aquest abans que el semisonor; primer els símbols, després els nombres pel seu valor, després les paraules llatines sota les seves lletres i després els kana; una entrada que continua encapçalada per un kanji s'avisa amb indexReadingMissing i es col·loca després dels kana, sense capçalera. 'none': sense capçaleres; els símbols, les xifres i les paraules només se separen per groups.marginTop. 'auto' agrupa un índex en japonès (ja, ja-*) per files del gojūon, un en xinès simplificat (zh, zh-Hans, zh-CN) per pinyin, un en xinès tradicional (zh-Hant, zh-TW, zh-HK) per traços i qualsevol altra llengua per lletra. Les entrades s'ordenen amb la col·lació de la qual surten les capçaleres: un índex zh-Hant agrupat per pinyin s'ordena per pinyin. Les lectures i els traços són els de l'ordenador de cadenes (CLDR); si llegeix malament un caràcter (重 com a zhòng a 重阳, 行 com a xíng a 行业), dona a la marca una clau sort escrita amb caràcters que només tinguin la lectura cercada, que s'ordena al seu lloc: sort="崇阳" per a 重阳, sort="航业" per a 行业. Un navegador sense dades de col·lació xinesa imprimeix un índex per pinyin o per traços sense capçaleres. |
ignoreArticle | boolean | true en àrab | Ordena i agrupa les entrades àrabs com si no portessin l'article inicial ال (ٱل): البصرة va sota ب, entre بدر i بغداد, i s'imprimeix tal com està escrita. الله conserva el seu article, i una entrada amb clau sort pròpia s'ordena per aquesta clau tal qual. En qualsevol cas, un índex en àrab ignora els signes vocàlics i el tatweel, posa أ إ آ ٱ sota ا, i ordena ؤ com a و, ئ i ى com a ي, ة com a ه. |
groups.enabled | boolean | true | Imprimeix una capçalera sobre cada grup d'entrades (A, B…, o el nombre de traços, 0–9 per a les xifres, Símbolos per a la resta; 数字 / 數字 i 符号 / 符號 en xinès). |
groups.fontFamily, fontSize, fontWeight, italic, color | — | les de les entrades, pes 700 | La tipografia de la lletra de capçalera. Es compon sobre l'interlineat de les entrades. |
groups.marginTop | Dimension | una línia de l'índex | Espai sobre cada grup, amb lletra de capçalera o sense; cap sobre el primer grup, la distància del qual a l'encapçalament la fixa l'encapçalament, ni a dalt de tot d'una columna. |
groups.symbolsLabel, numbersLabel | string | segons la llengua; '0–9', '数字' / '數字' en xinès | Les capçaleres de les entrades que comencen per un símbol i per una xifra. |
Els números de pàgina surten de l'esquema del llibre, com els de l'índex de continguts: computeOutline() i contentOutline() enumeren les marques d'un text com a entrades de tipus 'indexMark' (amb indexMark.path, sort, see, seeAlso, main, range i index), i outlineFromDoc() dona a cadascuna la pàgina on va caure, que la composició registra a doc.indexMarks ({ sourceStart, pageIndex } per marca). buildDocument() torna a compondre un document que imprimeix el seu propi índex fins que els números s'estabilitzen; un amfitrió que compon un llibre capítol a capítol passa al capítol que conté :::index l'esquema del llibre sencer com a PostextContent.outline. tocOutline() i indexOutline() separen un esquema en allò que llegeixen l'índex de continguts i l'analític, perquè l'amfitrió associï cada capítol al que imprimeix: el sandbox torna a compondre el capítol de l'índex analític només quan es mou una marca, i el de l'índex de continguts només quan es mou un encapçalament. contentOutline() indica a més si un text imprimeix un índex analític (hasIndex).