Nie za krtkie wprowadzenie
do systemu LATEX2
Albo LATEX2 w 88 minut
Tobias Oetiker
Hubert Partl, Irene Hyna i Elisabeth Schlegl
wersja 3.2, 21 wrzenia 1998
tumaczenie i opracowanie wersji polskiej: Janusz Godasz,
Ryszard Kubiak, Tomasz Przechlewski
wspӳpraca redakcyjna: Stanisaw Wawrykiewicz
ii
Copyright c 1998 Tobias Oetiker and all the Contributors to LShort.
Copyright c 1999 for the Polish translation and extension JG, RK and TP
All rights reserved.
This document is free; you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later version.
This document is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA.
Copyright c 1998 Tobias Oetiker i wszyscy wspӳautorzy LShort.
Copyright c 1999 polskiego tumaczenia i poszerzenia JG, RK i TP.
Ten dokument moe by rozpowszechniany i/lub zmieniany w zgodzie z postano-
wieniami Oglnej Licencji Publicznej GNU takiej, jak zostaa opublikowana przez
fundacj Free Software Foundation; albo w wersji 2 teje Licencji, albo (Wasz wy-
br) w dowolnej pӼniejszej.
Ten dokument jest rozpowszechniany w nadziei, e bdzie uyteczny, ale BEZ
ADNEJ GWARANCJI; nawet bez adnej domylnej gwarancji WYNIKAJCEJ
Z NABYCIA lub ODPOWIADANIA KONKRETNEMU CELOWI. Wicej szcze-
gӳw znajdziecie w Oglnej Licencji Publicznej GNU.
Do dokumentu powinna by doczona kopia Oglnej Licencji Publicznej GNU; jeli
nie, to napiszcie do the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
MA 02139, USA.
Podzikowania
Wikszo materiau w tym dokumencie pochodzi z austriackiego Wprowa-
dzenia do LATEX-a 2.09 w jzyku niemieckim, ktrego autorami s:
Hubert Partl partl@mail.boku.ac.at
Zentraler Informatikdienst der Universitt fr Bodenkultur Wien
Irene Hyna Irene.Hyna@bmwf.ac.at
Bundesministerium fr Wissenschaft und Forschung Wien
Elisabeth Schlegl no email
Graz
Osoby zainteresowane wersj niemieck, dostosowan przez Jrga Knappena
do LATEX2 , mog j znale w CTAN://tex-archive/info/lkurz.
Piszc Wprowadzenie korzystaem z pomocy wielu uczestnikw grupy dysku-
syjnej comp.text.tex. Niej wymienione osoby pomogy mi swoimi popraw-
kami, sugestiami i propozycjami ulepsze. Chciabym niniejszym serdecznie
im za to podzikowa. Oczywicie za wszystkie bdy, ktre nieuchronnie po-
zostay w tekcie, wycznie ja ponosz odpowiedzialno. Wszystkie zdania
bezbdne w ksice s wyczn zasug osb z poniszej listy:
Rosemary Bailey, David Carlisle, Christopher Chin,
Chris McCormack, Wim van Dam, David Dureisseix, Elliot,
David Frey, Robin Fairbairns, Alexandre Guimond,
Cyril Goutte, Greg Gamble, Neil Hammond,
Rasmus Borup Hansen, Martien Hulsen, Eric Jacoboni,
Alan Jeffrey, Byron Jones, David Jones,
Johannes-Maria Kaltenbach, Andrzej Kawalec, Alain Kessi,
Christian Kern, Jrg Knappen, Maik Lehradt,
Martin Maechler, Claus Malten, Hubert Partl, John Refling,
Mike Ressler, Brian Ripley, Young U. Ryu, Chris Rowley,
Craig Schlenter, Josef Tkadlec, Didier Verna, Fritz Zaucker,
i Rick Zaccone.
Przedmowa
LATEX [4] jest systemem skadu umoliwiajcym midzy innymi tworzenie
dokumentw naukowych i technicznych o wysokiej jakoci typograficznej.
Oczywicie, oprcz tego LATEX umoliwia przygotowywanie dowolnego ro-
dzaju dokumentw, poczynajc od listw, a koczc na grubych ksikach.
Do formatowania dokumentw LATEX wykorzystuje program TEX [3].
Niniejsze krtkie Wprowadzenie opisuje LATEX-a w zakresie wystarcza-
jcym do wikszoci zastosowa. Peny opis LATEX-a mona znale w [4, 2].
LATEX jest dostpny na wikszoci platform sprztowych, poczwszy
od PC i Macintosh, a skoczywszy na duych systemach wyposaonych
w UNIX-a czy VMS. W wielu sieciach uniwersyteckich mona spotka
gotowe do uytku instalacje LATEX-a. Informacje, jak rozpocz prac w lo-
kalnej instalacji LATEX-a mona znale w Local Guide [5]. Jeeli nie wiesz
jak zacz prac z LATEX-em to zapytaj si osoby, od ktrej otrzymae to
Wprowadzenie. W tym dokumencie nie poruszamy spraw zwizanych z in-
stalowaniem i konfiguracj systemu LATEX. Mwimy wycznie o tym, jak
pisa dokumenty, aby mogy zosta przetwarzane przez LATEX-a.
Wprowadzenie zawiera pi nastpujcych rozdziaw:
Rozdzia 1 przedstawia ogln struktur dokumentw LATEX-owych i oma-
wia krtko histori systemu LATEX. Po przeczytaniu tego rozdziau
powiniene mie ju wyobraenie, czym jest LATEX. Chocia bdzie to
tylko obraz oglny, pozwoli ci na poczenie informacji, jakie znajdziesz
w pozostaych rozdziaach, w caociowy obraz.
Rozdzia 2 podaje szczegӳy dotyczce skadanie dokumentw. Omawia
najwaniejsze instrukcje i rodowiska. Po przeczytaniu tego rozdziau
bdziesz umia tworzy proste dokumenty LATEX-owe.
Rozdzia 3 powicono skadaniu wzorw matematycznych. Wiele zamiesz-
czonych tu przykadw pozwoli ci nauczy si wykorzystywa jedn
z najwaniejszych moliwoci LATEX-a, jak jest elegancki skad ma-
tematyki. Na kocu rozdziau zamieszczono zestawienie dostpnych
w LATEX-u symboli matematycznych.
Rozdzia 4 wyjania, jak tworzy skorowidze i spisy bibliograficzne, jak
docza rysunki w formacie EPS i jeszcze par innych poytecznych
rzeczy.
v
Rozdzia 5 zawiera informacje, ktrych wykorzystanie jest potencjalnie
niebezpieczne, bo mwi, jak mona zmieni standardowy ukad gra-
ficzny dokumentw LATEX-owych. Niewaciwe ich uycie moe spowo-
dowa pogorszenie adnego na ogӳ skadu LATEX-owego.
Sdzimy, e naley przeczyta wszystkie rozdziay i w powyszej kolejnoci.
Ostatecznie, ksika nie jest zbyt gruba. Szczeglnie starannie naley czyta
przykady, gdy wanie w nich zawarto sporo informacji.
Gdyby potrzebowa innych materiaw dotyczcych LATEX-a, zajrzyj do jed-
nego z archiww sieci CTAN. Wze CTAN w Stanach Zjednoczonych ma
adres ftp://ctan.tug.org, w Niemczech ftp://ftp.dante.de a w Wiel-
kiej Brytanii ftp://ftp.tex.ac.uk. Wybierz najbliszy lub jedno z wielu
archiww lustrzanych.
W katalogu CTAN://tex-archive/systems znajdziesz rzeczy niezbdne
do uruchomienia LATEX-a na twoim komputerze.
Od tumaczy
Poniewa uznalimy, e pewne tematy autorzy Wprowadzenia przedstawili
zbyt lakonicznie, pozwolilimy sobie na ich poszerzenie. Fragmenty takie
oznaczamy krojem bezszeryfowym. W szczeglnoci, poszerzenia dotycz pro-
blemu przygotowywania dokumentw w jzyku polskim, czego z oczywistych
wzgldw nie omwiono w oryginale.
Jeeli masz pomys, co naleaoby doda, usun lub zmieni w tym
dokumencie - napisz. Jestemy szczeglnie zainteresowani opiniami poczt-
kujcych uytkownikw LATEX-a, ktre fragmenty s trudno zrozumiae i wy-
magaj lepszego przedstawienia.
Janusz Godasz
Ryszard Kubiak R.Kubiak@ipipan.gda.pl
Polska Grupa Uytkownikw Systemu TEX
Tomasz Przechlewski T.Przechlewski@GUST.org.pl
Polska Grupa Uytkownikw Systemu TEX
Z autorem oryginalnej wersji angielskiej moesz si skontaktowa, piszc na
adres: Tobias Oetiker (oetiker@ee.ethz.ch).
Najnowsz wersj przekadu na jzyk polski mona znale w:
CTAN://tex-archive/info/lshort/polish/
Najnowsza anglojzyczna wersja Wprowadzenia znajduje si w:
CTAN://tex-archive/info/lshort
Spis treci
Podzikowania iii
Przedmowa iv
1 Podstawy, ktre warto zna 1
1.1 Nazwa programu . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Podstawy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Autor, redaktor i zecer . . . . . . . . . . . . . . . . . . 3
1.2.2 Ukad graficzny . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Zalety i wady . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Plik rdowy . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Odstpy . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Znaki specjalne . . . . . . . . . . . . . . . . . . . . . . 5
1.3.3 Polecenia LATEX-a . . . . . . . . . . . . . . . . . . . . 6
1.3.4 Komentarze . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Struktura pliku rdowego . . . . . . . . . . . . . . . . . . . 7
1.5 Ukad graficzny dokumentu . . . . . . . . . . . . . . . . . . . 8
1.5.1 Klasy dokumentw . . . . . . . . . . . . . . . . . . . . 8
1.5.2 Pakiety . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.3 Style strony . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 Due dokumenty . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Skadanie tekstu 13
2.1 Struktura tekstu i jzyka . . . . . . . . . . . . . . . . . . . . . 13
2.2 Skadanie akapitw i amanie stron . . . . . . . . . . . . . . . 15
2.2.1 Skadanie akapitw . . . . . . . . . . . . . . . . . . . 15
2.2.2 Przenoszenie wyrazw . . . . . . . . . . . . . . . . . . 17
2.3 Znaki specjalne i symbole . . . . . . . . . . . . . . . . . . . . 18
2.3.1 Cudzysowy . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.2 Pauzy i mylniki . . . . . . . . . . . . . . . . . . . . . 19
2.3.3 Wielokropek ( ) . . . . . . . . . . . . . . . . . . . 20
SPIS TRECI vii
2.3.4 Ligatury . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.5 Akcenty i znaki specjalne . . . . . . . . . . . . . . . . 20
2.3.6 Nieamliwe odstpy . . . . . . . . . . . . . . . . . . . . 21
2.4 LATEX wielojzyczny . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.1 Wsparcie dla jzyka polskiego . . . . . . . . . . . . . . 23
2.5 Odstpy midzy wyrazami . . . . . . . . . . . . . . . . . . . 27
2.6 Tytuy, rdtytuy i punkty . . . . . . . . . . . . . . . . . . . 27
2.7 Odsyacze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.8 Przypisy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.9 Wyrӿnienia . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.10 rodowiska . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.10.1 rodowiska itemize, enumerate i description . . . . 31
2.10.2 rodowiska flushleft, flushright i center . . . . . 32
2.10.3 rodowiska quote, quotation i verse . . . . . . . . . 32
2.10.4 Symulacja maszynopisu . . . . . . . . . . . . . . . . . 33
2.10.5 rodowisko tabular . . . . . . . . . . . . . . . . . . . 34
2.11 Wstawki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.12 Listy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3 Wyraenia matematyczne 40
3.1 Wstp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2 Grupowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3 Czci skadowe wyrae matematycznych . . . . . . . . . . 42
3.4 Odstpy w trybie matematycznym . . . . . . . . . . . . . . . 45
3.5 Wyrwnywanie w pionie . . . . . . . . . . . . . . . . . . . . 46
3.6 Stopie pisma . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.7 Twierdzenia, definicje, itp. . . . . . . . . . . . . . . . . . . . 49
3.8 Symbole pӳgrube . . . . . . . . . . . . . . . . . . . . . . . . 50
3.9 Zestawienie symboli matematycznych . . . . . . . . . . . . . 51
4 Rysunki, skorowidze 58
4.1 Doczanie grafiki w formacie EPS . . . . . . . . . . . . . . . 58
4.2 Spis literatury . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Skorowidze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.4 Paginy grne i dolne . . . . . . . . . . . . . . . . . . . . . . . 62
4.5 Pakiet verbatim . . . . . . . . . . . . . . . . . . . . . . . . . 63
5 Adaptowanie LATEX-a 65
5.1 Definiowane instrukcji i rodowisk . . . . . . . . . . . . . . . 65
5.1.1 Instrukcje definiowane przez uytkownika . . . . . . . 66
5.1.2 rodowiska definiowane przez uytkownika . . . . . . 67
5.1.3 Wasne pakiety . . . . . . . . . . . . . . . . . . . . . 67
5.2 Fonty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2.1 Instrukcje przeczajce stopie pisma . . . . . . . . 68
viii SPIS TRECI
5.2.2 Uwaga niebezpieczestwo! . . . . . . . . . . . . . . . 70
5.3 Odstpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.3.1 Zmiana wielkoci interlinii . . . . . . . . . . . . . . . 71
5.3.2 Wcicia i odstpy pomidzy akapitami . . . . . . . . 72
5.3.3 Odstpy poziome . . . . . . . . . . . . . . . . . . . . 72
5.3.4 Odstpy pionowe . . . . . . . . . . . . . . . . . . . . . 74
5.4 Ukad graficzny strony . . . . . . . . . . . . . . . . . . . . . . 74
5.5 Wicej o odlegociach . . . . . . . . . . . . . . . . . . . . . . 76
5.6 Pudeka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.7 Kreski i podpory . . . . . . . . . . . . . . . . . . . . . . . . . 79
Spis literatury 81
Spis rysunkw
1.1 Skadniki systemu TEX . . . . . . . . . . . . . . . . . . . . . 2
1.2 Zawarto minimalnego pliku rdowego . . . . . . . . . . . 7
1.3 Przykad artykuu . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1 Przykad wykorzystania pakietu fancyhdr . . . . . . . . . . . 63
5.1 Przykadowy pakiet . . . . . . . . . . . . . . . . . . . . . . . 68
5.2 Parametry ukadu graficznego strony . . . . . . . . . . . . . 75
Spis tabel
1.1 Klasy dokumentw . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Waniejsze opcje klas dokumentw . . . . . . . . . . . . . . . 9
1.3 Wybrane pakiety z podstawowej dystrybucji LATEX-a . . . . 10
1.4 Standardowe style strony w LATEX-u . . . . . . . . . . . . . . 11
2.1 Akcenty i znaki specjalne . . . . . . . . . . . . . . . . . . . . 21
2.2 Opcjonalny argument rodowisk table i figure . . . . . . . 36
3.1 Akcenty matematyczne . . . . . . . . . . . . . . . . . . . . . 51
3.2 Mae litery alfabetu greckiego . . . . . . . . . . . . . . . . . 51
3.3 Due litery alfabetu greckiego . . . . . . . . . . . . . . . . . 51
3.4 Symbole relacji . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5 Symbole operacji dwuargumentowych . . . . . . . . . . . . . 53
3.6 Symbole zmiennej wielkoci . . . . . . . . . . . . . . . . . . . 53
3.7 Strzaki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.8 Ograniczniki . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.9 Due ograniczniki . . . . . . . . . . . . . . . . . . . . . . . . 54
3.10 Symbole rӿne . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.11 Symbole niematematyczne . . . . . . . . . . . . . . . . . . . . 54
3.12 Ograniczniki (pakiet AMS) . . . . . . . . . . . . . . . . . . . 54
3.13 Symbole Greckie i Hebrajskie (pakiet AMS) . . . . . . . . . . 54
3.14 Symbole relacji (pakiet AMS) . . . . . . . . . . . . . . . . . . 55
3.15 Strzaki (pakiet AMS) . . . . . . . . . . . . . . . . . . . . . . 55
3.16 Negacje symbolw relacji i strzaek (pakiet AMS) . . . . . . 56
3.17 Relacje dwuargumentowe (pakiet AMS) . . . . . . . . . . . . 56
3.18 Rӿne symbole (pakiet AMS) . . . . . . . . . . . . . . . . . . 57
3.19 Kroje pisma dostpne w trybie matematycznym . . . . . . . . 57
4.1 Nazwy kluczy w pakiecie graphicx . . . . . . . . . . . . . . . . 59
4.2 Przykady skadni polecenia \index . . . . . . . . . . . . . . 62
5.1 Polecenia wyboru krojw i odmian . . . . . . . . . . . . . . . 69
5.2 Polecenia wyboru stopnia pisma i interlinii . . . . . . . . . . 69
5.3 Wielko stopnia pisma w klasach standardowych . . . . . . 70
5.4 Polecenia wyboru fontw w trybie matematycznym . . . . . 71
5.5 LATEX-owe jednostki miary . . . . . . . . . . . . . . . . . . . . 73
Rozdzia 1
Podstawy, ktre warto zna
W pierwszej czci tego rozdziau przedstawimy krtko filozofi i histori sys-
temu LATEX2 . W czci drugiej przedstawimy podstawowe struktury dokumentu
LATEX-owego. Po przeczytaniu tego rozdziau czytelnik powinien z grubsza wie-
dzie, jak dziaa LATEX, a wiedza ta pozwoli na atwiejsze przyswojenie materiau
przedstawionego w nastpnych rozdziaach.
1.1 Nazwa programu
1.1.1 TEX
TEX jest programem komputerowym stworzonym przez Donalda E. Knu-
tha [3]. Jest przeznaczony do skadu tekstw oraz wzorw matematycznych.
Knuth rozpocz prac nad TEX-em w 1977 roku rozczarowany tym, jak
wyglday jego wasne prace naukowe publikowane przez American Mathe-
matical Society. Pewnego dnia 1974 roku zaprzesta on nawet wysyania
swoich prac do publikacji, poniewa stwierdzi: zbyt przykre byo dla mnie
ogldanie ostatecznego wyniku". W postaci uywanej obecnie TEX zosta
udostpniony w roku 1982, i od tego czasu zmieni si tylko w niewielkim
stopniu. TEX jest programem bardzo stabilnym. Dzi - jak utrzymuje Knuth
- jest w zasadzie programem nie zawierajcym bdw. Numery wersji TEX-a
zbiegaj do liczby , a obecny numer wynosi 3,14159.
Sowo TEX naley wymawia tech". W sytuacjach, w ktrych nie mona
zapisywa nazwy TEX z charakterystycznym obnieniem litery E, naley
zamiennie uywa wersji TeX.
1.1.2 LATEX
LATEX jest zestawem instrukcji (polece, makrodefinicji, makr) umoliwia-
jcych autorom zoenie i wydrukowanie ich prac na najwyszym poziomie
typograficznym. Pierwsz wersj LATEX-a opracowa Leslie Lamport [4]. Do
formatowania dokumentu LATEX wykorzystuje TEX-a.
2 Podstawy, ktre warto zna
.pk
METAFONT
.mf
sterownik
dvips
xdvi
...
.dvi
TEX
PlainLATEX2
pakiet AMS
...
.tex
edytor
emacsispell
...
papier
drukarka
ekran
PostScript
.tfm
.log
Fonty Skad
Prostokty na rysunku oznaczaj programy, a owale - pliki. W szczeglnoci, z papierowego
dokumentu za pomoc edytora (np. emacs) tworzymy dokument rdowy (plik z rozszerzeniem
.tex). Z dokumentu rӳowego po przetworzeniu LATEX-em otrzymujemy plik .dvi, ktry jest
z kolei plikiem wejciowym dla sterownikw potraficych go wydrukowa bd zamieni na
inny format, np. PostScript. LATEX zapisuje do pliku .log komunikaty podczas przetwarzania
dokumentu. Pliki z rozszerzeniem .tfm, ktre czyta LATEX zawieraj informacje o fontach
wykorzystywanych do skadu.
Rysunek 1.1: Skadniki systemu TEX
Kilka lat temu pakiet LATEX zosta rozszerzony przez tak zwan druyn
LATEX3 (LATEX3 team), kierowan przez Franka Mittelbacha. Celem tego
rozszerzenia byo wprowadzenie kilku od dawna postulowanych ulepsze
oraz unifikacja rozmaitych odmian LATEX-a, jakie rozpowszechniy si od
chwili powstania kilkanacie lat temu LATEX-a w wersji 2.09. Nowa wersja
pakietu nazywa si LATEX2 w celu odrӿnienia jej od wersji poprzednich.
Niniejszy dokument opisuje wanie LATEX2 .
Sowo LATEX naley wymawia lej-tech" albo la-tech". Jeeli nie mona
zapisa symbolu LATEX, mona zamiennie uywa wersji LaTeX. LATEX2
wymawiamy lej-tech tu i" a zamienn wersj nazwy jest LaTeX2e.
Rysunek 1.1 pokazuje zwizek pomidzy programem TEX i pakietem
LATEX2 . Rysunek zaczerpnito z pliku wots.tex (autor Kees van der Laan).
1.2 Podstawy 3
1.2 Podstawy
1.2.1 Autor, redaktor i zecer
Aby wyda ksik, autor dostarcza maszynopis do wydawnictwa. W wy-
dawnictwie redaktor decyduje o ukadzie graficznym dokumentu (szeroko
szpalty, krj pisma, odstpy przed i po tytuach rozdziaw itd.). Redaktor
zapisuje swoje decyzje w maszynopisie, w formie odpowiednich instrukcji,
i przekazuje go zecerowi. Na podstawie maszynopisu oraz instrukcji zecer
wykonuje skad.
Redaktor-czowiek odgaduje intencje autora. Wykorzystujc swoje do-
wiadczenie zawodowe, na podstawie zawartoci maszynopisu, ustala, ktre
fragmenty tekstu s tytuami rozdziaw, podrozdziaw, cytatami, przyka-
dami, wzorami matematycznymi itd.
LATEX jest redaktorem, a TEX - zecerem. Z tym, e LATEX jest tylko"
programem komputerowym i dlatego potrzebuje dodatkowej pomocy autora,
ktry powinien dostarczy niezbdnych do skadu informacji o logicznej
strukturze dokumentu. Informacje te zapisuje si w tekcie jako polecenia
dla LATEX-a".
Praca z LATEX-em zdecydowanie rӿni si od podejcia stosowanego
w procesorach tekstu typu WYSIWYG1, takich jak MS Word albo Corel
WordPerfect. Pierwszy sposb mona okreli formatowaniem logicznym"
drugi formatowaniem wizualnym". Uywajc programw typu WYSIWYG
autor interakcyjnie decyduje o wygldzie graficznym dokumentu, w miar
dopisywania tekstu. Przez cay czas widzi na ekranie, jak tekst bdzie
wyglda po wydrukowaniu.
Uywajc LATEX-a, zwykle nie mona oglda dokumentu w jego osta-
tecznej postaci i zarazem dopisywa tekstu. Mona natomiast obejrze doku-
ment na ekranie po przetworzeniu go LATEX-em2. Po naniesieniu niezbdnych
poprawek dokument mona wysa na drukark.
1.2.2 Ukad graficzny
Projektowanie ksiek jest sztuk. Amatorzy czsto popeniaj powany
bd zakadajc, e projektowanie ukadu graficznego ksiki jest tylko
kwesti estetyki (jeeli dokument wyglda adnie, to jest dobrze zoony).
Poniewa jednak dokumenty s przeznaczone do czytania, a nie do powie-
szenia jak obraz na cianie w galerii, to o wiele wiksze znaczenie ni pikny
wygld ma atwo czytania i przyswajania tekstu. Przykady:
1Ang. What you see is what you get (dostaniesz to, co widzisz).
2Na szybkim komputerze przetworzenie trwa czsto zaledwie kilka sekund. Dysponujc
duym ekranem, mona jednoczenie wywietli okno z plikiem rdowym oraz okno podgldu,
otrzymujc w ten sposb system (prawie) WYSIWYG.
4 Podstawy, ktre warto zna
 stopie pisma oraz numeracj rozdziaw, podrozdziaw i punktw
naley ustali tak, aby czytelnik mg si szybko zorientowa w struk-
turze dokumentu;
 szeroko szpalty nie powinna by zbyt maa, aby nie zmusza czytel-
nika do wytania wzroku, ale zarazem wystarczajco dua, aby tekst
elegancko wypenia stron.
W systemach wizualnych czsto powstaj dokumenty przyjemne dla oka,
ale pozbawione struktury, albo wykazujce brak konsekwencji w struktu-
rze. LATEX zapobiega powstawaniu takich bdw, zmuszajc autora do
okrelenia logicznej struktury dokumentu. Nastpnie LATEX wybiera naj-
odpowiedniejszy ukad graficzny.
1.2.3 Zalety i wady
Tematem czsto dyskutowanym, gdy uytkownicy programw typu WYSI-
WYG spotykaj uytkownikw LATEX-a, s zalety LATEX-a w porwnaniu
ze zwykym procesorem tekstu" albo odwrotnie. Najlepiej podczas takich
dyskusji siedzie cicho. Czasami jednak nie uda si unikn zabrania gosu.
Poniej zamieszczamy list argumentw, ktre mogyby by wykorzy-
stane w takiej dyskusji. Oto najwiksze zalety LATEX-a w porwnaniu ze
zwykymi procesorami tekstu.
 Dostpne s gotowe, przygotowane przez zawodowcw ukady gra-
ficzne, dziki zastosowaniu ktrych dokumenty wygldaj jak z dru-
karni".
 Wygodnie skada si wzory matematyczne.
 Do rozpoczcia pracy wystarczy pozna zaledwie kilkanacie atwych
do zrozumienia instrukcji, okrelajcych struktur logiczn dokumentu.
Nie trzeba zaprzta sobie gowy formatowaniem dokumentu.
 Nawet takie elementy jak przypisy, odnoniki, spisy treci, spisy tabel,
skorowidze, oraz spisy bibliograficzne przygotowuje si bardzo atwo.
 Istnieje wiele bezpatnych pakietw poszerzajcych typograficzne mo-
liwoci LATEX-a. Przykadowo, dostpne s pakiety umoliwiajce wsta-
wianie do dokumentw grafiki w formacie PostScript, tworzenie hiper-
tekstowej wersji dokumentw w formacie PDF czy te przygotowanie
spisw bibliograficznych wedug cile okrelonych regu, obowizuj-
cych w rӿnych wydawnictwach. Opis wielu z tych pakietw mona
znale w podrczniku The LATEX Companion [2].
 LATEX zachca autorw do tworzenia dokumentw o dobrze okrelonej
strukturze.
 TEX - program formatujcy uywany przez LATEX2 - jest bezpatny
i w najwyszym stopniu przenony. Dziki temu mona dziaa na
praktycznie kadej platformie systemowo-sprztowej.
LATEX ma take pewne braki, z tym e ciko mi znale chocia jeden
istotny. Jestem jednak pewien, e inne osoby wska ci ich setki;-)
1.3 Plik rdowy 5
 LATEX nie dziaa u tych, ktrzy zaprzedali swoje dusze
 Aczkolwiek mona dostosowywa predefiniowane ukady graficzne do
wasnych potrzeb przez zmian wybranych parametrw, to jednak
zaprojektowanie cakowicie nowego ukadu jest czasochonne3.
 Trudno stworzy dokument o nieokrelonej, baaganiarskiej strukturze.
1.3 Plik rdowy
Plikiem rdowym LATEX-a jest zwyky plik tekstowy (plik ASCII). Taki
plik mona utworzy za pomoc dowolnego edytora tekstowego. Zawiera on
tekst dokumentu oraz instrukcje, dziki ktrym LATEX wie, jak zoy tekst.
1.3.1 Odstpy
Znaki niewidoczne, takie jak znaki odstpu (spacji) lub tabulacji s przez
LATEX-a traktowane jednakowo - jako odstp. Kolejno po sobie wystpujce
znaki odstpu LATEX traktuje tak, jak jeden taki znak. Znaki odstpu znaj-
dujce si na pocztku wiersza s prawie zawsze ignorowane. Pojedynczy
koniec linii jest traktowany jak odstp.
Pusty wiersz koczy akapit. Kolejno wystpujce puste wiersze LATEX
traktuje tak, jak jeden pusty wiersz. Poniszy tekst jest przykadem. Po
prawej stronie (w ramce) przedstawiono wynik skadu, a po lewej zawarto
pliku rdowego.
Nie ma znaczenia, czy midzy sowami
jest jedna czy wicej spacji.
Pusty wiersz rozpoczyna nowy akapit.
Nie ma znaczenia, czy midzy sowami jest
jedna czy wicej spacji.
Pusty wiersz rozpoczyna nowy akapit.
1.3.2 Znaki specjalne
Nastpujce znaki s zarezerwowane: albo maj specjalne znaczenie dla
LATEX-a, albo nie s dostpne we wszystkich standardowych krojach pisma.
Uyte dosownie w pliku rdowym nie pojawi si na wydruku, tylko
(najczciej) spowoduj bd podczas przetwarzania tekstu.
$ & % # _ { } ~ ^ \
Znaki te mona jednak wstawi do dokumentu, o ile poprzedzi si je znakiem
w-ty-ciacha (ang. backslash):
\$ \& \% \# \_ \{ \}
$ & % #
3Plotki mwi, e jest to jeden z waniejszych problemw, nad jakim pracuj twrcy
systemu LATEX3.
6 Podstawy, ktre warto zna
Znaku w-ty-ciach nie mona wstawi do tekstu metod podwojenia. Kombi-
nacja \\ jest poleceniem LATEX-a, opisanym w punkcie 2.2.1. Znak w-ty-ciach
moemy wstawi za pomoc polecenia $\backslash$. Uwaga: znaki dolara
s niezbdne, a ich opuszczenie spowoduje bd podczas przetwarzania.
1.3.3 Polecenia LATEX-a
Polecenia LATEX-a wystpuj w dwch nastpujcych odmianach:
1. Instrukcje rozpoczynajce si znakiem w-ty-ciach \", po ktrym
wystpuje cig liter. Kocem instrukcji jest odstp lub inny znak nie
bdcy liter. W nazwach instrukcji LATEX rozrӿnia litery mae i due.
Uywanie polskich liter diakrytycznych w nazwach instrukcji nie jest
moliwe.
2. Instrukcje skadajce si ze znaku w-ty-ciach oraz dokadnie jednego
znaku nie bdcego liter.
Znaki odstpu po instrukcjach typu 1 s przez LATEX-a ignorowane. Jeeli po
instrukcji ma w dokumencie wystpowa odstp, to naley bezporednio po
niej umieci kolejno: par nawiasw klamrowych {} i odstp. Para znakw
{} zapobiega zignorowaniu przez LATEX-a odstpu po nazwie instrukcji.
Innym sposobem jest wstawienie specjalnej instrukcji \ (tj. w-ty-ciach
i spacja). Niektrzy uywaj jeszcze innego sposobu zapobiegania poykaniu
spacji po nazwach instrukcji, a mianowicie wstawiaj instrukcj pomidzy
par nawiasw { i }.
Czytaem, e Knuth dzieli
uytkownikw systemu {\TeX} na
\TeX{}nikw oraz \TeX pertw.\\
Dzisiaj jest \today.
Czytaem, e Knuth dzieli uytkownikw sys-
temu TEX na TEXnikw oraz TEXpertw.
Dzisiaj jest 28 padziernika 2000 roku.
Niektre instrukcje LATEX-owe maj argumenty. Argumenty podaje si w na-
wiasach klamrowych { }, kady argument w osobnej parze nawiasw. Liczba
i kolejno argumentw jest dla kadego polecenia z gry ustalona. Instruk-
cje mog mie take argumenty opcjonalne (nieobowizkowe), podawane
w nawiasach kwadratowych [ ]. W przypadku wikszej liczby argumentw
opcjonalnych oddziela si je przecinkami. Kolejno argumentw opcjonal-
nych nie odgrywa roli.
Ponisze przykady ilustruj posta instrukcji LATEX-owych. Znaczenie
tych instrukcji jest na razie nieistotne; zostanie podane pӼniej.
Moesz na mnie \textsl{polega}!
Tu wstaw zmian wiersza.\newline
Dzikuj.
Moesz na mnie polega!
Tu wstaw zmian wiersza.
Dzikuj.
1.4 Struktura pliku rdowego 7
1.3.4 Komentarze
Po napotkaniu znaku % LATEX ignoruje reszt biecego wiersza (cznie ze
znakiem koca wiersza) oraz znaki odstpu na pocztku nastpnego. Znak %
jest wykorzystywany do umieszczania komentarzy i dodatkowych informacji
w pliku rdowym.
Mao zmar % sprawdzi!
w~1975 roku. Mao zmar w 1975 roku.
Zdarza si, e znak % uywany jest do rozdzielenia dugich linii w pliku
wejciowym, gdy niedozwolone jest uycie spacji lub zamanie wiersza.
1.4 Struktura pliku rdowego
LATEX oczekuje, e plik rdowy posiada okrelon struktur. W szczegl-
noci, kady plik rdowy skada si z dwch czci: preambuy oraz czci
gwnej. Preambua powinna si rozpoczyna od instrukcji:
\documentclass{...}
Polecenie to okrela typ tworzonego dokumentu. Po nim mona umieci
instrukcje dotyczce stylu caego dokumentu oraz doczy pakiety posze-
rzajce moliwoci LATEX-a. Pakiety docza si za pomoc polecenia:
\usepackage{...}
Cz gwna dokumentu zaczyna si od instrukcji \begin{document},
a koczy poleceniem \end{document}. Tekst znajdujcy si za tym pole-
ceniem jest przez LATEX-a ignorowany.
Rysunek 1.2 pokazuje zawarto minimalnego dokumentu LATEX-owego
(uyte tu instrukcje \usepackage{...}, niezbdne do skadania w jzyku
polskim, omawiamy w punkcie 2.4).
\documentclass{article}
\usepackage[MeX]{polski}
\usepackage[latin2]{inputenc}
\begin{document}
Mae jest pikne.
\end{document}
Rysunek 1.2: Zawarto minimalnego pliku rdowego
Rysunek 1.3 przedstawia zawarto nieco bardziej skomplikowanego
pliku rdowego.
8 Podstawy, ktre warto zna
\documentclass[a4paper,11pt]{article}
\usepackage{latexsym}
\author{H.~Partl}
\title{Minimalism}
\frenchspacing
\begin{document}
\maketitle \tableofcontents
\section{Start}
Well and here begins my lovely article.
\section{End}
\ldots{} and here it ends.
\end{document}
Rysunek 1.3: Przykad artykuu
1.5 Ukad graficzny dokumentu
1.5.1 Klasy dokumentw
LATEX musi wiedzie do jakiej klasy (typu) naley przetwarzany dokument.
Jest to okrelone w instrukcji \documentclass:
\documentclass[opcje]{klasa}
gdzie klasa oznacza typ dokumentu. W tabeli 1.1 zestawiono klasy dokumen-
tw opisane w niniejszym wprowadzeniu. W dystrybucji LATEX2 znajduj
si take inne klasy. Opcje umoliwiaj modyfikowanie klas. Poszczeglne
opcje rodziela si przecinkami. W tablicy 1.2 zestawiono najczciej wyko-
rzystywane opcje dla standardowych klas.
Tabela 1.1: Klasy dokumentw
article artykuy, krtkie opracowania
report dusze opracowania, dysertacje magisterskie i doktorskie
book ksiki.
slides przeroczaa.
letter listy.
aPrzerocza skadane s bezszeryfowym krojem pisma. Zamiast klasy standardo-
wej mona do tworzenia slajdw wykorzysta pakiet FoilTEX CTAN://tex-archive/
macros/latex/packages/supported/foiltex.
1.5 Ukad graficzny dokumentu 9
Tabela 1.2: Waniejsze opcje klas dokumentw
10pt, 11pt, 12pt Ustalenie stopnia pisma dla tekstu zasadniczego
dokumentu. Domyln wartoci jest 10 punktw.
a4paper, letterpaper, Ustalenie wymiarw papieru. Wartoci
domyln jest letterpaper. Dopuszczalne wartoci to: a5paper,
b5paper, executivepaper, i legalpaper.
fleqn Skadanie wyeksponowanych wzorw matematycznych od le-
wego marginesu zamiast domylnego centrowania.
leqno Umieszczanie numerw wzorw matematycznych na lewym
marginesie zamiast domylnie na prawym.
titlepage, notitlepage Pierwsza powoduje, e LATEX skada tytu
(instrukcja maketitle) oraz streszczenie (instrukcja abstract) na
odzielnej stronie, druga rozpoczyna skad tekstu na stronie tytu-
owej. W klasie article domylnie nie s skadane na oddzielnych
stronach; w stylu report i book s.
twocolumn Skadu dwuamowy (dwukolumnowy).
oneside, twoside Druk na jednej lub na dwch stronach kartki pa-
pieru. W klasach article i report domyln opcj jest oneside,
natomiast w klasie book - twoside. Wczenie opcji oneside po-
woduje przy okazji, e LATEX nie wyrwnuje wysokoci kolejnych
stron, dopuszczajc pewn ich zmienno.
openright, openany Wybranie pierwszej opcji powoduje, e tytuy
rozdziaw bd umieszczane na stronach nieparzystych. W klasie
article opcja nie ma znaczenia poniewa w tej klasie nie jest zde-
finiowane pojcie rozdziau. W klasie report domyln wartoci
jest openany, w klasie book - openright.
Przykad. Plik rdowy moe rozpoczyna si od nastpujcej instrukcji:
\documentclass[11pt,twoside,a4paper]{article}
W tym wypadku dokument bdzie skadany w klasie article, pismem w stop-
niu 11 punktw, bdzie przygotowany do wydruku po dwch stronach kartki
papieru formatu A4.
1.5.2 Pakiety
Pakiety rozszerzaj moliwoci LATEX-a. Przykadowo, LATEX nie umoliwia
doczania grafiki, kolorowania tekstu, automatycznego amania duych ta-
bel itp. Do wykonywania tych zada su wanie pakiety. Docza si je
za pomoc instrukcji:
\usepackage[opcje]{pakiet}
10 Podstawy, ktre warto zna
Tabela 1.3: Wybrane pakiety z podstawowej dystrybucji LATEX-a
doc Suy do drukowania dokumentacji pakietw oraz innych cz-
ci skadowych LATEX-a. Opis znajduje si w pliku doc.dtxa.
exscale Umoliwia skalowanie fontw matematycznych, tak aby
byy optycznie zgodne z otaczajcym tekstem, np. w tytu-
ach rozdziaw. Opis w ltexscale.dtx.
fontenc Definiuje ukad znakw w biecym zestawie znakw (fon-
cie). Opis w ltoutenc.dtx.
ifthen Umoliwia korzystanie z polece typu if... then do...
otherwise do. Opis w ifthen.dtx i [2].
latexsym Udostpnia specjalny font symboliczny (fonty lasy).
Opis w latexsym.dtx i [2].
makeidx Udostpnia polecenia do przygotowywania skorowidzw.
Opis w punkcie 4.3 i [2].
syntonly Przetwarza dokument bez skadania czegokolwiek. Przy-
datny do szybkiego sprawdzenia czy dokument nie zawiera
bdw. Opis w syntonly.dtx i [2].
inputenc Definiuje ukad znakw w pliku rdowym, jak: ASCII,
ISO Latin-1, ISO Latin-2, 437/850 IBM, Apple Macintosh,
Next, ANSI-Windows albo ukad zdefiniowany przez uyt-
kownika. Opis w inputenc.dtx.
aPlik ten powinien by zainstalowany w twoim systemie. Aby otrzyma
plik dvi wystarczy napisa latex doc.dtx w katalogu z prawem do zapisu.
To samo stosuje si do innych pakietw z tej tabeli.
gdzie pakiet oznacza nazw pakietu, a opcje - list oddzielonych przecinkami
opcji. Cz pakietw znajduje si w podstawowej dystrybucji LATEX2 (zo-
bacz tabela 1.3). Pozostae s rozpowszechniane oddzielnie. Gdy uywamy
LATEX-a w systemie, ktrym zarzdza (dobry) administrator, to informacja
o dostpnych pakietach powinna si znajdowa w Local Guide [5]. Podstawo-
wym rdem informacji o LATEX-u jest The LATEX Companion [2]. Zawiera
on opis setek pakietw a take opisuje, jak rozszerza moliwoci LATEX-a.
1.5.3 Style strony
Typowa strona skada si z trzech podstawowych czci. Powyej kolumny
tekstu gwnego znajduje si pagina grna (gwka), ktra moe zawiera
numer strony, tytu rozdziau czy punktu. Poniej kolumny tekstu znajduje
si pagina dolna (stopka). W niniejszym wprowadzeniu pagina dolna jest pu-
1.6 Due dokumenty 11
Tabela 1.4: Standardowe style strony w LATEX-u
plain pagina grna jest pusta, a pagina dolna zawiera wycentrowany
numer strony. Ten styl jest domylny;
headings pagina grna zawiera numer strony oraz tytu, pagina dolna
jest pusta;
empty pagina grna i dolna s puste.
sta, a pagina grna zawiera numer strony oraz tytu rozdziau na stronicach
parzystych, a tytu punktu na nieparzystych4.
LATEX umoliwia wybranie jednego spord trzech sposobw skadania
pagin za pomoc instrukcji:
\pagestyle{styl}
Dopuszczalne wartoci argumentu styl zestawiono w tabeli 1.4.
Moliwa jest take zmiana stylu biecej strony. Do tego celu suy
instrukcja:
\thispagestyle{styl}
Podrozdzia 4.4 na stronie 54 podrcznika [2] zawiera opis, jak mona
przygotowywa wasne sposoby skadania pagin.
1.6 Due dokumenty
Pracujc nad duym dokumentem, wygodnie jest podzieli plik rdowy na
mniejsze czci. W LATEX-u mamy dwie instrukcje uatwiajce prac z tak
podzielonymi dokumentami. Pierwsz z nich jest
\include{plik}
Docza on do dokumentu zawarto pliku. Przed przystpieniem do prze-
twarzania zawartoci doczonego pliku LATEX rozpocznie now stron. Po
zoeniu zawartoci pliku LATEX take rozpoczyna now stron.
Drugiej instrukcji uywa si w preambule. Pozwala ona doczy do
dokumentu tylko wybrane pliki.
\includeonly{lista-plikw}
4Pagin zawierajc oprcz kolejnego numeru kolumny (strony), take informacj dotyczc
treci tej kolumny drukarze nazywaj yw pagin.
12 Podstawy, ktre warto zna
Sporod instrukcji \include zostan wykonane tylko te, dla ktrych nazwy
plikw s na licie plikw polecenia \includeonly. Uwaga: w licie plikw
nie mona uywa odstpw!
Polecenie \include rozpoczyna skad doczanego tekstu od nowej
strony. W poczeniu z poleceniem \includeonly w preambule instrukcja
\inculde umoliwia przetwarzanie wybranych plikw bez zmiany miejsc a-
mania poszczeglnych stron i z zachowaniem prawidowej numeracji stron,
rodziaw, tabel itp. Czasami jednak rozpoczynanie skadu od nowej strony
nie jest podane. W takiej sytuacji zamiast \include naley doczy plik
za pomoc instrukcji:
\input{plik}
ktra po prostu wstawia zawarto podanego pliku bez adnych dodatko-
wych efektw.
Rozdzia 2
Skadanie tekstu
Po lekturze poprzedniego rozdziau znamy ju podstawowe pojcia zwizane z sys-
temem LATEX2 . W tym rozdziale poznamy polecenia niezbdne do tworzenia
prawdziwych dokumentw.
2.1 Struktura tekstu i jzyka
Gwnym zadaniem sowa pisanego jest przekaz myli, informacji lub wiedzy.
Nadanie zapisowi odpowiedniej struktury pomaga czytelnikowi lepiej rozu-
mie przekazywane treci. Skad typograficzny moe t struktur logiczn
i semantyczn tekstu przybliy czytelnikowi.
LATEX tym si rӿni od innych systemw skadu, e do zoenia tekstu wy-
starczaj mu informacje dotyczce logicznej i semantycznej struktury tekstu.
Informacje te okrelone s przez reguy" zawarte w plikach definiujcych
klasy dokumentw i innych plikach zawierajcych instrukcje.
Najwaniejsz jednostk podziau tekstu w systemie LATEX (a take w ty-
pografii) jest akapit. Jest to jednostka podziau" gwnie dlatego, e tre
akapitu powinna by powicona jednej spjnej myli lub pojciu. W nastp-
nym podrozdziale omwimy instrukcje nakazujce zamanie linii na przykad
przy uyciu polecenia \\, a take sposb rozpoczcia nowego akapitu po-
przez pozostawienie pustej linii w kodzie rdowym. Tak wic, rozpoczcie
nowej myli jest rwnoznaczne z rozpoczciem nowego akapitu. W pozosta-
ych przypadkach powinno si jedynie przechodzi do nowej linii. W razie
wtpliwoci naley pamita, e tekst jest zawsze nonikiem pewnych myli
oraz idei. Kontynuacja dotychczasowej myli w nowym akapicie jest bdem.
Niezgodna z reguami sztuki jest take sytuacja, gdy w tym samym akapicie
pojawia si nowa myl.
Wikszo ludzi cakowicie lekceway znaczenie waciwej organizacji
akapitw. Co wicej, wiele osb nawet nie zdaje sobie sprawy, czym aka-
pit naprawd jest i przechodzi do nowego akapitu nawet o tym nie wiedzc
(dotyczy to zwaszcza LATEX-a). Ten bd atwiej popeni zwaszcza, gdy
14 Skadanie tekstu
w tekcie pojawiaj si rwnania. Zobaczmy dlaczego w poniszych przyka-
dach w jednej z takich sytuacji naley przej do nowego akapitu, a w innej
- nie. (Czytelnik, ktry nie zna jeszcze wszystkich polece uytych w tych
przykadach, powinien dokadnie przeczyta ten i nastpny rozdzia, a na-
stpnie wrci do tego podrozdziau i przeczyta go jeszcze raz).
% Przykad 1
\ldots Synne rwnanie Einsteina
\begin{equation}
e = m \cdot c^2 \; ,
\end{equation}
jest zarwno najbardziej znanym, ale take
najmniej rozumianym rwnaniem w~fizyce.
% Przykad 2
\ldots ktrego wynikiem jest prdowe prawo Kirchhoffa:
\begin{equation}
\sum_{k=1}{n} I_k = 0 \; .
\end{equation}
Natomiast, napiciowe prawo Kirchhoffa ma
swj pocztek w~\ldots
% Przykad 3
\ldots co ma okrelone zalety.
\begin{equation}
I_D = I_F - I_R
\end{equation}
jest rdzeniem innego modelu tranzystora. \ldots
Mniejsz od akapitu jednostk podziau tekstu jest zdanie. W tekstach
angielskojzycznych odstp, ktry pojawia si po kropce koczcej zdanie,
jest wikszy ni ten, ktry pojawia si po kropce oznaczajcej skrt. Zalenie
od kontekstu LATEX stara si uy krtszego lub duszego odstpu. W razie
pomyek z jego strony, powinnimy mu wskaza nasze intencje - jak to zrobi,
wyjaniamy w dalszej czci tego rozdziau.
Waciwa organizacja tekstu dotyczy take czci zda. Wiele jzykw
ma bardzo skomplikowan interpunkcj, ale w wikszoci przypadkw (wli-
czajc angielski i niemiecki), stawiajc przecinek w okrelonym miejscu
w zdaniu, na ogӳ nie popenimy bdu, jeli bdziemy pamita o zasa-
dzie, e przecinek oznacza przerw/przystanek w zdaniu. Dlatego - jeli nie
jestemy pewni, gdzie w zdaniu naley go postawi - przeczytajmy zdanie
na gos i postawmy przecinki wszdzie tam, gdzie zrobilimy krtk przerw
na wdech. Ale nie sugerujmy si tylko tym! Jeli w danym miejscu przeci-
2.2 Skadanie akapitw i amanie stron 15
nek nie wyglda najlepiej, to usumy go; jeli w innym miejscu odczuwamy
potrzeb wzicia powietrza do puc (lub zrobienia krtkiej przerwy), to po-
stawmy tam przecinek.
I na koniec: akapit nie jest najwiksz logiczn jednostk podziau tek-
stu. Mona jeszcze wspomnie o rozdziaach, podrozdziaach, punktach
itd. Jednake od strony typograficznej ju same nazwy polece w rodzaju
\section{Struktura tekstu i~jzyka} s na tyle oczywiste, e sposb
ich uycia jest samo przez si zrozumiay (dla znajcych jzyk angielski).
2.2 Skadanie akapitw i amanie stron
2.2.1 Skadanie akapitw
Ksiki najczciej skada si tak, e wszystkie wiersze w akapitach s tej
samej dugoci. Podczas skadania akapitu, dc do optymalnej prezen-
tacji, LATEX ustala miejsca zamania linii oraz odstpy midzy sowami.
W razie potrzeby LATEX przenosi wyrazy, ktrych nie jest w stanie zmie-
ci w wierszu. Konkretny sposb skadania akapitw zaley od uytej klasy
dokumentu. Najczciej pierwszy wiersz akapitu jest wcity, a pomidzy
akapitami nie ma dodatkowych odstpw. Wicej informacji na ten temat
mona znale w punkcie 5.3.2.
Zgodnie z anglo-amerykaskimi zwyczajami typograficznymi LATEX nie wstawia wcicia
akapitowego bezporednio po tytuach rozdziaw, podrozdziaw itd. Polskie zwyczaje
nakazuj rozpoczynanie take pocztkowych akapitw od wcicia. Efekt ten mona
osign przez doczenie w preambule pakietu indentfirst. W niniejszym tumacze-
niu nie stosujemy wci akapitowych, poniewa akurat pod tym wzgldem bardziej nam
si podobaj zwyczaje amerykaskie.
Czasami przydaje si instrukcja nakazujca LATEX-owi zamanie linii.
Polecenie
\\ lub \newline
rozpoczyna now lini bez rozpoczynania nowego akapitu.
Natomiast instrukcja:
\\*
dodatkowo zakazuje zamania strony (w miejscu zamania linii).
Instrukcja:
\newpage
rozpoczyna now stron.
16 Skadanie tekstu
Instrukcje:
\linebreak[n], \nolinebreak[n], \pagebreak[n] oraz \nopagebreak[n]
oznaczaj - odpowiednio - zacht do zamania wiersza, niezgod na za-
manie wiersza, zacht do zamania strony, niezgod na zamanie strony,
w miejscu ich wystpienia w dokumencie. Opcjonalny argument n, o dopusz-
czalnej wartoci od 0 do 4, okrela stopie tej zachty (niezgody). Domylna
warto 4, to bezwarunkowy zakaz lub nakaz zamania linii/strony. Warto-
ci mniejsze od 4 pozostawiaj LATEX-owi swobod zignorowania instrukcji,
jeeli skad otrzymany w rezultacie byby niskiej jakoci.
Polece z grupy break nie naley myli z poleceniami z grupy new. Mimo
wydania polecenia typu break LATEX stara si wypeni wiersz do prawego
skraju czy te wypeni stron do caej jej wysokoci. Nietrudno zgadn,
jakiej instrukcji naley uy, gdy naprawd zaley nam na rozpoczciu
nowego wiersza (ta zagadka jest atwa pod warunkiem, e znamy jzyk
angielski - jest to polecenie \newline).
Jeeli w wierszu zakoczonym instrukcj \newline jest zbyt mao tekstu, to LATEX
nie wyrwna tego wiersza do prawego marginesu, tylko po tekcie wstawi odpowiedni
odstp. Jeeli zamiast \newline uyjemy \linebreak, to LATEX postara si wyrwna
zawarto koczonej linijki do prawego marginesu. Zbyt mae wypenienie wiersza tek-
stem zmusi LATEX-a do wstawienia zbyt duych odstpw pomidzy wyrazy w wierszu,
co zostanie zasygnalizowane podczas przetwarzania wywietleniem komunikatu:
Underfull \hbox (badness 10000) in paragraph at lines 4--5
W komunikacie tym liczba po sowie badness wskazuje, jak bardzo LATEX-owi nie
podoba" si zoony wiersz. W tym przypadku jest to maksymalna warto, 10000.
Liczby na kocu komunikatu to numery pierwszej i ostatniej linii akapitu, w ktrym
LATEX musia zoy wiersz z nadmiernymi odstpami midzy wyrazami. Chocia wielu
uytkownikw LATEX-a nie zwraca uwagi na podobne ostrzeenia, warto zdawa sobie
spraw, co one oznaczaj.
Oprcz wyej wymienionych istniej w LATEX-u jeszcze instrukcje:
\clearpage, \cleardoublepage
Obydwie rozpoczynaj skad nowej strony. Instrukcja \cleardoublepage dziaa tak,
jak \clearpage, z tym e rozpoczynana nowa strona jest zawsze nieparzysta. W razie
potrzeby tworzona jest strona pusta. W skadzie dwuszpaltowym (opcja twocolumn)
instrukcja \newpage koczy szpalt natomiast \clearpage oraz \cleardoublepage
kocz stron, w miar potrzeby pozostawiajc pust praw szpalt.
Jeeli na stronie zakoczonej instrukcj \newline (albo \clearpage) jest zbyt
mao tekstu, LATEX wstawia odpowiedni odstp u dou strony, a nie pomidzy akapity czy
te inne elementy na stronie, tak jak ma to miejsce w przypadku instrukcji \pagebreak.
Jeeli te odstpy okazuj si za due (a zdarza si to do czsto), to sytuacja taka jest
sygnalizowana podczas przetwarzania dokumentu odpowiednim ostrzeeniem, np.:
Underfull \vbox (badness 10000) has occurred
while \output is active [7]
2.2 Skadanie akapitw i amanie stron 17
W powyszym komunikacie (przeamanym, z uwagi na wsk szpalt na dwie linijki)
liczba po sowie badness wskazuje, jak bardzo LATEX-owi nie podoba si zoona
strona. Tutaj jest to 10000 - maksymalna w TEX-u ujemna ocena jakoci skadu.
Liczba w nawiasach prostoktnych na kocu komunikatu oznacza numer strony, podczas
skadania ktrej wystpi problem.
LATEX zawsze prbuje podzieli akapit na wiersze w sposb optymalny.
Kiedy nie potrafi znale podziau, ktry spenia jego wymagania jakociowe,
wtedy niektre wyrazy wystaj na prawym marginesie, a sytuacja taka jest
sygnalizowana podczas przetwarzania pliku, np.:
Overfull \hbox (5.5452pt too wide) in paragraph at lines 79--83
W powyszym komunikacie liczba w nawiasie okrgym oznacza, e pewien
fragment tekstu wystaje o 5,5452 punktw drukarskich na prawy margines.
Problem wystpi w akapicie, ktry w pliku rdowym jest w wierszach
od 79 do 83. Podobne ostrzeenia pojawiaj si najczciej wwczas, gdy
LATEX nie potrafi przenie wyrazu zgodnie z zadanymi wzorcami tak, aby
nie popsu jakoci skadu. Ostrzeenie powyszej postaci na ogӳ nie wystar-
cza do dokadnego ustalenia przyczyny jego wystpienia. Mona wtedy uy
opcji draft jako argumentu polecenia \documentclass, na skutek czego
LATEX oznaczy wystajce wiersze ma czarn sztabk umieszczon na pra-
wym marginesie szpalty.
Deklaracja \sloppy nakazuje LATEX-owi obniy nieco jego domylnie
wysokie standardy. Zapobiega to - w wikszoci wypadkw - wystpowaniu
zbyt dugich linijek, ale kosztem zwikszenia odstpw midzywyrazowych,
nawet wtedy, gdy otrzymany skad nie jest optymalny. Takie linijki LATEX sy-
gnalizuje ostrzeeniem (underfull hbox). W wikszoci przypadkw otrzy-
many wynik jest zupenie niezy. Instrukcja \fussy dziaa w odwrotnym
kierunku, to znaczy przywraca domylne, wysokie standardy LATEX-a.
2.2.2 Przenoszenie wyrazw
W razie potrzeby LATEX przenosi (dzieli) wyrazy. Jeeli algorytm podziau
wyrazw przenosi jaki wyraz nieprawidowo, to prawidowe miejsca prze-
noszenia mona zada instrukcj:
\hyphenation{lista sw}
Sowa z listy argumentw mona dzieli tylko w miejscach oznaczonych
znakiem -. Instrukcji tej powinno si uywa wycznie w preambule do-
kumentu, a wyrazy-argumenty mog zawiera (oprcz znaku -) wycznie
litery. Nie ma natomiast znaczenia, czy w tych wyrazach uywa si liter
wielkich, czy maych. Wykonanie instrukcji \hyphenation z przykadu po-
niej spowoduje, e sowo wier-li-trwka" mona podzieli tylko w dwch
zaznaczonych miejscach, podczas gdy sowa szczypce" nie mona przenie
18 Skadanie tekstu
w ogle. Wyrazy z listy nie mog zawiera adnych znakw specjalnych ani
symboli.
Przykad:
\hyphenation{wier-li-trwka szczypce}
W jzykach fleksyjnych, do jakich naley polski, instrukcja \hyphenation jest duo
mniej przydatna ni w angielskim. Aby dany wyraz zawsze by dobrze przenoszony,
naleaoby wypisa wszystkie jego formy. Co wicej, prba wykorzystania polecenia
\hyphenation w przypadku plikw rdowych zapisanych w notacji prefixowej albo
te plikw w notacji naturalnej i korzystania z pakietu inputenc zakoczy si bdem
w czasie przetwarzania dokumentu. Ten fenomen jest spowodowany sposobem w jakim
dziaa TEX, a jego wyjanienie daleko wykracza poza ramy niniejszego wprowadzenia.
Instrukcja \-" wskazuje, w ktrych miejscach LATEX-owi wolno prze-
nie wyraz w danym miejscu w dokumencie. LATEX nie podzieli sowa
w innym miejscu. Instrukcja ta przydaje si szczeglnie w przypadku wyra-
zw zawierajcych znaki specjalne (np. znaki akcentowane), poniewa LATEX
dzieli automatycznie tylko wyrazy zoone z samych liter.
Nie\-bie\-sko\-bia\-o\-zie\-lo\-%
no\-nie\-bie\-ski Niebieskobiaozielononiebieski
Tekst bdcy argumentem polecenia:
\mbox{tekst}
nigdy nie zostanie przeniesiony.
Numer mojego telefonu wkrtce
si zmieni na \mbox{0116 291 2319}.
Parametr \mbox{\emph{nazwa}} to
nazwa pliku.
Numer mojego telefonu wkrtce si zmieni na
0116 291 2319.
Parametr nazwa to nazwa pliku.
2.3 Znaki specjalne i symbole
2.3.1 Cudzysowy
Znaku cudzysowu " uywa si inaczej ni na maszynie do pisania, bo
w publikacjach drukowanych inaczej oznacza si pocztek i inaczej koniec
cudzysowu. Wystpuj take rӿnice w sposobach oznaczania cudzysoww
w rӿnych jzykach. Dwa apostrofy ` otwieraj, a dwa apostrofy ' zamykaj
LATEX-owy cudzysw wedug regu jzyka angielskiego:
``Please press the `x' key.''
"Please press the `x' key."
2.3 Znaki specjalne i symbole 19
W jzyku polskim cudzysw otwierajcy oznacza si za pomoc dwch przecinkw
,,", a zamykajcy za pomoc dwch apostrofw ''"1.
Gdy zachodzi konieczno uycia cudzysowu w tekcie ju objtym cudzysowem,
to stosuje si cudzysowy francuskie", oznaczane w pliku rdowym znakami mniej-
szoci <<" i - odpowiednio - wikszoci >>".
,,Przechod tylko po <<zebrach>>''.
Przechod tylko po zebrach".
2.3.2 Pauzy i mylniki
Proste maszyny do pisania posiadaj tylko jeden znak w ksztacie pozio-
mej kreski -". W skadzie drukarskim wystpuj a cztery rodzaje kresek
poziomych. S to: cznik, mylnik, pӳpauza i minus uywany we wzorach
matematycznych.
cznik (dywiz) jest najkrtsz z kresek; stosuje si go przy dzieleniu i przenoszeniu wy-
razw oraz przy czeniu wyrazw wieloczonowych (np. niebiesko-czarny"). Zgodnie
z polskimi reguami wyraz wieloczonowy moe zosta podzielony i przeniesiony albo
w obrbie wyrazw skadowych, albo na czniku. W tym ostatnim przypadku cznik
powinien zosta powielony, to znaczy znale si zarwno na kocu pierwszego wiersza,
jak te na pocztku drugiego. Oto moliwe miejsca podziau wyrazu niebiesko-czarny:
nie- niebie- niebiesko- niebiesko-czar-
biesko-czarny sko-czarny -czarny ny
Standardowy LATEX nie zna polskich norm i dlatego dzieli wyrazy wieloczonowe w miej-
scu poczenia, bez powielania cznika. Jeeli do skadu w jzyku polskim korzystamy
z pakietu platex to w pliku rdowym w miejsce cznika w wyrazach wieloczonowych
powinnimy zastosowa instrukcj \dywiz (np. niebiesko{\dywiz}czarny).
W pewnych sytuacjach lepiej nie dzieli wyrazw poczonych cznikiem. Jeeli na
przykad mwimy o wydziale K-2, kodzie pocztowym czy numerze telefonu, to w takich
przypadkach cznik zapisujemy w pliku rdowym jako pojedyncz kresk -".
Znaku cznika uywa si rwnie do przenoszenia wyrazw. Jednak w LATEX-u
odbywa si to automatycznie i nie wymaga rcznych ingerencji uytkownika.
Mylnik --" to dusza kreska uywana jako znak przestankowy. Zapisujemy go
za pomoc trzech nastpujcych po sobie znakw -", czyli ---". Przed oraz po
mylniku w jzyku polskim dodajemy odstp.
Pӳpauza to kreska o poow krtsza od mylnika. Stosuje si j przede wszystkim
przy pisaniu zakresw liczbowych, np. str. 11-13", czy w latach 1960-1963". Przed
i po pӳpauzie nie dodaje si odstpw. Odstpy takie musz si pojawi w sytuacjach
takich jak: 11 padziernika - 13 listopada". Czasami pӳpauzy uywa si take w roli
mylnika (tak jest w niniejszym tumaczeniu). Pӳpauz zapisuje si za pomoc dwch
nastpujcych po sobie minusw --".
Znaku minusa uywa si we wzorach matematycznych; aby go otrzyma piszemy
-" wewntrz trybu matematycznego. Przykadowo zapis $-2$ daje w skadzie 2,
podczas gdy -2 daje -2.
1Porwnaj uwagi dotyczce tego sposobu oznaczania cudzysoww z punktu 2.4 w czci
dotyczcej fontw i ich kodowania (s. 22). Uwaga ta dotyczy rwnie cudzysoww francuskich.
20 Skadanie tekstu
2.3.3 Wielokropek ( )
W typowym pimie maszynowym przecinek albo kropka zajmuj tyle samo
miejsca, co kady inny znak. W pimie drukarskim szeroko tych znakw
jest z reguy bardzo maa i dlatego jeeli umiecimy je obok siebie, to odstpy
miedzy nimi bd zbyt mae. Wielokropek (trzy kropki) uzyskujemy za
pomoc instrukcji \ldots. Przykad:
\ldots
Nie tak ..., tylko raczej tak:\\
Nowy Jork, Tokio, Budapeszt, \ldots Nie tak ..., tylko raczej tak:
Nowy Jork, Tokio, Budapeszt,
2.3.4 Ligatury
Ligatury (spjki) to znaki graficzne, w ktrych poczono dwie lub trzy
litery. W niektrych jzykach ligatury wystpuj jako waciwe danej orto-
grafii znaki pisma, np.  w jzyku francuskim. Wikszo ligatur tworzy si
ze wzgldw estetycznych lub zwyczajowych. LATEX zna pi nastpujcych
ligatur:
ff fi fl ffi ffl zamiast ff fi fl ffi ffl
LATEX automatycznie wstawia ligatury zamiast odpowiednich sekwencji zna-
kw. Mona temu zapobiec wstawiajc instrukcj \mbox{} pomidzy znaki
tworzce ligatur.
Jak lepiej: geografii czy
geograf\mbox{}ii? Jak lepiej: geografii czy geografii?
2.3.5 Akcenty i znaki specjalne
LATEX umoliwia wstawienie znakw akcentowanych i specjalnych uywa-
nych w wielu jzykach. W tabeli 2.1 zestawiono wszystkie moliwe akcenty
dla litery o". Instrukcje te mona stosowa rwnie do dowolnej innej litery.
W przypadku umieszczenia akcentu nad literami i" oraz j", naley
usun kropk znad tych liter. Do tego celu su instrukcje \i i \j, wsta-
wiajce do skadu specjalne wersje liter i" oraz j".
H\^otel, na\"\i ve, \'el\`eve,\\
sm\o rrebr\o d, !`Se\~norita!,\\
Sch\"onbrunner Schlo\ss{}
Stra\ss e
H^otel, nave, lve,
smrrebrd, Seorita!,
Schnbrunner Schlo Strae
2.4 LATEX wielojzyczny 21
2.3.6 Nieamliwe odstpy
Polskie zasady typograficzne nie pozwalaj przy amaniu akapitu pozostawia na
kocu wierszy jednoliterowych spjnikw lub przyimkw. Przykadowo w zdaniu Jan
Kochanowski urodzi si w Czernolesie" nieadnie wygldaby przyimek w" wystpujcy
na kocu wiersza.
Odstpy, na ktrych nie wolno zama wiersza, zaznacza si w pliku rdowym
przez umieszczenie znaku tyldy ~" zamiast odstpu. Na przykad, w powyszej sytuacji
powinnimy zapisa w pliku rdowym: w~Czarnolesie".
Jest wiele sytuacji, w ktrych zwizek fragmentw zdania jest tak silny, e nie naley
wewntrz nich ama na wiersze. Nie zawsze decyzja jest tak prosta, jak w przypadku
wspomnianych spjnikw. Oto gar przykadw:
godz.~17.00; od~15 do 40~osb; na str.~2 napisano; rozdz.~2;
2~rozdziay; p.~Jan Nowak; p.~J.~Nowak; I~cz IX~Symfonii.
2.4 LATEX wielojzyczny
Jeeli LATEX ma skada tekst w jzykach innych ni angielski, to zasadniczo
s dwa obszary, w ktrych naley go odpowiednio skonfigurowa:
1. Wszystkie teksty generowane automatycznie przez LATEX-a trzeba
przystosowa do danego jzyka. Dotyczy to tytuw rozdziaw, spisu
treci, spisu rysunkw, tabel, dat itp. Zmiany te umoliwia pakiet babel
Johannesa Braamsa.
2. LATEX musi pozna reguy dzielenia wyrazw dla danego jzyka. Po-
wiedzenie" mu o nich jest swego rodzaju sztuczk, gdy jest rwno-
znaczne ze stworzeniem nowego formatu LATEX-a z nowymi, wbudo-
wanymi we reguami. Wicej informacji na ten temat mona znale
w Local Guide [5].
Tabela 2.1: Akcenty i znaki specjalne
 \`o  \'o ^o \^o  \~o
o \=o o \.o  \"o
o \u o o \v o o \H o o \c o
o. \d o o \b o oo \t oo
 \oe  \OE  \ae  \AE
 \aa  \AA  \k{a}
 \o  \O  \l  \L
i \i j \j  !`  ?`
22 Skadanie tekstu
Po odpowiednim skonfigurowaniu naszego systemu mona wykorzysta
pakiet babel. Wystarczy w tym celu uy w preambule instrukcj:
\usepackage[lista-jzykw]{babel}
Argument lista-jzykw, to oddzielone przecinkami nazwy jzykw, ktre
obsuguje lokalna wersja LATEX-a. Ostatni na licie jest jzykiem domylnym.
Podrcznik Local Guide [5] zawiera informacje, o tym jakie nazwy mog si
pojawi na licie-jzykw.
Dla niektrych jzykw babel udostpnia specjalne instrukcje, uatwia-
jce wprowadzanie znakw diakrytycznych i specjalnych. Przykadowo tek-
sty w jzyku niemieckim zawieraj duo liter z umlautami: (). Wykorzy-
stujc pakiet babel mona wprowadzi liter  wpisujc "o zamiast \"o.
W wikszoci systemw komputerowych znaki akcentowane i specjalne
(czyli znaki o kodach ASCII wikszych od 127) mona wprowadza bezpo-
rednio z klawiatury. Przykadowo polskie znaki diakrytyczne mona wpro-
wadza naciskajc klawisz prawy-Alt i jednoczenie klawisz z odpowiedni
liter. LATEX radzi sobie z takimi znakami. Poczwszy od grudnia 1994 r.
dystrybucja LATEX-a zawiera pakiet inputenc, umoliwiajcy kodowanie zna-
kw diakrytycznych zgodnie z wieloma wariantami, np. ISO-8859-2 (Linux)
lub CP 1250 (MS Windows). Wicej informacji na ten temat mona zna-
le w dokumentacji pakietu. Wykorzystujc pakiet musimy sobie zdawa
spraw, e cz uytkownikw nie bdzie w stanie prawidowo wywietli
tak przygotowanych plikw rdowych. Przykadowo znak  ma numer 161
w standardzie ISO-8859-2, podczas gdy w kodowaniu zgodnym z CP 1250 ta
sama litera ma kod 169 (a znak o kodzie 161 oznacza jaki inny krzaczek").
Drug stron medalu jest ukad znakw (kodowanie) fontu. Kodowa-
nie fontu okrela, w jakich miejscach fontu znajduj si poszczeglne znaki.
Oryginalne fonty Computer Modern (CM) s 128-znakowe i nie zawieraj
na przykad kompletu polskich znakw. Znaki diakrytyczne mona tworzy
za pomoc poczenia dwch znakw: litery i odpowiedniego akcentu. Taki
sposb powoduje, e TEX nie moe prawidowo przenosi wyrazw zawie-
rajcych znaki diakrytyczne, a take, e typograficzna jako w ten sposb
skonstruowanych diakrytykw jest kiepska.
Na szczcie prawie wszystkie wspӳczesne dystrybucje TEX-a zawieraj
komplet fontw European Computer Modern (EC). S to fonty omiobi-
towe zawierajce 256 znakw. Pierwszych 128 znakw fontu EC s (prawie)
identyczne ze znakami z fontw CM. Pozostae 128 znakw to znaki dia-
krytyczne wykorzystywane w wielu jzykach europejskich, w tym komplet
znakw niezbdnych do skadania polskich tekstw. Fonty EC umoliwiaj
wykorzystanie penych moliwoci TEX-owego mechanizmu przenoszenia wy-
razw; znacznie lepsza jest te jako typograficzna znakw diakrytycznych.
Ponadto istniej jeszcze fonty PL (autorzy B. Jackowski i M. Ryko). S to fonty
zgodne z CM zawierajce dodatkowo wszystkie polskie znaki diakrytyczne. Byy to
2.4 LATEX wielojzyczny 23
pierwsze dobrej jakoci fonty typu CM dostpne publicznie. Polskie diakrytyki z fontw
EC s kopi odpowiednich znakw z fontw PL. Du zalet fontw PL jest to, e s
dostpne take postaci fontw PostScriptowych.
W szczeglnoci znaki cudzysoww francuskich i polskiego otwierajcego s do-
stpne w fontach EC i PL, ale nie ma ich w fontach CM. Opisany w punkcie 2.3.1
sposb wprowadzania tych znakw za pomoc par ,,", <<" i >>", dziaa tylko
wwczas gdy uywamy fontw EC lub PL.
Przeczenie na fonty EC nastpuje przez doczenie pakietu fontenc w pre-
ambule dokumentu:
\usepackage[T1]{fontenc}
Argument T1, okrelajcy kodowanie, jest odpowiedzialny" za przeczenie
si na fonty EC.
2.4.1 Wsparcie dla jzyka polskiego
Poprawny skad w jzyku polskim wymaga trzech rzeczy: dodatkowego pakietu polece,
fontw zawierajcych polskie znaki diakrytyczne oraz LATEX-a, ktry zna polskie reguy
przenoszenia wyrazw.
W kadej nowej, kompletnej dystrybucji LATEX-a znajduje si wspomniany wyej
pakiet babel. Mimo pewnych niedocigni mona go poleci szczeglnie pocztkuj-
cym. Bardziej wymagajcy uytkownicy powinni skorzysta z opisanego dalej zestawu
polonizacyjnego platex.
W pakiecie babel nazwy jzykw wykorzystywanych w dokumencie naley poda
w preambule na licie opcji pakietu:
\usepackage[jzyk1,jzyk2]{babel}
Ostatni z wymienionych na licie jzykw jest jzykiem domylnym dokumentu. Do
wczenia jzyka suy polecenie \selectlanguage. Skadnia tego polecenia jest na-
stpujca:
\selectlanguage{jzyk}
Pakiet babel dla kadego jzyka definiuje odpowiednio elementy wpisywane automatycz-
nie przez program (np. dla jzyka polskiego Spis treci", a nie Table of contents")
oraz udostpnia polecenia uatwiajce przygotowanie dokumentw w tym jzyku.
Ta druga sprawa w przypadku jzyka polskiego sprowadza si w zasadzie do ko-
dowania polskich znakw diakrytycznych. Mona wyrӿni trzy sposoby kodowania:
standardowe polecenia (opisane w punkcie 2.3.5), notacj prefiksow (wyjanion po-
niej) i notacj bezporedni" (posugujc si znakami o kodach wikszych od 127).
Standardowe polecenia akcentowe LATEX-a umoliwiaj zapis wszystkich polskich
znakw diakrytycznych w nastpujcej postaci:
\k{a} \'c \k{e} \l{} \'n \'o \'s
\'z \.z \k{A} \'C \k{E} \L{} \'N
\'O \'S \'Z \.Z
                 
24 Skadanie tekstu
Ponadto zapis np. \'o nie oznacza - jak w LATEX-u 2.09 - wstaw akcent acute nad
liter o", tylko uyj najlepszej metody uzyskania znaku oacute dostpnej w biecym
ukadzie fontu". Jeeli w biecym foncie jest dostpny znak oacute, zostanie on uyty
bezporednio. Jeeli go nie ma, to TEX zoy taki znak z litery o oraz odpowiedniego
akcentu2.
Posugiwanie si powyszymi poleceniami do pisania tekstw po polsku jest uci-
liwe. Std pomys notacji prefiksowej; polega ona na zapisywaniu polskich znakw
diakrytycznych w postaci dwch znakw: ustalonego znaku specjalnego (prefiksu) i li-
tery aciskiej podobnej graficznie do odpowiedniej polskiej. Notacja prefiksowa ma
wiele wersji: stosowano rӿne znaki jako prefiks (co najmniej ", @ i /) oraz rӿne
konwencje zapisywania  oraz  (przynajmniej jeden z nich musi by zapisywany przy
pomocy znaku rӿnego od z).
Pakiet babel umoliwia zapis prefiksowy z wykorzystaniem znaku cudzysowu, oto
przykad zapisu minusku polskich znakw diakrytycznych w tej notacji ("r oznacza ):
"a "c "e "l "n "o "s "z "r
Ponadto "`" oznacza polski cudzysw otwierajcy, "<" francuski cudzysw otwie-
rajcy a ">" francuski cudzysw zamykajcy.
Bezporednie wprowadzanie polskich znakw umoliwia pakiet inputenc opisany
w poprzednim punkcie. W zalenoci od platformy, na ktrej pracujemy, mamy do
wyboru ISO-8859-2 (Unix, Linux), CP1250 (Windows) lub inne, rzadziej spotykane
strony kodowe. Przykadowo, jeeli dokument jest kodowany w standardzie ISO-8859-2
(Latin-2) pakiet inputenc naley doczy do dokumentu nastpujco:
\usepackage[latin2]{inputenc}
W przypadku, gdy dokument jest kodowany w standardzie CP 1250, zamiast opcji
latin2 powinnimy wpisa cp1250.
Dodatkowo, w preambule dokumentu naley umieci polecenie doczenia pakietu
fontenc z opcj T1, co spowoduje, e LATEX bdzie korzysta z 256 znakowych fontw
EC. Fonty te zawieraj dobrej jakoci polskie znaki diakrytyczne.
Pozosta jeszcze do rozwizania problem zapoznania LATEX-a z polskimi reguami
dzielenia wyrazw. Jeeli posugujemy si LATEX-em w rodowisku wielodostpnym, na
przykad na uczelni, to przypuszczalnie jest to ju zrobione przez administratora, ale
jeeli rozpoczynamy prac na wasnym komputerze, to musimy niezbdn adaptacj
wykona sami. W tym celu naley odszuka plik o nazwie language.dat. W pliku
tym znajduj si informacje o dostpnych w pakiecie wzorcach dzielenia wyrazw.
Interesujcy nas fragment pliku wyglda mniej wicej tak:
%norsk nohyph.tex
%polish plhyph.tex
%portuges pthyph.tex
Pierwszy wyraz to nazwa jzyka (ktr potem posuguje si LATEX, np. jako argumentem
polecenia \selectlanguage), drugi to nazwa pliku, w ktrym znajduj si reguy
podziau wyrazw dla tego jzyka.
Jeli chcemy doczy do LATEX-a polskie wzorce przenoszenia, to powinnimy
usun znak procentu z linii zawierajcej sowo polish. Na ogӳ LATEX zna wzorce
2Z notacj t wie si jednak dobrze znany problem: rodowisko tabbing zmienia lokalnie
definicj kilku makr, w tym \'. Dlatego w jego obrbie do uzyskiwania znakw z akcentem
acute trzeba uywa notacji typu \a'o. W konsekwencji zarwno w implementacji notacji
prefiksowej, jak i stron kodowych" pakietu inputenc do akcentu acute trzeba dostawa si
nieco naokoo.
2.4 LATEX wielojzyczny 25
dzielenia dla maksimum 2-3 jzykw (przy wikszej liczbie jzykw spada szybko
kompilacji a take mog wystpi problemy z brakiem pamici).
Po wprowadzeniu zmian do pliku \language.dat powinnimy wbudowa wzorce
dla zaznaczonych w nim jzykw do LATEX-a, co w praktyce oznacza, e trzeba wygene-
rowa nowy format LATEX. Niestety niezbdne do tego czynnoci zale od konkretnej
implementacji TEX-a. Omwimy tu, jak to wyglda w przypadku trzech popularnych
dystrybucji: teTEX(Unix/Linux), web2c (Unix/Linux i Windows 9x/NT) oraz MikTEX
(Windows 9x/NT).
Naley wykona polecenie initex latex.ltx". Jeeli wszystko pjdzie dobrze,
to w katalogu biecym pojawi si plik z formatem o nazwie latex.fmt. Nastpnie
musimy odnale w strukturze katalogw instalacji TEX-owej plik o tej samej nazwie
i oryginalny zastpi wygenerowanym przez nas. Otwarcie naley przyzna, e z wielu
powodw utworzenie nowego pliku latex.fmt moe si nie powie. Jeli zatem nie
jestemy w stanie wybrn z kopotw sami, powinnimy poszuka pomocy u znajomego
eksperta TEX-owego.
Podsumowujc: majc prawidowo skonfigurowany pakiet babel, cznie z LATEX-em
znajcym polskie reguy dzielenia wyrazw, wystarczy umieci w preambule polecenia
doczajce pakiety babel, fontenc oraz inputenc i ten sposb otrzyma cakiem dobrze
spolonizowan wersj LATEX-a.
Zamiast pakietu babel mona wykorzysta pakiet polski (wchodzcy w skad zestawu
polonizacyjnego platex). Zosta on opracowany w Polsce przez Mariusza Olko i Mar-
cina Woliskiego. Jego niewtpliw zalet jest staranniejsza polonizacja. Problemem
- z punktu widzenia pocztkujcego uytkownika - nieco trudniejsza instalacja. Do-
kumenty zapisane w notacji bezporedniej nie wymagaj modyfikacji, jeeli zamiast
pakietu babel w preambule doczymy polski-a.
W porwnaniu z pakietem babel pakiet platex jest bogatszy o kilka szczegӳw
polonizacyjnych:
 instrukcja \dywiz, opisana w punkcie 2.3.2, zapewnia poprawne przenoszenie
wyrazw zoonych;
 instrukcje \tg, \ctg, \tgh, \ctgh oraz \arc wstawiaj polskie symbole funkcji
trygonometrycznych;
 opcjonalna zmiana znaczenia standardowych polece \tan, \ctan w taki sposb,
e wstawiaj one do skadu poprawne nazwy funkcji trygonometrycznych (nazwy
te s rӿne od nazw angielskich);
 polskie znaki wiksze-rwne i mniejsze-rwne3.
Ponadto pakiet polski pozwala na wykorzystanie fontw PL oraz umoliwia posugiwanie
si znakiem /" (lub opcjonalnie innym znakiem) przy kodowaniu dokumentu za
pomoc notacji prefiksowej, zwanej te - gdy uywa si znaku /" - notacj ciachow.
Pakiet polski doczamy w preambule dokumentu poleceniem:
\usepackage[opcje]{polski}
Lista dostpnych opcji obejmuje:
OT4 - wybranie kodowania OT4 fontw, co w praktyce oznacza skad fontami PL;
T1 - wybranie kodowania T1 fontw, co oznacza skad fontami EC;
3Wicej informacji na temat polece pakietu platex zwizanych ze skadem matematyki
podajemy w rodziale 3.
26 Skadanie tekstu
OT1 - wybranie kodowania OT1 fontw, co oznacza skad fontami CM (nie polecane);
plmath - zmienia definicje znakw mniejszy-rwny i wikszy-rwny4;
nomathsymbols - blokuje zmian znaczenia standardowych polece trygonometrycz-
nych oraz relacji mniejszy-rwny i wikszy-rwny;
MeX - tryb penej polonizacji, w praktyce skrt dla opcji OT4 + plmath.
Jeeli nie wybrano adnej z opcji ukadu kodowania, to platex usiuje wczy fonty PL,
jeeli s one zainstalowane. Dotyczy to zarwno fontw tekstowych jak i tych zawiera-
jcych znaki matematyczne. W instalacji zawierajcej fonty PL doczenie pakietu bez
opcji jest rwnowane:
\usepackage[OT4,plmath]{polski}
Polecenie \selecthyphenation pozwala przeczy si na dany zestaw wzorcw dzie-
lenia wyrazw. Jest to odpowiednik polecenia \selectlanguage w pakiecie babel.
Argumentem jest nazwa jzyka, taka jak w pliku language.dat.
Notacj ciachow, ktra domylnie jest wyczona, mona uaktywni poleceniem
\prefixing. Polecenie to powinno wystpowa w preambule dokumentu dopiero po
poleceniach doczajcych pakiety.
Wprowadzanie polskich znakw w sposb bezporedni wymaga doczenia opisa-
nego powyej pakietu inputenc.
Instalowanie pakietu platex trzeba z reguy rozpocz od jego skopiowania w od-
powiednie miejsce do naszej instalacji LATEX-owej poniewa w przeciwiestwie do pa-
kietu babel nie jest on doczany do standardowej dystrybucji LATEX-a (by moe to
si zmieni w przyszoci). Pakiet znajduje si w CTAN://tex-archive/language/
polish/platex-1.01.zip lub ftp://ftp.gust.org.pl/TeX/language/polish/
platex-1.01.zip. Miejsce, w ktre naley skopiowa pakiet, zaley od instalacji.
Dla systemw teTEX, web2c i MikTEX bdzie to .../texmf/tex/latex/. Trzy kropki
z przodu wskazuj, e katalog texmf/ nie musi si znajdowa w katalogu gwnym,
tylko raczej w jakim miejscu pooonym niej" w strukturze katalogw. Po znale-
zieniu waciwego katalogu texmf/tex/latex/ tworzymy tam podkatalog, platex,
i rozpakowujemy w nim zawarto pakietu. Nastpnie wydajemy polecenie:
latex platex.ins
Do uzyskania poprawnego przenoszenia polskich sw konieczne jest wygenerowanie
nowego formatu LATEX-a. W tym celu naley usun (lub zmieni nazwy, tak aby
zostay pominite przez LATEX-a) oryginalne pliki hyphen.cfg, language.dat. Ponadto
w wielu starszych instalacjach plik hyphen.tex jest podmieniony pod" potrzeby
babel-a i nie zawiera angielskich wzorcw podziau. W tym przypadku trzeba zastpi
plik hyphen.tex prawdziwym" plikiem z angielskimi reguami dzielenia. Nastpnie
z linii polece piszemy:
initex latex.ltx
Z tak powstaym plikiem latex.fmt postpujemy tak samo, jak przy tworzeniu nowego
LATEX-a dla pakietu babel.
4W systemie musz by zainstalowane fonty PL. S one dostpne w CTAN://tex-archive/
language/polish/pl-mf.zip. Opcjonalnie mona take skopiowa pliki metryczne tych fon-
tw. S one dostpne w CTAN://tex-archive/language/polish/pl-tfm.zip. Pliki me-
tryczne fontw, w przypadku wykorzystywania nowych instalacji TEX-a typu teTEX, web2c czy
MikTEX nie s konieczne, gdy jeeli ich nie ma, s tworzone automatycznie. Nie bdziemy
omawia szczegӳowo instalacji fontw PL, gdy sposb jej przeprowadzenia zaley mocno od
konkretnej dystrybucji.
2.5 Odstpy midzy wyrazami 27
2.5 Odstpy midzy wyrazami
Aby wyrwna prawy margines, LATEX wstawia pomidzy sowa odstpy
rӿnej wielkoci. Odstp wstawiany na kocu zdania jest troch wikszy,
poniewa tak skada si ksiki w krajach anglosaskich. LATEX zakada, e
zdania mog si koczy kropk, znakiem zapytania lub wykrzyknikiem.
Jeeli bezporednio przed kropk znajduje si dua litera, to LATEX nie
traktuje tego miejsca jako koca zdania, lecz jako kropk po skrcie.
Wyjtki od wymienionych wyej zasad musz by jasno zaznaczone
w tekcie. W-ty-ciach \" poprzedzajcy spacj oznacza odstp normalnej
wielkoci. Tylda ~ wstawia normalny odstp, na ktrym LATEX nie moe
zama wiersza. Instrukcja \@ wstawia wikszy odstp, taki jakim koczy
si zdania.
Mr.~Smith was happy to see her\\
cf.~Fig.~5\\
I like BASIC\@. What about you?
Mr. Smith was happy to see her
cf. Fig. 5
I like BASIC. What about you?
Jak wspomniano, wstawianie wikszych odstpw na kocu zda to
zwyczaj anglosaski. W kontynentalnej Europie tradycyjnie si tego nie robi.
Wstawianie wikszych odstpw na kocu zda mona (naley) wyczy,
wykonujc instrukcj:
\frenchspacing
Pakiet polski domylnie wykonuje instrukcj \frenchspacing za nas - wystarczy go
doczy.
2.6 Tytuy, rdtytuy i punkty
Podzielenie dokumentu na rozdziay, podrozdziay, punkty itd. pomaga czy-
telnikom lepiej orientowa si w tekcie. Do dzielenia dokumentu na hie-
rarchiczne czci su odpowiednie polecenia LATEX-owe. Do autora naley
wykorzystanie tych polece w odpowiednim porzdku.
W klasie article mamy do dyspozycji nastpujce instrukcje podziau
hierarchicznego:
\section{...} \paragraph{...}
\subsection{...} \subparagraph{...}
\subsubsection{...} \appendix
W klasie report i book mona uy dwch dodatkowych instrukcji:
\part{...} \chapter{...}
28 Skadanie tekstu
Poniewa w klasie article najwysz jednostk w hierarchii podziau
jest \section (czyli punkt), atwo tworzy si ksiki (klasa book), w ktrych
rozdziaami s poszczeglne artykuy. LATEX dobierze za nas odpowiednie
odstpy midzy rozdziaami oraz wielko i krj pisma w rdtytuach.
Dwie z wymienionych instrukcji dziaaj nieco inaczej ni pozostae:
 Instrukcja \part nie ma wpywu na numeracj rozdziaw.
 Instrukcja \appendix nie posiada argumentw. Jest to deklaracja
zmieniajca z cyfr na litery sposb numerowania rozdziaw (w klasach
book i report) lub punktw (w klasie article).
Argumentu instrukcji podziau dokumentu LATEX uywa do przygotowa-
nia spisu treci. Instrukcja:
\tableofcontents
wstawia spis treci w miejscu, w ktrym jej uyjemy. Aby w spisie treci
otrzyma prawidowe numery stron, dokument trzeba przetworzy (zla-
techowa") dwukrotnie. Czasami niezbdna jest nawet trzecia kompilacja.
Kiedy pod koniec przetwarzania dokumentu LATEX wywietli komunikat:
LaTeX Warning: Label(s) may have changed.
Rerun to get cross-references right.
oznacza to, e niezbdna jest kolejna kompilacja.
LATEX przetwarza dokument strona po stronie i w pojedynczym przebiegu nie moe
wstawi spisu treci na pocztku dokumentu, poniewa nie jest jeszcze znana jego tre
ani numeracja stron. Podobnie ma si sprawa ze spisami tabel czy rysunkw. Rozwi-
zanie tego problemu jest tyle proste, co skuteczne. Podczas przetwarzania dokumentu
LATEX zapisuje odpowiednie informacje do plikw pomocniczych. Przeznaczenie danego
pliku pomocniczego jest zasygnalizowane w rozszerzeniu nazwy. I tak: plik o rozsze-
rzeniu .toc zawiera spis treci, plik .lot - spis tabel, plik .lof - spis rysunkw, plik
.aux - informacje o odsyaczach wewntrz dokumentu (odsyacze omawiamy w pod-
rozdziale 2.7). Informacje wprowadzone do plikw pomocniczych LATEX wykorzystuje
podczas kolejnych przebiegw.
Wymienione wyej instrukcje podziau hierarchicznego posiadaj take wer-
sje z gwiazdk". Nazwa instrukcji w wersji z gwiazdk" skada si z nor-
malnej" nazwy, po ktrej wystpuje znak *". W wyniku dziaania takiej in-
strukcji, tytu rozdziau lub podrozdziau zostanie umieszczony w dokumen-
cie, ale nie w spisie treci; tytu nie jest te objty numeracj. Przykadowo
wersj z gwiazdk" instrukcji \section{Help} jest \section*{Help}.
Najczciej hasa w spisie treci s identyczne z odpowiadajcymi im
tytuami rozdziaw czy punktw. Czasami jednak nie jest to podane,
poniewa na przykad tekst hasa jest zbyt dugi. W takich wypadkach haso
do spisu treci mona poda jako opcjonalny argument instrukcji podziau
hierarchicznego, np:
2.7 Odsyacze 29
\chapter[Krtki i~ekscytujcy rozdzia]{To jest
bardzo dugi i~wyjtkowo nudny rozdzia}
W wyniku wykonania tej instrukcji w spisie treci pojawi si Krtki i eks-
cytujcy rozdzia", natomiast w tytule rozdziau To jest bardzo dugi
i wyjtkowo nudny rozdzia".
LATEX skada stron tytuow w wyniku wykonania instrukcji:
\maketitle
ktra, powinna by umieszczona po \begin{document}.
Zawarto strony tytuowej ustalaj polecenia:
\title{...}, \author{...} oraz opcjonalnie \date{...}
Naley je umieci w preambule. Jeeli dokument ma kilku autorw, to ich
nazwiska i imiona rozdzielamy instrukcj \and.
Rysunek 1.3 (s. 8) ilustruje sposb wykorzystania powyszych instrukcji.
W LATEX2 istniej ponadto trzy instrukcje okrelajce struktur doku-
mentu, dostpne wycznie w klasie book, a mianowicie:
\frontmatter, \mainmatter oraz \backmatter
S one uyteczne do podziau ksiki na cz wstpn (obejmujc tytulatur, spisy
treci, tabel itp., wstpy itd.), gwn i zakoczenie (zaczniki, skorowidze, kolofon
itd). W czci wstpnej tytuy rozdziaw s skadane mniejszym stopniem pisma (czego
naley oczekiwa), a numery stron w notacji rzymskiej (co raczej odbiega od polskich
zwyczajw typograficznych).
2.7 Odsyacze
Ksiki, raporty i artykuy zawieraj czsto odniesienia do rysunkw, tabel
i innych fragmentw tekstu. Do wstawiania odsyaczy LATEX udostpnia
nastpujce trzy instrukcje:
\label{etykieta}, \ref{etykieta} i \pageref{etykieta}
Argument etykieta jest cigiem liter, cyfr lub znakw interpunkcyjnych.
Nazwy etykiet ustala sam uytkownik. LATEX zamienia \ref{etykieta} na
numer tego rozdziau, punktu, rysunku, tabeli czy te rwnania matema-
tycznego, bezporednio za ktrym umieszczona zostaa instrukcja \label
zawierajca identyczn etykiet. Instrukcja \pageref{etykieta} dziaa iden-
tycznie jak \ref, z tym e wstawia numer strony, na ktrej znajduje si
element oznaczony etykiet5.
5Zwrmy uwag, e te instrukcje nie wiedz", do czego tak naprawd si odnosz.
Zadaniem instrukcji \label jest przechowanie wygenerowanej automatycznie liczby.
30 Skadanie tekstu
Podobnie jak w przypadku spisw treci, tabel czy rysunkw potrzebne
s co najmniej dwie, a z reguy trzy, kompilacje dokumentu do prawido-
wego wstawienia numerw odsyaczy. Podczas pierwszej LATEX wysya do
pliku pomocniczego (z rozszerzeniem .aux) informacje o odsyaczach, ktre
wykorzystuje podczas kolejnych kompilacji.
Odsyacz do tego punktu
\label{sec:this} wyglda tak:
,,patrz punkt~\ref{sec:this} na
stronie~\pageref{sec:this}.''
Odsyacz do tego punktu wyglda tak: patrz
punkt 2.7 na stronie 30."
2.8 Przypisy
Do skadania przypisw u dou strony suy instrukcja:
\footnote{tekst przypisu}
Instrukcj naley wstawi bezporednio po sowie lub zdaniu, do ktrego si
odnosi6.
LATEX numeruje przypisy automatycznie. Sposb ich numerowania zaley od wykorzy-
stywanej klasy. W klasie article numeracja jest ciga, a w klasach report i book
przypisy s numerowane w ramach rozdziaw.
Przypisy\footnote{To jest wanie
przypis.} s czsto
wykorzystywane przez
uytkownikw \LaTeX-a
Przypisya s czsto wykorzystywane przez
uytkownikw LATEX-a
aTo jest wanie przypis.
2.9 Wyrӿnienia
W tekstach pisanych na maszynie fragmenty tekstu, ktre maj zosta
wyrӿnione, podkrela si. W dokumentach drukowanych wyrӿnianie frag-
mentw odbywa si przez skadanie ich kursyw. Suy do tego instrukcja:
\emph{text}
Argumentem tej instrukcji jest tekst, ktry ma zosta wyrӿniony.
\emph{\emph{Wyrӿnienia} w~tekcie
ju wyrӿnionym s skadane
\emph{zwykym} krojem pisma.}
Wyrӿnienia w tekcie ju wyrӿnionym s
skadane zwykym krojem pisma.
6W krajach anglosaskich przypisy odnoszce si do caego zdania lub jego czci umieszcza
si natychmiast po kropce lub przecinku. W Polsce najczciej umieszcza si je przed znakiem
przestankowym (zasad t stosujemy w niniejszym wprowadzeniu).
2.10 rodowiska 31
Zwrmy uwag, e istnieje rӿnica midzy wyrӿnieniem czci tekstu
a zoeniem go inn czcionk:
\textit{Mona \emph{wyrӿni}
tekst, skadajc go kursyw,}
\textsf{czcionk \emph{szeryfow},}
\texttt{a nawet \emph{maszynowo}.}
Mona wyrӿni tekst, skadajc go kursyw,
czcionk szeryfow, a nawet maszynowo.
2.10 rodowiska
Wiele instrukcji to rodowiska, majce posta:
\begin{nazwa} tekst \end{nazwa}
gdzie nazwa jest nazw rodowiska. rodowiska mona zagnieda jedne
w drugich:
\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}
Niedopuszczalnie jest natomiast przeplatanie" rodowisk:
\begin{aaa}...\begin{bbb}...\end{aaa}...\end{bbb}
Wiele polece mona zapisa w formie rodowiskowej". W takich wypadkach nazwa
polecenia (bez w ty-ciacha) jest nazw rodowiska.
Przykadowo zamiast polecenia \em, ktre suy do wczenia wyrӿnionego kroju
pisma, moemy wykorzysta rodowisko \begin{em}...\end{em}.
W kolejnych punktach przedstawiamy czciej wykorzystywane rodowiska.
2.10.1 rodowiska itemize, enumerate i description
rodowiska itemize oraz description su do tworzenia wyszczeglnie,
za enumerate do tworzenia wylicze. W kadym z nich element wyliczenia
zaczyna si instrukcj \item.
\begin{enumerate}
\item Taka lista:
\begin{itemize}
\item wyglda
\item[--] miesznie.
\end{itemize}
\item Pamitaj:
\begin{description}
\item[Gupoty] nie staj si
mdrociami, gdy si je wyliczy.
\item[Mdroci] mona elegancko
zestawia w~wyliczeniach.
\end{description}
\end{enumerate}
1. Taka lista:
 wyglda
- miesznie.
2. Pamitaj:
Gupoty nie staj si mdrociami,
gdy si je wyliczy.
Mdroci mona elegancko zestawia
w wyliczeniach.
32 Skadanie tekstu
2.10.2 rodowiska flushleft, flushright i center
rodowiska flushleft i flushright skadaj akapity wyrwnane, odpo-
wiednio, do lewego lub prawego marginesu. Wewntrz rodowiska center
kady wiersz akapitu jest wyrodkowany w osi szpalty. Tak jak zawsze, LATEX
dzieli akapity na wiersze automatycznie, w obrbie powyszych rodowisk
mona jednak poleceniem \\ wymusi zmian wiersza.
\begin{flushleft}
To jest tekst\\ wyrwnany do lewej.
{\LaTeX} nie skada tu wierszy
o~jednakowej dugoci.
\end{flushleft}
To jest tekst
wyrwnany do lewej. LATEX nie skada tu
wierszy o jednakowej dugoci.
\begin{flushright}
To jest tekst\\ wyrwnany do prawej.
{\LaTeX} nie skada tu wierszy\\
z~zachowaniem jednakowej dugoci.
\end{flushright}
To jest tekst
wyrwnany do prawej. LATEX nie skada tu
wierszy
z zachowaniem jednakowej dugoci.
\begin{center}
To jest tekst\\wyrodkowany.
\end{center}
To jest tekst
wyrodkowany.
2.10.3 rodowiska quote, quotation i verse
rodowisko quote nadaje si do skadania cytatw oraz przykadw.
Jeeli chodzi o~dugoci wiersza,
regu kciuka jest, e:
\begin{quote}
Przecitnie wiersz nie powinien
zawiera wicej ni 66 znakw.
Dlatego w~\LaTeX-u standardowe
strony maj szerokie marginesy.
\end{quote}
Dlatego te w~gazetach stosuje
si druk wieloszpaltowy.
Jeeli chodzi o dugoci wiersza, regu kciuka
jest, e:
Przecitnie wiersz nie powinien
zawiera wicej ni 66 znakw.
Dlatego w LATEX-u standardowe
strony maj szerokie marginesy.
Dlatego te w gazetach stosuje si druk wie-
loszpaltowy.
Istniej ponadto dwa rodowiska o podobnym zastosowaniu: quotation oraz
verse. rodowisko quotation jest przydatne do formatowania cytatw du-
szych ni jeden akapit. W przeciwiestwie do rodowiska quote, wewntrz
rodowiska quotation LATEX rozpoczyna poszczeglne akapity od wcicia
akapitowego. rodowisko verse suy do skadania wierszy. Poszczeglne
linijki w zwrotkach naley koczy instrukcj \\ za poszczeglne zwrotki
oddziela pust lini.
2.10 rodowiska 33
Na pami znam tylko jeden angielski
wiersz. Ten o~Humptym Dumptym.
\begin{flushleft}
\begin{verse}
Humpty Dumpty sat on a wall:\\
Humpty Dumpty had a great fall.\\
All the King's horses and all
the King's men\\
Couldn't put Humpty together again.
\end{verse}
\end{flushleft}
Na pami znam tylko jeden angielski wiersz.
Ten o Humptym Dumptym.
Humpty Dumpty sat on a wall:
Humpty Dumpty had a great
fall.
All the King's horses and all the
King's men
Couldn't put Humpty together
again.
2.10.4 Symulacja maszynopisu
Tekst pomidzy \begin{verbatim} oraz \end{verbatim} LATEX skada
dosownie, tak aby wyglda jak napisany na maszynie, z zachowaniem
zmian wiersza i odstpw.
Aby uzyska ten efekt krj pisma zmienia si na imitujcy pismo maszynowe (grotesk).
Kady znak w tym kroju, wczajc w to spacj, jest jednakowej szerokoci. Koniec
linii wewntrz rodowiska verbatim powoduje rozpoczcie nowego wiersza na wydruku
a kada spacja zamienia si na odstp. Wewntrz rodowiska verbatim instrukcje nie
s wykonywane.
Wewntrz akapitw imitacj maszynopisu uzyskuje si za pomoc in-
strukcji:
\verb+tekst+
Znak + ogranicza tu tekst, ktry ma zosta wydrukowany dosownie. Za-
miast + mona uy innego znaku, byle to nie bya litera, gwiazdka ani
spacja. Instrukcj \verb wykorzystujemy czsto w tej ksice do skadania
przykadw LATEX-owych.
Rozwamy przykad\ldots
\begin{verbatim}
{ for (i=1;i<=NF;i++) {l[$i]++; }
END {for (i in l) {print l[i]}
\end{verbatim}
Rozwamy przykad
{ for (i=1;i<=NF;i++) {l[$i]++; }
END {for (i in l) {print l[i]}
rodowiska verbatim oraz instrukcja \verb maj take wersje z gwiazdk",
w ktrych spacja w pliku rdowym jest zamieniana na znak  . Jest to
jedyna rӿnica w dziaaniu w porwnaniu do wersji bezgwiazdkowych:
34 Skadanie tekstu
\begin{verbatim*}
gwiazdkowa wersja
rodowiska verbatim
wyrӿnia spacje
w tekcie
\end{verbatim*}
gwiazdkowa wersja
rodowiska verbatim
wyrӿnia   spacje
w tekcie
rodowiska verbatim oraz instrukcji \verb nie wolno uywa wewntrz
argumentw innych instrukcji.
2.10.5 rodowisko tabular
Do skadania tabel suy rodowisko tabular. LATEX automatycznie ustala
w nich szeroko poszczeglnych rubryk. rodowisko ma jeden parametr
obowizkowy, okrelajcy liczb kolumn tabeli i sposb ich justowania:
\begin{tabular}{spec-kolumn}
Dla kadej kolumny naley w argumencie wstawi jedn z liter: l, r lub
c, okrelajc w ten sposb justowanie zawartoci kolumny. Dosunicie za-
wartoci kolumny do lewej oznaczamy liter l, do prawej - znakiem r,
a wyrodkowanie - znakiem c. Zapisu p{szer-kolumn} mona uy do za-
znaczenia, e kolumna ma mie szeroko szer-kolumn. Wewntrz takiej
kolumny tekst jest skadany w prostokt o zadanej szerokoci, z wyrwnywa-
niem obu marginesw. Znak | oznacza, e kolumny maj zosta rozdzielone
pionow kresk.
Wewntrz rodowiska tabular poszczeglne wiersze oddzielamy instruk-
cj \\, a rubryki w wierszu znakiem &. Instrukcja \hline wstawia poziom
lini na ca szeroko tabeli.
\begin{tabular}{|r|l|} \hline
7C0 & heksadecymalnie \\
3700 & oktalnie \\
11111000000 & binarnie \\
\hline \hline
1984 & dziesitnie \\ \hline
\end{tabular}
7C0 heksadecymalnie
3700 oktalnie
11111000000 binarnie
1984 dziesitnie
\begin{tabular}{|p{4.7cm}|} \hline
Ten akapit jest wewntrz pudeka.
Mamy nadziej, e uzyskany
efekt si podoba.\\ \hline
\end{tabular}
Ten akapit jest wewntrz pu-
deka. Mamy nadziej, e uzy-
skany efekt si podoba.
Instrukcj @{...} okrelamy odstp midzy kolumnami. Instrukcja ta usuwa
domylny odstp midzykolumnowy, zastpujc go tym, jaki wyspecyfiko-
wano wewntrz {...}. Stosuje si j czsto do wyrwnywania zestawie
2.11 Wstawki 35
liczbowych wedug cyfr znaczcych. Mona j take wykorzysta do usuni-
cia odstpw w pierwszej i ostatniej kolumnie tabeli, co ilustruje poniszy
przykad.
\begin{tabular}{@{} l @{}} \hline
bez odstpw na brzegach\\ \hline
\end{tabular}
bez odstpw na brzegach
\begin{tabular}{l} \hline
odstpy na brzegach tabeli\\ \hline
\end{tabular}
odstpy na brzegach tabeli
W LATEX-u nie ma mechanizmu pozwalajcego wyrwnywa zestawienia licz-
bowe wedug cyfr znaczcych7, ale efekt ten mona osign, skadajc liczb
w dwch kolumnach: cz cakowit w kolumnie wyrwnywanej do prawego
brzegu oraz cz dziesitn w kolumnie wyrwnanej do lewego. Za pomoc
instrukcji @{,} zastpujemy przecinkiem odstp normalnie wstawiany mi-
dzy kolumnami. Trzeba jednak pamita o koniecznoci wpisywania znaku
& zamiast przecinkw w liczbach. Rubryki rozcigajce si na kilka kolumn
- jak nagwek w poniszym przykadzie - tworzymy posugujc si polece-
niem \multicolumn.
\begin{tabular}{c r @{,} l}
Wyraenie &
\multicolumn{2}{c}{Warto}\\\hline
$\pi$ & 3&1416 \\
$\pi^{\pi}$ & 36&46 \\
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}
Wyraenie Warto
3,1416
36,46
( ) 80662,7
2.11 Wstawki
Wspӳczesne publikacje zawieraj duo rysunkw i tabel. Elementw tych
nie naley dzieli midzy strony i dlatego wymagaj specjalnego potrak-
towania. W sytuacjach, gdy nie mieszcz si one na biecej stronie, na
ogӳ przenosi si je i wstawia na pocztku strony nastpnej. W przypadku
przeniesienia rysunku lub tablicy, pozostae miejsce na stronie wypenia si
tekstem. Tego typu elementy bdziemy nazywa wstawkami.
Aby w peni skorzysta z LATEX-owego mechanizmu wstawek, trzeba cho-
ciaby powierzchownie zrozumie, jak LATEX manipuluje takimi obiektami.
W przeciwnym wypadku wstawki mog si sta rdem irytacji, poniewa
LATEX bdzie je umieszcza wszdzie, tylko nie w miejscach, w ktrym bymy
sobie tego yczyli.
7Do wyrwnywania cyfr mona skorzysta z moliwoci pakietu dcolumn z zestawu
pakietw tools".
36 Skadanie tekstu
Tabela 2.2: Opcjonalny argument rodowisk table i figure
Znak Dopuszczalne miejsce umieszczenia wstawki
h bez przemieszczenia, dokadnie w miejscu uycia (uyteczne
w odniesieniu do niewielkich wstawek);
t na grze strony;
b na dole strony;
p na stronie zawierajcej wycznie wstawki;
! ignorujc wikszo parametrw kontrolujcych umieszcza-
nie wstaweka, przekroczenie wartoci, ktrych moe nie po-
zwoli na umieszczanie nastpnych wstawek na stronie.
aS to takie parametry, jak na przykad maksymalna dopuszczalna liczba wstawek na
stronie.
Do tworzenia wstawek mamy w LATEX-u dwa rodowiska. rodowisko
figure suy do tworzenia rysunkw, a rodowisko table - do tablic. Oba
maj jeden parametr opcjonalny:
\begin{figure}[miejsce] albo \begin{table}[miejsce]
Argument miejsce okrela, gdzie na stronie mona umieci wstawk. Jest
to sekwencja od jednego do piciu znakw: h, t, b, p oraz !. Kady znak
okrela dopuszczalny sposb umieszczenia wstawki; szczegӳowe informacje
zestawiono w tabeli 2.2.
Przykadowa tabela moe zaczyna si tak:
\begin{table}[!hbp]
Argument [!hbp] oznacza, e tabel mona umieci w miejscu, w ktrym
pojawia si w pliku rdowym (h) albo na dole strony (b), albo wreszcie
na osobnej stronie zawierajcej wycznie wstawki (p). Ponadto wstawienie
!" oznacza, e LATEX ma pomin wikszo parametrw kontrolujcych
umieszczanie wstawek. Jeeli instrukcji \table uyto bez opcjonalnego ar-
gumentu, to jego domylnymi wartociami s [tbp].
LATEX umieszcza kad wstawk zgodnie ze specyfikacj autora. Jeeli
wstawki nie mona umieci na biecej stronie, to docza si j albo do
kolejki rysunkw, albo do kolejki tabel8. Po rozpoczciu skadania nowej
strony LATEX sprawdza, czy mona zapeni ca stron wstawkami czekaj-
cymi w kolejce; gdy nie jest to moliwe, pierwsz wstawk z kadej kolejki
traktuje w taki sposb, jak gdyby wanie pojawia si w tekcie: LATEX stara
si j umieci zgodnie z wartociami parametru miejsce (za wyjtkiem h,
gdy nie jest to ju oczywicie moliwe). Nowe wstawki s odpowiednio do-
czane do kolejek. LATEX dba o waciwy porzdek wstawek kadego typu.
8S to kolejki typu FIFO (pierwsze weszo - pierwsze wyszo).
2.11 Wstawki 37
W konsekwencji pojedynczy rysunek, ktrego z jaki wzgldw nie mona
poprawnie wstawi cignie" za sob wszystkie inne rysunki a na koniec
dokumentu. Dlatego:
Jeeli LATEX nie umieszcza wstawek zgodnie z oczekiwaniami,
z reguy jest to spowodowane jedn wstawk blokujc kolejk,
a by moe nawet wszystkie kolejki wstawek.
Wyjaniwszy troch zoony problem umieszczania wstawek, przejdmy do
omwienia kilku pozostaych rzeczy z nimi zwizanych.
Za pomoc instrukcji:
\caption{tekst}
wstawiamy tytu rysunku lub tabeli. Kolejny numer rysunku/tabeli oraz
sowo Rysunek" i Tabela" (lub Tablica" - w zalenoci od tego, z jakiego
pakietu polonizacyjnego korzystamy) zostan wstawione automatycznie.
Nastpujce instrukcje:
\listoffigures oraz \listoftables
dziaaj w sposb analogiczny do instrukcji \tableofcontents, wstawiajc
do dokumentu odpowiednio spis rysunkw oraz spis tabel. Poszczeglnymi
pozycjami w tych spisach bd tytuy rysunkw bd tabel, podane jako
argumenty instrukcji \caption. Jeeli tytuy s dugie, to do spisu mona
przesa ich wersje skrcone, umieszczajc je jako opcjonalny argument
instrukcji \caption:
\caption[Short]{LLLLLoooooonnnnnggggg}
Odsyacze do tabel i rysunkw naley tworzy za pomoc instrukcji \label
oraz \ref.
Polecenie \label naley umieszcza bezporednio za instrukcj \caption. Dobrym
pomysem jest te umieszczenie jej wewntrz argumentu instrukcji \caption (na
przykad na kocu tytuu rysunku czy tabeli). Niektrzy uytkownicy bdnie sdz,
e wystarczy umieci instrukcj label wewntrz rodowiska figure czy table, gdy
tymczasem umieszczenie jej przed poleceniem \caption spowoduje bdy w numerach
odsyaczy.
W kolejnym przykadzie wstawka zawiera prostokt o wymiarach 5 cm
5 cm. Ten sposb postpowania mona wykorzysta w celu zarezerwo-
wania miejsca na rysunki, ktre zostan wklejone pӼniej - do gotowego,
wydrukowanego dokumentu.
Rysunek~\ref{white} jest przykadem Pop-Artu.
\begin{figure}[!hbp]
\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}}
\caption{Pi na pi centymetrw\label{white} }
\end{figure}
38 Skadanie tekstu
W powyszym przykadzie9 LATEX najpierw sprbuje umieci rysunek bez
przesuwania go dokdkolwiek (h). Jeeli okae si to niemoliwe, sprbuje
umieci go na dole strony (b). Jeeli i to okae si niewykonalne, bdzie si
stara umieci rysunek na stronie zawierajcej wycznie wstawki (p). Jeeli
w kolejkach rysunkw i tabel nie ma wstawek pozwalajcych wypeni stron
LATEX rozpocznie now stron i sprbuje umieci na niej rysunek traktujc
go znowu tak, jakby wanie pojawi si w tekcie.
Czasami moe okaza si niezbdne wykonanie instrukcji:
\clearpage albo nawet \cleardoublepage
W wyniku jej zadziaania LATEX umieszcza w dokumencie wszystkie ocze-
kujce w kolejkach wstawki, a nastpnie rozpoczyna skad od nowej strony.
W przypadku uycia instrukcji \cleardoublepage LATEX rozpoczyna od
stronie nieparzystej.
W dalszej czci tego wprowadzenia przedstawimy, jak mona docza
do LATEX-owego dokumentu rysunki w formacie PostScript (por. 4.1).
2.12 Listy
Do pisania listw mona wykorzysta klas letter. Struktura pliku rdowego w przy-
padku listw oczywicie rӿni si od dokumentw z klasy article czy book. Klas
letter zaprojektowano tak, e bezproblemowo moemy napisa pojedynczy list do
przysowiowej cioci", jak i setki listw do rӿnych osb (korespondencja seryjna).
Jeli imi, nazwisko i adres nadawcy maj by identyczne we wszystkich listach, to
deklarujemy je za pomoc polecenia (instrukcja \\ oznacza zamanie wiersza):
\address{imi\\nazwisko\\ adres }
Polecenie \signature suy do zadeklarowania podpisu pod listem. Wewntrz ar-
gumentu polecenia \signature instrukcja \\ suy do rozpoczcia nowego wiersza,
przykadowo:
Dyr. E.~K.~Tor,\\ Przewodniczcy
Zastpcy Dyr. E. K. Tor,
Przewodniczcy Zastpcy
Data jest wstawiana automatycznie. Jeeli chcemy wstawi inn, naley zastosowa
deklaracj \date:
\date{16 Czerwca 1963~r.}
Deklaracje \address, \signature oraz \date zwykle umieszcza si w preambule, ale
mog take wystpi w czci zasadniczej pliku rdowego.
Tre listu powinnimy wpisa wewntrz rodowiska letter. rodowisko to ma je-
den argument, ktrym jest adres osoby, do ktrej piszemy. Wewntrz rodowiska letter
mona skorzysta z kilku prostych polece sucych do umieszczania w odpowiednim
9Zakadajc, e kolejka rysunkw jest pusta.
2.12 Listy 39
miejscu elementw typowego listu10. Do zoenia nagwka listu wykorzystujemy po-
lecenie \opening, a do zakoczenia listu - polecenie \closing. Ponadto s jeszcze
polecenia \ps, do wstawienia post scriptum, oraz \cc, ktre suy do zdefiniowania
wykazu osb, ktre dostan kopi listu.
Oto peny przykad listu:
\documentclass{letter}
\usepackage{polski}
\usepackage[latin2]{inputenc}
\address{Dyr. E.~K.~Tor,\\ Przewodniczcy Zastpcy\\
Firma z~o.o.\\ w/m}
\signature{E.~.K.~Thor}
\begin{document}
% pierwszy list
\begin{letter}{Henryk Potrykus\\ul.~Krtka\\Puck}
\opening{Szanowny Panie}
Z~przykroci zawiadamiam, e paskie podanie
zostao...
\closing{Z~powaaniem}
\cc{cc: Jzef Wujke}
\end{letter}
% drugi list
\begin{letter}{Zofia Potrykus\\ul.~Szkolna\\Reda}
\opening{Szanowa Pani}
W~odpowiedzi na pani pismo...
...
\end{letter}
\end{document}
10Elementy nietypowe zawsze mona umieci, korzystajc z innych polece poznanych
w tym rozdziale.
Rozdzia 3
Wyraenia matematyczne
Nareszcie! W tym rozdziale poznasz najlepsz stron TEX-a, czyli skad wzorw
matematycznych. Ostrzegamy jednak, e przedstawimy tu tylko absolutne pod-
stawy. Chocia wikszoci uytkownikw one wystarczaj, nie zaamuj rk, jeeli
nie poradzisz sobie z jakim skomplikowanym wzorem, tylko raczej zapoznaj si
z moliwociami pakietu AMS -LATEX1 lub innego specjalizowanego pakietu.
3.1 Wstp
Do skadu wyrae matematycznych mamy w LATEX-u specjalny tryb mate-
matyczny. Oznacza to wpisywanie wzorw pomidzy \( i \) albo $ i $, albo
pomidzy \begin{math} oraz \end{math}.
$a$ do kwadratu plus~$b$
do kwadratu rwna si~$c$
do kwadratu. Albo, stosujc
bardziej matematyczne
podejcie, $c^{2}=a^{2}+b^{2}$.
a do kwadratu plus b do kwadratu rwna
si c do kwadratu. Albo, stosujc bardziej
matematyczne podejcie, c 2 = a 2 + b 2.
{\TeX} naley wymawia jako
$\tau\epsilon\chi$.\\[6pt]
100~m$^{3}$ wody \\[6pt]
To pynie z~mojego~$\heartsuit$
TEX naley wymawia jako .
100 m3 wody
To pynie z mojego
Skadajc wiksze wzory, powinnimy je eksponowa, to znaczy wstawia
midzy akapitami w osobnym wierszu. Takie wzory umieszcza si albo
pomidzy \[ i \], albo wewntrz rodowiska displaymath. Ta ostatnia
konstrukcja dotyczy tworzenia wzorw bez adnej numeracji. Do automa-
tycznego numerowania wzorw stosujemy natomiast rodowisko equation.
1CTAN://tex-archive/macros/latex/packages/amslatex.
3.1 Wstp 41
$a$ do kwadratu plus~$b$ do
kwadratu rwna si~$c$ do kwadratu.
Albo, bardziej matematycznie,
\begin{displaymath}
c^{2}=a^{2}+b^{2}
\end{displaymath}
Pierwszy wiersz w~drugim akapicie.
a do kwadratu plus b do kwadratu rwna si c
do kwadratu. Albo, bardziej matematycznie,
c 2 = a 2 + b 2
Pierwszy wiersz w drugim akapicie.
Instrukcje \label oraz \ref su do tworzenia odsyaczy do rwna.
\begin{equation}
\epsilon > 0 \label{eq:eps}
\end{equation}
Ze wzoru (\ref{eq:eps})
otrzymujemy \ldots
0 (3.1)
Ze wzoru (3.1) otrzymujemy
Zwrmy uwag, e inaczej skada si wzory wewntrz akapitu, a inaczej
eksponowane:
$\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}$
lim n
n
k =1
1
k 2 = 2
6
\begin{displaymath}
\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}
\end{displaymath}
lim n
n
k =1
1
k 2 = 2
6
Midzy trybem matematycznym LATEX-a a trybem tekstowym istniej due
rӿnice. Na przykad w trybie matematycznym:
1. LATEX ignoruje prawie wszystkie odstpy oraz znaki koca linii; wszyst-
kie odstpy we wzorach wynikaj albo z kontekstu albo z uycia
specjalnych polece, takich jak \,, \quad lub \qquad.
2. Puste linie s niedozwolone. Obowizuje zasada: jeden wzr - jeden
akapit.
3. Litery we wzorach su do oznaczania nazw zmiennych; zmienne
skadamy inaczej ni zwyky tekst. Jeeli czci wzoru jest zwyky
tekst, to naley posuy si instrukcj \textrm{...}.
\begin{equation}
\forall x \in \mathbf{R}\colon
\qquad x^{2} \geq 0
\end{equation}
x R: x 2 0 (3.2)
\begin{equation}
x^{2} \geq 0\qquad
\textrm{dla kadego }x\in\mathbf{R}
\end{equation}
x 2 0 dla kadego x R (3.3)
42 Wyraenia matematyczne
Matematycy potrafi by niezwykle staranni w doborze odpowiednich sym-
boli. Na przykad we wzorach, w ktrych wystpuj oznaczenia zbiorw
(jak powyszy), czsto stosuje si krj, w ktrym te oznaczenia przypomi-
naj odmian grub", pisan kred na tablicy (A B C ). Symbole takie
wstawiamy do wzoru poleceniem \mathbb z pakietu amsfonts lub amssymb.
Ostatni przykad wyglda wtedy nastpujco:
\begin{displaymath}
x^{2} \geq 0\qquad
\textrm{dla kadego }x\in\mathbb{R}
\end{displaymath}
x 2 0 dla kadego x R
3.2 Grupowanie
Wikszo instrukcji skadu matematyki dotyczy tylko jednego, nastpuj-
cego po instrukcji znaku. Jeeli polecenie ma dotyczy grupy znakw, to
naley je umieci wewntrz pary nawiasw klamrowych {...}.
\begin{equation}
a^x+y \neq a^{x+y}
\end{equation}
a x + y = a x + y (3.4)
3.3 Czci skadowe wyrae matematycznych
W tym podrozdziale opiszemy waniejsze instrukcje do skadu wyrae. Ze-
stawienie wszystkich dostpnych symboli i znakw podajemy w punkcie 3.9
na stronie 51.
Mae litery alfabetu greckiego wprowadzamy, uywajc instrukcji
typu: \alpha, \beta, \gamma itd., a due2: \Delta, \Gamma, itd.
$\lambda,\xi,\pi,\mu,\Phi,\Omega$  
Indeksy grne i wykadniki otrzymujemy za pomoc znaku ^, a dolne
stosujc _.
$a_{1} x^{2} e^{-\alpha t}
a^{3}_{ij} e^{x^2} \neq {e^x}^2$ a 1 x 2 e t a 3i j e x 2
= e x 2
Pierwiastek kwadratowy skadamy poleceniem \sqrt. Wielko znaku
pierwiastka LATEX ustala automatycznie. Zapis samego znaku pierwiastka
2Obecnie brak duej litery Alpha, poniewa wyglda ona identycznie jak pierwsza litera
A alfabetu aciskiego. Sytuacja ta ma si zmieni po wprowadzeniu nowego sposobu
kodowania symboli matematycznych.
3.3 Czci skadowe wyrae matematycznych 43
umoliwia nam instrukcja \surd3. Natomiast pierwiastek stopnia n ska-
damy konstrukcj \sqrt[n].
$\sqrt{x} \sqrt{ x^{2}+\sqrt{y}}
\sqrt[3]{2} \surd[x^2 + y^2]$ xx 2 + y
3 2 [ x 2 + y 2]
Polecenia \overline oraz \underline umieszczaj poziome kreski nad i pod
wyraeniami.
$\overline{m+n} \underline{x+y}$
m + n x + y
Instrukcje \overbrace oraz \underbrace umieszczaj poziome klamry nad
i pod wyraeniami.
$\underbrace{ a+b+\cdots+z }_{26}$ a + b +    + z
26
Akcenty matematyczne, takie jak daszki czy tyldy nad zmiennymi, umiesz-
czamy we wzorze za pomoc instrukcji zestawionych w tabeli 3.1. Szerokie
daszki i tyldy, obejmujce wiele symboli, wstawiamy uywajc instrukcji
\widetilde oraz \widehat. Uycie znaku '" powoduje wstawienie sym-
bolu prim".
\begin{displaymath}
\hat y=x^{2}\quad y'=2x'''
\end{displaymath}
^y = x 2 y = 2 x
Niekiedy wektory wyrӿniamy, wstawiajc akcent w postaci strzaki nad na-
zw zmiennej. Suy do tego polecenie \vec. Natomiast do oznaczenia wek-
tora od punktu A do punktu B korzystamy z polece \overrightarrow
oraz \overleftarrow.
\begin{displaymath}
\vec a\quad\overrightarrow{AB}
\end{displaymath}
a A B
Nazwy funkcji typu logarytm" naley skada odmian prost, nie za
kursyw, zarezerwowan dla nazw zmiennych. Oto lista polece LATEX-a
sucych do skadu rozmaitych funkcji matematycznych:
\arccos \cos \csc \exp \ker \limsup \min \sinh
\arcsin \cosh \deg \gcd \lg \ln \Pr \sup
\arctan \cot \det \hom \lim \log \sec \tan
\arg \coth \dim \inf \liminf \max \sin \tanh
3Taki zapis jest wykorzystywany raczej w literaturze anglosaskiej.
44 Wyraenia matematyczne
\[\lim_{x \rightarrow 0}
\frac{\sin x}{x}=1\] lim x 0
sin x
x = 1
W Polsce nazwy niektrych funkcji trygonometrycznych rӿni si od anglosaskich.
Pakiet platex - po doczeniu do dokumentu - na yczenie zmienia standardowe funkcje
LATEX-a tak, e s one zgodne z polskimi zwyczajami. Oto angielskie oryginay: tan,
coth, tanh, arccos, arcsin i ich polskie odpowiedniki: tg, ctgh, tgh, arccos, arcsin.
Dla funkcji typu modulo istniej dwie instrukcje: \bmod dla binarnego opera-
tora " a mod b " oraz \pmod do skadu takich wyrae jak " x a (mod b )."
Uamki pitrowe skada si poleceniem \frac{...}{...}. Jednak
stosujc uamki zwyke typu 1 2, lepiej zapisywa je z ukon kresk:
$1\frac{1}{2}$~godziny
\begin{displaymath}
\frac{ x^{2} }{ k+1 }\quad
x^{ \frac{2}{k+1} }\quad x^{ 1/2 }
\end{displaymath}
11
2 godziny
x 2
k +1 x
2
k +1 x 1 2
Do skadu dwumianw lub podobnych konstrukcji moemy wykorzysta po-
lecenie {... \choose ...} albo {... \atop ...}. Instrukcja \atop daje
w rezultacie to samo co \choose, tyle tylko e bez nawiasw.
\begin{displaymath}
{n \choose k}\qquad {x \atop y+2}
\end{displaymath}
n
k
x
y +2
Znak caki skadamy poleceniem \int, natomiast znak sumowania za po-
moc instrukcji \sum. Grne granice cakowania/sumowania okrelamy za
pomoc ^ a dolne _, podobnie jak w przypadku indeksw grnych i dol-
nych.
\begin{displaymath}
\sum_{i=1}^{n} \quad
\int_{0}^{\frac{\pi}{2}}
\end{displaymath}
n
i =1
2
0
Do skadu nawiasw i innych ogranicznikw (takich, jak: [ ) uywa
si wielu rӿnych symboli. Nawiasy okrge i kwadratowe wstawiamy bez-
porednio z klawiatury. Nawiasy klamrowe wstawiamy za pomoc polece
\{ oraz \}. Wszystkie inne ograniczniki wstawiamy z uyciem specjalnych
polece (np. \updownarrow). Zestawienie wszystkich dostpnych ogranicz-
nikw znajduje si w tabeli 3.8 na stronie 54.
\begin{displaymath}
{a,b,c}\neq\{a,b,c\}
\end{displaymath}
a b c = a b c
3.4 Odstpy w trybie matematycznym 45
Poprzedzenie otwierajcego ogranicznika poleceniem \left, a zamykajcego
poleceniem \right, powoduje automatyczne ustalenie jego rozmiaru w za-
lenoci od wielkoci zawartego midzy nimi wyraenia. Uwaga: kade uycie
\left oraz ogranicznika wymaga nawiasu zamykajcego poprzedzonego po-
leceniem \right. Gdy ogranicznik ma si pojawi tylko po jednej stronie,
wwczas po drugiej naley uy konstrukcji \left. (po lewej) lub \right.
(po prawej).
\begin{displaymath}
1 + \left( \frac{1}{ 1-x^{2} }
\right) ^3
\end{displaymath}
1+
1
1 x 2
3
W pewnych sytuacjach naley samemu okreli waciw wielko ogranicz-
nika. Do tego celu su instrukcje \big, \Big, \bigg oraz \Bigg, poprze-
dzajce odpowiedni ogranicznik4.
$\Big( (x+1) (x-1) \Big) ^{2}$\\
$\big(\Big(\bigg(\Bigg($\quad
$\big\}\Big\}\bigg\}\Bigg\}$\quad
$\big\|\Big\|\bigg\|\Bigg\|$
( x +1)( x 1)
2
Wielokropek w wyraeniach matematycznych wprowadzamy poleceniem
\ldots. Kropki pojawiaj si wtedy na linii podstawowej, to znaczy na
jednakowej wysokoci z przecinkiem czy kropk. Instrukcja \cdots wstawia
natomiast inny rodzaj wielokropka, w ktrym kropki znajduj si w osi
znakw +, , =. Ponadto s jeszcze instrukcje \vdots oraz \ddots. Pierwsz
z nich skadamy wielokropki pionowe, a drug skone (zobacz przykad
w punkcie 3.5).
\begin{displaymath}
x_{1},\ldots,x_{n} \qquad
x_{1}+\cdots+x_{n}
\end{displaymath}
x 1 x n x 1 +    + x n
3.4 Odstpy w trybie matematycznym
Zdarzaj si sytuacje, kiedy wielko odstpw wewntrz wyrae matema-
tycznych jest nieodpowiednia. Mona jednak skorygowa je samemu za po-
moc odpowiednich instrukcji. Do wprowadzenia niewielkich odstpw suy
kilka polece: \, wstawia odstp rwny 3
18 kwadratu (), \: pozwala uzyska
4Polecenia te nie dziaaj zgodnie z oczekiwaniami, jeeli uprzednio wykorzystano
instrukcje zmieniajce stopie pisma albo opcje 11pt lub 12pt. W takiej sytuacji naley
skorzysta z pakietu exscale albo pakietu amsmath.
46 Wyraenia matematyczne
odstp rwny 4
18 kwadratu ( ) a \; odstp rwny 5
18 kwadratu ( ). Uycie
instrukcji \  (tj. spacja po znaku \") jest rwnoznaczne z utworzeniem
zwykego odstpu midzywyrazowego; \quad z odstpem rwnym kwadra-
towi ( ), a \qquad dwm kwadratom ( ). Odstp uzyskany poleceniem
\quad odpowiada szerokoci litery M" w biecym kroju pisma. Instrukcja
\! wstawia odstp ujemny", to znaczy zamiast zwiksza, zmniejsza odstp
midzy znakami. Wielko tego odstpu wynosi 3
18 kwadratu ().
\newcommand{\ud}{\mathrm{d}}
\begin{displaymath}
\int\!\!\!\int_{D} g(x,y)
\, \ud x\, \ud y
\end{displaymath}
%
zamiast
\begin{displaymath}
\int\int_{D} g(x,y)\ud x \ud y
\end{displaymath}
D
g ( x y )d x d y
zamiast
D
g ( x y )d x d y
Zwrmy uwag, e litera d" w symbolu rӿniczki jest zoona odmian
prost pisma5.
Dziki zdefiniowanym w pakiecie AMS -LATEX6 takim instrukcjom jak
\iint, \iiint, \iiiint oraz \idotsint powyszy przykad mona zoy
duo prociej:
\newcommand{\ud}{\mathrm{d}}
\begin{displaymath}
\iint_{D} \, \ud x \, \ud y
\end{displaymath}
D
d x d y
Wicej wiadomoci na ten temat znajdziemy w pliku testmath.tex, ktry
jest czci pakietu AMS -LATEX lub w rozdziale smym podrcznika The
LATEX Companion7.
3.5 Wyrwnywanie w pionie
Do skadania macierzy wykorzystuje si rodowisko array. Jest ono podobne
do omawianego uprzednio rodowiska tabular. Uywane tu polecenie \\
oznacza przejcie do nowego wiersza macierzy.
5W Polsce do skadu litery d" w rӿniczkach stosuje si kursyw matematyczn.
6 cilej mwic, w pakiecie amsmath.
7CTAN://tex-archive/info/ch8.
3.5 Wyrwnywanie w pionie 47
\begin{displaymath}
\mathbf{X} =
\left( \begin{array}{ccc}
x_{11} & x_{12} & \ldots \\
x_{21} & x_{22} & \ldots \\
\vdots & \vdots & \ddots
\end{array} \right)
\end{displaymath}
X =
x 11 x 12
x 21 x 22
... ... ...
rodowiskiem array moemy si posuy take do skadania wyrae za-
wierajcych tylko jeden ogranicznik, po prawej lub lewej stronie, stosujc
konstrukcj \right. (lub \left.).
\begin{displaymath}
y = \left\{ \begin{array}{ll}
a & \textrm{jeeli $d>c$}\\
b+x & \textrm{rano}\\
l & \textrm{w~cigu dnia}
\end{array} \right.
\end{displaymath}
y =
a jeeli d c
b + x rano
l w cigu dnia
Do skadu wyrae wielowierszowych mona zamiast rodowiska equation
uy rodowisk eqnarray lub eqnarray*. W rodowisku eqnarray kady
wiersz zawartego w nim wyraenia posiada osobny numer; w rodowisku
eqnarray* wiersze nie s numerowane. Dziaanie rodowisk eqnarray oraz
eqnarray* jest zblione do trzykolumnowej tabeli typu {rcl}. W takiej
tabeli w rodkowej kolumnie wstawiamy zwykle znaki rwnoci lub nierw-
noci. Poleceniem \\ amiemy poszczeglne wiersze tej tabeli (rodowiska).
\begin{eqnarray}
f(x) & = & \cos x \\
f'(x) & = & -\sin x \\
\int_{0}^{x} f(y)dy &
= & \sin x
\end{eqnarray}
f ( x ) = cos x (3.5)
f ( x ) = sin x (3.6) x
0
f ( y ) d y = sin x (3.7)
Zwrmy uwag, e po obu stronach znaku rwnoci odstp, ktry wstawi
tam LATEX, jest zbyt duy. Moemy go zmniejszy za pomoc polecenia
\setlength\arraycolsep{2pt}.
LATEX nie dzieli automatycznie wyrae nie mieszczcych sie w jednym
wierszu. Musimy to zrobi sami. Najczciej w taki oto sposb:
{\setlength\arraycolsep{2pt}
\begin{eqnarray}
\sin x & = & x -\frac{x^{3}}{3!}
+\frac{x^{5}}{5!}-{}
\nonumber\\
& & {}-\frac{x^{7}}{7!}+{}\cdots
\end{eqnarray}}
sin x = x x 3
3! + x 5
5!
x 7
7! +    (3.8)
48 Wyraenia matematyczne
\begin{eqnarray}
\lefteqn{ \cos x = 1
-\frac{x^{2}}{2!} +{} }
\nonumber\\
& & {}+\frac{x^{4}}{4!}
-\frac{x^{6}}{6!}+{}\cdots
\end{eqnarray}
cos x = 1 x 2
2! +
+ x 4
4! x 6
6! +    (3.9)
LATEX nie wstawia numeru w tym wierszu wyraenia, w ktrym pojawia si
polecenie \nonumber.
Zoenie w ten sposb duych i skomplikowanych wyrae moe si
jednak okaza zbyt trudne; lepiej wtedy uy pakietu amsmath.
3.6 Stopie pisma
W trybie matematycznym stopie pisma dobierany jest automatycznie,
w zalenoci od kontekstu. Przykadowo, indeksy grne LATEX skada mniej-
sz czcionk. Gdy zachodzi potrzeba zoenia fragmentu normalnego tekstu
wewntrz wyraenia matematycznego, a wykorzystamy polecenie \textrm,
to nie zadziaa mechanizm przeczania stopni pisma. Dzieje si tak dlatego,
e polecenie \textrm powoduje tymczasowe przejcie do trybu tekstowego.
Zamiast \textrm mona uy polecenia \mathrm, ktre zachowuje me-
chanizm zmiany stopni pisma. Pamitajmy jednak, e dziaa on dobrze
w zasadzie tylko dla pojedynczych liter. W dalszym cigu ignorowane s
bowiem odstpy midzy wyrazami, a mechanizm akcentowania nie dziaa
zgodnie z naszymi oczekiwaniami8.
\begin{equation}
2^{\textrm{nd}} \quad
2^{\mathrm{nd}}
\end{equation}
2nd 2nd (3.10)
Czasami musimy wyranie okreli stopie pisma, jakim chcemy si posu-
y. W trybie matematycznym moemy do tego wykorzysta cztery nast-
pujce polecenia:
\displaystyle (123), \textstyle (123), \scriptstyle (123) oraz
\scriptscriptstyle (123).
Zmiana stylu dotyczy take sposobu skadania indeksw grnych i dolnych
takich, jak midzy innymi granice sumowania czy cakowania.
8W pakiecie AMS -LATEX automatyczn zmian stopnia pisma w zalenoci od kontek-
stu umoliwia polecenie \textrm.
3.7 Twierdzenia, definicje, itp. 49
\begin{displaymath}
\mathop{\mathrm{cov}}(X,Y)=
\frac{\displaystyle
\sum_{i=1}^n(x_i-\overline x)
(y_i-\overline y)}
{\displaystyle\biggl[
\sum_{i=1}^n(x_i-\overline x)^2
\sum_{i=1}^n(y_i-\overline y)^2
\biggr]^{1/2}}
\end{displaymath}
cov( X Y ) =
n
i =1
( x i x)( y i y )
n
i =1
( x i x)2
n
i =1
( y i y )2
1 2
Powyszy przykad ilustruje sytuacj, w ktrej naley wykorzysta polecenie
\bigg, poniewa nawiasy utworzone za pomoc konstrukcji \left[ i \right]
s zbyt mae.
3.7 Twierdzenia, definicje, itp.
W pracach matematycznych wystpuje potrzeba wyrӿniania w skadzie
zapisu lematw, definicji, aksjomatw i tym podobnych elementw. Do tego
celu mamy w LATEX-u polecenia:
\newtheorem{nazwa}[nazwa']{tekst}[punkt]
Argument nazwa oznacza nazw rodowiska. Argument tekst to nazwa ele-
mentu, ktra pojawi si na wydruku. Moe to by Twierdzenie", Defi-
nicja" itp. Argumenty w nawiasach kwadratowych s nieobowizkowe. Za
ich pomoc okrelamy sposb numerowania twierdze. Argument nazwa'
to nazwa elementu, ktry zdefiniowano uprzednio poleceniem \newtheorem.
Jeli ten argument podano, to rodowisko nazwa bdzie numerowane w taki
sam sposb co rodowisko nazwa'. Ponadto oba rodowiska maj wspln
a nie osobn numeracj. Argument punkt dotyczy natomiast numerowania
twierdze wewntrz okrelonej jednostki podziau9.
Po umieszczeniu instrukcji \newtheorem{nazwa}... w preambule, ro-
dowisko nazwa mona wykorzystywa w dokumencie w nastpujcy sposb:
\begin{nazwa}[tekst]
Oto moje interesujce twierdzenie
\end{nazwa}
Tyle teoria. Nastpujce przykady, miejmy nadziej, usun wszelkie wtpli-
woci i jednoczenie uwiadomi nam, e polecenie \newtheorem moe by
cokolwiek trudne do zrozumienia.
9 Gdy umiecimy tam na przykad chapter, to elementy bd numerowane w obrbie
rozdziaw.
50 Wyraenia matematyczne
% definicje w~preambule
\newtheorem{twr}{Twierdzenie}
\newtheorem{lem}[twr]{Lemat}
% po \begin{document}
\begin{lem} Pierszy
lemat\dots\label{lem:1} \end{lem}
\begin{twr}[Dyzma]
Przyjmujc w~lemacie~\ref{lem:1},
e $\epsilon=0$\dots \end{twr}
\begin{lem}Trzeci lemat\end{lem}
Lemat 1 Pierszy lemat
Twierdzenie 2 (Dyzma) Przyjmujc w le-
macie 1, e = 0
Lemat 3 Trzeci lemat
Elementy Twierdzenie i Lemat wykorzystuj ten sam licznik. Argument
nieobowizkowy (wewntrz nawiasw kwadratowych) suy do umieszczenia
nazwiska twrcy, komentarza itp.
\newtheorem{mur}{Murphy}[section]
\begin{mur} Jeeli istniej dwa
sposoby lub wicej wykonania czego,
przy czym jeden z~nich prowadzi do
katastrofy, to sposb ten zostanie
przez kogo wybrany.\end{mur}
Murphy 3.7.1 Jeeli istniej dwa sposoby
lub wicej wykonania czego, przy czym jeden
z nich prowadzi do katastrofy, to sposb ten
zostanie przez kogo wybrany.
Numeracja twierdzenia Murphy'ego" jest tu powizana z numeracj ko-
lejnych punktw. Moliwe jest take wykorzystanie do numeracji twierdze
innych jednostek podziau dokumentu, jak rozdziay czy podpunkty.
3.8 Symbole pӳgrube
Wstawianie symboli pӳgrubych jest w LATEX-u zadaniem do trudnym.
By moe jest tak celowo, poniewa amatorzy-skadacze maj skonnoci
do ich naduywania. Poleceniem \mathbf uzyskamy odmian pӳgrub.
Niestety, nie bdzie to pӳgruba kursywa, jak zwykle skadane s symbole
matematyczne. Istnieje, co prawda, polecenie \boldmath, ale mona go uy
jedynie poza trybem matematycznym. Jego dziaanie obejmuje te symbole.
\begin{displaymath}
\mu, M \qquad \mathbf{M} \qquad
\mbox{\boldmath $\mu, M$}
\end{displaymath}
M M M
Zwrmy uwag, e przecinek te jest pӳgruby; efekt to raczej niepodany.
Pakiet amsbsy (doczany przez amsmath) czyni nasze zadanie duo a-
twiejszym. W pakiecie tym wystpuj polecenia \boldsymbol oraz \pmb.
Instrukcja pmb imituje znak pӳgruby przez wydrukowanie dwch nakada-
jcych si na siebie znakw, zoonych w odmianie normalnej. Umoliwia to
stosowanie symboli pӳgrubych, nawet wtedy, gdy w systemie brak odpo-
wiednich fontw.
3.9 Zestawienie symboli matematycznych 51
\begin{displaymath} \mu, M \quad
\boldsymbol{\mu},\boldsymbol{M}\quad
\pmb{\mu}, \pmb{M} \end{displaymath}
M M MMM
3.9 Zestawienie symboli matematycznych
W poniszych tabelach zestawiono wszystkie symbole standardowo dostpne
w trybie matematycznym. Symbole w tabelach 3.12-3.1610 s dostpne, je-
eli mamy zainstalowane dodatkowe fonty matematyczne (AMS math fonts)
i do dokumentu doczymy pakiet amssymb. Jeeli brak jest fontw/pakietu
to jest on dostpny w: CTAN://tex-archive/macros/latex/packages/
amslatex.
Tabela 3.1: Akcenty matematyczne
^a \hat{a} a \check{a}  \tilde{a}  \acute{a}
 \grave{a} a \dot{a}  \ddot{a}  \breve{a}
a \bar{a} a \vec{a} A \widehat{A} A \widetilde{A}
Tabela 3.2: Mae litery alfabetu greckiego
\alpha \theta o o \upsilon
\beta \vartheta \pi \phi
\gamma \iota \varpi \varphi
\delta \kappa \rho \chi
\epsilon \lambda \varrho \psi
\varepsilon \mu \sigma \omega
\zeta \nu \varsigma
\eta \xi \tau
Tabela 3.3: Due litery alfabetu greckiego
 \Gamma  \Lambda  \Sigma  \Psi
 \Delta  \Xi  \Upsilon  \Omega
 \Theta  \Pi  \Phi
10Tabele przygotowano na podstawie pliku symbols.tex (David Carlisle), gruntownie
zmodyfikowanego zgodnie z sugestiami Josefa Tkadleca.
52 Wyraenia matematyczne
Tabela 3.4: Symbole relacji
Odpowiednie symbole negacji mona utworzy poprzedzajc kade z poni-
szych polece instrukcj \not.
< > = =
\leq albo \le \geq albo \ge \equiv
\ll \gg = \doteq
\prec \succ \sim
\preceq \succeq \simeq
\subset \supset \approx
\subseteq \supseteq = \cong
\sqsubset a \sqsupset a \Join a
\sqsubseteq \sqsupseteq \bowtie
\in \ni , \owns \propto
\vdash \dashv = \models
\mid \parallel \perp
\smile \frown \asymp
: : \notin = \neq albo \ne
a Dostpne po doczeniu pakietu latexsym
W trybie matematycznym LATEX wstawia dodatkowy may odstp po przecinku i red-
niku. Natomiast po dwukropku wstawia odstp przed i za znakiem, bo traktuje go jako
znak relacji. Rӿnic przedstawiono w poniszym przykadzie:
Nie $f:A\to B$ ale $f\colon A\to B$ Nie f : A B ale f : A B
Jeeli przecinek oddziela cz cakowit liczby od czci dziesitnej, to wskazane
jest zakaza LATEX-owi wstawiania dodatkowego odstpu, jak to zwykle robi w trybie
matematycznym. Do tego celu wystarczy otoczy przecinek par nawiasw klamrowych;
porwnajmy:
Nie $22,115$
ale $22{,}115$ Nie 22 115 ale 22 115
Ksztaty znakw mniejszy-rwny i wikszy-rwny s rӿne od tych stosowanych w kra-
jach anglosaskich. Po doczeniu pakietu platex standardowe LATEX-owe polecenia \leq
oraz \geq daj w rezultacie polskie wersje tych relacji, tj. , , a nie , .
3.9 Zestawienie symboli matematycznych 53
Tabela 3.5: Symbole operacji dwuargumentowych
+ + -
\pm \mp \triangleleft
 \cdot \div \triangleright
\times \setminus \star
\cup \cap \ast
\sqcup \sqcap \circ
\vee , \lor \wedge , \land  \bullet
\oplus \ominus \diamond
\odot \oslash \uplus
\otimes \bigcirc \amalg
\bigtriangleup \bigtriangledown  \dagger
\lhd a \rhd a  \ddagger
\unlhd a \unrhd a \wr
Tabela 3.6: Symbole zmiennej wielkoci
\sum \bigcup \bigvee \bigoplus \prod \bigcap \bigwedge \bigotimes \coprod \bigsqcup \bigodot \int \oint \biguplus
Tabela 3.7: Strzaki
\leftarrow albo \gets \longleftarrow \uparrow
\rightarrow albo \to \longrightarrow \downarrow
\leftrightarrow \longleftrightarrow \updownarrow
\Leftarrow = \Longleftarrow \Uparrow
\Rightarrow = \Longrightarrow \Downarrow
\Leftrightarrow \Longleftrightarrow \Updownarrow
\mapsto \longmapsto \nearrow
 \hookleftarrow  \hookrightarrow \searrow
\leftharpoonup \rightharpoonup \swarrow
\leftharpoondown \rightharpoondown \nwarrow
\rightleftharpoons \iff \leadsto a
a Dostpne po doczeniu pakietu latexsym
54 Wyraenia matematyczne
Tabela 3.8: Ograniczniki
( ( ) ) \uparrow \Uparrow
[ [ albo \lbrack ] ] albo \rbrack \downarrow \Downarrow
\{ or \lbrace \} albo \rbrace \updownarrow \Updownarrow
\langle \rangle | or \vert \| or \Vert
\lfloor \rfloor \lceil \rceil
/ \backslash
Tabela 3.9: Due ograniczniki
\lgroup
\rgroup
\lmoustache
\rmoustache \arrowvert \Arrowvert \bracevert
Tabela 3.10: Symbole rӿne
\dots    \cdots ... \vdots ... \ddots
\hbar \imath \jmath \ell
\Re \Im \aleph \wp
\forall \exists \mho a \partial
' \prime \emptyset \infty
\nabla \triangle \Box a \Diamond a
\bot \top \angle \surd
\diamondsuit \heartsuit \clubsuit \spadesuit
\neg albo \lnot \flat \natural \sharp
a Dostpne po doczeniu pakietu latexsym
Tabela 3.11: Symbole niematematyczne
 \dag  \S c \copyright  \ddag  \P $ \pounds
Wszystkie polecenia s take dostpne w trybie tekstowym
Tabela 3.12: Ograniczniki (pakiet AMS)
\ulcorner \urcorner  \llcorner  \lrcorner
Tabela 3.13: Symbole Greckie i Hebrajskie (pakiet AMS)
 \digamma  \varkappa \beth \daleth \gimel
3.9 Zestawienie symboli matematycznych 55
Tabela 3.14: Symbole relacji (pakiet AMS)
\lessdot \gtrdot \doteqdot albo \Doteq
\leqslant \geqslant \risingdotseq
\eqslantless \eqslantgtr \fallingdotseq
\leqq \geqq P \eqcirc
\lll albo \llless \ggg albo \gggtr \circeq
\lesssim \gtrsim \triangleq
\lessapprox \gtrapprox \bumpeq
\lessgtr \gtrless \Bumpeq
Q \lesseqgtr R \gtreqless \thicksim
S \lesseqqgtr T \gtreqqless \thickapprox
\preccurlyeq \succcurlyeq \approxeq
\curlyeqprec \curlyeqsucc \backsim
\precsim \succsim \backsimeq
\precapprox \succapprox  \vDash
\subseteqq \supseteqq \Vdash
\Subset \Supset \Vvdash
\sqsubset \sqsupset \backepsilon
\therefore \because \varpropto
\shortmid \shortparallel G \between
\smallsmile \smallfrown \pitchfork
C \vartriangleleft B \vartriangleright J \blacktriangleleft
E \trianglelefteq D \trianglerighteq I \blacktriangleright
Tabela 3.15: Strzaki (pakiet AMS)
L \dashleftarrow K \dashrightarrow \multimap
\leftleftarrows \rightrightarrows \upuparrows
\leftrightarrows \rightleftarrows \downdownarrows
W \Lleftarrow V \Rrightarrow \upharpoonleft
\twoheadleftarrow \twoheadrightarrow \upharpoonright
\leftarrowtail \rightarrowtail \downharpoonleft
\leftrightharpoons \rightleftharpoons \downharpoonright
\Lsh \Rsh \rightsquigarrow
\looparrowleft \looparrowright \leftrightsquigarrow
 \curvearrowleft  \curvearrowright
\circlearrowleft \circlearrowright
56 Wyraenia matematyczne
Tabela 3.16: Negacje symbolw relacji i strzaek (pakiet AMS)
\nless \ngtr \varsubsetneqq
\lneq \gneq \varsupsetneqq
\nleq \ngeq \nsubseteqq
\nleqslant \ngeqslant \nsupseteqq
\lneqq \gneqq \nmid
\lvertneqq  \gvertneqq \nparallel
\nleqq \ngeqq \nshortmid
\lnsim \gnsim \nshortparallel
\lnapprox \gnapprox \nsim
\nprec \nsucc \ncong
\npreceq  \nsucceq \nvdash
\precneqq \succneqq \nvDash
\precnsim \succnsim \nVdash
\precnapprox \succnapprox \nVDash
\subsetneq \supsetneq \ntriangleleft
\varsubsetneq \varsupsetneq \ntriangleright
\nsubseteq \nsupseteq \ntrianglelefteq
\subsetneqq \supsetneqq \ntrianglerighteq
\nleftarrow \nrightarrow \nleftrightarrow
\nLeftarrow \nRightarrow \nLeftrightarrow
Tabela 3.17: Relacje dwuargumentowe (pakiet AMS)
\dotplus \centerdot \intercal
\ltimes \rtimes \divideontimes
\Cup or \doublecup \Cap or \doublecap \smallsetminus
Y \veebar Z \barwedge \doublebarwedge
 \boxplus \boxminus \circleddash
\boxtimes \boxdot \circledcirc
\leftthreetimes \rightthreetimes \circledast
\curlyvee \curlywedge
3.9 Zestawienie symboli matematycznych 57
Tabela 3.18: Rӿne symbole (pakiet AMS)
\hbar \hslash \Bbbk
\square \blacksquare \circledS
M \vartriangle N \blacktriangle  \complement
O \triangledown H \blacktriangledown \Game
\lozenge \blacklozenge F \bigstar
\angle \measuredangle \sphericalangle
\diagup \diagdown \backprime
\nexists \Finv \varnothing
\eth \mho
Tabela 3.19: Kroje pisma dostpne w trybie matematycznym
Przykad Polecenie Wymagany pakiet
ABCdef \mathrm{ABCdef}
ABCdef \mathit{ABCdef}
A B C d e f \mathnormal{ABCdef}
A B C \mathcal{ABC}
\mathcal{ABC} mathrsfs
\mathcal{ABC} eucal z opcj: mathcal albo
\mathscr{ABC} eucal z opcj: mathscr
\mathfrak{ABCdef} eufrak
ABC \mathbb{ABC} amsfonts albo amssymb
Rozdzia 4
Rysunki, skorowidze
Kolej na opis moliwoci LATEX-a przydatnych podczas prac nad wikszymi do-
kumentami, tj. doczania rysunkw, tworzenia skorowidzw i spisw literatury.
Bardziej szczegӳowy opis tych i podobnych zagadnie znajdziemy w LATEX Ma-
nual [4] i The LATEX Companion [2].
4.1 Doczanie grafiki w formacie EPS
rodowisko figure pozwala zarezerwowa miejsce na wstawienie rysunku
do dokumentu LATEX-owego.
Rysunki moemy tworzy na wiele sposobw przy wykorzystaniu stan-
dardowych oraz niestandardowych pakietw LATEX-a. Trzeba jednak przy-
zna, e dla wikszoci uytkownikw, nauka posugiwanie si tymi pakie-
tami jest trudna a tworzenie rysunkw za ich pomoc pracochonne. Dlatego
nie bdziemy si ju nimi dalej zajmowa. Zainteresowanych odsyamy do
The LATEX Companion [2] oraz LATEX Manual [4].
Znacznie prostszym sposobem wstawiania rysunkw do dokumentu jest
uprzednie ich przygotowanie za pomoc wyspecjalizowanych programw
graficznych, takich jak XFig, CorelDraw!, Freehand, Gnuplot, itd., a nastp-
nie doczenia gotowych rysunkw do dokumentu. Take i tym przypadku
mona to wykona na wiele sposobw. W tym wprowadzeniu przedstawimy
tylko doczanie grafiki w formacie EPS (Encapsulated PostScript) z uwagi
na to, e jest to sposb prosty a do tego zdecydowanie najpowszechniej wy-
korzystywany. Po to eby wykorzystywa grafik w formacie EPS potrzebna
jest drukarka z wbudowanym interpreterem jzyka PostScript1
Program ghostscript jest interpreterem jzyka PostScript o statusie oprogramowania
freeware. Obsuguje kilkadziesit rӿnorakich urzdze, w tym wiele popularnych dru-
karek oraz kart graficznych. Pozwala on obejrze dokument na ekranie przed drukiem.
1Zamiast interpretera w drukarce moemy uy programu ghostscript dostpnego,
np. w CTAN://tex-archive/support/ghostscript.
4.1 Doczanie grafiki w formacie EPS 59
Nie mamy takiej moliwoci wykorzystujc interpreter w drukarce. Program ghostscript
jest dostpny na wszystkich popularnych platformach systemowych.
Do doczenia rysunkw do dokumentu mona skorzysta z polece pakietu
graphicx (autor: D. P. Carlisle). Pakiet ten jest czci zestawu pakietw
zwanego graphics"2.
Zakadajc, e dysponujemy interpreterem jzyka PostScript oraz pakie-
tem graphicx, doczanie grafiki mona przedstawi nastpujco:
1. Zapisujemy rysunek w formacie EPS3.
2. Doczamy pakiet graphicx do preambuy dokumentu:
\usepackage[dvi-ps]{graphicx}
gdzie dvi-ps oznacza nazw sterownika wykorzystywanego do zamiany
pliku .dvi na plik postscriptowy. Najczciej uywanym do tego celu
programem jest dvips. Nazwa sterownika jest tu konieczna z uwagi
na brak standardu dotyczcego doczania grafiki PostScriptowej do
dokumentw LATEX-owych. Podanie nazwy pozwala na wybr metody
specyficznej dla danego sterownika.
3. Instrukcj:
\includegraphics[klucz=warto, ]{plik}
doczamy plik do dokumentu. Parametr opcjonalny jest list, od-
dzielonych przecinkami kluczy o okrelonych przez nas wartociach.
Klucze wykorzystujemy do zmian parametrw rysunku, tj. szerokoci
czy wysokoci rysunku oraz kta obrotu. W tablicy 4.1 zamieszczono
najwaniejsze klucze.
Tabela 4.1: Nazwy kluczy w pakiecie graphicx
width skalowanie rysunku do szerokoci width;
height skalowanie rysunku do wysokoci height;
angle obrt (przeciwnie do ruchu wskazwek zegara);
scale skalowanie rwnomierne.
Poniszy przykad pozwoli nam lepiej zrozumie to, co zostao przedsta-
wione w powyszych punktach:
2CTAN://tex-archive/macros/latex/packages/graphics
3Jeeli program graficzny, ktrym si posugujemy nie pozwala nam na to, sprbujmy
zainstalowa sterownik do drukarki postscriptowej w rodzaju Apple Laser Writer i druko-
wa za pomoc tego sterownika do pliku. Przy odrobinie szczcia plik wynikowy bdzie
w formacie EPS. Pamitajmy jednak, e pliki w tym formacie maj tylko jedn stron.
Sterowniki niektrych drukarek mona jawnie ustawi wanie do tworzenia plikw w tym
formacie.
60 Rysunki, skorowidze
\begin{figure}
\begin{center}
\includegraphics[angle=90,width=0.5\textwidth]{test.eps}
\end{center}
\end{figure}
Doczony zostaje rysunek zawarty w pliku test.eps. Rysunek najpierw
obracamy o 90 stopni w kierunku przeciwnym do ruchu wskazwek zegara
a nastpnie przeskalowujemy tak, aby jego szeroko bya rwna poowie sze-
rokoci szpalty. Skalowanie grafiki jest rwnomierne z uwagi na brak klucza
height. Szeroko i wysoko rysunku moemy take okreli przy uyciu
miar bezwzgldnych. W tabeli 5.5 zamieszczono zestawienie jednostek miar
w LATEX-u. Wicej informacji dotyczcej powyszych zagadnie znajdziemy
w [1] oraz [11].
4.2 Spis literatury
Do przygotowania spisu literatury uywamy rodowiska thebibliography.
Kada pozycja w tym spisie rozpoczyna si poleceniem:
\bibitem{etykieta}
Etykiet posugujemy si do cytowania oznaczonej ni pozycji w dokumen-
cie:
\cite{etykieta}
Numerowanie pozycji literaturowych jest automatyczne (polecenia \bibitem
i \cite dziaaj podobnie jak opisane ju instrukcje \label i \ref). rodo-
wisko thebibliography ma jeden parametr, ktry powinien zawiera tekst
rwny szerokoci (lub szerszy) od najszerszej etykiety ze spisu. W przyka-
dzie poniej 99" oznacza, e numery pozycji w spisie bd co najwyej
dwucyfrowe.
Partl~\cite{pa} zaproponowa,
eby \ldots
\begin{thebibliography}{99}
\bibitem{pa} H.~Partl:
\emph{German \TeX},
TUGboat Vol.~9, No.~1 ('88)
\end{thebibliography}
Partl [1] zaproponowa, eby
Spis literatury
[1] H. Partl: German TEX, TUGboat Vol. 9,
No. 1 ('88)
Do wikszych projektw przydaje si program o nazwie BibTEX. Program
ten znajduje si w kadej wspӳczesnej dystrybucji TEX-a. BibTEX korzysta
4.3 Skorowidze 61
z bazy bibliograficznej (biblioteki), z ktrej wybiera tylko te pozycje lite-
raturowe, ktre byy cytowane w dokumencie. Sposb formatowania spisw
literatury jest sterowany za pomoc specjalnych szablonw, ktrych mody-
fikacja umoliwia zmian ukadu graficznego spisu.
Po przetworzeniu pliku, na podstawie zawartoci etykiet, zapisanych do pliku .aux
przez LATEX-a, BibTEX tworzy spis literatury obejmujcy tylko te pozycje z biblioteki
(zwykle plik ten ma rozszerzenie .bib), ktre cytowano w dokumencie. Format spisu
zaley od specyfikacji szablonu znajdujcej si w pliku o rozszerzeniu .bst i zapisywany
jest do pliku o rozszerzeniu .bbl. Do poprawnego sformatowania bibliografii i cytowa
konieczne jest przynajmniej trzykrotne przetworzenie dokumentu LATEX-em.
4.3 Skorowidze
Niezwykle uytecznym elementem wielu ksiek jest skorowidz. Mona go
bardzo atwo utworzy za pomoc LATEX-a oraz programu wspomagajcego
o nazwie makeindex4. W tym wprowadzeniu omwimy jedynie podstawowe
polecenia dotyczce przygotowania skorowidzy. Znowu wicej informacji
znajdziemy w The LATEX Companion [2].
Generowanie hase do skorowidza jest moliwe dopiero po doczeniu
w preambule dokumentu pakietu o nazwie makeidx:
\usepackage{makeidx}
oraz wstawieniu (take w obrbie preambuy) instrukcji:
\makeindex
Kade haso wstawiamy do skorowidza poleceniem:
\index{haso}
gdzie haso oznacza pozycj w skorowidzu. Polecenie \index{haso} umiesz-
czamy w pliku rdowym bezporednio w miejscu zwizanym z okrelonym
hasem. W tabeli 4.2 przedstawiono przykady uycia hase.
Podczas przetwarzania pliku rdowego przez LATEX-a kada instrukcja
\index powoduje zapisanie odpowiedniej pozycji skorowidza oraz numeru
strony, ktrego ta pozycja dotyczy do pliku pomocniczego. Plik ten ma t
sam nazw co gwny plik rdowy i rozszerzenie .idx. Z kolei plik .idx
musi by przetworzony za pomoc programu makeindex, piszemy:
makeindex plik
4Lub makeidx, jeli nasz system operacyjny nie pozwala uywa nazw duszych ni
8 znakw.
62 Rysunki, skorowidze
Tabela 4.2: Przykady skadni polecenia \index
Przykad Argument Uwagi
\index{kot} kot, 1 haso pierwszego stopnia
\index{kot!rudy} rudy, 3 haso drugiego stopnia
\index{Sam@\textsl{Sam}} Sam, 2 haso sformatowane
\index{Lin@\textbf{Lin}} Lin, 7 ditto
\index{Jenny|textbf} Jenny, 3 formatowanie numeru strony
\index{Joe|textit} Joe, 5 ditto
W rezultacie program makeindex tworzy posortowany skorowidz i zapisuje
go do pliku o nazwie identycznej z nazw gwnego pliku rdowego i roz-
szerzeniu .ind. Jeeli teraz jeszcze raz przetworzymy plik rdowy, to tym
razem taki skorowidz zostanie doczony do dokumentu w miejscu, w ktrym
znajduje si polecenie:
\printindex
Pakiet showidx, ktry znajduje si w standardowej dystrybucji LATEX-a
drukuje pozycje skorowidza na lewym marginesie. Jest on przydatny do
korekt lub/i tworzenia skorowidza.
Reguy sortowania skorowidza s specyficzne dla danego jzyka. W przypadku pracy nad
polskim dokumentem program makeindex jest nieprzydatny gdy sortuje hasa tylko
wedug zasad jzyka angielskiego. Zmodyfikowan wersj programu makeindex jest
plmindex, (autor: Wodzimierz Macewicz) zdolny do tworzenia skorowidza zarwno
wedug regu angielskich, jak i polskich. Program jest dostpny, np. w ftp://ftp.
gust.org.pl/TeX/GUST/contrib/GUSTPROG/plmindex.zip. Wicej informacji na
temat polskich zasad tworzenia skorowidzw mona znale w [9].
4.4 Paginy grne i dolne
Pakiet fancyhdr (autor Piet van Oostrum)5 udostpnia polecenia, ktrymi
definiujemy wasne paginy. Zwrmy uwag na rӿnice w wygldzie pagin
na stronach: biecej i poprzedniej. Oprcz numeru strony, w paginie grnej
na stronie nieparzystej znajduje si tytu rozdziau, a na stronie nieparzystej
dodatkowo tytu punktu. Tak pagin fachowo nazywa si yw pagin.
Za pomoc LATEX-a mona atwo poradzi sobie z automatycznym
umieszczaniem odpowiedniej informacji w ywej paginie. LATEX rozwizuje
ten problem nastpujco. W definicjach polece skadajcych paginy wyko-
nanie instrukcji \rightmark oraz \leftmark wstawia odpowiedni tytu roz-
dziau, punktu lub cokolwiek innego. Poleceniom \rightmark i \leftmark
5Dostpny w: CTAN://tex-archive/macros/latex/contrib/supported/fancyhdr/.
4.5 Pakiet verbatim 63
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
% zmiana liter w~ywej paginie na mae
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{} % usu biece ustawienia pagin
\fancyhead[LE,RO]{\small\bfseries\thepage}
\fancyhead[LO]{\small\bfseries\rightmark}
\fancyhead[RE]{\small\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % pionowy odstp na kresk
\fancypagestyle{plain}{%
\fancyhead{} % usu p. grne na stronach pozbawionych
% numeracji (plain)
\renewcommand{\headrulewidth}{0pt} % pozioma kreska
}
Rysunek 4.1: Przykad wykorzystania pakietu fancyhdr
jest nadawane nowe znaczenie (nowe wartoci) za kadym wykonaniem in-
strukcji skadania tytuu rozdziau i punktu (\chapter, \section).
W rzeczywistoci, \chapter oraz inne polecenia podziau logicznego
dokumentu nie zmieniaj definicji polece \rightmark i \leftmark. Od-
wouj si one natomiast do polece \chaptermark, \sectionmark, lub
\subsectionmark. Dopiero uycie tych instrukcji powoduje zmian definicji
polece \rightmark i \leftmark.
Do zmiany postaci tytuu rozdziau w gwce wystarczy modyfikacja
polecenia \chaptermark. Rysunek 4.1 przedstawia takie wykorzystanie pa-
kietu, e paginy grne bd wyglda mniej wicej tak, jak w tym podrcz-
niku. Kompletny opis pakietu znajduje si w jego dokumentacji dostpnej
pod adresem podanym w ostatnim przypisie.
4.5 Pakiet verbatim
Pakiet verbatim udostpnia poprawion wersj standardowego rodowiska
verbatim (opisanego na stronie 33). Oprcz wielu drobnych ale istotnych
ulepsze pakiet udostpnia polecenie:
\verbatiminput{plik}
64 Rysunki, skorowidze
ktre pozwala doczy dosownie (verbatim) plik tekstowy do dokumentu,
tak jakby jego zawarto znajdowaa si wewntrz rodowiska verbatim.
Pakiet verbatim jest czci zestawu pakietw tools". Zestaw ten wcho-
dzi w skad standardowej dystrybucji LATEX-a. Wicej szczegӳw jest w [12].
Rozdzia 5
Adaptowanie LATEX-a
Dokumenty skadane z wykorzystaniem poznanych do tej pory polece zapewne
bd si podoba zdecydowanej wikszoci czytelnikw. Chocia ich wygld nie
bdzie moe wyrafinowany, z pewnoci jednak speni podstawowe zasady skadu,
dziki czemu atwo i przyjemnie bdzie si je czytao.
W niektrych wypadkach moe si jednak okaza, e brakuje polecenia czy
rodowiska, za pomoc ktrego moglibymy zoy dany fragment tekstu w sposb
odpowiadajcy potrzebom, albo te, e sposb dziaania dostpnej w LATEX-u
instrukcji nie spenia naszych wymaga.
W tym rozdziale przedstawimy, jak nauczy LATEX-a formatowa dokumenty
tak, aby wyglday inaczej, ni w przypadku korzystania tylko ze standardowych
klas i pakietw.
5.1 Definiowane instrukcji i rodowisk
Czytelnicy zapewne zauwayli, e nowo wprowadzane w tej ksice polecenia
ukazuj si w ramkach oraz, e znajduj si w skorowidzu. Aby to osign,
nie korzystalimy za kadym razem z wbudowanych w LATEX-a instrukcji,
tylko utworzylimy wasny pakiet, w ktrym zawarlimy nowe, potrzebne
nam polecenia i rodowiska. Majc taki pakiet, wystarczy po prostu napisa:
\begin{command}
\ci{polecenie}
\end{command}
\polecenie
W tym przykadzie uylimy zarwno nowego rodowiska o nazwie command,
odpowiedzialnego za rysowanie ramek dookoa instrukcji, jak te nowego
polecenia \ci, sucego do skadu nazw polece i wprowadzania ich do
skorowidza. Proponujemy Czytelnikom odszukanie hasa \polecenie w sko-
rowidzu; przy hale powinny by podane numery stron, na ktrych ta in-
strukcja wystpuje w ksice.
66 Adaptowanie LATEX-a
We wstpie do tego opracowania wspomnielimy, e w LATEX-u moemy si skupi
na logicznej strukturze dokumentw. Wskazane jest rozrӿnianie w tekcie rdowym
wszystkich elementw logicznych dokumentu, nawet jeeli ich formatowanie jest iden-
tyczne. Czsto to, co dzisiaj formatujemy jednakowo, w przyszoci moemy chcie
rozrӿni. Przykadowo, adresy internetowe zwyko si skada imitacj kroju maszyno-
wego, a poniewa w adresach mog wystpi znaki specjalne LATEX-a, mona by do tego
celu wykorzystywa po prostu instrukcj \verb. Jednak lepiej uy specjalnej instrukcji,
np. \url. W dokumencie drukowanym na papierze nie ma to znaczenia, ale oznako-
wanie logiczne umoliwia przedstawienie dokumentu nie tylko w formie drukowanej, ale
te w wersji hipertekstowej, w formacie HTML czy PDF.
5.1.1 Instrukcje definiowane przez uytkownika
Do definiowania nowych polece suy instrukcja:
\newcommand{nazwa}[num]{tekst}
Instrukcja ta wymaga co najmniej dwch argumentw. Pierwszy z nich, na-
zwa, oznacza nazw nowej instrukcji, natomiast tekst to jej znaczenie, czyli
tekst, ktry ma zosta wstawiony do skadu w momencie wykonania instruk-
cji. Podawany w nawiasach kwadratowych argument num to liczba od 1 do 9
okrelajca liczb (obowizkowych) argumentw instrukcji. Argument num
jest opcjonalny, a jego pominicie oznacza, e definiowana instrukcja jest
bezargumentowa.
W czci tekst wolno uywa zarwno standardowych instrukcji LATEX-a, jak i zdefinio-
wanych wczeniej przez uytkownika (za wyjtkiem tych instrukcji, ktre same definiuj
inne polecenia, jak \newcommand, \newenvironment itp.). Niedozwolona jest rekursja.
W nazwie instrukcji nie wolno umieszcza polskich liter diakrytycznych.
Nastpujce przykady pomog lepiej zrozumie zagadnienie. W pierwszym
definiujemy instrukcj o nazwie \kwle, majc by skrtem dla sw Krt-
kie wprowadzenie do systemu LATEX2 ". Takie polecenie mogoby si przy-
da, gdyby tytu ksiki mia by wypisywany wielokrotnie.
\newcommand{\kwle}{Krtkie
wprowadzenie do systemu \LaTeXe}
% nastpnie po \begin{document}:
\kwle; \emph{\kwle}
Krtkie wprowadzenie do systemu LATEX2 ;
Krtkie wprowadzenie do systemu LATEX2
Nastpny przykad ilustruje sposb wykorzystania opcjonalnego argumentu
num. Znacznik #1 oznacza pierwszy parametr formalny (#2 oznaczaby drugi
parametr formalny, #3 trzeci itd.). W chwili wykonania instrukcji parametry
formalne s zamieniane na argumenty podane przy jej wywoaniu (parame-
try aktualne). Instrukcja w poniszym przykadzie ma jeden parametr.
5.1 Definiowane instrukcji i rodowisk 67
\newcommand{\wle}[1]
{\emph{#1} wprowadzenie
do systemu \LaTeXe}
% nastpnie po \begin{document}:
\wle{Krtkie}; \wle{Dugie}
Krtkie wprowadzenie do systemu LATEX2 ;
Dugie wprowadzenie do systemu LATEX2
LATEX nie pozwala definiowa instrukcji, ktrej nazwa, jest nazw zdefi-
niowanego ju polecenia. W wypadku, gdy chcemy zmieni znaczenie ju
istniejcej instrukcji, naley uy polecenia \renewcommand. Za wyjtkiem
nazwy ma ono skadni identyczn jak \newcommand. Czasami moe si przy-
da polecenie \providecommand. Dziaa ono jak \newcommand z tym, e jeli
istnieje ju polecenie o takiej samej nazwie, to nie zastpuje ono starej i zwy-
czajnie ignoruje now.
5.1.2 rodowiska definiowane przez uytkownika
Odpowiednikiem instrukcji \newcommand, definiujcej nowe polecenia, jest
dla rodowisk instrukcja \newenvironment. Ma ona nastpujc skadni:
\newenvironment{nazwa}[num]{pocztek}{koniec}
Podobnie jak w wypadku \newcommand, instrukcji \newenvironment mona
uy z argumentem opcjonalnym lub bez. LATEX wstawia tekst pocztek
w miejsce \begin{nazwa}. Natomiast tekst koniec jest wstawiany w miejsce
\end{nazwa}.
Poniszy przykad ilustruje sposb uycia instrukcji \newenvironment.
\newenvironment{zrodlo}
{rdo: }{\par}
% nastpnie po \begin{document}:
\begin{zrodlo} Rocznik Statystyczny
GUS. \end{zrodlo}
rdo: Rocznik Statystyczny GUS.
Znaczenie argumentu num jest takie samo jak w instrukcji \newcommand.
LATEX nie pozwala zdefiniowa rodowiska o ju istniejcej nazwie.
W wypadku, gdy chcemy zmieni znaczenie ju istniejcego rodowiska, na-
ley uy polecenia \renewenvironment, majcego tak sam skadni jak
\newenvironment.
5.1.3 Wasne pakiety
W wypadku zdefiniowania wielu nowych rodowisk i polece preambua do-
kumentu moe si znacznie wyduy. Dobrze w takiej sytuacji jest stworzy
pakiet zawierajcy wasne instrukcje i definicje rodowisk. Taki pakiet mona
doczy do dokumentu za pomoc polecenia \usepackage.
68 Adaptowanie LATEX-a
% Przykadowy pakiet ***
\ProvidesPackage{demopack}
\newcommand{\kwle}{Krtkie wprowadzenie do systemu \LaTeXe}
\newcommand{\wle}[1]{\emph{#1} wprowadzenie
do systemu \LaTeXe}
\newenvironment{zrodlo}{rdo: }{\par}
Rysunek 5.1: Przykadowy pakiet
Tworzenie pakietu polega na skopiowaniu polece z preambuy do od-
dzielnego pliku o rozszerzeniu .sty. Na pocztku pakietu naley uy pole-
cenia:
\ProvidesPackage{nazwa}
Dziki instrukcji \ProvidesPackage LATEX poznaje nazw pakietu, a to
pozwoli mu na przykad ostrzec uytkownika w przypadku prby powtrnego
doczenia pakietu do dokumentu. Rysunek 5.1 przedstawia niewielki pakiet
z instrukcjami z przedstawionych wyej przykadw.
5.2 Fonty
5.2.1 Instrukcje przeczajce stopie pisma
LATEX automatycznie wybiera krj i stopie pisma dla rӿnych elementw
dokumentu (tytuy rozdziaw, punktw, przypisy itp.). Czasami jednak
zachodzi potrzeba rcznego" przeczenia kroju/stopnia pisma. W tym
celu mona skorzysta z polece zestawionych w tabelach 5.1 i 5.2. Stopie
pisma jest kwesti ukadu graficznego dokumentu i zaley od wybranej klasy
dokumentu i ustawienia odpowiednich opcji. W tabeli 5.3 zestawiono stopnie
pisma w jednostkach absolutnych dla polece zmieniajcych wielko kroju
w przypadku standardowych klas dokumentu.
{\small Nieliczni lecz
\textbf{odwani} Rzymianie rzdzili}
{\Large wielk \textit{Itali}.}
Nieliczni lecz odwani Rzymianie rzdzili
wielk Itali.
Biecy font charakteryzuje w LATEX-u pi elementw: ukad (zestaw zna-
kw), krj (rodzin), grubo i szeroko, odmian, stopie i interlini. Kady
z nich mona dobra niezalenie od ustawienia pozostaych. Oznacza to na
przykad, e zmiana stopnia pisma nie powoduje zmiany kroju czy odmiany.
5.2 Fonty 69
Tabela 5.1: Polecenia wyboru krojw i odmian
\textrm{...} krj szeryfowy \textsf{...} krj bezszeryfowy
\texttt{...} grotesk
\textmd{...} pismo jasne \textbf{...} pismo grube
\textup{...} odmiana prosta \textit{...} kursywa
\textsl{...} odmiana pochya \textsc{...} kapitaliki
\emph{...} wyrӿnienie
\textnormal{...} gwny font dokumentu
Tabela 5.2: Polecenia wyboru stopnia pisma i interlinii
\tiny mikroskopijny
\scriptsize bardzo may
\footnotesize mniejszy
\small may
\normalsize normalny
\large duy
\Large wikszy
\LARGE bardzo duy
\huge ogromny
\Huge najwikszy
Wewntrz trybu matematycznego mona wykorzysta instrukcje zmiany
fontu do chwilowego opuszczenia trybu matematycznego i zoenia tekstu
normalnym krojem.
Przy okazji omawiania polece dotyczcych fontw trzeba wspomnie
o koncepcji grupowania tekstu. Grupa rozpoczyna si od znaku {", a ko-
czy znakiem }". Grupy su do ograniczania zasigu dziaania polece
LATEX-a. Przyjrzyjmy si nastpujcemu przykadowi:
Lubi {\LARGE due oraz
{\small mae} litery} i~cyfry. Lubi due oraz mae litery i cyfry.
Pierwszy nawias klamrowy rozpoczyna grup, potem polecenie \LARGE zmienia stopie
pisma na bardzo duy, w ktrym zostanie zoony napis due oraz". Kolejny otwiera-
jcy nawias klamrowy zaczyna nastpn grup. Polecenie \small zmienia stopie pisma
na may. W tym stopniu zoone jest tylko sowo mae", poniewa nawias }" zamyka
grup. Po zamkniciu grupy nastpuje powrt do stopnia pisma aktualnego przed jej
rozpoczciem, czyli \LARGE. W nim zostanie zoone sowo litery". Zamknicie tej
grupy spowoduje, e reszt tekstu LATEX zoy w wyjciowym stopniu pisma. Jak wida,
grupy mona zagnieda (nawet wielokrotnie).
70 Adaptowanie LATEX-a
Tabela 5.3: Wielko stopnia pisma w klasach standardowych
Stopie 10pt opcja 11pt opcja 12pt
\tiny 5pt 6pt 6pt
\scriptsize 7pt 8pt 8pt
\footnotesize 8pt 9pt 10pt
\small 9pt 10pt 11pt
\normalsize 10pt 11pt 12pt
\large 12pt 12pt 14pt
\Large 14pt 14pt 17pt
\LARGE 17pt 17pt 20pt
\huge 20pt 20pt 25pt
\Huge 25pt 25pt 25pt
Polecenia zmieniajce stopie pisma zmieniaj take interlini. Dzieje si
tak jednak tylko wtedy, gdy przed zamkniciem odpowiedniej grupy koczy
si akapit (przez wstawienie pustego wiersza lub polecenia \par). Zwrmy
uwag na miejsce, w ktrym umieszczono instrukcj \par w poniszych
dwch przykadach.
{\Large Zdanie, ktre ma wicej
ni pi sw nie ma sensu!\par} Zdanie, ktre ma wicej ni pi
sw nie ma sensu!
{\Large Zdanie, ktre ma wicej
ni pi sw nie ma sensu!}\par Zdanie, ktre ma wicej ni pi
sw nie ma sensu!
Gdy zachodzi konieczno zmiany stopnia pisma dla caego akapitu lub jesz-
cze duszego tekstu, moemy skorzysta ze skadni przyjtej dla rodowisk:
\begin{Large} Zdanie, ktre ma
wicej ni pi sw nie ma sensu!
\end{Large}
Zdanie, ktre ma wicej ni pi
sw nie ma sensu!
Zapis taki pozwala unika atwych do popenienia bdw wynikajcych
z opuszczania nawiasw otwierajcych lub zamykajcych w grupach.
W trybie matematycznym w celu zoenia fragmentu wzoru innym kro-
jem pisma mona wykorzysta polecenia zestawione w tabeli 5.4.
5.2.2 Uwaga niebezpieczestwo!
Jak ju zaznaczylimy na pocztku rozdziau, nie naley explicite wstawia
do pliku rdowego instrukcji zmiany fontu. Byoby to niezgodne z pod-
5.3 Odstpy 71
Tabela 5.4: Polecenia wyboru fontw w trybie matematycznym
Polecenie Przykad Wynik
\mathcal{...} $\mathcal{B}=c$ B = c
\mathrm{...} $\mathrm{K}_2$ K2
\mathbf{...} $\sum x=\mathbf{v}$ x = v
\mathsf{...} $\mathsf{G\times R}$ G R
\mathtt{...} $\mathtt{L}(b,c)$ L( b c )
\mathnormal{...} $\mathnormal{R_{19}}\neq R_{19}$ R 1 9 = R 19
\mathit{...} $\mathit{ffi}\neq ffi$ ffi = f f i
stawow ide LATEX-a, jak jest oddzielenie formy od treci dokumentu
i posugiwanie si formatowaniem logicznym, a nie wizualnym. Jeeli frag-
ment tekstu ma zosta wyrӿniony poprzez zoenie go innym krojem lub
stopniem pisma, to naley zdefiniowa odpowiednie polecenie i jego wanie
uywa w treci dokumentu.
% w~preambule albo pakiecie
\newcommand{\uwaga}[1]{\textbf{#1}}
% po \begin{document}
\uwaga{Baczno}. Przewody sieci
trakcyjnej s pod napiciem.
Dotknicie grozi \uwaga{mierci}.
Baczno. Przewody sieci trakcyjnej s pod
napiciem. Dotknicie grozi mierci.
Niewtpliw zalet tego podejcia jest to, e kiedy pӼniej bdziemy chcieli
wyrӿni wszystkie elementy, na ktre czytelnik powinien zwrci szczegln
uwag, w inny sposb ni skadajc je pismem pӳgrubym, to nie musimy
przeglda caego pliku w celu sprawdzenia, czy dane wystpienie \textbf
dotyczy tekstu, na ktry ma zosta zwrcona szczeglna uwaga, czy te
wstawione zostao w zupenie innym celu.
Na zakoczenie rada: nie naley przesadza z wykorzystywaniem wielu rӿnych krojw
pisma w dokumencie.
5.3 Odstpy
5.3.1 Zmiana wielkoci interlinii
Wielko interlinii (odstpu pomidzy wierszami) w dokumencie mona
zmienia za pomoc polecenia:
\linespread{czynnik}
72 Adaptowanie LATEX-a
Polecenie to naley umieci w preambule dokumentu. Parametr czyn-
nik okrela wielko interlinii. Podwjn interlini uzyskamy za pomoc
\linespread{1.6}. Uywajc \linespread{1.3} uzyskamy interlini rwn
1,5. Pojedynczej interlinii, zarazem domylnej odpowiada warto 1.
5.3.2 Wcicia i odstpy pomidzy akapitami
Dwa dodatkowe parametry okrelaj, odpowiednio, wielkoci wcicia akapi-
towego oraz odstpu midzy akapitami. Na przykad, wpisujc:
\setlength{\parindent}{0pt}
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
do preambuy dokumentu ustalamy wielko wcicia akapitowego na 0 pt
(co powoduje, e akapity bd si zaczyna bez wci), a odstp midzy
akapitami ustalamy na 1 ex plus 0,5 ex minus 0,2 ex. Drugi zapis oznacza,
e normalny odstp midzy akapitami, wynoszcy 1,0 ex (jednostki miary
w LATEX-u podaje tabela 5.5 na stronie 73), moe si zwikszy do 1 0+0 5 =
1 5 ex lub zmniejszy do 1 9 0 2 = 0 8 ex. W Europie kontynentalnej
akapity skada si czasami bez wcicia akapitowego, tylko z dodatkowym
odstpem midzy nimi. Ale uwaga, ten efekt pojawi si take w spisie treci,
tabel i rysunkw, gdzie poszczeglne pozycje w spisie bd od siebie bardziej
oddalone (w spisach wikszo akapitw jest jednowierszowa). Aby unikn
tego troch miesznego efektu naley usun powysze instrukcje setlenght
z preambuy dokumentu i wstawi je w czci gwnej, po poleceniach
\tableofcontents itp. Najlepiej jednak wcale nie korzysta z tego sposobu,
gdy znakomita wikszo ksiek jest skadana z wciciem akapitowym,
a nie z dodatkowymi odstpami midzy akapitami1.
Wcicie akapitowe wstawiamy za pomoc polecenia:
\indent
umieszczonego na pocztku akapitu2. Wstawienie \indent, kiedy warto
\parindent wynosi zero nie przyniesie oczywicie adnego efektu.
Do zoenia akapitu bez wcicia naley rozpocz akapit od polecenia:
\noindent
5.3.3 Odstpy poziome
LATEX automatycznie ustala wielkoci odstpw midzy sowami oraz midzy
zdaniami. Dodatkowy odstp poziomy (przez odstp poziomy rozumiemy
1Jednoczesne uycie wci i odstpw uwaa si w Polsce za powany bd typograficzny.
2Do uzyskania efektu wstawiania wcicia w pierwszym akapicie po tytule rozdziau,
podrozdziau itd. naley doczy do dokumentu pakiet indentfirst z zestawu pakietw
tools".
5.3 Odstpy 73
odstp midzy wyrazami, przez odstp pionowy rozumiemy odstp midzy
wierszami i akapitami) wstawiamy za pomoc polecenia:
\hspace{odlego}
Jeeli taki odstp, w wyniku zamania akapitu na wiersze, wypadnie na
pocztku lub kocu wiersza, to zostanie usunity - po to, by akapit nie
by justowany w chorgiewk". Jeeli LATEX ma wstawi odstp take
w wypadku, gdy rozpoczyna sie lub koczy wiersz, to zamiast \hspace
naley uy gwiazdkowej" wersji \hspace*. Argument odlego oznacza
wymiar LATEX-owy. W najprostszej postaci jest to liczba oraz jednostka
odlegoci. Wykaz waniejszych dostpnych w LATEX-u jednostek odlegoci
znajduje si w tabeli 5.5.
To jest \hspace{1.5cm}odstp
rwny 1,5~cm. To jest odstp rwny 1,5 cm.
Tabela 5.5: LATEX-owe jednostki miary
mm milimetr 1 25 cala
cm centymetr = 10 mm
in cal = 25,4 mm
pt punkt 1 72 cala 1
3 mm
em w przyblieniu szeroko M" w biecym foncie
ex w przyblieniu wysoko x" w biecym foncie
Czsto wygodnie jest uy elastycznej" odlegoci, zostawiajc LATEX-owi w pewnym
zakresie swobod wyboru takiej odlegoci, jak uzna za najlepsz z punktu widzenia
jakoci skadu. Tak elastyczn odlego zapisujemy nastpujco: n plus p minus m.
Czci plus p" i minus m" s opcjonalne (kad z nich mona pomin). Tego
typu odlegoci maj naturaln wielko n, mog si kurczy lub rozciga w zakresie
od n m do n + p. Omawiany wczeniej odstp midzy akapitami (\parskip) jest
przykadem wymiaru o zmiennej wielkoci. Cz wymiarw LATEX-owych moe mie
zmienne wielkoci, ale cz musi mie warto sta. Na przykad, jest zrozumiae, e
wcicie akapitowe musi by wielkoci sta, podobnie jak szeroko i wysoko amu.
Polecenie:
\stretch{n}
wstawia specjalny odstp rozcigliwy o tej waciwoci, e potrafi wype-
ni ca woln przestrze wiersza. Jeeli w linii wstawimy dwa polecenia
74 Adaptowanie LATEX-a
\hspace{\stretch{n}}, to wielko odstpw przez nie uzyskanych bdzie
wg proporcji ustalonych przez argument n. W poniszym przykadzie odstp
midzy x a y jest trzy razy mniejszy od odstpu midzy y a z.
x\hspace{\stretch{1}}
y\hspace{\stretch{3}}z x y z
5.3.4 Odstpy pionowe
LATEX wstawia odstpy pomidzy akapitami, rozdziaami, punktami itp.
automatycznie. Jeeli istnieje potrzeba wstawienia dodatkowego odstpu
pionowego, naley uy polecenia:
\vspace{odlego}
Polecenie to naley oddzieli pustymi liniami od otaczajcego je tekstu.
Jeeli w wyniku zamania strony, odstp taki znajdzie si na pocztku lub na
kocu strony (bdzie bezporednio zaczyna lub koczy kolumn tekstu), to
zostanie usunity. Jeeli ma zosta wstawiony take na pocztku lub kocu
strony, to naley uy wersji gwiazdkowej" \vspace*3. Argument odlego
oznacza wymiar LATEX-owy.
Polecenia \stretch, wykonanego cznie z \pagebreak, mona uywa
do rozmieszczania tekstu kolumny w pionie. W poniszym przykadzie tekst
zostanie rozmieszczony tak, e odstp u dou bdzie dwa razy mniejszy ni
odstp u gry strony.
\vspace{\stretch{1}}
Tytu i~autor
\vspace{\stretch{2}}\pagebreak
Dodakowy odstp midzy dwoma wierszami tego samego akapitu lub midzy
wierszami w tabeli moemy wstawi za pomoc instrukcji:
\\[odlego]
5.4 Ukad graficzny strony
Wymiary papieru mona poda jako argumenty instrukcji \documentclass.
Na podstawie zadeklarowanych wymiarw LATEX oblicza szeroko i wyso-
ko kolumny, marginesy i inne parametry. Na rysunku 5.2 przedstawiono
wszystkie parametry graficznego ukadu strony. Do przygotowania rysunku
uylimy pakietu layout z zestawu tools"4. Jeeli obliczone przez LATEX-a
wartoci s z pewnych wzgldw nieodpowiednie, mona je zmieni.
3Zwrmy uwag, e w takim wypadku wysokoci kolumny tekstu na ssiednich stronach
nie bdzie jednakowa, zatem korzystajmy z polecenia \vspace* z pewn ostronoci.
4CTAN://tex-archive/macros/latex/packages/tools.
5.4 Ukad graficzny strony 75
Pagina Grna
Kolumna tekstu
Pagina dolna
Marginalia
8
7
1
3
10
9
11
2
4
5
6
1 1 cal+ \hoffset 2 1 cal+ \voffset
3 \evensidemargin = 70pt 4 \topmargin = 22pt
5 \headheight = 12pt 6 \headsep = 19pt
7 \textheight = 595pt 8 \textwidth = 360pt
9 \marginparsep = 7pt 10 \marginparwidth = 106pt
11 \footskip = 27pt \marginparpush = 5pt (nie pokazane)
\hoffset = 0pt \voffset = 0pt
\paperwidth = 597pt \paperheight = 845pt
Rysunek 5.2: Parametry ukadu graficznego strony
76 Adaptowanie LATEX-a
Zanim jednak zaczniemy eksperymentowa, zwikszajc na przykad
szeroko szpalty, chwil pomylmy. Jak dla wikszoci rzeczy w LATEX-u,
istniej wane powody, dlaczego szeroko kolumny jest taka a nie inna.
W LATEX-u mamy dwie instrukcje do zmiany wielkoci wymiarw, za-
zwyczaj uywane w obrbie preambuy dokumentu:
Pierwsza instrukcja nadaje parametrowi okrelon wielko:
\setlength{parametr}{odlego}
Drugie polecenie zwiksza wielko parametru o okrelon wielko:
\addtolength{parametr}{length}
Druga instrukcja jest czciej wykorzystywana poniewa pozwala na mody-
fikowanie wymiarw. Przykadowo, aby zwikszy szeroko szpalty o jeden
centymetr, naley w preambule dokumentu umieci nastpujce polecenia:
\addtolength{\hoffset}{-0.5cm}
\addtolength{\textwidth}{1cm}
Wykonywanie operacji arytmetycznych na wymiarach uatwia pakiet calc.
Pakiet geometry pozwala na atwe modyfikowanie parametrw ukadu gra-
ficznego strony.
5.5 Wicej o odlegociach
Kiedy tylko jest to moliwe, unikajmy wykorzystywania wymiarw zdefi-
niowanych w jednostkach absolutnych, takich jak punkty czy milimetry.
Starajmy si raczej wyrazi wymiary w odniesieniu do ju istniejcych,
takich jak wysoko czy szeroko kolumny. W poniszym przykadzie sze-
roko rysunku jest zdefiniowana jako poowa szeroko biecej szpalty:
\includegraphics[width=0.5\textwidth]{test.eps}
Nastpujce trzy polecenia pozwalaj okreli szeroko, wysoko i gbo-
ko tekstu.
\settoheight{nazwa}{tekst}
\settodepth{nazwa}{tekst}
\settowidth{nazwa}{tekst}
Nastpujcy przykad pokazuje moliwe zastosowanie tych polece:
5.6 Pudeka 77
\newenvironment{vardesc}[1]{%
\settowidth{\parindent}{#1:\ }
\makebox[0pt][r]{#1:\ }}{}
\begin{displaymath} a^2+b^2=c^2
\end{displaymath}
\begin{vardesc}{gdzie}%
$a$, $b$ -- przyprostoktne, \par
$c$ -- przeciwprostoktna.
\end{vardesc}
a 2 + b 2 = c 2
gdzie: a , b - przyprostoktne,
c - przeciwprostoktna.
5.6 Pudeka
LATEX tworzy kad stron z pudeek, ktre odpowiednio skleja. Elementar-
nymi pudekami s litery, z ktrych sklejane s sowa. Sowa s nastpnie
czone w wiersze, a wiersze w akapity.
Trzeba przyzna, e powysze jest mocno uproszczon wersj tego, co
si naprawd dzieje, ale zasadniczo biorc dziaanie LATEX-a mona wyja-
ni w terminach pudeek oraz kleju (odstpu wstawianego midzy pude-
kami). Nie tylko litery s pudekami. Do pudeka mona woy praktycznie
wszystko, take inne pudeka. Kade pudeko LATEX traktuje jak pojedyncz
liter.
Chcia o tym nie mwilimy wprost, pudeka pojawiay si ju w po-
przednich rozdziaach. Na przykad polecenie includegraphics albo rodo-
wisko tabular tworz pudeka. Oznacza to, e atwo mona zestawi dwa
rysunki albo tabele obok siebie. Trzeba jedynie zadba o to, by czna sze-
roko poczonych obiektw nie bya wiksza ni szeroko szpalty.
To samo odnosi si do akapitw, ktre - jeli tego potrzebujemy -
moemy skada w pudeka o zadanej szerokoci:
\parbox[pos]{szeroko}{tekst}
Do tego samego celu mona wykorzysta rodowisko:
\begin{minipage}[pos]{szeroko} tekst \end{minipage}
Argument pos jest jednoliterowy i moe przyjmowa jedn z wartoci: c,
t lub b. Wartoci te okrelaj, jak LATEX ma umieci pudeko wzgldem
otaczajcego tekstu. Warto c oznacza umieszczenie rodka wysokoci pu-
deka na linii podstawowej, t - umieszczenie linii podstawowej pierwszego
wiersza w pudeku na linii podstawowej otaczajcego tekstu, natomiast b
umieszczenie dolnej krawdzi pudeka na linii podstawowej. Wynik zastoso-
wania parametrw ilustruje poniszy przykad (lini podstawow oznaczono
kresk). Argument szeroko to wymiar okrelajcy szeroko pudeka.
78 Adaptowanie LATEX-a
\makebox[0pt][l]{\rule{66mm}{.4pt}}%
\parbox[c]{9mm}{5 5 5 5 5 5 5 5 5}
\parbox[t]{9mm}{6 6 6 6 6 6 6 6 6}
\parbox[b]{9mm}{8 8 8 8 8 8 8 8 8}
5 5 5
5 5 5
5 5 5
6 6 6
6 6 6
6 6 6
8 8 8
8 8 8
8 8 8
Polecenie \parbox skada tekst w pudeku, w razie potrzeby dzielc tekst
na linijki. Inaczej jest z pudekami uzyskiwanymi za pomoc polecenia
\mbox, ktrych zawarto nigdy nie jest dzielona na wiersze. Polecenia tego
uywamy, gdy chcemy zapobiec dzieleniu wyrazu lub sekwencji wyrazw
na wiersze. Polecenie \mbox jest uproszczon wersj instrukcji \makebox
o skadni:
\makebox[szeroko][pos]{tekst}
Za pomoc opcjonalnego argumentu szeroko moemy zada szeroko pu-
deka. Moe ona si rӿni od naturalnej szerokoci tekstu w pudeku; moe
wynosi zero, a nawet by wielkoci ujemn! W obrbie argumentu szero-
ko moemy take posugiwa si wielkociami \width (szeroko), \height
(wysoko), \depth (gboko) oraz \totalheight (suma wysokoci i g-
bokoci). Ponadto argument pos okrela sposb umieszczenia tekstu. Litera
c oznacza wyrodkowanie, l dosunicie do lewej, r dosunicie do prawej,
a s wyspacjowanie zawartoci.
Poniszy przykad ilustruje wykorzystanie polecenia \width w obrbie
argumentu szeroko. Pierwsze pudeko ma szeroko rwn poowie natu-
ralnej szerokoci tekstu:
\makebox[.5\width][l]{oooooooo}%
\makebox{xxxxxxxx} oooooooo xxxxxxxx
Polecenie \framebox dziaa dokadnie jak \makebox, z tym e naokoo
pudeka krelona jest ramka.
Oto przykad zastosowania polece \makebox i \framebox.
\makebox[\textwidth]{%
p o  r o d k u}\par
\makebox[\textwidth][s]{%
r o z s t r z e l o n y}\par
\framebox[1.1\width]{Teraz jestem
obramowany!} \par
\framebox[0.8\width][r]{Troch
tu jest za szeroko} \par
\framebox[1cm][l]{Nie
ma sprawy}
Da si to czyta?
p o  r o d k u
r o z s t r z e l o n y
Teraz jestem obramowany!
Troch tu jest za szeroko
Nie ma sprawy Da si to czyta?
5.7 Kreski i podpory 79
Pudeka mona te przesuwa w pionie. Suy do tego polecenie:
\raisebox{przesunicie}[wysoko][gboko]{tekst}
Argument przesunicie okrela wielko przesunicia w gr (lub w dӳ, jeeli
wielko przesunicia jest ujemna). Ponadto za pomoc parametrw opcjo-
nalnych wysoko oraz gboko mona zada nominaln wysoko oraz
gboko pudeka (LATEX bdzie traktowa pudeko tak, jakby miao zadane
wymiary, bez wzgldu na wymiary naturalne). Wewntrz parametrw znowu
mona skorzysta z polece \width, \height, \depth oraz \totalheight.
\raisebox{0pt}[0pt][0pt]{\Large%
\textbf{Aaaa\raisebox{-0.3ex}{a}%
\raisebox{-0.7ex}{aa}%
\raisebox{-1.2ex}{r}%
\raisebox{-2.2ex}{g}%
\raisebox{-4.5ex}{h}}}
Krzyczaa, ale nikt nie zauway,
e co si jej przytrafio.
Aaaaaaarg
h
Krzyczaa, ale nikt nie za-
uway, e co si jej przytrafio.
5.7 Kreski i podpory
Par stron wczeniej pojawio si polecenie:
\rule[przesunicie]{szeroko}{wysoko}
W wyniku wykonania tej instrukcji najczciej otrzymujemy w skadzie
czarny prostokt:
\rule{3mm}{.1pt}%
\rule[-1mm]{5mm}{1cm}%
\rule{3mm}{.1pt}%
\rule[1mm]{1cm}{5mm}%
\rule{3mm}{.1pt}
Polecenia \rule uywamy do rysowania kresek pionowych i poziomych. Na
przykad gruba czarna krecha na stronie tytuowej niniejszego Wprowadze-
nia to wynik zadziaania instrukcji:
\rule[-1ex]{\textwidth}{5pt}
Parametr przesunicie okrela, jak wysoko przesun krech ponad lini
podstawow (lub opuci poniej linii podstawowej, jeeli parametr jest
ujemny).
Specjalnym przypadkiem jest kreska o zerowej szerokoci, ale niezero-
wej wysokoci. Tak kresk nazywamy podpor (strut). Podpora to czsto
stosowana metoda nadawania wszystkim elementom jednakowej wysokoci.
80 Adaptowanie LATEX-a
Spjrzmy na poniszy przykad. Dziki wstawieniu podpory drugi wiersz ma
t sam wysoko co pierwszy. Zawarto wiersza trzeciego jest identyczna
jak drugiego, za wyjtkiem niewidocznej podpory. Gdyby jej brakowao, to
wysoko drugiego wiersza byaby mniejsza.
\begin{tabular}{|c|} \hline
\rule{1pt}{4ex}Pittprop \ldots\\
\hline
\rule{0pt}{4ex}Strut\\ \hline
Strut\\ \hline
\end{tabular}
Pittprop
Strut
Strut
Spis literatury
[1] Carlisle David P., Packages in the `graphics' bundle. Dokument
dostpny w zestawie pakietw graphics" w pliku grfguide.tex.
[2] Goossens Michel, Mittelbach Frank, Samarin Alexander. The LATEX
Companion. Addison-Wesley, Reading 1994, ISBN 0-201-54199-8.
[3] Knuth Donald E., The TEXbook, Addison-Wesley Publishing Company
1984, ISBN 0-201-13448-9.
[4] Lamport Leslie, LATEX: A Document Preparation System. 2nd ed.,
Addison-Wesley, Reading 1994, ISBN 0-201-52983-1.
[5] LATEX Local Guide. Kada wielodostpna instalacja LATEX-owa powinna
zawiera LATEX Local Guide, w ktrym s opisane rzeczy specyficzne dla
danej lokalnej instalacji. Dokument ten powinien by zawarty w pliku
local.tex. W wielu wypadkach administratorzy nie udostpniaj jed-
nak uytkownikom takiego dokumentu. Pozostaje wtedy zwrcenie si
o pomoc do lokalnego LATEX-owego guru.
[6] LATEX3 Project Team. LATEX2 for authors. Dokument dostpny
w pliku usrguide.tex w dystrybucji LATEX2 .
[7] LATEX3 Project Team. LATEX2 for Class and Package writers. Doku-
ment dostpny w pliku clsguide.tex w dystrybucji LATEX2 .
[8] LATEX3 Project Team. LATEX2 Font selection. Dokument dostpny
w pliku fntguide.tex w dystrybucji LATEX2 .
[9] Lichoski Bogusaw, TEX na indeksie. Biuletyn GUST 1994 (3). Dokument
dostpny w http://www.gust.org.pl/PDF/BIUL/03/02-bl.pdf.
[10] Nowacki Janusz M., TEXnologia a typografia. Biuletyn GUST 1995 (6). Dokument
dostpny take w http://www.gust.org.pl/PDF/BIUL/06/01-jmn.pdf.
[11] Reckdahl Keith, Using EPS Graphics in LATEX2 Documents (szczeg-
owe wyjanienie jak docza grafik w formacie EPS do dokumentw
LATEX-owych). Dostpny w CTAN://tex-archive/info/epslatex.ps.
[12] Schpf Rainer, Raichle Bernd, Rowley Chris, A New Implementation
of LATEX's verbatim Environments. Dokument dostpny w zestawie
pakietw tools" w pliku verbatim.dtx.
[13] Williams Graham, The TEX Catalogue (katalog pakietw dla TEX-a
oraz LATEX-a). Dokument dostpny w CTAN://tex-archive/help/
Catalogue/catalogue.html.
Skorowidz
\!, 46
$, 40
\', 24
', 43
\(, 40
\), 40
\,, 41, 45
\-, 18
, 20
\:, 45
\;, 46
\[, 40
%, 7
\\, 15, 32, 34, 38, 74
\\*, 15
\], 40
^, 42
_, 42
|, 34
\a'o, 24
a5paper, 9
acute, 21
\addtolength, 76
, 21
akcenty matematyczne, 43
amsbsy, 50
amsfonts, 42, 57
amsmath, 45, 46, 48, 50
amssymb, 42, 51
\and, 29
\appendix, 27, 28
\arc, 25
argument, 6
-- opcjonalny, 6
array, 46, 47
arraycolsep, 47
\atop, 44
\author, 29
b5paper, 9
babel, 21-26
\backmatter, 29
backslash, 5
\begin, 31
\bibitem, 60
\big, 45
\Big, 45
\bigg, 45
\Bigg, 45
\bmod, 44
\boldmath, 50
\boldsymbol, 50
calc, 76
\caption, 37
\cc, 39
\cdots, 45
center, 32
\chapter, 27
\chaptermark, 63
\choose, 44
\cite, 60
\cleardoublepage, 16, 38
\clearpage, 16, 38
\closing, 39
\ctan, 25
\ctg, 25
\ctgh, 25
\date, 29
dcolumn, 35
\ddots, 45
\depth, 78, 79
SKOROWIDZ 83
description, 31
displaymath, 40
\displaystyle, 48
doc, 10
\documentclass, 8, 9, 17
dvips, 59
\dywiz, 19
\emph, 30, 69
\end, 31
enumerate, 31
EPS, 58
eqnarray, 47
equation, 40
eucal, 57
eufrak, 57
executivepaper, 9
exscale, 10, 45
fancyhdr, 62, 63
figure, 36
fleqn, 9
flushleft, 32
flushright, 32
foiltex, 8
fontenc, 10, 23-25
fonty
-- CM, 22
-- EC, 22
-- PL, 22
\footnote, 30
\footnotesize, 69
\frac, 44
\framebox, 78
\frenchspacing, 27
\frontmatter, 29
\fussy, 17
geometry, 76
\geq, 52
ghostscript, 58
graphicx, 59
grave, 21
grupa, 69
\height, 78, 79
\hline, 34
\hspace, 73
\hspace*, 73
\huge, 69
\Huge, 69
\hyphenation, 17, 18
i (i" bez kropki), 21
\idotsint, 46
ifthen, 10
\iiiint, 46
\iiint, 46
\iint, 46
\include, 11
\includegraphics, 59
\includeonly, 11
indeks
-- dolny, 42
-- grny, 42
\indent, 72
indentfirst, 72
\index, 61, 62
\input, 12
inputenc, 10, 18, 22, 24-26
instrukcja
-- \!, 46
-- \', 24
-- \(, 40
-- \), 40
-- \,, 41, 45
-- \-, 18
-- \:, 45
-- \;, 46
-- \[, 40
-- \\, 15, 32, 34, 38, 74
-- \\*, 15
-- \], 40
-- \a'o, 24
-- \addtolength, 76
-- \and, 29
-- \appendix, 27, 28
-- \arc, 25
-- \atop, 44
-- \author, 29
84 SKOROWIDZ
-- \backmatter, 29
-- \begin, 31
-- \bibitem, 60
-- \big, 45
-- \Big, 45
-- \bigg, 45
-- \Bigg, 45
-- \bmod, 44
-- \boldmath, 50
-- \boldsymbol, 50
-- \caption, 37
-- \cc, 39
-- \cdots, 45
-- \chapter, 27
-- \chaptermark, 63
-- \choose, 44
-- \cite, 60
-- \cleardoublepage, 16, 38
-- \clearpage, 16, 38
-- \closing, 39
-- \ctan, 25
-- \ctg, 25
-- \ctgh, 25
-- \date, 29
-- \ddots, 45
-- \depth, 78, 79
-- \displaystyle, 48
-- \documentclass, 8, 9, 17
-- \dywiz, 19
-- \emph, 30, 69
-- \end, 31
-- \footnote, 30
-- \footnotesize, 69
-- \frac, 44
-- \framebox, 78
-- \frenchspacing, 27
-- \frontmatter, 29
-- \fussy, 17
-- \geq, 52
-- \height, 78, 79
-- \hline, 34
-- \hspace, 73
-- \hspace*, 73
-- \huge, 69
-- \Huge, 69
-- \hyphenation, 17, 18
-- \idotsint, 46
-- \iiiint, 46
-- \iiint, 46
-- \iint, 46
-- \include, 11
-- \includegraphics, 59
-- \includeonly, 11
-- \indent, 72
-- \index, 61, 62
-- \input, 12
-- \int, 44
-- \label, 29
-- \large, 69
-- \Large, 69
-- \LARGE, 69
-- \ldots, 20, 45
-- \left, 45
-- \leftmark, 62, 63
-- \leq, 52
-- \linebreak, 16
-- \linespread, 71
-- \listoffigures, 37
-- \listoftables, 37
-- \mainmatter, 29
-- \makebox, 78
-- \makeindex, 61
-- \maketitle, 29
-- \mathbb, 42
-- \mathbf, 71
-- \mathcal, 71
-- \mathit, 71
-- \mathnormal, 71
-- \mathrm, 71
-- \mathsf, 71
-- \mathtt, 71
-- \mbox, 18, 20, 78
-- \multicolumn, 35
-- \newcommand, 66
-- \newenvironment, 67
-- \newline, 15, 16
-- \newpage, 15
-- \newtheorem, 49
SKOROWIDZ 85
-- \noindent, 72
-- \nolinebreak, 16
-- \nopagebreak, 16
-- \normalsize, 69
-- \not, 52
-- \opening, 39
-- \overbrace, 43
-- \overleftarrow, 43
-- \overline, 43
-- \overrightarrow, 43
-- \pagebreak, 16, 74
-- \pageref, 29
-- \pagestyle, 11
-- \par, 70
-- \paragraph, 27
-- \parbox, 77, 78
-- \parindent, 72
-- \parskip, 72
-- \part, 27, 28
-- \pmb, 50
-- \pmod, 44
-- \polecenie, 65
-- \printindex, 62
-- \providecommand, 67
-- \ProvidesPackage, 68
-- \ps, 39
-- \qquad, 41, 46
-- \quad, 41, 46
-- \raisebox, 79
-- \ref, 29
-- \renewcommand, 67
-- \renewenvironment, 67
-- \right, 45
-- \rightmark, 62, 63
-- \rule, 79
-- \scriptscriptstyle, 48
-- \scriptsize, 69
-- \scriptstyle, 48
-- \section, 27
-- \sectionmark, 63
-- \selecthyphenation, 26
-- \selectlanguage, 23, 24, 26
-- \setlength, 72, 76
-- \settodepth, 76
-- \settoheight, 76
-- \settowidth, 76
-- \signature, 38
-- \sloppy, 17
-- \small, 69
-- \sqrt, 42
-- \stretch, 73, 74
-- \subparagraph, 27
-- \subsection, 27
-- \subsectionmark, 63
-- \subsubsection, 27
-- \sum, 44
-- \table, 36
-- \tableofcontents, 28
-- \tan, 25
-- \textbf, 69
-- \textit, 69
-- \textmd, 69
-- \textnormal, 69
-- \textrm, 48, 69
-- \textsc, 69
-- \textsf, 69
-- \textsl, 69
-- \textstyle, 48
-- \texttt, 69
-- \textup, 69
-- \tg, 25
-- \tgh, 25
-- \thispagestyle, 11
-- \tiny, 69
-- \title, 29
-- \totalheight, 78, 79
-- \underbrace, 43
-- \underline, 43
-- \usepackage, 9, 22, 23, 67
-- \vdots, 45
-- \vec, 43
-- \verb, 33
-- \verbatiminput, 63
-- \vspace, 74
-- \vspace*, 74
-- \widehat, 43
-- \widetilde, 43
-- \width, 78, 79
86 SKOROWIDZ
\int, 44
interlinia, 71
itemize, 31
j (j" bez kropki), 21
jednostki miary, 73
klasa
-- article, 8
-- book, 8
-- letter, 8, 38
-- report, 8
-- slides, 8
klej, 77
Knuth, Donald E., 1
komentarz, 7
kropka, 20
\label, 29
Lamport, Leslie, 1
\large, 69
\Large, 69
\LARGE, 69
LATEX 2.09, 2
LATEX2 , 2
LATEX3, 2, 5
latexsym, 10
layout, 74
\ldots, 20, 45
\left, 45
\leftmark, 62, 63
legalpaper, 9
\leq, 52
leqno, 9
letter, 38
letterpaper, 9
ligatura, 20
\linebreak, 16
\linespread, 71
linia podstawowa, 45, 77, 79
\listoffigures, 37
\listoftables, 37
litera grecka, 42
\mainmatter, 29
\makebox, 78
makeidx, 10, 61
makeindex, 61
\makeindex, 61
\maketitle, 29
math, 40
\mathbb, 42
\mathbf, 71
\mathcal, 71
\mathit, 71
\mathnormal, 71
\mathrm, 71
mathrsfs, 57
\mathsf, 71
\mathtt, 71
\mbox, 18, 20, 78
minipage, 77
Mittelbach, Frank, 2
modulo, 44
\multicolumn, 35
nawias, 44
\newcommand, 66
\newenvironment, 67
\newline, 15, 16
\newpage, 15
\newtheorem, 49
\noindent, 72
\nolinebreak, 16
\nopagebreak, 16
\normalsize, 69
\not, 52
odstp, 5
-- na pocztku wiersza, 5
-- po instrukcji, 6
-- poziomy, 72
-- w trybie matematycznym, 45
, 21
ogranicznik, 44
opcje, 8
\opening, 39
\overbrace, 43
overfull hbox, 17
\overleftarrow, 43
\overline, 43
SKOROWIDZ 87
\overrightarrow, 43
\pagebreak, 16, 74
\pageref, 29
\pagestyle, 11
pakiet, 9
-- amsbsy, 50
-- amsfonts, 42, 57
-- amsmath, 45, 46, 48, 50
-- amssymb, 42, 51
-- babel, 21-26
-- calc, 76
-- dcolumn, 35
-- doc, 10
-- eucal, 57
-- eufrak, 57
-- exscale, 10, 45
-- fancyhdr, 62, 63
-- fontenc, 10, 23-25
-- geometry, 76
-- graphicx, 59
-- ifthen, 10
-- indentfirst, 72
-- inputenc, 10, 18, 22, 24-26
-- latexsym, 10
-- layout, 74
-- makeidx, 10, 61
-- mathrsfs, 57
-- platex, 19, 25, 44, 52
-- polski, 25, 27
-- showidx, 62
-- syntonly, 10
-- verbatim, 64
\par, 70
\paragraph, 27
\parbox, 77, 78
\parindent, 72
\parskip, 72
\part, 27, 28
pierwiastek kwadratowy, 42
platex, 19, 25, 44, 52
\pmb, 50
\pmod, 44
polecenia, 6
\polecenie, 65
polski, 25, 27
prim, 43
\printindex, 62
\providecommand, 67
\ProvidesPackage, 68
przecinek, 20
\ps, 39
pudeko, 77
\qquad, 41, 46
\quad, 41, 46
quotation, 32
quote, 32
\raisebox, 79
\ref, 29
\renewcommand, 67
\renewenvironment, 67
\right, 45
\rightmark, 62, 63
\rule, 79
\scriptscriptstyle, 48
\scriptsize, 69
\scriptstyle, 48
\section, 27
\sectionmark, 63
\selecthyphenation, 26
\selectlanguage, 23, 24, 26
\setlength, 72, 76
\settodepth, 76
\settoheight, 76
\settowidth, 76
showidx, 62
\signature, 38
\sloppy, 17
\small, 69
spjka, 20
\sqrt, 42
stopie pisma, 69
\stretch, 73, 74
\subparagraph, 27
\subsection, 27
\subsectionmark, 63
88 SKOROWIDZ
\subsubsection, 27
\sum, 44
surd, 43
syntonly, 10
rodowisko, 31
-- array, 46, 47
-- center, 32
-- description, 31
-- displaymath, 40
-- enumerate, 31
-- eqnarray, 47
-- equation, 40
-- figure, 36
-- flushleft, 32
-- flushright, 32
-- itemize, 31
-- letter, 38
-- math, 40
-- minipage, 77
-- quotation, 32
-- quote, 32
-- tabbing, 24
-- table, 36
-- tabular, 34
-- thebibliography, 60
-- verbatim, 33, 63
-- verse, 32
tabbing, 24
\table, 36
table, 36
\tableofcontents, 28
tabular, 34
\tan, 25
\textbf, 69
\textit, 69
\textmd, 69
\textnormal, 69
\textrm, 48, 69
\textsc, 69
\textsf, 69
\textsl, 69
\textstyle, 48
\texttt, 69
\textup, 69
\tg, 25
\tgh, 25
thebibliography, 60
\thispagestyle, 11
\tiny, 69
\title, 29
\totalheight, 78, 79
tryb matematyczny, 40
twocolumn, 9
uamek, 44
umlaut, 21
\underbrace, 43
underfull hbox, 17
\underline, 43
\usepackage, 9, 22, 23, 67
\vdots, 45
\vec, 43
\verb, 33
verbatim, 64
verbatim, 33, 63
\verbatiminput, 63
verse, 32
\vspace, 74
\vspace*, 74
w-ty-ciach, 6
wektor, 43
\widehat, 43
\widetilde, 43
\width, 78, 79
wielokropek, 45
wstawka, 35
WYSIWYG, 3, 4
wzorce podziau, 21
zalety LATEX-a, 4
znak
-- caki, 44
-- sumowania, 44
ywa pagina, 62