1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283
|
=encoding UTF-8
=head1 NOM
B<freetable> - outil de génération automatique de tableaux HTML
=head1 VERSION
Cette documentation décrit l'utilisation de B<freetable> version 2.3.
Si vous utilisez une autre version, certaines différences peuvent
apparaitre.
=head1 SYNOPSIS
B<freetable> I<[options]> F<fichier>
ou
B<freetable> I<[options]>
Options:
I<-h>, I<--help> Affiche cette aide et stoppe
I<-V>, I<--version> Affiche seulement le numéro de version
I<-c>, I<--comment> Affiche un commentaire avant chaque
cellule pour indiquer son emplacement
I<-b>, I<--no-nbsp> N'ajoute pas I< > dans les cellules
vides pour modifier le rendu 3D
I<-w>, I<--warning> Affiche un commentaire avant chaque
tableau, indiquant que le tableau est
généré automatiquement et ne doit pas
être édité
I<-l>, I<--location> Remplace les indicateurs C<E<lt>rowE<gt>> (ligne)
et C<E<lt>colE<gt>> (colonne) à l'intérieur des
tableaux par la position de la cellule
courante.
I<-m>, I<--macro> I<[program]>
Avec cette option, le contenu des
cellules est passé à un pré-processeur,
qui est B<m4> par défaut
=head1 AVERTISSEMENT SUR LA SÉCURITÉ
N'UTILISEZ PAS DE MACRO-PROCESSEUR SUR UN
FICHIER SOURCE DONT VOUS N'ÊTES PAS SÛR.
CELA POURRAIT COMPROMETTRE LA SÉCURITÉ DE
VOTRE SYSTÈME
Plus d'informations dans la documentation de B<m4>,
en particulier la commande I<syscmd>.
=head1 DESCRIPTION
Ce programme est un logiciel libre qui remplace B<wwwtable>.
HTML est un langage agréable, mais avec un énorme défaut : les tableaux.
J'ai passé de nombreuses heures à lire le code source que j'avais tout
juste écrit pour essayer de comprendre quelle cellule dans le code
source correspond à ce qui est affiché dans le navigateur.
Si cela vous rappelle une expérience similaire, alors lisez cette
documentation et votre peine ne sera plus qu'un mauvais souvenir.
Le programme reçoit en entrée du code HTML provenant soit de l'entrée
standard (I<stdin>), soit d'un fichier. Il recherche alors les
caractères suivants, qui annoncent l'ouverture d'un tableau:
<wwwtable [options]>
Il analyse le contenu jusqu'à détecter la fin du tableau, affiche le
code HTML correspondant puis continue le traitement avec les tableaux
suivants.
=head1 SYNTAXE
La syntaxe est très simple:
wwwtable:
<wwwtable [wwwtable_options]>
[preambule]
[cellule]
[cellule]
...
</wwwtable>
La chaîne optionnelle wwwtable_options est passée telle quelle comme
attribut de la balise C<E<lt>tableE<gt>>. Le préambule n'est pas traité,
il peux contenir n'importe quel code HTML, il sera inséré au début du
tableau.
Les cellules sont soit des cellules normales (balise C<E<lt>tdE<gt>>),
soit des cellules d'en-tête (balise C<E<lt>thE<gt>>).
Il en était ainsi jusqu'aux versions 1.x, voyez la prochaine section
pour une autre méthode d'adressage des colonnes.
cellule normale:
(ligne,colonne) options_cellule
contenu_cellule
cellule en-tête:
((ligne,colonne)) options_cellule
contenu_cellule
Le texte contenu dans options_cellule est passé comme attribut
de la balise de la cellule. Les mots-clés I<colspan> et I<rowspan>
sont interprétés pour générer des tableaux corrects.
Le contenu des cellules (contenu_cellule) est quelconque, il peut même
contenir d'autres wwwtables !
Si vous utilisez l'option I<-m> (ou son synonyme I<--macro>), le contenu
des cellules sera passé comme entrée standard de la commande B<m4>(1),
après avoir remplacé les chaînes de caractères B<E<lt>rowE<gt>> (resp.
B<E<lt>colE<gt>>) par le numéro de ligne (resp. colonne) de la cellule.
Les indices de ligne et colonne sont soit des nombres, soit un adressage
relatif, soit une expression régulière qui désigne un ensemble de
cellules. À la différence de B<wwwtable>, B<freetable> peut aussi
utiliser des expressions régulières dans les cellules d'en-tête. Un
autre ajout est la possiblité d'utiliser I<*> à la place de I<.*>.
L'adressage relatif est de la forme :
I<=> ou vide : même indice que la cellule précédente
I<+> ou I<+X> : incrémente l'indice de I<X> (défaut: 1)
I<-> ou I<-X> : décrémente l'indice de I<X> (défaut: 1)
Lorsqu'une cellule est désignée par plusieurs expressions, à la fois les
options et le contenu de chaque cellule sont ajoutés.
Si vous n'utilisez que des expressions régulières, il faut indiquer au
programme la position de la dernière cellule.
<wwwtable>
(*,1)
cellules de la colonne 1
(1,*)
cellules de la ligne 1
(4,4)
</wwwtable>
=head1 AUTRE SYNTAXE D'ADRESSAGE
Il n'est pas très pratique de spécifier les numéros de cellules avec des
expressions régulières. B<Freetable> 2.0 a introduit deux nouvelles
méthodes d'adressage, qui peuvent être utilisées sur les cellules
normales et les cellules d'en-tête.
Une compatibilité totale avec les versions antérieures est assurée.
Pour cette raison, il n'était pas question de modifier la syntaxe
actuelle. Malheureusement, vous ne pouvez pas spécifier les lignes en
utilisant une syntaxe d'adressage, et les colonnes avec une autre
syntaxe. Pour remédier à ce problème, les deux méthodes sont très
souples, si bien que vous ne devriez jamais avoir à les mélanger, et
elles vous permettent d'utiliser I<=>, I<+>, I<->, I<+X>, I<-X> et la
chaîne vide de la même façon qu'avec B<freetable> 1.x.
De plus, ces nouvelles méthodes déterminent automatiquement la dernière
cellule, contrairement à l'adressage par des expressions régulières.
=head2 BORNES EXPLICITES
(bornes_ligne;bornes_colonne) options_cellule
contenu_cellule
La syntaxe pour I<bornes_ligne> et I<bornes_colonne> est de la forme:
1-2,4-7,9,12. Les doublons sont éliminés. Pour les besoins de
l'adressage relatif, le dernier nombre est utilisée. Ainsi, quand vous
écrivez
(1-100,32;1)
foo
(+,)
bar
la cellule (33,1) contiendra « foo bar » et toutes les autres seulement
« foo ».
=head2 CODE PERL QUELCONQUE
({code pour les lignes},{code pour les colonnes}) options_cellule
contenu_cellule
Vous pouvez utiliser n'importe quel code Perl qui tient sur une seule
ligne du moment qu'il est repéré oar notre expression régulière (pas
très futée) et renvoie une liste. Il n'est malheureusement pas possible
de détecter n'importe quel code de Perl grâce à une expression
régulière, mais du moment qu'il ne contient pas les séquences I<},{> et
I<})>, cela devrait marcher. Exemple :
<wwwtable>
({grep {$_%3 == 1} 1..100},{1..2,4})
foo
</wwwtable>
va créer un tableau de 100 lignes par 4 colonnes avec « foo » dans les
premières, deuxième et quatrième colonnes de chaque ligne dont le numéro
vaut 1 modulo 3.
Si vous voulez mélanger cet adressage avec le précédent, il suffit de
remplacer I<-> par I<..> dans la définition des bornes, et l'entourer
par des accolades I<{> et I<}>.
Si vous voulez mélanger cet adressage avec une expression régulière,
vous pouvez remplacer cette dernière par I<{grep {/expression/} min..max}>.
Il est malheureusement obligatoire de spécifier explicitement la
dimension du tableau.
=head1 INCOMPATIBILITÉS AVEC WWWTABLE
Les utilisateurs de B<wwwtable> qui décident de passer à B<freetable>
devraient lire cette section. La majorité des incompatibilités
proviennent du traitement des expressions régulières. Il faut aussi
noter que B<wwwtable> ne permettait ni le remplacement automatiques des
numéros de lignes et de colonnes, ni l'utilisation d'un
pré-processeur.
L'option I<-w> a le comportement opposé. Nous n'écrivons aucun
commentaire par défaut, et I<-w> ou I<--warning> est utilisée pour les
ajouter.
Les cellules d'en-tête peuvent être définies avec des expressions
régulières, par exemple
((1,*))
ce qui était impossible avec B<wwwtable>.
Les indices des axes sont 100% orthogonaux, ce qui signifie qu'avec le code
suivant
(*,1) width=30
(*,2) width=35
(*,3) width=40
(=,=)
Foo
Foo va apparaitre en 3e colonne, et si vous vouliez qu'il soit en 1e
position, il faut écrire
(*,1) width=30
(*,2) width=35
(*,3) width=40
(=,1)
Foo
ou
(*,) width=30
(*,+) width=35
(*,+) width=40
(=,1)
Foo
Avec B<freetable> 2.0, deux méthodes complètement nouvelles d'adressage
des cellules ont été introduites. Elles sont totalement incompatibles
avec B<wwwtable>.
=head1 BUGS
L'utilisation de « code Perl quelconque » échouera avec du code
complexe.
=head1 VOIR AUSSI
B<m4(1)>
=head1 AUTEUR
Tomasz Wegrzanowski <taw@users.sourceforge.net>
Traduction française de la documentation:
Denis Barbier <barbier@debian.org>
=cut
|