Instalacja,administracja i zastosowania systemu cz.2





Skład tekstów – LATEX


W Linuksie istnieje wiele narzedzi do składu dokumentów. Mozna je podzielic na dwie zasadnicze klasy: pełnoekranowe procesory tekstu (np. StarOffice, KOffice) lub jezyki programowania
składu dokumentów. Sztandarowym przykładem narzedzi drugiej klasy jest dostepny publicznie system składu dokumentów TEX opracowany przez D.E. Knutha. Dla osób pragnacych korzystac z mozliwosci TEX’a i pracowac jednoczesnie w trybie (prawie) WYSIWYG Linuks oferuje nakładki LyX i KLyX. Ta ostatnia dostosowana jest do pracy w srodowisku KDE.
7.1 TEX i LATEX
Postac zródłowa TEX’a została „zamrozona” i TEX jako taki nie jest obecnie rozwijany. Usuwane sa jedynie błedy i za znalezienie danych wejsciowych które powoduja błedne działanie systemu składu jest wyznaczona symboliczna nagroda pieniezna. Taka polityka ma zapewnic niezmiennosc w czasie i przenaszalnosc dokumentów składanych przy uzyciu TEX’a.
TEX jest jezykiem programowania składu dokumentu, natomiast LATEX jest zbiorem makr znacznie ułatwiajacych zycie uzytkownikowi. Wzajemna relacja miedzy TEX’em i LATEX’em jest mniej wiecej taka jak miedzy asemblerem i jezykiem programowania wysokiego poziomu. Dalej omówimy skład dokumentu z wykorzystaniem komend LATEX’a. Osoby pragnace kontrolowac proces składu w jezyku TEX odsyłam do bogatej literatury na ten temat dostepnej w Internecie, np. Gentle Introduction To TEX.

7.1.1 Idea działania
LATEX, podobnie jak TEX i inne programy wchodzace w skład systemu składu dokumentów działa w trybie wsadowym. Jego zadaniem jest interpretacja komend zawartych w pliku wejsciowym i wygenerowanie pliku wyjsciowego zgodnie ze scisle okreslonymi regułami. Pierwszym etapem składu jest przetworzenie pliku zawierajacego komendy kontrolujace skład przy uzyciu programu latex. Zwyczajowo pliki zawierajace tekst dokumentu i ko- mendy kontrolne maja rozszerzenie *.tex. Zadanie LATEX’a polega na podzieleniu tresci dokumentu na prostokatne wycinki tzw. boksy i „ładne” ich rozmieszczenie w dokumencie. Dzieki takiej filozofii uzytkownik moze skupic sie na logicznym aspekcie układu dokumentu, bowiem za tzw. formatowanie odpowiada LATEX. Gdy układ zaproponowany przez LATEX’a nam nie odpowiada, mozemy uzyc komend wymuszajacych okreslony sposób formatowania. Wynikiem przetwarzania pliku z dokumentem jest plik DVI (Device Independent) zawierajacy złozony dokument w postaci niezaleznej od sprzetu. Zwyczajowo plik ten ma rozszerzenie *.dvi. Plik DVI zawiera jedynie informacje o rozmiarach boksów oraz odnosniki do ich zawartosci. Za wypełnienie boksów trescia odpowiedzialne sa programy konwersji plików DVI na postac zrozumiała przez dane urzadzenie drukujace. Najczesciej wykorzystywane konwertery to


dvilj – konwerter na drukarki laserowe kontrolowane jezykiem PCL,
xdvi – przegladarka plików DVI pod X Windows,
dvips – konwerter do postscriptu.
Praca z LATEX’em przebiega wg nastepujacego schematu (Rys. 7.1) Specjalnego komentarza wymaga skład dokumentów z dołaczonymi plikami graficznymi, których LATEX sam nie obsługuje. W procesie składu LATEX wymaga jedynie informacji o wymiarach rysunku w celu rezerwacji odpowiedniego obszaru na stronie, natomiast za wypełnienie zarezerwowanego miejsca odpowiada konwerter pliku DVI.
W toku przetwarzania dokumentu wiele rzeczy odbywa sie automatycznie, np. przy uruchomieniu LATEX’a moze nastapic generacja plików metrycznych fontów (zawierajacych rozmiary boksów dla poszczególnych znaków), a przy uruchumieniu konwertera moze nastapic generacja obrazów bitmapowych znaków fontu dla rozdzielczosci urzadzenia wyjsciowego.

7.1.2 Instalacja w Linuksie
TEX jest dostepny publicznie i rozprowadzany w dystrybucjach. Istnieje wiele dystrybycji TEX’a na rózne systemy operacyjne (np. emTEX dla DOS, MikTEX dla Windows NT). Najbardziej popularna dystrybucja na systemy UNIX jest teTEX. W dystrybucji RedHat TEX i programy okołoTEX’owe sa rozprowadzane jako rodzina pakietów tetex*.rpm. Czesc z nich jest opcjonalna. Zalecane jest jednak zainstalowanie dokumentacji z opcjonalnego pakietu tetex-doc*.rpm) która dla poczatkujacych uzytkowników moze sie okazac bardzo pomocna. W zasadzie niezbedne do korzystania z TEX’a sa równiez: interpreter postscriptu Ghostscript oraz przegladarka plików postscriptowych gv.

7.1.3 Podstawowa konfiguracja
W wiekszosci dystrybucji Linuksa instalacja TEX’a jest dostepna jako jedna z opcji programu instalacyjnego. Po instalacji TEX jest w zasadzie gotowy do działania, jednak nie jest standardowo przystosowany do składu polskich dokumentów. Dalej omówimy czynnosci wstepne jakie nalezy wykonac aby zainstalowany TEX był w pełni funkcjonalny. Konfiguracja dvips Program dvips jest standardowo skonfigurowany tak, aby wyjsciowy plik postscriptowy był kopiowany na standardowa drukarke. Jezeli takie zachowanie nam nie odpowiada (a pewno nie, bowiem przed wydrukiem najczesciej chcielibysmy zobaczyc wynik składu) w pliku
/usr/share/texmf/dvips/config/config.ps
musimy wykomentowac (poprzedzic znakiem %) linie zawierajaca.
o | lpr
Polskie wzorce dzielenia wyrazów
LATEX jest wyposazony w tablice dzielenia polskich wyrazów, lecz nie jest ona standardowo ładowana. Aby to zmienic uruchamiamy program texconfig i wybieramy opcje hyphen!latex. Zostanie uruchomiony edytor vi z plikiem konfiguracyjnym wyboru tablic dzielenia wyrazów. Musimy wyszukac w tym pliku napis polish i usunac znak komentarza. Podstawowe komendy edytora vi:
x – kasowanie znaku pod kursorem,
i – przejscie w tryb dopisywania znaków,
– zakonczenie trybu dopisywania znaków,
:wq – zapisanie pliku i zakonczenie pracy edytora,
:q! – zakonczenie pracy z pominieciem dokonanych zmian.

7.1.4 Oprogramowanie wspomagające
Jak juz wspomnielismy LATEX jest tylko kompilatorem pewnego specyficznego jezyka kontrolujacego rozmieszczenie elementów dokumentu na stronie. Do komfortowej pracy z LATEX’em potrzebne sa programy pomocnicze. Edytor tekstowy Do edycji plików wejsciowych LATEX’a mozemy korzystac z dowolnego edytora tekstowego. Jednak praca z edytorem wyposazonym w podswietlanie składni LATEX’a bedzie znacznie łatwiejsza. Edytory które mozna polecic to: kwrite, gvim, xemacs wyposazony w rozszerzenie auctex.
Edytory grafiki
LATEX jest wyposazony w komendy do tworzenia grafiki. Niestety wynik działania tych komend nalezy uznac za niezadowalajacy. Dlatego grafike która chcemy umiescic w dokumencie musimy stworzyc przy uzyciu programu zewnetrznego w stosunku do systemu składu. Istnieja dwa zasadniczo rózne rodzaje grafik z jakimi bedziemy mieli do czynienia: grafika wektorowa i grafika rastrowa. Grafike wektorowa dołaczamy do dokumentu w formacie Encapsulated Postscript (*.eps) stanowiacym swoista modyfikacja postscriptu. Do tworzenia grafiki wektorowej najlepiej uzyc programu xfig z odpowiednia opcja eksportowania1. Inny program który tworzy grafiki wektorowe to KIllustrator. Podstawowe programy do tworzenia i/lub modyfikacji grafiki rastrowej to Gimp, Image- Magick (uruchamiany komenda display) oraz xv. Zrzuty ekranowe mozna wykonywac przy uzyciu ksnapshot lub xv. Programy obsługujace grafike rastrowa zazwyczaj pozwalaja na zapis obrazu w postaci EPS. Jednak ze wzgledu na fakt, ze EPS jest formatem tekstowym rozmiary plików z tak zapisana grafika sa nieproporcjonalnie duze. Formatem rastrowym obsługiwanym dvips2 jest BMP. Niestety wada tego podejscia jest koniecznosc podania fizycznych wymiarów rysunku w tresci dokumentu LATEX’a, podczas gdy w przypadku plików EPS wymiary grafiki ustalane sa automatycznie na podstawie zawartosci pliku. Wykresy Trzecia klasa aplikacji pomocnych przy tworzeniu dokumentów sa programy tworzace wykresy na podstawie danych liczbowych. Programów realizujacych powyzsze zadanie jest wiele. Warunkiem koniecznym jaki musi spełniac program do tworzenia wykresów jest mozliwosc umieszczenia wykresu w pliku EPS. Niewatpliwie najczesciej uzywanym programem jest gnuplot.

7.2 Struktura dokumentu
Plik przetwarzany przez LATEX’a składa sie z dwóch zasadniczych elementów: preambuły oraz tresci dokumentu. W preambule dokumentu wstawiamy komendy globalne, odnoszace do całokształtu procesu składu tekstu. Natomiast w tresci dokumentu umieszczamy komendy o znaczeniu lokalnym lub zmieniajace postac dokumentu od momentu ich wystapienia. Preambuła rozpoczyna sie poczatkiem przetwarzanego pliku konczy w momencie rozpoczecia tresci dokumentu. Tresc dokumentu zawarta jest miedzy komendami (patrz punkt 7.2.1)
\begin{document}
tresc dokumentu
1W wersji RedHat 6.2 program opcja eksportowania nie działa poprawnie. Aby usunac usterke nalezy uaktualnic pakiet transfig
2Pamietamy, ze za obsługe grafiki odpowiedzialne sa konwertery plików DVI
\end{document}
Zarówno preambuła jak i tresc dokumentu moga zawierac komendy właczania dodatkowych plików (patrz punkt 7.2.5)

7.2.1 Komendy i otoczenia
Składnia komendy ma nastepujaca postac
\Nazwa[jeden parametr opcjonalny]{pierwszy parametr}{drugi parametr}itd.
Nazwe komendy zawsze poprzedza \. Obowiazkowe parametry komendy zawarte sa miedzy nawiasami klamrowymi. Komenda w LATEX’u moze pobierac jeden parametr opcjonalny. Parametr opcjonalny zawarty jest w nawiasach kwadratowych.
Działanie komend formatujacych tekst mozemy ograniczyc do okreslonego fragmentu tekstu stosujac nawiasy klamrowe
tekst zwykły {\ZmienFontNaPogrubiony tekst pogrubiomy} tekst zwykły Innym sposobem wyboru sposobu formatowania jest zastosowanie otoczenia (ang. environment). tekst zwykły
\begin{NazwaOtoczenia}[parametr opcjonalny]
tekst zmieniony
\end{NazwaOtoczenia}
tekst zwykły

7.2.2 Klasy dokumentów
Pierwsza komenda preambuły jest wybór klasy documentu \documentclass[a4paper,12pt, twoside, twocolumn]{report} Obowiazkowym parametrem komendy jest nazwa klasy documentu. Dozwolone klasy to article, report i book. W nawiasach kwadratowych mozemy podac liste opcji dla danego typu dokumentu: rozmiar papieru (wartosc domyslna – letter), rozmiar fontu podstawowego w punktach drukarskich tj. 1/72 czesciach cala (wartosc domyslna – 10pt), skład jednolub dwustronny (wartosc domyslna – skład jednostronny), skład jedno- lub dwukolumnowy (wartosc domyslna – skład jednokolumnowy).

7.2.3 Pakiety
LATEX moze byc uzupełniony o dodatkowe mozliwosci poprzez dodanie modułów realizujacych okresłone zadania formatujace. Zestawy komend pozwalajace na realizacje zadan rozszerzajacych funkcje LATEX’a rozprowadzane sa w tzw. pakietach. Pakiety moga byc dołaczane wyłacznie w preambule. Komenda właczenia pakietu ma nastepujaca postac \usepackage[dvips]{graphicx,epsfig} Komenda usepackage w nawiasach klamrowych przyjmuje liste nazw pakietów a w nawiasach kwadratowych liste opcji kontrolujacych ich działanie. Zestaw uzywanych pakietów zalezy od upodoban uzytkownika. W miare komfortowa prace uzyskujemy korzystajac z nastepujacych rozszerzen
\usepackage[nointlimits]{amsmath}
\usepackage{geometry}
\usepackage{fancyheadings}

\usepackage[dvips]{graphicx}
\usepackage{psfrag}
\usepackage[rflt]{floatflt}
\usepackage{indentfirst}
\usepackage{tabularx}
amsmath – rozszerzenie mozliwosci składu wzorów matematycznych,
geometry – wygodna kontrola układu strony, tj. marginesów, wielkosci obszaru na nagłowki, itp.,
fancyheadings – kontrola tresci nagłówków,
graphicx – wstawianie plików graficznych,
psfrag – podmiana tekstów we wstawionych plikach graficznych,
floatflt – umieszczanie rysunków „oblanych” przez tekst,
indentfirst – wciecie pierwszego akapitu danego podrozdziału,
tabularx – rozszerzone mozliwosci składu tabel.

7.2.4 Skład w jezyku polskim
Skład w jezyku polskim mozemy uzyskac przy pomocy dwóch pakietów rozszerzajacych mozliwosci LATEX’a: pakietu babel lub pakietu polski. Pakiet babel słuzy do składu dokumentów wielojezycznych i pozwala na zmiane jezyka wewnatrz tresci dokumentu. Pakiet polski jest dostosowany wyłacznie do składu tekstów w jezyku polskim. Dzieki swojej specjalizacji pakiet polski lepiej implementuje konwencje typograficzne dla jezyka polskiego. Postac komend pozwalajacych na skład w jezyku polskim jest nastepujaca
\usepackage[T1]{fontenc}
\usepackage{polski}
\usepackage[latin2]{inputenc}
Pakiet fontenc powoduje wybór fontów o rozszerzonym zestawie znaków do składu dokumentu, natomiast pakiet inputenc pozwala na wybór konwencji kodowania polskich znaków w pliku zródłowym. Podana opcja latin2 oznacza kodowanie zgodne z norma ISO 8859- 2. Dozwolony jest równiez wybór kodowania stosowanego w DOS-ie (cp852) lub Windows (cp1250). Na koniec nalezy nadmienic, ze pakiet polski nie jest w stanie zapewnic pełnej zgodnosci utworzonego dokumentu z polskimi konwencjami typograficznymi. Temat polskich zwyczajów i tradycji drukarskich jest dobrze opisany w publikacji ????

7.2.5 Inkluzja plików
Dla wiekszych dokumentów korzystne jest podzielenie pliku wejsciowego na mniejsze czesci (np. dla ksiazki kazdy rozdział moze byc umieszczony w innym pliku). Podział dokumentu umozliwiaja komendy wstawiania plików: input i include. Sa one w zasadzie równowazne3. Przykładowy dokument złozony z wielu plików ma postac
\input preamble
\begin{document}
\include{rozdz1}
\include{rozdz2}
\end{document}
Dokument składa sie z przedstawionego pliku oraz plików preamble.tex, rozdz1.tex i rozdz2.tex.

7.2.6 Podział dokumentu
Składnia komend podziału wyglada nastepujaco
\KomendaPodziału[tekst krótki]{tekst długi}
\KomendaPodziału*{tekts długi}
Podział dokumentu tworza nastepujace komendy
\part
\chapter \section \subsection
\subsubsection \paragraph \subparagraph
Rozkaz part dozwolony jest tylko w klasie book, a rozkaz chapter dozwolony jest w klasach book i report. Pozostałe komendy podziału dozwolone sa we wszystkich klasach. Z kazdym typem komendy podziału zwiazany jest licznik, który jest zwiekszany przy kolejnym wystapieniu komendy podziału na tym samym poziomie zagłebienia i zerowany gdy wystapi nadrzedna komenda podziału (tj chapter zeruje licznik section, section zeruje licznik subsection, itd.) Standardowo numerowane sa komendy do trzeciego poziomu zagłebienia, lecz zachowanie to moze byc zmienione rozkazem
3Róznica tkwi w mozliwosci wykorzystania komendy includeonly w preabule dokumentu w celu wyłaczenia inkluzji niektórych plików.
\setcounter{\secnumdepth}{wartosc nie wieksza niz 5} wydanym w preambule dokumentu.
Komenda podziału jako argument obowiazkowy przyjmuje tytuł danej czesci. Jezeli dany poziom podziału jest numerowany to tytuł czesci jest umieszczany w spisie tresci i/lub nagłówku. Jezeli wystepuje argument opcjonalny to jego tresc zostanie umieszczona w spisie tresci i nagłówku zamiast parametru obowiazkowego. Komendy podziału wystepuja równiez w wersji z *. Czesci wydzielone tymi komendami nie sa numerowane a ich tytuły nie sa umieszcane w spisie tresci i nagłówkach strony. Specjalna komenda podziału jest pusta linia. Jest ona interpretowana identycznie jak rozkaz par i oznacza ropoczecie nowego akapitu.
Podział dokumentu na strony mozemy wymusic komendami pagebreak i newpage.Wpierwszym przypadku LATEX stara sie rozmiescic tekst na złamanej stronie tak aby zapełnic mozliwie duza jej powierzchnie. W składzie dwukolumnowym opisane komendy słuza do zakonczenia szpalty i zakonczenie strony musimy wymuszac rozkazami clearpage i cleardoublepage

7.2.7 Podstawowe komendy formatujące
Odstepy
LATEXpo kropce konczacej zdanie dodaje odstep wiekszy niz odstep miedzy słowami. Dla LATEX’a koniec zdania nastepuje po kropce wystepujacej bezposrednio po małej literze. W przypadku gdy kropka wystepuje wewnatrz zdania nalezy podjac odpowiednie kroki zaradcze. Najlepiej po kropce umiescic tzw. „twarda spacje” (znak ). Prawidłowo wprowadzony tekst prof. Bylejaki wyglada nastepujaco
prof.~Bylejaki
W przypadku gdy duza litera konczy zdanie prawidłowy wpis wyglada nastepujaco Zgubiłem telefon GSM\@.
W tekscie odstepy mozemy równiez wymuszac rozkazami
\hspace{odstep}
\vspace{odstep}
gdzie odstep jest fizyczna miara długosci. Dozwolone jednostki to pt – punkty drukarskie, in – cale, cm – centymetry, mm – milimetry, em – szerokosc litery m biezacego fontu, x – szerokosc litery x biezacego fontu. Przykładowe komendy podano ponizej \hspace{4.3em}
\vspace{12pt}
Cudzysłowy
W tekscie cytowany tekst umieszczamy w cudzysłowach. Jednak uzycie znaku " do tego celu nie jest zalecane. Cytowania zgodne z angielska i polska konwencja typograficzna uzyskujemy stosujac
‘‘cudzysłów angielski’’
,,cudzysłów polski’’
To jest “cudzysłów angielski”, a to – „cudzysłów polski”.
Wyróznienia
Do wyróznienia tekstu mozemy korzystac z dwóch równorzednych funkcjonalnie form
tekst zwykły {\em tekst wyrózniony} tekst zwykły
tekst zwykły \emph{tekst wyrózniony} tekst zwykły
Wyrózniony tekst bedzie złozony kursywa.
Wyliczenia
Do budowania wyliczen stosujemy nastepujace otoczenia
\begin{itemize}
\item pierwszy element,
\item drugi element,
\item trzeci element.
\end{itemize}
\begin{enumerate}
\item Pierwszy element.
\item Drugi element.
\item Trzeci element.
\end{enumerate}
\begin{description}
\item[pierwszy] to jest pierwszy element,
\item[drugi] to jest drugi element,
\item[trzeci] to jest trzeci element.
\end{description}
We wszystkich otoczeniach elementy wyliczenia wybierane sa rozkazem item. Zaleznie od typu wyliczenia element jest oznaczony w tekscie „kropka”, kolejnym numerem arabskim lub krótkim tekstem złozonym pismem pogrubionym. Wyliczenia moga byc dowolnie zagniezdzane, lecz nie moga sie przenikac. Dobór znaków wyróznienia i/lub soposbu numeracji dla zagniezdzonych itemize i enumerate nastepuje automatycznie.
Zmiana wielkosci i kroju pisma
Zmiane kroju pisma realizuja nastepujace komendy
rm Roman it kursywa sc Small Caps
bf pogrubione sl pochyłe sf Bez szeryfów
tt maszynowe
Dostepne rozmiary pisma4
tiny drobniutkie scriptsize bardzo małe
footnotesize notki small małe
normalsize podstawowe large duze
Large wieksze LARGE wielkie
huge olbrzymie Huge Gigant
Wyrównywanie tekstu
Akapity LATEX standardowo wyrównuje do lewej i prawej strony (justuje). Jezeli chcemy zmienic to zachowanie korzystamy z jednego z trzech otoczen
akapit zwykły \par
\begin{center} akapit wycentrowany \end{center}
akapit zwykły \par
\begin{flushleft} akapit wyrównany do lewej strony \end{flushleft}
akapit zwykły \par
\begin{flushright}akapit wyrównany do prawej strony \end{flushright}
akapit zwykły \par
Rozkazy lokalne pozwalajace osiagnac ten sam efekt sa zaprezentowane nizej akapit zwykły \par
{\centering akapit wycentrowany} \par
akapit zwykły \par
{\raggedright akapit wyrównany do lewej strony} \par
akapit zwykły \par
{\raggedleft akapit wyrównany do prawej strony} \par
akapit zwykły \par

7.3 Wzory metamatematyczne
Olbrzymia przewaga TEX’a nad innymi procesorami tekstu jest mozliwosc porzadnego składu wzorów matematycznych. Składanie wzorów musi odbywac sie w tzw. trybie mate- 4rzeczywista wielkosc liter zalezy od rozmiaru fontu podstawowego matycznym. Złozony wzór moze byc wstawiony bezposrednio w otaczajacy tekst lub wystawiony, tj. złozony w osobnej linii (liniach).

7.3.1 Wzory wstawione i wystawione
Wzory wstawione uzyskujemy komenda
tekst zwykły $wzór$ tekst zwykły
natomiast wzory wystawione
tekst zwykły
$$
wzór
$$
tekst zwykły
\begin{equation}
wzór
\end{equation}
Otoczenie equation zapewnia automatyczna numeracje wzorów.

7.3.2 Podstawowe komendy
Greckie litery uzyskiwane sa w trybie matematycznym komendami odpowiadajacymi ich angielskim nazwom, tj. _ –\alpha, _ –\beta, itd. oraz �� –\Gamma, _ –\Delta, itd. Najwazniejsze symbole matematyczne: ą –\pm, _ –\mp, × –\times, ÷ –\div, • –\cdot, _ – \ast, ? –\star, _ –\oplus, –\ominus, –\otimes, Ź –\le, ­ –\ge, 6= –\neq, _ –\ll, _ –\gg, _ –\approx, ? –\perp, k –\parallel, P –\sum, R –\int, Q –\prod. @ –\partial. W LATEX’u istnieja równiez predefiniowane rozkazy tworzace symbole funkcji: arc cos – \arccos, ln –\ln, log –\log, itd. W trybie matematycznym zachodzi czesto koniecznosc opatrywania symboli indeksami dolnymi i/lub górnymi. Ponizszy przykład ilustruje dostawianie indeksów do zwykłego symbolu oraz symbolu całki
A^{2}_{i}
\int \limits_{0}^{2 \pi}
A2i
2_Z0
Ułamki tworzy rozkaz frac a pierwiastki rozkaz sqrt. Zamiast frac mozemy uzywac rozkazu cfrac z pakietu AMSLATEXktóry nie zmniejsza licznika i/lub mianownika w miare zagłebiania sie ułamka
\sqrt[3]{x^2 + y^2}
\frac{ x + y}{c + d}
\frac{ x + \frac{1}{x}}{y + \frac{1}{y}}
\cfrac{ x + \cfrac{1}{x}}{y + \cfrac{1}{y}}
3 qx2 + y2 x + y
c + d
x + 1
x
y + 1
y
x +
1
x
y +
1
y
Mozliwe jest równiez składanie wzorów zawierajacych nawiasy o wielkosci dopasowanej do obejmowanego symbolu. Odpowiednie symbole ograniczajace wystepuja w parach lewy – prawy \left( \right) \left[ \right] \left| \right| \left\{ \right\} Liczba nawiasów left danego typu musi zgadzac sie z liczba nawiasów right w jednej linii równania. Gdy istnieje potrzeba kontynuowania otwartego nawiasu w kilku liniach równania stosujemy rozkazy right. i left. zamykajace i otwierajace nawiasy dowolnego typu bez wygenerowania reprezentacji graficznej symbolu
a \left( \cfrac{x}{a+b} \right. \\
\left. + \frac{c}[d} \right)
a x
a + b
+
c
d_

7.3.3 AMSLATEX
AMSLATEX zapewnia dodatkowe otoczenia do umieszczania równan długich oraz do grupowania
kilku równan. Najwazniejsze z nich to align, gather, multline.
\begin{multline}
długie równanie, pierwsza linia \\
długie równanie, druga linia \\
...
długie równanie, ostatnia linia
\end{multline}
\begin{gather}
wzór 1 \\
wzór 2 \\
...
wzór ostatni
\end{gather}
\begin{align}
lewa 1 & = prawa 1 \\
lewa 2 & = prawa 2 \\
...
ostatnia lewa & = ostatnia prawa \\
\end{align}
W otoczeniu align wyrównanie wzorów nastepuje w miejscu wystapienia znaku &. Dozwolone jest uzycie kilku punktów wyrównywania, tj. kilku znaków & w jednej linii równania. Bardzo pomocne przy numerowaniu równan jest otoczenie subequations.Wewnatrz tego otoczenia wzory numerowane sa numerem arabskim i literami łacinskimi. Jest to konwencja czesto stosowana do numerowania wzorów scisle ze soba zwiazanych.
\begin{multline}
a+b+c+\ldots+z = 1 + 2 + \ldots + N \\
= 2 \pi \int\limits_{0}^{1} \cfrac{1}[x} dx
\end{multline}
\begin{subequations}
\begin{align}
x_1 & = a + b + c \\
x_2 & = a - b
\end{align}
\begin{gather}
x_1 = a + b + c\\
x_2 = a - b
\end{gather}
\end{subequations}
a + b + c + . . . + z = 1 + 2 + . . . + N
= 2_
1Z0
1
x
dx (7.1)
x1 = a + b + c (7.2a)
x2 = a − b (7.2b)
x1 = a + b + c (7.2c)
x2 = a − b (7.2d)
O wielu dalszych udogodnieniach realizowanych przez AMSLATEX mozna dowiedziec sie studiujac
dołaczona do pakietu dokumentacje.

7.4 Materiał ruchomy
Materiał ruchomy to taki fragment dokumentu co do którego LATEX ma pewna swobode w znalezieniu mu miejsca na stronie. Dwa takie elementy to otoczenie table wewnatrz którego umieszczane sa zazwyczaj tabele oraz figure zawierajace rysunki.

7.4.1 Tabele
Przykład otoczenia table zamieszczono ponizej
\begin{table}[htbp]
tutaj komendy tworzace tabele
\caption{Podpis tabeli}
\label{TabelaProbna}
\end{table}
Parametr opcjonalny okresla gdzie LATEX ma próbowac umiescic tabele. Odpowiednie litery argumentu oznaczaja: h – w miejscu wystapienia, t – na górze stony, b – na dole strony, p – na osobnej stronie zawierajacej tylko obiekty ruchome. Kolejnosc wystepowania liter decyduje o kolejnosci działan LATEX’a. Parametr nie musi zawierac wszystkich wymieniony liter. Na przykład wpis tb oznacza, ze wszystkie tabele maja byc umieszczane na górze strony, a gdy z jakis powodów taki skład jest niemozliwy – na dole strony. Inne warianty nie sa wówczas brane pod uwage.
Rozkaz caption nadaje tabeli podpis oraz numer. Jezeli do tabeli chcemy odwoływac sie w tekscie musimy opatrzec ja etykieta przy uzyciu rozkazu label. Rozkaz label musi wystapic po rozkazie caption. Wewnatrz otoczenia table mozemy oczywiscie stosowac komendy formatujace, np. centrowanie, zmiana fontu, itp. Do wypełnienia wnetrza tabel słuza dwa otoczenia tabular i tabularx. Otoczenie tabular
Składnia otoczenia tabular jest nastepujaca
\begin{tabular}[pozycja]{kolumny}
element 1,1 & element 1,2 & ... & element 1,N \\
element 2,1 & element 2,2 & ... & element 2,N \\
.............................................. \\
element N,1 & element N,2 & ... & element N,N \\
Opcjonalny parametr pozycja okresla połozenie tabeli wzgledem tekstu poprzedzajacego tabele i ma znaczenie tylko gdy tabular wystepuje samodzielnie, bez otoczenia table. Dozwolone wartosci parametru to: t – najwyzszy wiersz tablicy na poziomie otaczajacego tekstu, b – najnizszy wiersz tablicy na poziomie otaczajacego tekstu. Brak parametru oznacza, ze tabela bedzie wycentrowana w pionie wzgledem sasiadujacego tekstu. Parametr kolumny okresla ilosc i sposób formatowania kolumn tabeli. Formatowanie danej kolumny okresla jedna litera, nalezy podac tyle liter ile jest kolumn. Dozwolone typy kolumn to: l – zawartosc wyrównana do lewej strony, r – zawartosc wyrównana do prawej strony, c – zawartosc jest wycentrowana, p{szer} – zawartosc jest składana w akapitach o szerokosci szer. Miedzy opisami formatowania kolumn mozna umiescic informacje o sposobie rozdziału kolumn. Wpis | tworzy pionowa kreske, a wpis || podwójna pionowa kreske. Elementy kazdego wiersza tabeli oddzielone sa znakiem &. Liczba elementów wiersza musi byc identyczna z liczba kolumn zadeklarowana parametrem kolumny. Z kolei wiersze koncza sie znakami \\. Do tworzenia poziomych kresek słuzy komenda hline. Moze ona wystepowac bezposrednio przed pierwszym wierszem (kreska na nagłówkami tabeli) lub bezposrednio po rozkazie konczacym wiersz. Podwójna kreske uzyskujemy dwoma rozkazami hline wystepujacymi bezposrednio po sobie. Do „sklejenia” kilku elementów tablicy w jeden, bez naruszenia warunku zgodnosci liczby kolumn z liczba elementów w wierszu nalezy uzywac komendy multicolumn o nastepujacej składni
\multicolumn{liczba}{formatowanie}{tekst}
Parametr liczba oznacza liczbe sklejanych kolumn, formatowanie – sposób formatowania nowo powstałej komórki tabeli o składni identycznej jak parametr kolumny otoczenia tabular, tekst – jest zawartoscia komórki. Ponizej zamieszono przykładowe otoczenie tabular i wynik jego składu
\begin{tabular}{|l|r||c|p{2cm}|}
\hline
nagłówek 1 & nagłówek 2 & nagłówek 3 & nagłówek 4 \\
\hline \hline
element 1,1 & element 1,2 & element 1,3 & element 1,4 \\
element 2,1 & długi element 2,2 & bardzo długi element & wzór tez moze byc $\int\limits_{\hline
\multicolumn{2}{|c||}{elementy 3,1 i 3,2} & element 3, 3& element N,N \\
\hline
\end{tabular}
nagłówek 1 nagłówek 2 nagłówek 3 nagłówek 4
element 1,1 element 1,2 element 1,3 element
1,4
element 2,1 długi element 2,2 bardzo długi element wzór tez moze byc
2_ R0
g(x)dx
elementy 3,1 i 3,2 element 3, 3 element
N,N
Pakiet tabularx
Otoczenie tabularx równiez słuzy do składania tabel. Róznica polega na tym, ze tabularx składa tabelke w obszarze o okreslonej szerokosci. Aby zapewnic rozrastanie sie tabeli do zadanego
wymiaru wprowadzono nowy typ kolumny o nazwie X która rosnie do zapewnienia odpowiedniej szerokosci. Jezeli w specyfikacji podamy kilka kolumn typu X to nadmiar szerokosci zostanie podzielony równomiernie pomiedzy te kolumny. Kolumny typu X sa składane jak kolumny typu p, z ta róznica, ze szerokosc wyznaczana jest automatycznie. Ponizszy przykład ilustruje uzycie tabularx
\begin{tabularx}{0.8\textwidth}{|X|l|l|}
\hline
& \multicolumn{1}{c|}{LAN} & \multicolumn{1}{c|}{ATM} \\
\hline
metoda przesyłania ramek & bezpołaczeniowa & połaczeniewa \\
\hline
korzystanie z~rozgłoszen & tak & nie \\
\hline
\end{tabularx}
LAN ATM
metoda przesyłania ramek bezpołaczeniowa połaczeniewa korzystanie z rozgłoszen tak nie W otoczeniu tabularx pierwszy parametr specyfikuje szerokosc tabeli. Mozemy ja zadac podajac wymiar bezwzgledny lub uzaleznic od innej miary długosci. W przykładzie tabela bedzie miała szerokosc 0.8 szerokosci szpalty. Zademonstrowano równiez uzycie multicolumn do zmiany formatowania pojedynczej komórki tabeli.

7.4.2 Rysunki
Zewnetrzna grafike mozemy wstawiac do dokumentu w postaci bitmapy w formacie BMP lub w postaci wektorowej w formacie EPS.

7.4.3 Pakiet graphicx
Pakiet graphicx zapewnia komende includegraphics do właczania plików graficznych. Składnia komendy jest nastepujaca
\includegraphics[wymiar]{plik}
Parametr wymiar moze okreslac skalowanie rysunku wzgledem wymiarów okreslonych w pliku (tylko grafika wektorowa). Moze równiez okreslac szerokosc i/lub wysokosc rysunku. Jezeli podamy tylko jeden z wymiarów drugi zostanie dobrany automatycznie. Poniewaz w pliku BMP nie ma informacji o wymiarach rysunku, przy ich właczaniu musimy podac jego szerokosc i wysokosc. Ponizej podano przykładowe komendy dołaczania grafiki
\includegraphics{rysunek}
\includegraphics[scale=0.7]{rysunek}
\includegraphics[width=5cm]{rysunek}
\includegraphics[width=5cm, height=3cm]{rysunek.bmp}

7.4.4 Otoczenie figure
Działanie otoczenia figure jest analogiczne do działania otoczenia table.
\begin{figure}[htb]
\includegraphics{rysunek}
\caption{Mój pierwszy rysunek.}
\label{MojRysunek}
\end{figure}
LATEX umieszcza rysunek zgodnie ze wskazówkami zawartymi w parametrze otoczenia. Komenda caption zapewnia rysunkowi podpis a komenda label etykiete dzieki której do rysunku mozemy odwoływac sie w tresci dokumentu.

7.4.5 Pakiet floatflt
Pakiet floatflt słuzy do tworzenia rysunków „oblanych” tekstem. Zachowanie komend pakietu kontroluje opcja umiejscawania rysunków
\usepackage[miejsce]{floatflt}
Dozwolone wartosci zmiennej miejsce to rflt, lflt, vflt. Do wklejania rysunku słuzy otoczenie floatingfigure
\begin{floatingfigure}{60mm}
\includegraphics{rysunek2}
\caption{Ilustracja uzycia floatingfigure.}
\label{MojDrugiRysunek}
\end{floatingfigure}
Jako parametr otoczenia musimy podac szerokosc jaka ma byc zarezerowana na rysunek. Wymiar pionowy zostanie ustalony automatycznie. Otoczenie floatingfigure nie powinno byc mieszane z otoczeniem figure.


7.4.6 Pakiet psfrag
Pakiet psfrag słuzy do wymiany tekstu zawartego w pliku EPS na tekst złoznony przez LATEX’a. Zamiane realizuje komenda
\psfrag{tekst z rysunku}{tekst z Latex’a}
Rozkaz psfrag umozliwia umieszczenie na rysunku tekstów których nie zapewnia program graficzny, np. wzorów matematycznych, liter greckich, itp. Uzycie psfrag ilustruje ponizszy przykład
\begin{figure}
\psfrag{A}{A}
\psfrag{a}{$\alpha$}
\psfrag{calka}{$\int\limits_{0}^{2\pi} f(x) dx$}
\includegraphics{rysunekztekstem}
\end{figure}
oryginał podmieniony tekst

7.5 Wypisy LATEX moze wykonac automatycznie nastepujace spisy: tresci, tabel, rysunków, literatury oraz skorowidz nazw.

7.5.1 Oznaczanie fragmentów tekstu
Poprzez wykorzystanie mechanizmu etykiet mozliwe jest w LATEX’u odwoływanie sie do elementów tekstu numerowanych automatycznie. Element do którego chcemy sie odwołac oznaczamy etykieta wykorzystujac rozkaz
\label{etykieta}
Typ oznaczanego elementu (równanie, rysunek, tabela) ustalany jest automatycznie na podstawie otoczenia wewnatrz którego znajduje sie etykieta. Nie jest mozliwe nadawanie etykiet zawierajacych polskie znaki narodowe.

7.5.2 Referencje
W tekscie mozemy odwołac sie poprzez jego numer rozkazem
\ref{etykieta}
lub podac odwołanie do strony na której znajduje sie dany element rozkazem
\pageref{etykieta}
AMSLATEX zapewnia specjalny rozkaz do odwoływania sie do równan
\eqref{etykieta równania}

7.5.3 Spis tresci
Spis tresci wstawiony jest do dokumentu w miejscu wystapienia rozkazu tableofcontents. W spisie umieszczane sa elementy podziału do poziomu zagłebienia okreslonego wydana w preambule komenda
\setcounter{tocdepth}{numer}
gdzie numer okresla poziom zagłebienia.

7.5.4 Spis literatury
Spis literatury mozemy wykonac recznie przy uzyciu otoczenia thebibliography lub automatycznie z wykorzystaniem programu BIBTEX i bazy danych pozycji literaturowych. W obu przypadkach do pozyji odwołujemy sie w tekscie rozkazem \cite{etykieta}
gdzie etykieta jest nadana danej pozycji literaturowej w spisie literatury. Otoczenie thebibliography Ponizej zamieszczony fragment kodu ilustruje uzycie otoczenia thebibliography
\begin{thebibliography}{10}
\bibitem{atm-cmLANE1}
H.~L. Truong, W.~W. {Ellington~Jr.}, J.-Y. {Le~Boudec}, and A.~X. Meier, ,,Lan emulation on atm network,’’ {\em IEEE Communications Magazine}, pp.~73--85, 5 1995.
\bibitem{atm-cmLANE2}
Y.~T. Hou, L.~Tassiulas, and H.~J. Chao, ,,Overview of implementing atm-based enterprise local area network for desktop multimedia computing,’’ {\em IEEE Communications Magazine}, pp.~70--76, 4 1996.
\end{thebibliography}
Parametr otoczenia rezerwuje szerokosc pola na nawiasy kwadratowe z numerem pozycji. O szerokosci pola decyduje liczba cyfr parametru. Wewnatrz otoczenia umieszczamy kolejne pozycje literaturowe rozkazem bibitem podajac mu jako argument etykiete pozycji. Odpowiednie wpisy w spisie musimy samodzielnie formatowac. Program BibTEX Przy pisaniu wiekszej ilosci publikacji reczne umieszczanie spisów literatury jest dosc uciazliwe. Wynika to z faktu, ze rózne wydawnictwa maja rózne wymagania jesli idzie o formatowanie pozycji. Uciazliwy jest równiez fakt czestego wpisywania tych samych pozycji literaturowych w róznych dokumentach. Na przeciw tym problemom wychodzi program BibTEX. Program pracuje wykorzystujac baze danych stworzona przez uzytkownika. Format wpisów do bazy ilustruje ponizszy przykład
@ARTICLE{atm-cmLANE1,
author = {Hong Linh Truong and William W. {Ellington~Jr.} and
Jean-Yves {Le~Boudec} and Andreas X. Meier},
title = {LAN Emulation on ATM Network},
journal = {IEEE Communications Magazine},
year = {1995},
month = {5},
pages = "73--85",
}
@BOOK{atm-ginsburg,
author = "David Ginsburg",
title = "ATM~-- solutions for enterprise networking",
publisher = "Addison-Wesley",
address = "Harlow, England",
year = "1996",
}
Wpisy w bazie okreslaja typ pozycji literaturowej, etykiete, autora, tytuł i inne parametry zalezne od rodzaju publikacji. Wykaz dostepnych typów oraz pól rekordów mozna znalezc w dokumentacji programu. Aby skorzystac z pozycji literaturowych wpisanych w bazie danych w tekscie dokumentu umieszczamy nastepujace rozkazy
\bibliographystyle{ieeetr}
\bibliography{atm}
Rozkaz bibliographystyle okresla sposób formatowania wypisów pozycji literaturowych zaleznie od ich typu (artykuł, ksiazka, itp). Dostepne rodzaje formatowania mozna sprawdzic w katalogu
/usr/share/texmf/bibtex/bst/
Nazwa rodzaju formatowania jest nazwa pliku z pominietym rozszerzeniem *.bst. Rozkaz bibliography okresla nazwe pliku (rozszerzenie *.bib) zawierajacego spis publikacji. Wykonanie spisu literatury wymaga wykonania dwóch kompilacji dokumentu. W pierwszym przebiegu LATEX umieszcza w pliku (plikach) z rozszerzeniem *.aux informacje o etykietach pozycji do których nastapiły odwołania. Teraz powinnismy uruchomic program BIBTEX. Na podstawie etykiet zebranych w pliku *.aux generuje on sformatowany spis literatury umieszczajac go w pliku *.bbl. Przy kolejnym uruchomieniu LATEX’a do dokumentu wstawiany jest juz gotowy spis literatury.

Tworzenie wykresów – gnuplot


Program gnuplot jest interaktywnym, sterowanym poleceniami z linii komend programem do tworzenia wykresów funkcji i danych. gnuplot moze pracowac zarówno w trybie wsadowym, jak i interaktywnym. Co wiecej oba tryby pracy moga byc łaczone.

8.1 Tryby pracy
Arumenty w linii komend dla polecenia gnuplot sa traktowane jako nazwy plików z komendami do interpretacji przez gnuplota. Pliki przetwarzane sa w kolejnosci wystapienia, od lewej do prawej. Po przetworzeniu ostatniego pliku program konczy działanie. Specjalna nazwa pliku w postaci znaku minus -- oznacza plik standardowego wejscia. Jezeli w linii komend nie podamy argumentów, program uruchomi sie w trybie interaktywnym. Przykłady:
• sesja interaktywna
gnuplot
• przetworzenie dwóch plików w trybie wsadowym
gnuplot plik1 plik2
• sesja interaktywna poprzedzona przetworzeniem pliku plik1 po której zakonczeniu
przetwarzany jest plik2
gnuplot plik1 - plik2

8.2 Składnia pliku wejściowego
W opisie składni komend bedziemy uzywac nastepujacej konwencji; w nawiasy klamrowe {} ujete beda parametry opcjonalne, znakiem | oddzielone beda wzajemnie wykluczajace sie alternatywy, elementy w nawiasach <> oznaczaja elementy za które powinny byc wstawione odpowiednie wartosci. Nazwy komend moga byc dowolnie skracane, jednak tak aby nie było watpliwosci o która komende chodzi1. Jezeli w linii wystepuje wiele komend musza byc one oddzielone srednikiem. Komendy gnuplota bardzo czesto maja wiele opcji. Opcje musza pojawiac sie we własciwym porzadku, choc dowolne z nich moga byc opuszczone, tzn. dozwolone sa wywołania
komenda a b c
komenda a c
natomiast wywołanie
komenda c a
jest niedozwolone. Jedno polecenie dla gnuplota moze zajmowac wiele linii. Kazda kontynuowana linia powinna byc zakonczona znakiem odwrotnego ukosnika (ang. backslash \). Przy tworzeniu komend gnuplota obowiazuja nastepujace reguły
• separatorem dla opcji komend jest znak odstepu,
• jezeli parametrem jest lista elementów, to elementy listy oddzielone sa przecinkiem,
• przedziały wartosci zawarte sa w nawiasach kwadratowych [ ]
• ciag znaków musi byc umieszczony w cudzysłowach (podwójnych " lub pojedynczych ’),
• w nawiasach klamrowych umieszczamy liczby zespolone {2, 3} = 2 + j3,
• komentarz rozpoczyna sie znakiem # i konczy koncem linii.

8.2.1 Komendy
W tym punkcie omówimy najwazniejsze komendy programu.
Komenda quit
Komendy exit lub quit koncza działanie programu.
Komenda save
Przy uzyciu komendy save mozliwe jest zapisanie do pliku: funkcji zdefiniowanych przez uzytkownika, wartosci zmiennych oraz opcji tworzenia wykresu wraz z ostatnia komenda plot (patrz punkt 8.2.1).
Składnia
save {} ’
Parametr moze przyjmowac wartosci: functions, variables lub set. Bez podanej opcji zachowywane sa wszystkie elementy.
Przykłady
save ’work.gnu’
save functions ’func.dat’
save var ’var.dat’
save set ’options.dat’
1Wyjatkiem jest komenda quit słuzaca do zakonczenia pracy z programem.
Komenda plot
Komenda plot jest podstawowa komenda programu. Jej szczegółowe omówienie znajduje sie w punkcie 8.2.1.
Komenda replot
Komenda replot słuzy do potórnego narysowania wykresu po zmianie opcji lub zmianie urzadzenia wyjsciowego.
Komenda set i show
Komenda set słuzy do zmiany opcji tworzenia wykresu. Wiele opcji omówonio w punkcie 8.4 poswieconym tworzeniu wykresów. Komenda show słuzy do sprawdzania ustawien poszczególnych opcji. Specjalna wersja show all powoduje wyswietlenie wszystkich opcji.

8.2.2 Wyrazenia
W wyrazeniach arytmetycznych moga wystepowac trzy typy danych: liczby całkowite, liczby rzeczywiste i liczby zespolone. Typ liczby okeslany jest na podstawie jej formatu, tzn. jezeli nie wystepuje w liczbie kropka lub wykładnik, to jest to liczba całkowita (np. 1, -10), w przeciwnym razie jest to liczba rzeczywista (np. 1.0, -1e1). Jezeli w wyrazeniu wystepuja liczby całkowite i rzeczywiste, to liczby całkowite sa „promowane” do liczb rzeczywistych. Zasadnicza róznica miedzy arytmetyka liczb całkowitych i rzeczywistych tkwi w dzieleniu, w którym dla liczb całkowitych „obcinana” jest czesc ułamkowa tj. 3/2 = 1 a 3.0/2 = 1.5. Liczby zespolone podajemy jako pare liczb w nawiasach klamrowych, np. {3, 2} = 3+j2. Liczby zespolone zawsze maja współczynniki rzeczywiste, niezaleznie od ich postaci. W wyrazeniach z liczbami zespolonymi liczby rzeczywiste „promowane” sa do liczb zespolonych.

8.2.3 Funkcje predefiniowane
Gnuplot wyposazony jest w szeroki zbiór funkcji predefiniowanych, poczawszy od zwykłych funkcji trygonometrycznych az po funkcje Bessela i Neumanna. W zasadzie wszystkie funkcje akceptuja argumety w postaci cakowitej, rzeczywistej i zespolonej. Standardowo funkcje trygonometryczne akceptuja argumenty w radianach, lecz mozna to zmienic opcja set angles.

8.2.4 Funkcje użytkownika
Gnuplot pozwala na definiowanie funkcji uzytkownika, przyjmujacych co najmniej jeden i co najwyzej piec parametrów. Składnia definicji wyglada nastepujaco ( {,} ... {,} ) =
Mozna równiez definiowac zmienne globalne. Definicja zmiennej ma nastepujaca składnie =
Przykłady:
w = 2 # zmienna o wartosci całkowitej
q = tan(pi/2 - 0.1) # zmienna o wartosci rzeczywistej
sinc(x) = sin(pi*x)/(pi*x) # funkcja uzytkownika sinc
delta(t) = (t == 0) # delta Diraca
ramp(t) = (t > 0) ? 1 : 0 # funkcja Heaviside’a
comb(n,k) = n!/(k!*(n-k)!) # symbol n po k

8.3 Urzadzenie wyjściowe
Gnuplot dostosowuje mozliwosci graficzne do typu urzadzenia wyjsciowego. Za obsługe urzadzenia danego typu odpowiedzialny jest sterownik zwany terminalem. Do ustawienia typu terminala słuzy komenda set
set terminal {}
show terminal
Aby sprawdzic dostepne terminale wydajemy komende set terminal bez podania typu. W odpowiedzi uzyskamy liste obsługiwanych terminali. Komendy wysyłane przez typ terminala do urzadzenia rysujacego sa wysyłane do pliku wyjscia standardowego. Moga byc one jednak przekierowane do innego pliku komenda set output {""} show output Wywołanie set output bez nazwy pliku przywraca wysyłanie danych do pliku wyjscia standardowego. Wiele typów terminali ma dodatkowe opcje kontrolujace ich tryb pracy. Odpowiednie opcje podajemy po nazwie terminala oddzielone od siebie znakami odstepu. Najwazniejsze terminale to: fig, latex, mp, postscript, pslatex, pstricks, x11.

8.3.1 Wyjscie na ekran
Wyjscie na ekran konsoli graficznej X-Windows uzykujemy komenda
set terminal x11 {reset} {}
Jest to terminal ustawiany jako domyslny, a wiec o ile wczesniej nie zmienimy typu terminala to powyzszej komendy nie musimy wydawac. Jezeli ustawimy parametr reset to komenda spowoduje zamkniecie wszystkich okien z wykresami. Parametr okresla numer okna w októrym bedzie odbywac sie rysowanie.

8.3.2 Wyjscie do LATEX’a
Ustwienie typu terminala jako LATEXpowoduje, ze do uzyskania wykresu zostana uzyte komendy modu graficznego programu LATEX. Składnia jest nastepujaca set terminal latex | emtex {courier | roman | default} {} Jezeli nie ustawimy typu i rozmiaru fontu, to zostana one „odziedziczone” po dokumencie do którego wstawiono rysunek. Niewatpliwa zaleta terminala jest mozliwosc uzykania opisów fontem identycznem jak w dokumencie. Ponadto mozliwe jest uzywanie w opisach trybu matematycznego, a tym samym wstawiania wzorów i greckich liter. Tekst dodatkowy tzn. tytuły, etykiety itp. moga byc odpowiednio ustawiane (centrowane,wyrównywane od góry, itp) wzgledem okreslonego punktu na wykresie. Do uzyskania odpowiednich efektów korzystamy z komend zapewnianych przez LATEX’a lub bezposrednio przez terminal. Jezeli do dokumentu LATEX’a dołaczamy rysynek stworzony przez omawiany typ terminala to w preambule musimy dołaczyc pakiet latexsym. Niewatpliwa wada terminala LATEX jest poleganie na komendach graficznych LATEX’a, którego mozliwosci w tym zakresie nalezy uznac za skromne.

8.3.3 Wyjscie do PSLATEX
Terminal stara sie połaczyc najlepsze cechy dwóch swiatów: jezyka składu LATEX i jezyka opisu strony Postscript. Ustawienie tego terminala uzyskujemy komenda set terminal pslatex {} {} {} {auxfile} {} Znaczenie opcji jest nastepujace:
przyjmuje wartosci color lub monochrome,
wartosc rotate oznacza, ze opis osi y ma byc obrócony o 900, norotate oznacza brak obrotu,
flaga oznaczajaca rozróznianie typów linii poprzez ich rózne „kreskowanie”
auxfile brak tej opcji powoduje, ze komendy LATEX’a i rysunek w postscripcie zostana umieszczone w jednym pliku. Jezeli opcja wystepuje zostana wygenerowane dwa pliki: plik postscriptowy oraz plik z komendami składu dokumentu zawierajacy komendy inkluzji pliku postscriptowego.
rozmiar fontu uzytego do składu rysunku. Podobnie jak w terminalu latex mozemy pozycjonowac tekst.

8.3.4 Wyjscie do MetaPost
Terminal mp tworzy plik wejsciowy dla programu MetaPost. Przetworzenie tego pliku tworzy plik EPS który moze byc nastepnie dołaczony do dokumentu. W utworzonym pliku wykorzystywane sa fonty LATEX’a i obejrzenie go bez wstawienia do dokumentu nie jest mozliwe. Składnia komendy ustawiajacej ten terminal jest nastepujaca set term mp {} {} {notex} {mag } {""} {} Znaczenie opcji jest nastepujace:
przyjmuje wartosci color lub monochrome,
flaga oznaczajaca rozróznianie typów linii poprzez ich rózne „kreskowanie”: solid – linie ciagłe, dashed – linie kreskowane.
notex wyłacza mozliwosc korzystania z komend składu w opisach osi i etykietach,
mag skalowanie wszystkich napisów,
name nazwa fontu do opisów,
size i jego rozmiar.
Przykłady:
# sesja gnuplot
set terminal mp mono "cmtt12" 12 # wybór terminala
set output "figure.mp" # wybór pliku wyjsciowego

quit
> mp figure.mp > figure.eps
# LaTeX
\usepackage{graphics}
\includegraphics{figure}

8.3.5 Wyjscie do PStricks
Terminal PStricks jest przeznaczony do uzycia z pakietem pstricks z LATEX’a. Jego działanie jest bardzo podobne do terminali latex i pslatex. Róznica polega jedynie na zestawie komend uzywanych do sporzadzenia rysunku. Składnia ustawienia terminala jest nastepujaca set terminal pstricks {hacktext | nohacktext} {unit | nounit}

8.3.6 Wyjscie do pliku graficznego fig
Terminal fig generuje wykres w formacie zrozumiałym przez program graficzny xfig. Składnia wyboru terminala jest nastepujaca
set terminal fig {monochrome | color} {small | big}
{pointsmax } {landscape | portrait}
{metric | inches} {fontsize }
{size } {thickness } {depth }
Znaczenie opcji rozumie kazdy kto sporzadził choc kilka rysunków programem xfig. Mozliwa jest kontrola grubosci linii oraz warstwy w której znajduje sie dana linia wykresu poprzez zwiekszenie wartosci linetype o 100 i 1000, odpowiednio. Przykłady:
set terminal fig monochrome small pointsmax 1000 # defaults
set output "test.fig"

8.3.7 Wyjscie do postscriptu
Terminal postscriptowy tworzy wykres w jezyku opisu strony. Składnia ustawienia terminala jest nastepujaca
set terminal postscript {} {enhanced | noenhanced}
{color | monochrome} {solid | dashed}
{}
{""} {}
Opcje wywołania maja nastepujece znaczenie
– moze przyjmowac wartosci: landscape, portrait, eps. Tylko pliki EPS moga byc importowane przez inne aplikacje bowiem sa opatrzone informacja o rozmiarze rysunku. enhanced pozwala na umieszczanie indeksów górnych i dolnych w opisach przy pomocy składni TEXopodobnej. Litery greckie oraz symbole w tym trybie mozna uzyskac zmieniajac font na Symbol i wybierajac odpowiedni znak fontu, np. {/Symbol = 20G} _ ��, {/Symbol\245} _ 1.
pozwala na skorzystanie z mozliwosci niektórych drukarek postscriptowych do jednoczesnego druku po obu stronach kartki. Pozostałe parametry maja znaczenie takie jak zwykle. Przykłady: set terminal postscript eps enhanced dashed set output "test.eps" Terminal postscriptowy wyposazony jest w bogaty zbiór znaczników punktów i rodzajów linii.

8.4 Tworzenie wykresów
Do rysowanie wykresów słuza dwie komendy: plot tworzy wykresy krzywych natomiast splot słuzy do kreslenia powierzchni. Komenda replot słuzy do powtórnego wykonania ostatnio wydanej komendy plot i splot. Dalej bedziemy zajmowac sie wyłacznie kresleniem krzywych.

8.4.1 Rysowanie wykresu
Składnia komendy plot jest nastepujaca:
plot {}
{ | {"" {datafile-modifiers}}}
{axes } {} {with (sytle))}
Wykresy kilku krzywych zadajemy oddzielajac opisy krzywych przecinkiem. Dalej omówimy kolejne elmenty komendy.
Opcja
Parametr ma nastepujaca składnie
[minX:maxX] { [minY:maxY] }
tj. w nawiasach kwadratowych znajduja sie przedziały wartosci rzednych i odcietych dla których ma byc sporzadzony wykres.
Plik z danymi
Plik z danymi mozna wykreslic podajac nazwe pliku oraz modyfikatory okreslajace sposób interpretacji danych z pliku. Składnia modyfikatorów jest nastepujaca
{datafile-modifiers} = {index }
{every }
{using }
{smooth