.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "FREETABLE 1" .TH FREETABLE 1 "2013-10-23" "perl v5.18.1" "Freetable" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" \&\fBfreetable\fR \- outil de génération automatique de tableaux \s-1HTML\s0 .SH "VERSION" .IX Header "VERSION" Cette documentation décrit l'utilisation de \fBfreetable\fR version 2.3. .PP Si vous utilisez une autre version, certaines différences peuvent apparaitre. .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBfreetable\fR \fI[options]\fR \fIfichier\fR .PP ou .PP \&\fBfreetable\fR \fI[options]\fR .PP Options: .PP \&\fI\-h\fR, \fI\-\-help\fR Affiche cette aide et stoppe .PP \&\fI\-V\fR, \fI\-\-version\fR Affiche seulement le numéro de version .PP \&\fI\-c\fR, \fI\-\-comment\fR Affiche un commentaire avant chaque cellule pour indiquer son emplacement .PP \&\fI\-b\fR, \fI\-\-no\-nbsp\fR N'ajoute pas \fI \fR dans les cellules vides pour modifier le rendu 3D .PP \&\fI\-w\fR, \fI\-\-warning\fR Affiche un commentaire avant chaque tableau, indiquant que le tableau est généré automatiquement et ne doit pas être édité .PP \&\fI\-l\fR, \fI\-\-location\fR Remplace les indicateurs \f(CW\*(C`\*(C'\fR (ligne) et \f(CW\*(C`\*(C'\fR (colonne) à l'intérieur des tableaux par la position de la cellule courante. .PP \&\fI\-m\fR, \fI\-\-macro\fR \fI[program]\fR Avec cette option, le contenu des cellules est passé à un pré\-processeur, qui est \fBm4\fR par défaut .SH "AVERTISSEMENT SUR LA SÉCURITÉ" .IX Header "AVERTISSEMENT SUR LA SÉCURITÉ" .Vb 4 \& N\*(AqUTILISEZ PAS DE MACRO\-PROCESSEUR SUR UN \& FICHIER SOURCE DONT VOUS N\*(AqÊTES PAS SÛR. \& CELA POURRAIT COMPROMETTRE LA SÉCURITÉ DE \& VOTRE SYSTÈME .Ve .PP Plus d'informations dans la documentation de \fBm4\fR, en particulier la commande \fIsyscmd\fR. .SH "DESCRIPTION" .IX Header "DESCRIPTION" Ce programme est un logiciel libre qui remplace \fBwwwtable\fR. .PP \&\s-1HTML\s0 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. .PP Si cela vous rappelle une expérience similaire, alors lisez cette documentation et votre peine ne sera plus qu'un mauvais souvenir. .PP Le programme reçoit en entrée du code \s-1HTML\s0 provenant soit de l'entrée standard (\fIstdin\fR), soit d'un fichier. Il recherche alors les caractères suivants, qui annoncent l'ouverture d'un tableau: .PP .Vb 1 \& .Ve .PP Il analyse le contenu jusqu'à détecter la fin du tableau, affiche le code \s-1HTML\s0 correspondant puis continue le traitement avec les tableaux suivants. .SH "SYNTAXE" .IX Header "SYNTAXE" La syntaxe est très simple: .PP .Vb 7 \& wwwtable: \& \& [preambule] \& [cellule] \& [cellule] \& ... \& .Ve .PP La chaîne optionnelle wwwtable_options est passée telle quelle comme attribut de la balise \f(CW\*(C`\*(C'\fR. Le préambule n'est pas traité, il peux contenir n'importe quel code \s-1HTML,\s0 il sera inséré au début du tableau. .PP Les cellules sont soit des cellules normales (balise \f(CW\*(C`\fR) par le numéro de ligne (resp. colonne) de la cellule. .PP 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 \fBwwwtable\fR, \fBfreetable\fR peut aussi utiliser des expressions régulières dans les cellules d'en\-tête. Un autre ajout est la possiblité d'utiliser \fI*\fR à la place de \fI.*\fR. .PP L'adressage relatif est de la forme : .PP \&\fI=\fR ou vide : même indice que la cellule précédente .PP \&\fI+\fR ou \fI+X\fR : incrémente l'indice de \fIX\fR (défaut: 1) .PP \&\fI\-\fR ou \fI\-X\fR : décrémente l'indice de \fIX\fR (défaut: 1) .PP Lorsqu'une cellule est désignée par plusieurs expressions, à la fois les options et le contenu de chaque cellule sont ajoutés. .PP Si vous n'utilisez que des expressions régulières, il faut indiquer au programme la position de la dernière cellule. .PP .Vb 7 \& \& (*,1) \& cellules de la colonne 1 \& (1,*) \& cellules de la ligne 1 \& (4,4) \& .Ve .SH "AUTRE SYNTAXE D'ADRESSAGE" .IX Header "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. \fBFreetable\fR 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. .PP 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 \fI=\fR, \fI+\fR, \fI\-\fR, \fI+X\fR, \fI\-X\fR et la chaîne vide de la même façon qu'avec \fBfreetable\fR 1.x. .PP De plus, ces nouvelles méthodes déterminent automatiquement la dernière cellule, contrairement à l'adressage par des expressions régulières. .SS "\s-1BORNES EXPLICITES\s0" .IX Subsection "BORNES EXPLICITES" .Vb 2 \& (bornes_ligne;bornes_colonne) options_cellule \& contenu_cellule .Ve .PP La syntaxe pour \fIbornes_ligne\fR et \fIbornes_colonne\fR 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 .PP .Vb 4 \& (1\-100,32;1) \& foo \& (+,) \& bar .Ve .PP la cellule (33,1) contiendra « foo bar » et toutes les autres seulement « foo ». .SS "\s-1CODE PERL QUELCONQUE\s0" .IX Subsection "CODE PERL QUELCONQUE" .Vb 2 \& ({code pour les lignes},{code pour les colonnes}) options_cellule \& contenu_cellule .Ve .PP 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 \fI},{\fR et \&\fI})\fR, cela devrait marcher. Exemple : ({grep {$_%3 == 1} 1..100},{1..2,4}) foo .PP 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. .PP Si vous voulez mélanger cet adressage avec le précédent, il suffit de remplacer \fI\-\fR par \fI..\fR dans la définition des bornes, et l'entourer par des accolades \fI{\fR et \fI}\fR. .PP Si vous voulez mélanger cet adressage avec une expression régulière, vous pouvez remplacer cette dernière par \fI{grep {/expression/} min..max}\fR. Il est malheureusement obligatoire de spécifier explicitement la dimension du tableau. .SH "INCOMPATIBILITÉS AVEC WWWTABLE" .IX Header "INCOMPATIBILITÉS AVEC WWWTABLE" Les utilisateurs de \fBwwwtable\fR qui décident de passer à \fBfreetable\fR devraient lire cette section. La majorité des incompatibilités proviennent du traitement des expressions régulières. Il faut aussi noter que \fBwwwtable\fR ne permettait ni le remplacement automatiques des numéros de lignes et de colonnes, ni l'utilisation d'un pré\-processeur. .PP L'option \fI\-w\fR a le comportement opposé. Nous n'écrivons aucun commentaire par défaut, et \fI\-w\fR ou \fI\-\-warning\fR est utilisée pour les ajouter. .PP Les cellules d'en\-tête peuvent être définies avec des expressions régulières, par exemple .PP .Vb 1 \& ((1,*)) .Ve .PP ce qui était impossible avec \fBwwwtable\fR. .PP Les indices des axes sont 100% orthogonaux, ce qui signifie qu'avec le code suivant .PP .Vb 5 \& (*,1) width=30 \& (*,2) width=35 \& (*,3) width=40 \& (=,=) \& Foo .Ve .PP Foo va apparaitre en 3e colonne, et si vous vouliez qu'il soit en 1e position, il faut écrire .PP .Vb 5 \& (*,1) width=30 \& (*,2) width=35 \& (*,3) width=40 \& (=,1) \& Foo .Ve .PP ou .PP .Vb 5 \& (*,) width=30 \& (*,+) width=35 \& (*,+) width=40 \& (=,1) \& Foo .Ve .PP Avec \fBfreetable\fR 2.0, deux méthodes complètement nouvelles d'adressage des cellules ont été introduites. Elles sont totalement incompatibles avec \fBwwwtable\fR. .SH "BUGS" .IX Header "BUGS" L'utilisation de « code Perl quelconque » échouera avec du code complexe. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fB\f(BIm4\fB\|(1)\fR .SH "AUTEUR" .IX Header "AUTEUR" Tomasz Wegrzanowski .PP Traduction française de la documentation: Denis Barbier
\*(C'\fR), soit des cellules d'en\-tête (balise \f(CW\*(C`\*(C'\fR). Il en était ainsi jusqu'aux versions 1.x, voyez la prochaine section pour une autre méthode d'adressage des colonnes. .PP .Vb 3 \& cellule normale: \& (ligne,colonne) options_cellule \& contenu_cellule \& \& cellule en\-tête: \& ((ligne,colonne)) options_cellule \& contenu_cellule .Ve .PP Le texte contenu dans options_cellule est passé comme attribut de la balise de la cellule. Les mots\-clés \fIcolspan\fR et \fIrowspan\fR sont interprétés pour générer des tableaux corrects. .PP Le contenu des cellules (contenu_cellule) est quelconque, il peut même contenir d'autres wwwtables ! .PP Si vous utilisez l'option \fI\-m\fR (ou son synonyme \fI\-\-macro\fR), le contenu des cellules sera passé comme entrée standard de la commande \fBm4\fR(1), après avoir remplacé les chaînes de caractères \fB\fR (resp. \&\fB