Man page - freetable(1)

Packages contains this manual

Available languages:

en fr pl

Manual

FREETABLE

NOM
VERSION
SYNOPSIS
AVERTISSEMENT SUR LA SÉCURITÉ
DESCRIPTION
SYNTAXE
AUTRE SYNTAXE D’ADRESSAGE
BORNES EXPLICITES
CODE PERL QUELCONQUE
INCOMPATIBILITÉS AVEC WWWTABLE
BUGS
VOIR AUSSI
AUTEUR

NOM

freetable - outil de génération automatique de tableaux HTML

VERSION

Cette documentation dĂ©crit l’utilisation de freetable version 2.3.

Si vous utilisez une autre version, certaines différences peuvent apparaitre.

SYNOPSIS

freetable [options] fichier

ou

freetable [options]

Options:

-h , --help Affiche cette aide et stoppe

-V , --version Affiche seulement le numéro de version

-c , --comment Affiche un commentaire avant chaque
cellule pour indiquer son emplacement

-b , --no-nbsp N’ajoute pas   dans les cellules
vides pour modifier le rendu 3D

-w , --warning Affiche un commentaire avant chaque
tableau, indiquant que le tableau est
généré automatiquement et ne doit pas
ĂȘtre Ă©ditĂ©

-l , --location Remplace les indicateurs "<row>" (ligne)
et "<col>" (colonne) Ă  l’intĂ©rieur des
tableaux par la position de la cellule
courante.

-m , --macro [program]
Avec cette option, le contenu des
cellules est passé à un pré-processeur,
qui est m4 par défaut

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 m4 , en particulier la commande syscmd .

DESCRIPTION

Ce programme est un logiciel libre qui remplace 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 ( 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.

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 "<table>". 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 "<td>"), soit des cellules d’en-tĂȘte (balise "<th>"). 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 colspan et 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 -m (ou son synonyme --macro ), le contenu des cellules sera passĂ© comme entrĂ©e standard de la commande m4 (1), aprĂšs avoir remplacĂ© les chaĂźnes de caractĂšres <row> (resp. <col> ) 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 wwwtable , freetable peut aussi utiliser des expressions rĂ©guliĂšres dans les cellules d’en-tĂȘte. Un autre ajout est la possiblitĂ© d’utiliser * Ă  la place de .* .

L’adressage relatif est de la forme :

= ou vide : mĂȘme indice que la cellule prĂ©cĂ©dente

+ ou +X : incrĂ©mente l’indice de X (dĂ©faut: 1)

- ou -X : dĂ©crĂ©mente l’indice de 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>

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. 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 = , + , - , +X , -X et la chaĂźne vide de la mĂȘme façon qu’avec 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.

BORNES EXPLICITES

(bornes_ligne;bornes_colonne) options_cellule
contenu_cellule

La syntaxe pour bornes_ligne et 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 ».

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 },{ et }) , 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 - par .. dans la dĂ©finition des bornes, et l’entourer par des accolades { et } .

Si vous voulez mélanger cet adressage avec une expression réguliÚre, vous pouvez remplacer cette derniÚre par {grep {/expression/} min..max} . Il est malheureusement obligatoire de spécifier explicitement la dimension du tableau.

INCOMPATIBILITÉS AVEC WWWTABLE

Les utilisateurs de wwwtable qui dĂ©cident de passer Ă  freetable devraient lire cette section. La majoritĂ© des incompatibilitĂ©s proviennent du traitement des expressions rĂ©guliĂšres. Il faut aussi noter que wwwtable ne permettait ni le remplacement automatiques des numĂ©ros de lignes et de colonnes, ni l’utilisation d’un prĂ©-processeur.

L’option -w a le comportement opposĂ©. Nous n’écrivons aucun commentaire par dĂ©faut, et -w ou --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 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 freetable 2.0, deux mĂ©thodes complĂštement nouvelles d’adressage des cellules ont Ă©tĂ© introduites. Elles sont totalement incompatibles avec wwwtable .

BUGS

L’utilisation de « code Perl quelconque » Ă©chouera avec du code complexe.

VOIR AUSSI

m4(1)

AUTEUR

Tomasz Wegrzanowski <taw@users.sourceforge.net>

Traduction française de la documentation: Denis Barbier <barbier@debian.org>