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