Jestem w trakcie pisania pracy magisterskiej i chociaż nie jestem pewien czy uda mi się ją złożyć w terminie to nie umiem się powstrzymać przed eksperymentowaniem. Ostatnio wykonałem parę schematów w Dia, w którym pracuję się naprawdę przyjemnie jednak ostateczny efekt mnie nie zadowalał. Ze względu na skalowanie linie były zbyt grube, a całość wyglądała topornie. Postanowiłem schematy poprawić… kiedyś :) Następny problem pojawił się przy rysowaniu wykresów w Octave, który korzysta z Gnuplota do rysowania. Polskich znaków brak. Udało mi się rozwiązać problem polskich znaków jednak wykres zapisany w pdf był na środku strony, kiedy nad i pod było sporo wolnego miejsca… dość tego pomyślałem i w ten sposób trafiłem na TikZ/PGF.
Na początku całość może wydawać się trochę przerażająca, a obszerna dokumentacja (>700stron) nie pomaga w zwalczeniu tego uczucia. W dokumentacji na szczęście zawartych jest kilka przykładów, a jeszcze więcej naprawdę pomocnych przykładów znajdziecie na stronie TeXample. Ale co to tak właściwie jest… jest to sposób rysowania przez „programowanie” zupełnie tak jak pisanie w systemach TeX, gdzie cały dokument „programujemy”. Jak to wygląda? Jedna z prostszych konfiguracji
\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage{polski}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[x=0.023cm,y=0.05cm]%skalowanie
% punkty ekstremalne
\def\xmin{0}; \def\xmax{500};
\def\ymin{-60}; \def\ymax{40};
% osie
\draw[->] (\xmin,\ymin) -- coordinate (x axis mid) (\xmax+10,\ymin);
\draw[->] (\xmin,\ymin) -- coordinate (y axis mid) (\xmin,\ymax+5);
% podpisy osi
\node[below=0.7cm] at (x axis mid) {Częstotliwość [Hz]};
\node[rotate=90, above left=0.7cm and 0.7cm] at (y axis mid) {Pxx [dB]};
% wartości na osiach
\foreach \x in {0,100,...,500} \node at (\x, \ymin) [below] {\x};
\foreach \y in {-60,-40,...,40} \node at (\xmin,\y) [left] {\y};
% siatka
\draw[style=help lines, ystep=20, xstep=100] (\xmin,\ymin) grid
(\xmax,\ymax);
\draw[color=blue] plot file {allpassxn.txt} node[right] {$\lambda=0$};
\draw[color=red] plot file {allpassxnporow1.txt} node[right] {$\lambda=0.1$};
\end{tikzpicture}
\end{document}
To rysowanie prostego wykresu z danych zewnętrznych, które zapisałem w Octave: plik1 i plik2. Skompilowanie do pdf:
pdflatex nazwa.tex
W wyniku otrzymujemy dobrze wyglądający wykres, równie dobrze wyglądający jak tekst. Nie ma pustych miejsc, nie ma innego kroju pisma, nie ma problemu z polskimi znakami. Wygląda to po prostu tak jak powinno, chociaż trzeba włożyć w to trochę więcej pracy niż przy użyciu innych narzędzi.
Po informację o pozostałych funkcjach, których jest ogrom odsyłam do dokumentacji i na stronę z przykładami. Pakiet jest dostępny w repozytorium Ubuntu pod nazwą texlive-pictures. W innych dystrubucjach oczywiście trzeba poszukać samemu. Polecam

Rafał
Lipiec 31, 2010 at 11:24
Jeśli to może w czymś pomóc – podczas pisania magisterki używałem Origin’a (pakiet do wykresów pod win32 – niestety nie jest darmowy, ale uczelnie często mają), który pozwalał na eksport do eps (a to już „na żywo” w plik tex).
Łukasz Klich
Lipiec 31, 2010 at 11:49
Po pierwsze wkręciłem się już w korzystanie z tego i skrobnąłem z 7 schematów i pare wykresów tym. Po drugie, nie posiadam windowsa wogóle, ale dziękuje, może ktoś skorzysta