aplat.5 (4032B)
1 .Dd 8 juin 2024 2 .Dt APLAT 5 3 .Os 4 .Sh NOM 5 .Nm aplat 6 .Nd Format de document structuré hiérarchiquement 7 .Sh DESCRIPTION 8 .Nm aplat 9 est un format de document structuré hiérarchiquement 10 conçu pour être facile à 11 écrire et manipuler 12 par un humain. 13 Et est équivalent 14 au format 15 .Xr plat 5 . 16 .Pp 17 C’est le format qu’\c 18 .Xr aplat 1 19 prend en entrée. 20 .Pp 21 Le format 22 .Nm aplat 23 est constitué de quatre types d’objet\~: 24 .Em domaine , 25 .Em atome , 26 .Em étiquette 27 et 28 .Em contenu . 29 .Pp 30 Un 31 .Em domaine 32 sectionne un document. 33 Ses limites sont notées par des parenthèses\~: 34 les parenthèses ouvrante 35 .Pq Sq \( 36 et fermante 37 .Pq Sq )\& 38 en marquent le début et la fin, respectivement. 39 Les limites de tout domaine 40 (et plus généralement, de tout object) 41 doivent être contenues à l’intérieur du 42 .Em "domaine parent" 43 immédiat. 44 Le 45 .Em "domaine racine" , 46 domaine absolument supérieur en ce qu’il n’a pas de parent 47 et qu’il contient tous les autres domaines, fait exception à la règle. 48 Les parenthèses de tout domaine doivent être équilibrées. 49 .Pp 50 Une 51 .Em étiquette 52 nomme un domaine. 53 Ce nom correspond au premier 54 .Em atome 55 du domaine. 56 La longueur d’une étiquette ne peut excéder les 127 octets. 57 .Pp 58 Le 59 .Em contenu 60 d’un domaine correspond la concaténation de tous les atomes qu’il contient, 61 excepté le premier, qui contient l’\c 62 .Em étiquette . 63 .Pp 64 Finalement, un 65 .Em atome 66 est une suite de caractères limitée par des parenthèses ou par des blancs. 67 Sont traités comme des blancs les caractères suivants\~: 68 l’espace normale 69 .Pq Sq \ , 70 le saut de ligne 71 .Pq Sq \en 72 et le caractère de tabulation 73 .Pq Sq \et . 74 .Pp 75 Il existe trois moyens d’échapper des caractères\~: l’utilisation de la barre 76 oblique inversée 77 .Pq Sq \e , 78 l’encadrement avec des guillemets droits doubles 79 .Pq Sq \(dq 80 et l’encadrement avec des signes d’égalité en début de ligne. 81 .Pq Sq \en= . 82 .Pp 83 Le caractère d’échappement 84 .Pq Sq \e 85 change l’interprétation des caractères spéciaux. 86 Son effet varie selon le caractère échappé. 87 Un nouvelle ligne échappée 88 est ignorée. 89 Les autres caractères échappés, 90 dont 91 les parenthèses, 92 les espaces normales, 93 les caractères de tabulation, 94 les guillemets 95 et les caractères d’échappement eux-mêmes, 96 reçoivent une interprétation littérale. 97 .Pp 98 Lorsqu’une chaîne de caractères est placée entre guillemets droits doubles 99 .Pq Sq \(dq , 100 les blancs 101 et les parenthèses 102 recoivent leur interprétation littérale. 103 Le comportement du caractère d’échappement est le même à l’intérieur de 104 guillemets qu’à l’extérieur. 105 Les guillemets n’ont pas à se trouver aux extrémités des atomes 106 mais fonctionnent plutôt comme des commutateurs 107 réglant le mode d’interprétation. 108 Ils ressemblent en cela 109 aux guillemets des interpréteurs de commandes Unix. 110 .Pp 111 La dernière stratégie d’échappement a recours à un 112 .Em bloc . 113 Un bloc est délimité par une paire de signes d’égalité 114 placés en début de ligne 115 .Pq Sq \en= . 116 Les caractères qui se trouvent 117 sur les mêmes lignes que ces signes d’égalité 118 sont ignorés. 119 Ils peuvent ainsi servir à donner certaines informations à 120 d’éventuels préprocesseurs. 121 Le texte qui se trouve à l’intérieur d’un bloc est interprété 122 .Em verbatim . 123 Les séparateurs de blocs sont interprétés comme tels 124 en tout temps, 125 et les mécanismes d’échappement normaux 126 n’ont aucun effet sur lui. 127 Une construction spéciale 128 permet d’échapper 129 des signes d’égalité 130 en début de ligne. 131 Il suffit de les faire suivre 132 d’un point d’exclamation 133 .Pq Sq !\& . 134 Un bloc 135 peut être enchâssé 136 entre une paire de guillemets. 137 .Pp 138 Les deux constructions suivantes sont équivalentes\~: 139 .Bd -literal -offset indent 140 (doc 141 (par "La ligne qui suit commence par un signe d’égalité\~: 142 =!")) 143 .Ed 144 .Bd -literal -offset indent 145 (doc 146 (par 147 = type:texte 148 La ligne qui suit commence par un signe d’égalité\~: 149 =! 150 = 151 )) 152 .Ed 153 .Sh VOIR AUSSI 154 .Xr aplat 1 , 155 .Xr plat 5 156 .Sh AUTEURS 157 .An Loïc Daignault-Pichette <loic@asteride.xyz>