Provided by: freetable_2.3-3_all bug

NAME

       freetable - program ułatwiający tworzenie HTML-owych tabeli

WERSJA

       Ten dokument opisuje freetable w wersji 2.3.

       Może być nie w pełni prawidłowy jeśli używasz innej wersji.

SYNOPSIS

       freetable [opcje] nazwapliku

       lub

       freetable [opcje]

       Dostępne opcje to :

       -h, --help    Program wydrukuje informację o sposobie użycia i skończy

       -V, --version Program wydrukuje numer wersji i skończy

       -c, --comment Program wstawi przed każdą komórką komentarz o jej
       pozycji

       -b, --no-nbsp Program nie wstawi   do pustych komórek celem
       wizualnego ich obniżenia na graficznych przeglądarkach

       -w, --warning Program wstawi ostrzeżenie że powinnaś raczej zmieniać
       źródło niż tabelę przed każdą tabelą, którą stworzy.

       -l, --location Program zamieni tagi lokacyjne <row> i <col> wewnątrz
       tabeli na pozycję komórki, w której wystąpią.

       -m, --macro [program]
                      Program przepuści tabelę przez makroprocesor (domyślnie:
       m4)

OSTRZEŻENIE

        NIE UŻYWAJ MAKROPROCESORA NA NIEPEWNYM ŹRÓDLE
        M4 MOŻE ZOSTAĆ UŻYTE DO NARUSZENIA TWEGO BEZPIECZEŃSTWA
        WIĘCEJ INFORMACJI ZNAJDZIESZ URUCHAMIAJĄC :

       info m4 'UNIX commands' syscmd

DESCRIPTION

       Ten program jest wyzwolonym (wolnodostępnym) następcą wwwtable.

       HTML to świetny język, ale ma straszną niedoróbę : tabele.  Spędziłem
       wiele czasu wpatrując się w HTMLowy kod i próbując zgadnąć, która
       komórka kodu odpowiada której w przeglądarce.

       Jeśli również miałeś ten problem, to być może za chwilę zostanie
       rozwiązany.

       Program czyta z pliku lub ze stdin. Szuka linii zaczynającej opis
       tabeli :

           <wwwtable [opcje]>

       Analizuje ten opis, wstawia poprawną HTML-ową tabelę i szuka następnego
       opis, aż plik się skończy.

SKŁADNIA TABELI

       Jest bardzo prosta :

           wwwtable
           <wwwtable [opcje]>
           [preambuła]
           [komórka]
           [komórka]
           ...
           </wwwtable>

       opcje będą przekazane do taga <table>.  Preambuła to dowolny HTML-owy
       text. Będzie umieszczony bezpośrednio przed tabelą.

       komórka to albo normalna_komórka (tag <td>) albo nagłówkowa_komórka
       (tag <th>).  Tak przynajmniej było w starszych wersjach freetable.  W
       następnej sekcji są opisane nowe metody adresowania komórek.

           normalna_komórka :
           (rząd,kolumna) opcje
           zawartość

           nagłówkowa_komórka :
           ((rząd,kolumna)) opcje
           zawartość

       opcje będą przekazane do komórkowego taga. Atrybuty colspan i rowspan
       są uwzględniane podczas tworzenia tabeli.

       zawartość maże zawierać text, tagi a nawet osadzoną tabelę.

       Jeśli używasz opcji -m (lub --macro), zawartość będzie przerobiona
       przez m4(1), z <row> i <col> ustawionymi na adres aktualnej komórki

       rząd i kolumna mogą być zarówno liczbami, wyrażeniami względnymi, albo
       regex'ami.  W przeciwieństwie do wwwtable, z freetable możesz używać
       regex'ów również dla komórek nagłówka.  Możesz również używać *, co
       znaczy dokładnie tyle co .*.

       Wyrażenia względne to :

       = albo pusta znaczy : tyle samo co w poprzedniej komórce

       + albo +X znaczy : o 1 lub X więcej niż w poprzedniej komórce

       - albo -X znaczy : o 1 lub X więcej niż w poprzedniej komórce

       Jeśli wiele definicji adresuje tą samą komórkę zarówno opcje jak i
       zawartość są doklejane w kolejności wystąpienia.

       Jeśli chcesz używać tylko regex'ów musisz powiedzieć programowi o
       adresie ostatniej komórki :

           <wwwtable>
           (*,1)
           to są piewsze kolumny
           (1,*)
           to są piewsze rzędy
           (4,4)
           </wwwtable>

ALTERNATYWNE ADRESY KOMÓREK

       Adresowanie komórek za pomocą wyrażeń regularnych jest bardzo
       niewygodne. Z tego powodu, w freetable 2.0 zostały wprowadzone dwie
       nowe  metody.  Obie mogą być użyte zarówno do komórek normalnych jak i
       nagłówkowych.

       Zachowana jest pełna wsteczna kompatybilność.  W tym celu została
       wprowadzona nowa składnia.  Niestety, nie możesz adresować rzędu i
       kolumny używając odmiennych metod.  Żeby obejść ten problem, obie nowe
       metody są bardzo tolerancyjne i pozwalają na użycie =, +, -, +X -X oraz
       pustego łańcucha z tym samym znaczeniem, jakie mają one w starej
       metodzie.

       Nowe metody potrafią samodzielnie ustalić rozmiar tabeli.

       ZASIĘGI

           (zasięg rzędów;zasięg kolumn) opcje
           zawartość

       Składnia wygląda jak: 1-2,4-7,9,12.  Zduplikowane adresy zostają
       wyeliminowane.  Dla potrzeb adresowania relatywnego, użyty jest ostatni
       podany numer. A więc jeśli napiszesz

           (1-100,32;1)
           foo
           (+,)
           bar

       Komórka (33,1) będzie zawierać `foobar' a wszystkie pozostałe tylko
       `foo'.

       DOWOLNY KOD PERL

           ({kod dla rzędów},{kod dla kolumn}) opcje
           zawartość

       Możesz używać dowolnego kodu Perl o ile zmieści się w jednej linijce,
       pasuje do naszego wyrażenia regularnego i da w wyniku listę.  Niestety,
       nie istnieje wyrażenie regularne pasujące do dowolnego kodu Perl, ale
       dopóki twój kod nie zawiera },{ ani }), powinno działać.  Przykład:

           <wwwtable>
           ({grep {$_%3 == 1} 1..100},{1..2,4})
           foo
           </wwwtable>

       Da tabele 100 rzędów x 4 kolumny z `foo' w każdej 1wszej, 2giej i 4tej
       kolumnie każdego rzędu o numerze dającym reszte 1 w dzieleniu przez 3.

       Jeśli chcesz użyć "dowolnego kodu" w jednej częsci adresu a zasięgu w
       drugiej zastąp w definicji zasięgu - przez .. i włóż zasięg między { i
       }.

       Jeśli chcesz użyć "dowolnego kodu" w jednej częsci adresu a wyrażenia
       regulernego w drugiej, musisz napisać {grep {/wyraenie/} od..do}.
       Niestety, w tym wypadku musisz podać rozmiar tablicy.

NIEZGODNOŚCI Z WWWTABLE

       Jeśli poprzednio używałeś wwwtable, a teraz chcesz się przesiąść,
       powinieneś przeczytać ten rozdział. Większość jest o regex'ach.  Zauważ
       również, że wwwtable nie mógł używać podstawiania tagów lokacyjnych ani
       makroprocesora.

       Opcja -w ma przeciwne znaczenie. Domyślnie żadne ostrzeżenie nie jest
       drukowane, a -w albo --warning służą wymuszeniu takiego ostrzażenia.

       Komórki nagłówkowe mogą być zdefiniowane za pomocą regex'ów :

           ((1,*))

       Nie było to możliwe z wwwtable.

       Liczniki pozycji na osiach są 100%-owo niezależne. Wynika z tego że kod
       :

           (*,1) width=30
           (*,2) width=35
           (*,3) width=40
           (=,=)
           Cośś

       umieści Cośś w 3ciej kolumnie. Jeśli chcesz, by było w 1wszej, napisz :

           (*,1) width=30
           (*,2) width=35
           (*,3) width=40
           (=,1)
           Cośś

       albo

           (*,) width=30
           (*,+) width=35
           (*,+) width=40
           (=,1)
           Cośś

       W freetable 2.0 zostały wprowadzone dwie nowe metody adresowania
       komórek. Są całkowicie niezgodne z wwwtable.

BUGS

       Adres typu "Dowolny Kod Perl" może nie działać ze skomplikowanym kodem.

ZOBACZ RÓWNIEŻ

       m4(1)

AUTOR

       Tomasz Wegrzanowski <taw@users.sourceforge.net>

       (zarówno angielska jak i polska wersja)