sobota, 31 grudnia 2011

TikZ

Od zawsze praktycznie (przełom lat osiemdziesiątych i dziewięćdziesiątych) korzystam z TeXa (czy precyzyjniej mówiąc LaTeXa) do „wszystkiego”. System (bo tak chyba trzeba to nazwać) uchodzi za znakomite narzędzie do składu publikacji technicznych z wzorami, twierdzeniami, mnóstwem odsyłaczy i ciągle zmieniającą się strukturą. Idea byłą jakoś taka, że człowiek ma pisać a system zadba o to, żeby wyglądało ładnie.
Jak TeX powstawał, nie było jeszcze ani drukarek laserowych ani żadnego znaczącego standardu w komunikacji z nimi. Nie istniał chyba żaden ze współczesnych formatów graficznych. Knuth wszystko wymyślił „od zera”.
Na system składał się stosunkowo prosty markup, dziwaczny (makro)język programowania, własna arytmetyka stałoprzecinkowa, własne fonty i własny format wyjściowy: DVI (DeVice Independent). Całość uzupełniała porządna dokumentacja oraz bogato skomentowany kod zapisany we własnym języku Web. Pojawienie się kolejnego urządzenia wyjściowego skutkowało utworzeniem odpowiedniego programu dokonującego konwersji z DVI do specyficznego formatu.
Wraz z pojawianiem się standardów pojawiały się coraz lepsze rozwiązania. Niezależność od rodzaju drukarki zapewnił PostScript i program dvips. Gdy pojawił się format PDF, najpierw powstały programy w rodzaju dvipdf, a później wersja TeXa potrafiąca generować zamiast pliku DVI, plik PDF.
Sam język (TeX) nie zmieniał się. Powstawały dodatkowe biblioteki procedur oferujące coraz ciekawsze ułatwienia składu dokumentów.
Ciągle, natomiast, wszyscy mówili, że TeX to nie jest program do rysowania…
W pewnym punkcie rozwoju systemu zaczęło się dziać:
  1. Powstał ConTeXt — zaawansowany system składu (bazujący na TeXu, ale o nieco innej filozofii niż LaTeX) 
  2. Ci, którym nie wystarczał język TeXa rozbudowali go o język programowania Lua (tak powstał LuaTeX). 
  3. Ci, którym nie wystarczała oferowana przez TeX obsługa fontów — stworzyli XeTeX, system, który nie tylko udostępnia TeXowi wszystkie fonty „systemowe” ale również pozwala na całkiem wygodny skład korzystając z Unicode i włącza sporą grupę nie-łacińskich języków (na przykład arabskie). 
  4. Ci, którzy chcieli tworzyć „strony WWW” w TeXu otrzymali pakiet TeX4ht, 
Spory wkład w udoskonalanie całego systemu mieli również Niemcy. To dzięki ich wysiłkowi powstały dwa najciekawsze pakiety zwiększające możliwości klasycznego (La)TeXa:
  • beamer — pakiet do (dosyć) łatwego tworzenia prezentacji 
  • TikZ — pakiet pozwalający tworzyć całkiem zaawansowane rysunki wewnątrz TeXa. 
Cechą charakterystyczną ostatnich dwu pakietów jest przebogata dokumentacja (700 stron podręcznika systemu TikZ).
Ciekawa jest geneza nazwy pakietu. Niektórzy mówią, że TikZ tłumaczy się jako TeX ist kein Zeichenprogramm (czyli własnie TeX nie jest programem do rysowania).
Do napisania powyższego skłoniło mnie pojawienie się z okazji Świąt i Nowego Roku (zrealizowanych) pomysłów na wygenerowanie choinki i świątecznych „Sztucznych ogni”.






Wszystkiego najlepszego w Nowym Roku!

0 komentarze:

Prześlij komentarz