Latex

Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

Podstawy języka LATEX

Anna Loranty

Spis treści
1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Szkielet dokumentu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Język polski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Klasy dokumentów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Opis niektórych pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Podstawowe zasady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6 Tytuł i streszczenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7 Rozdziały . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.8 Spis treści . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.9 Przypisy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Podział strony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1 Wiersze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Akapity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Odstępy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Odstępy poziome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Odstępy pionowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Formatowanie czcionki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1 Krój . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 Rozmiar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 Otoczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1 Wyrównania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2 Listy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.3 Spis literatury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1
6 Matematyka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.1 Podstawowe zasady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.2 Wzory wielolinijkowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.3 Środowisko theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.4 Odwołania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

7 Numeracje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.1 Style wypisywania liczników . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.2 Zmiana numeracji rozdziałów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.3 Numeracja twierdzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8 Tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.1 Tworzenie tabeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.2 Wyrównanie w kolumnie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.3 Obramowania komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.4 Scalanie komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.5 Środowisko table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.6 Podpis, odwołania oraz spis tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

9 Diagramy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
9.1 Strzałki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
9.2 Style strzałek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.3 Przecięcia strzałek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.4 Napisy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.5 Skalowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.6 Obroty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

10 Grafika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.1 Wstawianie obrazów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.2 Środowisko figure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

11 Kolory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

12 Listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
12.1 Podstawowe komendy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
12.2 Parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

13 Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2
1 Wstęp
Kilka słów wstępu

LATEX jest to zestaw makr stanowiących nadbudowę nad systemem składu TEX, automatyzują-
cych wiele czynności związanych z procesem poprawnego składania tekstu. Twórcą pierwszej wersji
LATEX - a był Leslie Lamport, a powstał on w laboratorium badawczym firmy SRI International.
TEX to komputerowy system profesjonalnego składu drukarskiego, obejmujący zarówno dedykowany
język, jak i kompilator przygotowujący pliki w wymaganych przez urządzenia graficzne (drukarki, na-
świetlarki) formatach. Program powstał w Stanach Zjednoczonych na Uniwersytecie Stanforda. Jego
twórcą jest Donald E. Knuth, amerykański matematyk i informatyk. Program powstał, ponieważ
prof. Knuth nie był zadowolony z wyglądu swojej książki The Art of Computer Programming. Po-
stanowił wziąć sprawy w swoje ręce i stworzyć język programowania, który umożliwiłby skład tekstu
wysokiej jakości. Dokument LATEX - owy może zostać skompilowany do pliku wynikowego w jednym z
popularnych formatów, m.in. DVI, PostScript, PDF lub HTML. Więcej informacji na temat LATEX-a
można znaleźć na stronie www.gust.org.pl

1.1 Szkielet dokumentu

Aby napisać tekst w LATEX-u trzeba zastosować się do kilku reguł:

1. zastosować odpowiedni układ dokumentu;


2. użyć odpowiedniej klasy dokumentu;
3. ”załadować” odpowiednie pakiety;
4. użyć poleceń dopuszczalnych przez kompilator - więcej o poszczególnych poleceniach w dalszej
części prezentacji.

Układ dokumentu

Dokument pisany w LATEX-u musi mieć następującą strukturę


prolog
\documentclass [lista opcji] {klasa dokumentu}
preambuła
\begin{document}
treść dokumentu
\end{document}

Na przykład:

3
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[cp1250]{inputenc}
\usepackage{polski}
\begin{document}
Piszemy pierwszy dokument w \LaTeX - u
\end{document}

Prolog i preambuła

Prolog w klasycznym dokumencie pisanym w języku angielskim jest zwykle pusty. Jeśli piszemy
jednak dokument w języku polskim to w prologu umieszczamy zazwyczaj tekst

%&--translate-file=cp1250pl
Oczywiście nie jest to konieczne i zależy od sposobu deklarowania użycia języka polskiego

W preambule umieszczamy deklaracje sterujące ustawieniem całego dokumentu. Tu między


innymi umieszczamy polecenia związane z ”ładowaniem” pakietów potrzebnych przy kompilacji.
Niektóre polecenia LATEX-a mogą być użyte tylko w preambule.

1.2 Język polski


Co zrobić aby w tekście były polskie litery?

Aby móc pisać po polsku należy ustawić odpowiednie kodowanie oraz załadować pakiety zawiera-
jące polskie czcionki oraz polskie zasady pisowni. W systemie Windows można to zrobić na przykład
tak
Sposób pierwszy
W prologu dokumentu wpisać linijkę

%&--translate-file=cp1250pl

musi to być pierwsza linijka w dokumencie a następnie ”załadować” pakiet polski wpisując w pre-
ambule polecenie

\usepackage{polski}

Sposób drugi
W preambule dokumentu wpisać polecenia

\usepackage[cp1250]{inputenc}
\usepackage{polski}

4
1.3 Klasy dokumentów
Klasy dokumentów

Standardowe klasy dokumentu to

1. article

2. report

3. book

4. letter

5. slide

Dokładnie jedną z tych klas wpisujemy w linijce

\documentclass [lista opcji] {klasa dokumentu}


zamiast tekstu klasa dokumentu. Każda z klas dokumentów ma dopuszczalną listę opcji, które

możemy wpisać w miejsce tekstu lista opcji (poszczególne opcje oddzielamy od siebie przecinkami).
W tej prezentacji omówimy tylko i wyłącznie klasę article.

Opcje klasy article

opcja opis
domyślna

10pt tak
11pt ustawienie wielkości czcionki
12pt
landscape zamiana wysokość kartki z szerokością.
final tak linie wystające na prawy margines nie są zaznaczane
draft linie wystające na prawy margines są zaznaczane
oneside tak formatuje dokument do druku po jednej stronie
twoside formatuje dokument do druku po obu stronach
onecolumn tak składanie tekstu w jednej kolumnie
twocolumn składanie tekstu w dwóch kolumnach
notitlepage tak tytuł i streszczenie nie są umieszczane na oddzielnych
stronach
titlepage tytuł i streszczenie są umieszczane na oddzielnych
stronach
fleqn tak wstawia numery wzorów po prawej stronie
leqno wstawia numery wzorów po lewej stronie

5
opcja ustawienie układu pasującego do
domyślna formatu papieru
letterpaper tak 8,5 in. x 11 in.
legalpaper 8,5 in. x 14 in.
executivepaper 7,25 in. x 10,5 in.
a4paper A4, 210 mm x 297 mm
a5paper A5, 148 mm x 210 mm
b5paper B5, 176 mm x 250 mm

Jeśli wpisujemy kilka opcji to oddzielamy je przecinkami np.


\documentclass [a4paper,fleqn] {klasa article}

1.4 Opis niektórych pakietów

Pakiety ”ładujemy” poleceniem \usepackage{nazwa pakietu}

amsmath - pakiet amsmath jest opracowanym dla American Mathematical Society narzędziem do
składu formuł matematycznych,

amssymb - pakiet pozwalający pisać niektóre symbole matematyczne np. R, R,

polski - pakiet polski jest odpowiedzialny za spolszczenie dokumentu,

color - pakiet umożliwiający używanie kolorów,

graphics - pakiet umożliwiający włączanie grafiki do tekstu,

babel - pakiet służący do pisania tekstów w językach innych niż angielski.

hyperref - pakiet związany z generowaniem odwołań. Jest dostępny tylko w pdfLATEX- u.

Uwaga wszystkie polecenia związane z dodawaniem pakietów należy umieszczać w preambule

1.5 Podstawowe zasady


Znaki specjalne

Zapisując dokument napisany w LATEX- u należy pamiętać aby jego nazwa nie zawierała spacji
oraz polskich liter. Co więcej spacja nie powinna pojawić się także w ścieżce dostępu do danego pliku.

6
W pliku źródłowym można używać dużych i małych liter alfabetu angielskiego (a po załadowaniu
pakietów polskich także wszystkich liter alfabetu polskiego), dziesięciu cyfr 0, . . . , 9 oraz szesnastu
znaków pisarskich
.:;,?!’‘()[]-/*@
.
Ponadto można używać wielu komend stworzonych na potrzeby LATEX- a i pozwalających gene-
rować różne symbole np. ♣, ♠, α, →.
Są również tzw. znaki specjalne, które można używać tylko i wyłącznie w poleceniach LATEX-
a. Są to
#$%&˜ ˆ {}\
Aby uzyskać któryś z tych znaków mimo wszystko w tekście należy poprzedzić je znakiem
\. Wyjątek stanowią znaki ˆ oraz \. Uzyskujemy je odpowiednio za pomocą poleceń \^~ oraz
$\setminus $ . Dodatkowo w trybie matematycznym możemy używać znaków + = | <>.

Jednostki stosowane w LATEX- u

Ważną informacja jest fakt, że kompilator LATEX-a każdy ciąg spacji (enterów) traktuje jako
jedną spację (enter). Aby uzyskać więc dodatkowy odstęp między wyrazami lub wierszami musimy
zastosować odpowiednie komendy generujące odstępy pionowe lub poziome.

cm - centymetry;

mm - milimetry

in - cale;

pt - punkty, 1 in =72.27pt;

pc - pajki, 1 pc =12pt;

em - jednostka wewnętrzna LATEX-a, 1 em jest w przybliżeniu równe szerokości litery M w bierzącym


foncie, wielkość ta zależy więc od zastosowanej czcionki;

ex - jednostka wewnętrzna LATEX-a, 1 ex jest w przybliżeniu równe wysokości litery x w bieżącym


foncie, wielkość ta zależy więc od zastosowanej czcionki.

1.6 Tytuł i streszczenie


Tytuł, autor i data

Do generowania tych elementów służą w LATEX- u specjalne polecenia


tytułu: \title{ tu wpisujemy tytuł}
autora: \author{ tu wpisujemy dane autora}

7
daty: \date{ tu wpisujemy datę}
wszystkie te polecenia wpisujemy w preambule. Aby zostały one wpisane do dokumentu dodat-
kowo musimy je wywołać poleceniem \maketitle, które wpisujemy po poleceniu \begin{document}.
UWAGA polecenie \maketitle zawsze generuje datę, nawet jeśli nie wpiszemy w preambule
polecenia \date{ data}. Wówczas wstawiana jest data kompilacji. Jeśli chcemy uniknąć wstawiania
daty w preambule trzeba koniecznie wpisać polecenie \date{ }.

Streszczenie

Streszczenie umieszczamy w środowisku


\begin{abstract}
tu wpisujemy treść streszczenia
\end{abstract}
Komendy te wpisujemy w treści dokumentu w miejscu w którym chcemy umieścić streszczenie.
Dzięki zastosowaniu tego środowiska tekst streszczenia składany jest w specjalny sposób. Ponadto
automatycznie generowane jest słowo: Streszczenie

1.7 Rozdziały
Polecenia podziału dokumentu w klasie article

Nazwa Polecenie Numer W spisie Numerowane


podziału poziomu treści
część \part 0 tak tak
rozdział \section 1 tak tak
podrozdział \subsection 2 tak tak
podpodrozdział \subsubsection 3 tak tak
paragraf \paragraph 4 nie nie
podparagraf \subparagraph 5 nie nie

Aby dokonać podziału tekstu na rozdziały należy w odpowiednich miejscach umieścić odpowiedni
znak podziału. Znaki podziału muszą być zagłębiane w odpowiedniej kolejności tzn. muszą być
podawane od poziomu 0 do poziomu 5 (poziom 0 można opuścić). Aby wpisać znak podziału należy
umieścić na przykład polecenie
\section[nazwa w spisie treść]{nazwa rozdziału w tekście}
Jeśli opuścimy wpis [nazwa w spisie treść] wówczas zarówno w spisie treści jak i w tekście pojawi
się nazwa rozdziału wpisana zamiast słów nazwa rozdziału w tekście.

Przykłady

Tekst źródłowy z dodanym poleceniem generowania spisu treści

8
\section[Rozdzialik 1]{To jest rozdział pierwszy} A tu jego treść
spowoduje wygenerowanie dokumentu

a tekst źródłowy z dodanym poleceniem generowania spisu treści


\section{To jest rozdział pierwszy} A tu jego treść
spowoduje wygenerowanie dokumentu

Rozdziały bez numerów

Jeśli zamiast polecenia


\section[nazwa w spisie treść]{nazwa rozdziału w tekście}
użyjemy polecenia
\section*{nazwa rozdziału w tekście}
to w tekście zostanie wstawiony rozdział, któremu nie zostanie nadany numer.

Opisane powyżej zasady dotyczą wszystkich poleceń podziału.

1.8 Spis treści

Aby dodać spis treści należy umieścić w tekście polecenie


\tableofcontents
W miejscu jego wpisania zostanie automatycznie wygenerowany spis treści w którym zostaną
umieszczone wszystkie rozdziały wraz z numerami stron na których są one zamieszczone. Zostanie
także wygenerowany napis Spis treści.
UWAGA Aby spis treści był widoczny należy skompilować plik dwa razy.
Jeśli chcemy dodać tekst do spisu treści należy na tej samej stronie na której ten tekst się znajduje
umieścić polecenie
\addcontentsline{toc}{poziom}{tekst w spisie}
gdzie poziom oznacza jeden z poziomów podziału np. section. Jeśli chcemy aby w spisie treści

9
znalazł się spis literatura pod nazwą Literatura to zaraz przed pierwszą pozycją ze spisu literatury
wpisujemy polecenie
\addcontentsline{toc}{section}{Literatura}
Wówczas w spisie treści pojawi się na wysokości rozdziałów słowo Literatura wraz z odpowiednią
stroną.

1.9 Przypisy
Przypisy generujemy za pomocą polecenia \fotnote{tu treść przypisu}. Na przykład tekst:
Anna Loranty1
został wygenerowany za pomocą polecenia:
Anna Loranty\footnote{pracownik KMNM}
Jeśli chcemy umieścić przypis nie w zwykłym tekście ale np. do tytułu rozdziału to musimy go
poprzedzić polecenie \protect
W przypadku przypisu dodawanego do tytułu zamiast polecenia isetminusfootnote używamy
polecenia \thanks{treść przypisu }

1
pracownik KMNM

10
2 Podział strony

W tym rozdziale znajdziesz spis poleceń pozwalających na podział tekstu na strony, akapity i
linie oraz informacje na temat zmiany ustawień wcięć akapitowych. [0.5cm] Należy zaznaczyć, że
użytkownik powinien dokonywać tylko podziału tekstu na akapity pozostawiając pozostałe podziały
kompilatorowi.Tekst jest wówczas dzielony najbardziej optymalnie. [0.5cm] Wcięcia akapitowe oraz
odstępy pomiędzy akapitami powinny być stałe w całym dokumncie. Tekst jest wówczas najbardziej
przejrzysty.

2.1 Wiersze
Podział na wiersze

\newline - to polecenia spowoduje złamanie linii, linijka zostanie uzupełniona spacjami,

\\ - to polecenia działa analogiczne jak polecenie \newline,

\ \ [parametr] - to polecenia działa podobnie do polecenie \\, ale pomiędzy linijkami zostanie
dodatkowo utworzony odstęp pionowy. Kolejna linijka zostanie napisana w odległości równej
wielkości parametr. Wielkość parametr musi mieć formę: liczba jednostka np. 1 cm, 0.5 in,

\linebreak - to polecenia spowoduje złamanie linii, tekst w linijce zostanie dodatkowo wyjustowany,

Podział na wiersze

\linebreak[cyfra] - to polecenia działa podobnie do polecenie \linebreak, ale dodatkowy parametr


cyfra mówi jak bardzo zależy nam na złamaniu linii w tym miejscu. W miejsce parametru cyfra
może być wpisana jedna z cyfr 0, 1, 2, 3, 4. Przy czym 0 oznacza, że nie bardzo zależy nam na
złamaniu linii w tym miejscu, a 4 że linia musi być koniecznie złamana w tym miejscu,

\nolinebreak[cyfra] - to polecenie informuje jak bardzo zależy nam na nie łamaniu linii w tym
miejscu. W miejsce parametru cyfra może być wpisana jedna z cyfr 0, 1, 2, 3, 4. Przy czym 0
oznacza, że nie bardzo zależy nam na niełamaniu linii w tym miejscu, a 4 że linia nie może być
złamana w tym miejscu nigdy.

Należy podkreślić, że stosując polecenia \linebreak[cyfra] oraz \nolinebreak[cyfra] decyzję


zostawiamy ostatecznie kompilatorowi. Może on więc nie zastosować się do naszych sugestii.

2.2 Akapity
Podział na akapity

11
pusta linia - zostawienie pustej linii w tekście spowoduje utworzenie nowego akapitu w tym miejscu,

\par - polecenie to działa analogiczne jak pozostawienie pustej linii w tekście

Każdy akapit rozpoczyna się od wcięcia akapitowego. Ponadto pomiędzy kolejnymi akapitami jest
dodawany dodatkowy odstęp między liniami. Każdą z tych wielkości można sterować, co zostało
opisane na kolejnych slajdach.
Aby akapit nie rozpoczynał się od wcięcia należy użyć polecenia \noindent.
Aby wygenerować dodatkowe wcięcie należy użyć polecenia \indent.

Wcięcia akapitowe

Wielkość wcięcia akapitowego „przchowuje” parametr \parindent. Aby zmienić wielkość


tego wcięcia należy użyć polecenia
\setlength{\parindent}{wielkość} - parametr wielokość jest równy nowej długości wcię-
cia akapitowego podanej w jednostkach dopuszczalnych przez kompilator np. 1cm czyli \setlength{
\parindent}{1cm}
lub
\addtolength{\parindent}{wielkość} - parametr wielokość jest równy długości wcięcia aka-
pitowego jaka ma być dodana do aktualnej wielkości wcięcia akapitowego, musi on być także podany
w jednostkach dopuszczalnych przez kompilator np. 1cm czyli \addtolength{\parindent}{1cm}.
Każde z tych poleceń musi być wpisane przed miejscem od którego ma być stosowane.

Odstępy między akapitami

Wielkość odstępu między akapitami „przchowuje” parametr \parskip. Aby zmienić wiel-
kość tego odstępu należy użyć polecenia
\setlength{\parskip}{wielkość} - parametr wielokość jest równy nowej długości odstępu
między akapitami podanej w jednostkach dopuszczalnych przez kompilator np. 1cm czyli
\setlength{\parskip}{1cm}
lub
\addtolength{\parskip}{wielkość} - parametr wielokość jest równy długości odstępu mię-
dzy akapitami jaka ma być dodana do aktualnej wielkości odstępu między akapitami, musi on być
także podany w jednostkach dopuszczalnych przez kompilator np. 1cm czyli
\addtolength{ \parskip}{1cm}.
Każde z tych poleceń musi być wpisane przed miejscem od którego ma być stosowane.

Podział na strony

12
\newpage - to polecenia spowoduje złamanie strony w miejscu jego wpisania, strona zostanie uzu-
pełniona pustymi liniami,

\pagebreak - polecenie to działa podobnie jak polecenie \newpage, ale strona nie jest uzupełniana
pustymi liniami, tekst jest ”rozkładany” na całej stronie,

\pagebreak[cyfra] - polecenie to działa analogicznie jak polecenie \pagebraek, ale dodatkowy


parametr cyfra mówi jak bardzo zależy nam na złamaniu strony w tym miejscu. W miejsce
parametru cyfra może być wpisana jedna z cyfr 0, 1, 2, 3, 4. Przy czym 0 oznacza, że nie bardzo
zależy nam na złamaniu strony w tym miejscu, a 4 że strona musi być koniecznie złamana w
tym miejscu,

\nopagebreak[cyfra] - polecenie to informuje kompilator jak bardzo zalezy nam na nie łamaniu
strony w tym miejscu. W miejsce parametru cyfra może być wpisana jedna z cyfr 0, 1, 2, 3, 4.
Przy czym 0 oznacza, że nie bardzo zależy nam na niełamaniu strony w tym miejscu, a 4 że
strona nie może być złamana w tym miejscu nigdy.

13
3 Odstępy
W tym rozdziale zamieszczone są informacje o odstępach w pionie i poziomie oraz odstępy w trybie
matematycznym.

3.1 Odstępy poziome


Odstępy poziome

\hspace{odległość} - powoduje wygenerowanie odstępu poziomego o długości odległość. Zamiast


słowa odległość wpisujemy liczbę wraz z dopuszczalną jednostką. Jeśli odstęp miałby być wy-
generowany na początku linii to zostanie zignorowany;

\hspace*{odległość} - dział analogicznie jak polecenie \hspace{odległość} z tym, że odstępy na


poczatku linii nie są ignorowane;

\t - generuje mały odstęp poziomy, jego wielkość zależy od wielkości czcinki zastosowanej dla danego
akapitu;

\quad - generuje średni odstęp poziomy, jego wielkość zależy od wielkości czcinki zastosowanej dla
danego akapitu;

\qquad - generuje duży odstęp poziomy, jego wielkość zależy od wielkości czcinki zastosowanej dla
danego akapitu;

\hfill - generuje odstęp poziomy, którego wielkość dobierana jest automatycznie aby tekst był roz-
łożony w linii na całej jej długości;

\dotfill - dział analogicznie jak polecenie \hfill z tym, że zamiast spacji odstęp jest uzupełniany
kropkami;

\hrulefill - dział analogicznie jak polecenie \hfill z tym, że zamiast spacji odstęp jest uzupełniany
podkreśleniem.

Odstępy w trybie matematycznym

\, - powoduje wygenerowanie odstępu poziomego małego;

\; - powoduje wygenerowanie odstępu poziomego średniego;

\: - powoduje wygenerowanie odstępu poziomego dużego;

\! - powoduje wygenerowanie odstępu poziomego ujemnego małego.

14
3.2 Odstępy pionowe

\vspace{odległość} - powoduje wygenerowanie odstępu pionowego o długości odległość. Aby efekt


był widoczny po poleceniu musi wystąpić polecenie łamiące linię. Zamiast słowa odległość
wpisujemy liczbę wraz z dopuszczalną jednostką. Jeśli odstęp miałby być wygenerowany na
początku strony to zostanie zignorowany;

\vspace*{odległość} - dział analogicznie jak polecenie \vspace{odległość} z tym, że odstępy na


poczatku strony nie są ignorowane;

\smallskip - generuje mały odstęp pionowy, jego wielkość zależy od wielkości czcinki zastosowanej
dla danego akapitu;

\medskip - generuje średni odstęp pionowy, jego wielkość zależy od wielkości czcinki zastosowanej
dla danego akapitu;

\bigskip - generuje duży odstęp pionowy, jego wielkość zależy od wielkości czcinki zastosowanej dla
danego akapitu;

15
4 Formatowanie czcionki

W tym rozdziale znajdziesz spis poleceń pozwalających na zmianę wyglądu czcionki, jej kroju
oraz rozmiaru.

4.1 Krój
Krój czcionki

efekt polecenie generujące nazwa stylu

Formatujemy tekst \textrm{Formatujemy tekst} antykwa

Formatujemy tekst \textsf{Formatujemy tekst} czcionka bezszeryfowa

Formatujemy tekst \texttt{Formatujemy tekst} maszyna do pisania

Formatujemy tekst \textbf{Formatujemy tekst} pismo półgrube

Formatujemy tekst \textmd{Formatujemy tekst} normalna grubości

Formatujemy tekst \textit{Formatujemy tekst} kursywa

Formatujemy tekst \textsc{Formatujemy tekst} kapitaliki

Formatujemy tekst \textsl{Formatujemy tekst} pismo pochyłe

Przedstawione na wcześniejszym slajdzie polecenia można łaczyć ze sobą uzyskując np.

Aby uzyskać taki efekt należy zastosować polecenie

\textsl{\textbf{pismo pochyłe i pogrubione}}

Należy jednak podkreślić, że nie wszyskie kombinacje są dopuszczalne np. nie można napisać tekstu
pogrubionego a równocześnie napisanego kapitalikami. Co więcej opisane polecenia można stosować
w obrębie jednego akapitu. Jeśli chcemy sformatować więcej niż jeden akapit należy użyć poleceń
przedstawionych poniżej.

16
efekt polecenie generujące nazwa stylu

Formatujemy {\rmfamily Formatujemy} antykwa

Formatujemy {\sffamily Formatujemy} czcionka bezszeryfowa

Formatujemy {\ttfamily Formatujemy} maszyna do pisania

Formatujemy {\bfseries Formatujemy} pismo półgrube

Formatujemy {\mdseries Formatujemy} normalna grubości

Formatujemy {\itshape Formatujemy} kursywa

Formatujemy {\scshape Formatujemy} kapitaliki

Formatujemy {\slshape Formatujemy} pismo pochyłe

4.2 Rozmiar

Różne wielkości {\tiny Różne wielkości}


Różne wielkości {\scriptsize Różne wielkości}
Różne wielkości {\footnotesize Różne wielkości}
Różne wielkości {\small Różne wielkości}
Różne wielkości {\normalsize Różne wielkości}
Różne wielkości {\large Różne wielkości}
Różne wielkości {\Large Różne wielkości}
Różne wielkości {\LARGE Różne wielkości}
Różne wielkości {\huge Różne wielkości}
Różne wielkości {\Huge Różne wielkości}

17
5 Otoczenia typu listowego

W tym rozdziale znajdziesz spis poleceń pozwalających na wstawianie cytatów, tekstów wyrówna-
nych do prawej czy lewej strony oraz list wypunktowanych i numerowanych. Aby uzyskać odpowiedni
efekt trzeba będzie zastosować odpowiednie środowisko. Zastosowanie każdego ze środowisk spowo-
duje wstawienie dodatkowego odstępu zarówno przed jak i po wstawianym tekście.

5.1 Wyrównania
Wyrównanie do prawej

\begin{flushright} ******** \end{flushright}


polecenie to służy do wstawiania tekstu wyrównanego do prawej strony. Zamiast ciągu ********
wpisujemy oczywiście odpowiedni teskt. Poszczególne linijki oddzielamy znakiem \\. A oto jaki efekt
uzyskamy stosując to polecenie

Wyrównanie do lewej

\begin{flushleft} ******** \end{flushleft}


polecenie to służy do wstawiania tekstu wyrównanego do lewej strony. Zamiast ciągu ********
wpisujemy oczywiście odpowiedni teskt. Poszczególne linijki oddzielamy znakiem \\. A oto jaki efekt
uzyskamy stosując to polecenie

Wyrównanie do środka

18
\begin{center} ******** \end{center}
polecenie to służy do wstawiania tekstu wyrównanego do środka. Zamiast ciągu ******** wpi-
sujemy oczywiście odpowiedni teskt. Poszczególne linijki oddzielamy znakiem \\. A oto jaki efekt
uzyskamy stosując to polecenie

Jeśli chcemy wyśrodkować tylko jedną linię możemy użyć polecenia


\centerline{ linijka tekstu}
Polecenie to nie generuje dodatkowego odstępu między wstawianym tekstem.

5.2 Listy
Lista wypunktowana

\begin{itemize}
\item pierwszy punkt
\item drugi punkt
\item trzeci punkt
\end{itemize}

polecenie to służy do wstawiania listy wypunktowanej. Użycie polecenia \item wskazuje na rozpo-
częcie nowego elementu listy. Oto jaki efekt uzyskamy wstawiając powyższy tekst

• pierwszy punkt

• drugi punkt

• trzeci punkt

Listy te można zagnieżdżać w sobie do czwartego poziomu.

19
Lista wypunktowana

Dla każdego z poziomów został zarezerwowany inny symbol graficzny. Symbole te można zmienić
na dwa sposoby
lokalnie zmieniając etykietę tylko w konkretnym miejscu aby uzyskać na przykład taki efekt

Należy wówczas do polecenia \item dodać parametr. Polecenie ma więc postać


\item[nowy symbol który ma być użyty jako etykieta].
W powyższym przykładzie polecenie to wyglądało następująco
\item[+] poziom drugi ze zmienioną etykietą
.
Ten sposób zmiany etykiety jest zalecany jeśli

• zmieniamy etykiety tylko w jednej liście

• zmieniamy etykiety w kilku listach ale w każdej liście wypunktowanej chcemy stosować inne
symbole dla tych samych poziomów.

globalnie zmieniając domyślne etykiety przypisane do poszczególnych poziomów. Informacje o


poszczególnych etykietach przchowywane są przez polecenia
\labelitemi, \labelitemii, \labelitemiii, \labelitemiv
odpowiednio dla etykiet pierwszego, drugiego, trzeciego i czwartego poziomu. Aby zmienić etykietę
np. dla poziomu pierwszego na etykietę ** należy użyć polecenia
\renewcommand{\labelitemi}{**}
Uzyskujemy wówczas następujący efekt

który zachodzi dla wszystkich list wypunktowanych poniżej wpisanego polecenia zmieniającego
etykietę. Ogólnie polecenie zmiany etykiety ma postać
\renewcommand{ polecenie przechowujące etykietę}{nowa etykieta}
Ten sposób zmiany etykiety jest zalecany jeśli chcemy zmienić etykiety na danym poziomie we
wszystkich listach. Należy wówczas zamieścić polecenie zmiany etykiet w preambule dokumentu.

Lista numerowana

\begin{enumerate}

20
\item pierwszy punkt
\item drugi punkt
\item trzeci punkt
\end{enumerate}

polecenie to służy do wstawiania listy numerowanej. Użycie polecenia \item wskazuje na rozpoczęcie
nowego elementu listy. Oto jaki efekt uzyskamy wstawiając powyższy tekst

Listy te można zagnieżdżać w sobie do czwartego poziomu.

Dla każdego z poziomów został zarezerwowany inny symbol graficzny. Symbole te można zmienić
na dwa sposoby
lokalnie zmieniając etykietę tylko w konkretnym miejscu. Zmiany tej dokonuje się tak samo jak
dla listy wypunktowanej czyli dodając do polecenia \item parametr określający nową etykietę czyli
\item [nowa etykieta].
globalnie zmieniając domyślne etykiety przypisane do poszczególnych poziomów. Informacje o
poszczególnych etykietach przchowywane są przez polecenia
\labelenumi, \labelenumii, \labelenumiii, \labelenumiv
odpowiednio dla etykiet pierwszego, drugiego, trzeciego i czwartego poziomu. Zmiany dokonujemy
tak samo jak dla list wypunktowanych czyli wykorzystując polecenie
\renewcommand{polecenie przechowujące etykietę}{nowa etykieta}

Lista „słownikowa”

\begin{description}
\item [pierwsze słowo] opis słowa pierwszego
\item [drugie słowo] opis słowa drugiego
\item [trzecie słowo] opis słowa trzeciego
\end{description}

polecenie to służy do wstawiania listy „słownikowej”. Użycie polecenia \item [etykieta] wskazuje
na rozpoczęcie nowego elementu listy. Oto jaki efekt uzyskamy wstawiając powyższy tekst

21
Listy tego typu używane są najczęściej do składania tekstów typu słowniki czy encyklopedie. W
odróżnieniu od list wypunktowanych i numerowanych ważne aby w tej liście samodzielnie tworzyć
etykiety poszczególnych elementów listy. Etykiety te są składane inną czcionką i dzięki temu możemy
odróżnić wyraz definiowany od tekstu, który go definiuje.

5.3 Spis literatury

Środowisko służące do wstawiania spisu literatury ma następującą postać

\begin{thebibliography}{parametr1}
\bibitem [etykieta1]{klucz1} Pierwsza pozycja w spisie
\bibitem [etykieta2]{klucz2} Druga pozycja w spisie
\end{thebibliography}

gdzie w miejsce parametr1 wpisujemy ilość znaków odpowiadających najdłuższej etykiecie, w miej-
sce klucz1, klucz2 wpisujemy unikalną dla każdej pozycji nazwę dzięki której będziemy mogli od-
woływać się w tekście do danej pozycji, w miejsce etykieta1, etykieta2 wpisujemy unikalny dla
każdej pozycji skrót, który zobaczymy w tekście obok nazwy danej książki. Wpisanie etykiet jest
opcjonalne. Jeśli tego nie zrobimy obok każdej pozycji pokażą się etykiety domyślne tzn. kolejne
liczby naturalne. A oto przykład dwóch spisów literatury:

Literatura z własnymi etykietami

i źródło

Uwaga: Napis Literatura jest generowany automatycznie i nie trzeba go pisać samodzielnie.

Literatura z etykietami domyślnymi

22
i źródło

Uwaga: Napis Literatura jest generowany automatycznie i nie trzeba go pisać samodzielnie.

Odwołania do literatury

Aby odwołać sie w tekście do pozycji pierwszej z literatury, która była zdefiniowana następująco

\begin{thebibliography}{parametr1}
\bibitem [etykieta1]{klucz1} Pierwsza pozycja w spisie
\bibitem [etykieta2]{klucz2} Druga pozycja w spisie
\end{thebibliography}

musimy użyć polecenia \cite{klucz1} w odpowiednim miejscu w tekście. W miejscu użycia te-
go polecenia pojawi się etykieta1, która jest przypisana do pozycji pierwszej. Na przykład mamy
zdefiniowany następujący spis literatury

\begin{thebibliography}{W}
\bibitem [L]{loranta} A.Loranty, "Krótkie wprowdzenie do..."
\bibitem [K]{kow} B.Kowalski, "Książeczka druga"
\end{thebibliography}

To aby uzyskać tekst: w pozycji [L] autorka pisze o


musimy napisać: w pozycji \cite{loranta} autorka pisze o

23
6 Matematyka

6.1 Podstawowe zasady

Jeśli chcemy pisać w trybie matematycznym musimy o tym poinformować kompilator. Możemy
to zrobić na kilka sposobów:

1. pisząc tekst matematyczny pomiędzy znakami $ np. $ x + y = 2 $

2. pisząc tekst matematyczny pomiędzy dwoma znakami $$ np. $$ x + y = 2 $$. W odróżnieniu


od pierwszego sposobu tekst napisany pomiędzy dwoma znakami $$ zostanie przeniesiony do
nowej linii i wyśrodkowany.

3. pisząc tekst w środowisku \begin{equation}....\end{equation} np.

\begin{equation}
x+y = 2
\end{equation}

Polecenie to działa podobnie do opisanego wcześniej ale dodatkowo pojawia się jeszcze numer.

Zwykły tekst pisany w trybie matematycznym jest składany czcionką pochyła i bez znaków polskich.
Ponadto ignorowane są wszystkie spacje. Aby napisać tekst czcionką prostą z polskimi literami oraz
odstępami należy wykorzystać polecenie \text{...}. Oczywiście zamiast ... wstawiamy odpowiedni
tekst.

Kilka komend przydatnych przy pisaniu matematyki

UWAGA Każda z komend musi być wpisana w środowisku matematycznym


Komenda Efekt
licznik
\frac{licznik}{mianownik} mianownik
indeks
podstawa^{indeks} podstawa
podstawa_{indeks} podstawaindeks

n
\sqrt[n]{liczba} liczba
Rb
\int_{a}^{b}f(x)dx a f (x)dx
\lim_{x\rightarrow 0}f(x) limx→0 f (x)
P10
\sum_{n=1}^{10}a_n n=1 an
S10
\bigcup_{n=1}^{10}A_n n=1 An
T10
\bigcap_{n=1}^{10}A_n n=1 An
 
n
\binom{n}{k} k

24
Aby wstawić liczby np. pod symbol całki należy zastosować polecenie \limits. Polecenie to stosu-
jemy następująco:[0.5cm]

Rb
polecenie \int\limits_{a}^{b}f(x)dx daje efekt f (x)dx
a
Rb
polecenie \int_{a}^{b}f(x)dx daje efekt a f (x)dx
polecenie \lim\limits_{x\rightarrow 0}f(x) daje efekt lim f (x)
x→0

polecenie \lim_{x\rightarrow 0}f(x) daje efekt limx→0 f (x)


10
P
polecenie \sum\limits_{n=1}^{10}a_n daje efekt an
n=1
P10
polecenie \sum_{n=1}^{10}a_n daje efekt n=1 an

Analogicznie stosujemy to polecenie dla innych symboli.

Aby zapisać wzór funkcji w postaci ”klamerkowej” można skorzystać ze środowiska cases. Sto-
sujemy je następująco: Kod źródłowy

$$
f(x)=
\begin{cases}
x^2 & dla \quad x<1;\\
-x^3 & dla \quad x=1;\\
x+2 & dla \quad x>1.
\end{cases}
$$

wygeneruje tekst 
2
x dla x < 1;


f (x) = −x 3

dla x = 1;


x + 2 dla x > 1.

Kwantyfikatory

Tekst
∀x∈R ∃n∈N x < n
uzyskamy za pomocą kodu źródłowego

25
$ \forall _{x \in R} \exists _{n \in N} x<n $
Aby zwiększyć odstępy pomiędzy elementami należy dodać polecenia generujące odstępy. Na
przykład tekst
∀x∈R ∃n∈N x < n
uzyskamy za pomocą kodu źródłowego
$\forall _{x \in R} \quad \exists _{n \in N} \quad x<n$
Aby ”umieścić” symbole pod kwantyfikatorem należy wykorzystać polecenie \underset{ }{ } .
Tekst
∀ ∃ x<n
x∈R n∈N

uzyskamy za pomocą kodu źródłowego


$ \underset{x \in R}{\forall } \quad \underset{n \in N}{\exists } \quad x<n $

Kilka przydatnych symboli

\alpha α \setminus \
\beta β \in ∈
\varepsilon ε \subset ⊂
\delta δ \supset ⊃
\sigma σ \emptyset ∅
\Omega Ω \infty ∞
\cap ∩ \cup ∪
\forall ∀ \exists ∃
\rightarrow → \leftarrow ←
\Rightarrow ⇒ \Leftrightarrow ⇔
\leq ¬ \geq ­
\aleph ℵ \mapsto 7 →

Pakiet amssymb

Wykorzystując pakiet amssymb możemy pisać litery:


R wykorzystując polecenie \mathbb{R}
C wykorzystując polecenie \mathbb{C}
N wykorzystując polecenie \mathbb{N}
Q wykorzystując polecenie \mathbb{Q}
Z wykorzystując polecenie \mathbb{Z}

R wykorzystując polecenie \mathcal{R}


I wykorzystując polecenie \mathcal{I}

26
N wykorzystując polecenie \mathcal{N}
i tak dalej . . .

6.2 Wzory wielolinijkowe

Aby zapisać tekst matematyczny np. ciag obliczeń w kilku linijkach należy zastosować odpowied-
nie środowiska. A oto kilka przykładowych środowisk.

Środowisko array - czyli piszemy macierze

Otoczenie to ma format:
\begin{array}[pozycja]{ilość kolumn} lista wierszy \end{array}
parametr pozycja jest opcjonalny tzn. że nie mus on wystąpić. Jeśli jednak go podajemy musi
być jedną z liter: c, t lub b. Oznaczają one odpowiedni wycentrowanie macierzy w pionie, wyrównanie
do góry i do dołu.
parametr ilość kolumn jest obowiązkowy i jak wskazuje nazwa należy w tym miejscu podać
ilość kolumn macierzy. Sposób podania tej ilości jest jednak specyficzny: należy wpisać tyle liter c
ile jest kolumn np. dla trzech kolumn należy napisać {ccc}. Zamiast litery c można użyć litery l lub
r (lub dowolnej kombinacji tych liter). Użycie tych liter oznacza: c - wyśrodkowanie kolumny, l -
wyrównanie do lewej, r - wyrównanie do prawej.
Zamiast listy wierszy wpisujemy elementy tablicy. Poszczególne elementy w
UWAGA środowisko to musi być umieszczone dodatkowo w środowisku matematycznym.

Przykład wykorzystania środowiska array

Macierz  

 123 456 890 

3 5 7
 

11 22 33 
została wygenerowana za pomocą kodu

$$
\left\{ \begin{array}{lcr}
123 & 456 & 890 \\
3 & 5 & 7\\
11& 22 & 33
\end{array}
\right\}
$$

gdzie polecenia \left\{ i \right\} posłużyły do wygenerowania nawiasów.

27
Środowisko gather

Środowisko to ma ogólną postać

\begin{gather}
pierwsza linijka \\
druga linijka\\
...............
ostatnia linijka
\end{gather}

Każda z linii jest umieszczona w osobnym wierszu i wszyskie wiersze są wyśrodkowane. Ponadto
każdy wiersz jest zanumerowany. Jeśli nie chcemy aby w jakimś wierszu pojawiał się numer należy
przed końcem wiersza wpisać polecenie \nonumber

Przykład wykorzystania środowiska gather

Kod źródłowy

\begin{gather}
P_{k}=\pi * r^2\\
P_{p}=a *b \nonumber \\
V_{kuli}= \frac{4}{3} \pi r^3
\end{gather}

i efekt
Pk = π ∗ r 2 (1)
Pp = a ∗ b
4
Vkuli = πr3 (2)
3

Środowisko multline

Środowisko to ma ogólną postać

\begin{multline}
linijka pierwsza - wyrównana do lewej\\
linijka druga - wyśrodkowana\\
linijka trzecia - wyśrodkowana\\
....
linijka ostatnia - wyrównan do prawej
\end{multline}

Numer dodawany jest tylko przy ostatniej linii.

28
Przykład wykorzystania środowiska multline

Kod źródłowy

\begin{multline}
P_{k}=\pi * r^2\\
P_{p}=a *b \\
V_{kuli}= \frac{4}{3} \pi r^3\\
x^2+4-7x=12
\end{multline}

i efekt

Pk = π ∗ r 2
Pp = a ∗ b
4
Vkuli = πr3
3
x2 + 4 − 7x = 12 (1)

6.3 Środowisko theorem


Środowiska typu theorem

Polecenie
\newtheorem{nazwa polecenia}{Nazwa pojawiająca się w tekście}
służy do tworzenia środowisk do zapisywanie twierdzeń, definicji czy też własności. Na przykład
polecenie
\newtheorem{twier}{Twierdzenie}
spowoduje stworzenie nowego środowiska twier, które wywołujemy poleceniem

\begin{twier}
a tu wpisujemy treść twierdzenia
\end{twier}

Zaleca się aby komendy tworzące nowe środowiska tzn. polecenia typu \newtheorem{nazwa polece-
nia}{Nazwa pojawiająca się w tekście} zapisywać w preambule.

Przykład tworzenia nowego środowiska typu theorem

W preambule zostało napisane polecenie


\newtheorem{twierdzonko}{Twierdzenie}
natomiast w treści dokumentu wpisano tekst

29
\begin{twierdzonko}
Przestrzeń topologiczna $(\R,\T_{d})$ jest przestrzenią regularną,
gdzie $T_{d}$ oznacza topologie gęstości.
\end{twierdzonko}

Spowodował on wygenerowanie tekstu:

Twierdzonko 1. Przestrzeń topologiczna (R, Td ) jest przestrzenią regularną, gdzie Td oznacza topo-
logie gęstości.

6.4 Odwołania

Aby odwołać się do jakiegoś fragmentu tekstu tzn. do numeru strony na jakiej jest dany tekst
lub jakiegoś numeru wzoru należy
po pierwsze
W miejscu do którego chcemy się odwołać wpisać etykietę. Robimy to za pomocą polecenia
\label{ nazwa}.
Zamiast słowa nazwa wpisujemy własny tekst, nie powinien on zawierać polskich znaków i spacji
oraz musi być inny dla każdego z miejsc np.
\label{ mojaPierwszaEtykieta}
po drugie
W miejscu w którym chcemy się odwołać musimy o tym poinformować kompilator wykorzystując
w tym celu polecenie
\ref{ nazwa}.
Zamiast słowa nazwa wpisujemy nadaną wcześniej etykietę np.
\ref{ mojaPierwszaEtykieta}

30
7 Numeracje

Wiele środowisk w LATEX- u jest automatycznie numerowanych. Numerowane są rozdziały, wzory


matematyczne, tabele czy też środowiska typu theorem. Na przykład

Numery te są nadawane automatycznie. Z każdym środowiskiem numerowanym związane są dwa


parametry: etykieta i licznik.

Etykieta odpowiedzialna jest za wygląd „numeru”. W powyższym przykładzie etykieta przecho-


wuje informacje, że numery mają być wyświetlane jako liczby arabskie.
Wygląd ”numeru” można oczywiście zmienić. Polecenie służące do zmiany informacji przechowy-
wanych w etykiecie to
\ renewcommandetykietawygląd zdefiniowany prze użytkownika
Oczywiście każde ze środowisk numerowanych ma własną unikalną nazwę etykiety. Zasada two-
rzenia nazw etykiet jest następująca - jest to nazwa środowiska poprzedzona przedrostkiem \the. Na
przykład dla polecenia \section jest to polecenie \thesection

Licznik odpowiedzialny jest za aktualną wielkość „numeru” tzn. przechowuje informacje o tym
ile razy dane środowisko zostało wykorzystane.
Oczywiście każde ze środowisk numerowanych ma własną unikalną nazwę licznika. Zasada two-
rzenia nazw liczników jest następująca - jest to nazwa środowiska (nie poprzedzona znakiem \).
Na przykład dla polecenia \section jest to polecenie section
Zazwyczaj licznik na początku przyjmuje wartość 0 (wstawiany „numer” jest o jeden większy
od aktualnej wartości licznika). Każde użycie danego środowiska powoduje zwiększenie licznika o
1. Jeśli chcemy, aby numeracja nie zaczynała się jednak od pozycji pierwszej, ale np. trzeciej to
wykorzystujemy polecenie
\setcounter{licznik}{liczba}
wstawiając zamiast słowa liczba 3.

7.1 Style wypisywania liczników


Style wypisywania liczników

W LATEXmożna wypisać licznik w pięciu stylach. O sposobie wypisywania licznika informujemy

31
kompilator definiując etykietę danego licznika. Dopuszczalne style to arabic, roman, Roman, alph,
Alph. Na przykład, jeśli zdefiniujemy etykietę licznika rozdziałów poleceniem
\renewcommand{\thesection}\Roman{section}
to rozdziały będą numerowane liczbami rzymskimi. Inne style to

\arabic{licznik} - licznik będzie „wypisywane” za pomocą cyfr arabskich;

\roman{licznik} - licznik będzie „wypisywane” za pomocą cyfr rzymskich „małych” tzn. i, ii, iii,
iv itd.;

\Roman{licznik} - licznik będzie „wypisywane” za pomocą cyfr rzymskich „dużych” tzn. I, II, III,
IV itd.;

\alph{licznik} - licznik będzie „wypisywane” za pomocą małych liter alfabetu tzn. a, b, c itd.;

\Alph{licznik} - licznik będzie „wypisywane” za pomocą dużych liter alfabetu tzn. A, B, C itd.

7.2 Zmiana numeracji rozdziałów


Rozdziały

Domyślnie rozdziały numerowane są kolejnymi liczbami arabskim.


Parametr przechowujący wygląd etykiety rozdziału generowanego za pomocą polecenia
\section{...}
to \thesection. Licznik takich rozdziałów przechowuje parametr section. Na przykład aby zmie-
nić numer rozdziału na następujący:

należy w preambule wpisać polecenie:

\renewcommand{\thesection}{\Alph{section}.}

aby rozpocząć numerację rozdziałów od litery C należy przed pierwszym rozdziałem wpisać po-
lecenie

\setcounter{section}{2}
uzyskamy wówczas wynik

32
Podrozdziały

Domyślnie podrozdziały numerowane są następująco numer rozdziału. numer podrozdziału


Parametr przechowujący wygląd etykiety podrozdziału generowanego za pomocą polecenia
\subsection{...} to \thesubsection.
Licznik takich rozdziałów przechowuje parametr subsection. Na przykład aby uzyskać

należy przed pierwszym podrozdziałem wpisać polecenia:

\renewcommand{\thesubsection}{\Alph{section}.\roman{subsection}}

7.3 Numeracja twierdzeń


Wspólna numeracja

W LATEX- u każde utworzone za pomocą polecenia


\newtheorem{nazwa polecenia}{Nazwa pojawiająca się w tekście}
środowisko jest numerowane oddzielnie. Nazwa licznika tego środowiska jest taka sama jak
nazwa polecenia użytego przy jego definiowaniu. Natomiast wygląd tego licznika przechowywany jest
przez parametr, którego nazwa jest zgodna z nazwą polecenia użytego przy definiowaniu środowiska
poprzedzonego przedrostkiem the. Na przykład jeśli utworzyliśmy środowisko za pomocą polecenia
\newtheorem{tw}{Twierdzenie}
to licznik tego polecenia jest ukryty pod nazwą: tw
a etykieta licznika pod nazwą thetw
Aby środowiska tego typu były numerowane łącznie należy użyć dodatkowego
parametru przy ich definiowaniu czyli użyć polecenia

\newtheorem{nazwa polecenia}[licznik]{Nazwa pojawiająca się w tekście}.

33
Na przykład jeśli zdefiniujemy dwa środowiska w następujący sposób

\newtheorem{tw}{Twierdzenie}
\newtheorem{lm}[tw]{Lemat}

to będą one już numerowane łącznie.

Zmiana wyglądu numerów twierdzeń

Przykład:
Zdefiniowaliśmy środowisko poleceniem

\newtheorem{tw}{Twierdzenie}

i chcemy aby numer twierdzenia wyglądał następująco:

Musimy więc (najlepiej w preambule) umieścić polecenie zmieniające wygląd etykiety licznika
czyli polecenie

\renewcommand{\thetw}{**\alph{tw}**}

Jeśli dodatkowo chcemy aby numeracja twierdzeń zaczynała się od litery d to musimy dodatkowo
przestawić licznik na tą literę za pomocą polecenia

\setcounter{tw}{3}

34
8 Tabele

8.1 Tworzenie tabeli


Tabele

Podstawowym środowiskiem LATEX- a do tworzenia tabel jest środowisko tabular. Ma ono nastę-
pujacą składnię

\begin{tabular}{ilość kolumn}
... & ... & ... \\
... & ... & ...\\
*
*
... & ... & ...\\
\end{tabular}

Zamiast słów ilość kolumn wstawiamy tyle liter c ile kolumn ma być w tabeli. Zamiast litery c można
użyć innych liter (zostały one opisane w rozdziale Wyrównanie w kolumnie)
Poszczególne wiersze rozdzielamy znakiem \\ a kolumny znakiem &

\begin{tabular}{ccc}
1 2 3 1 & 2 & 3\\
Np. tabelę uzyskamy dzięki kodowi
4 5 6 4 & 5 & 6\\
\end{tabular}

Wysokość wiersza można zmienić za pomocą polecenia (konieczne jest dodanie pakietu array)
\setlength{\extrarowheight}{10pt}
Oczywiście zamiast 10pt możemy wpisać inną wysokość wiersza.

8.2 Wyrównanie w kolumnie

Litery c w poleceniu

\begin{tabular}{cccc}
... & ... & ... & ... \\
\end{tabular}

oznaczają że tekst w każdej z kolumn ma być wyśrodkowany. Zamiast litery c możemy wstawić
jedną z liter

35
l - tekst w kolumnie zostanie wyrównany do lewej;

r - tekst w kolumnie zostanie wyrównany do prawej;

p{szer.} - szerokość kolumny zostanie ustawiona na zgodnie z parametrem szer., tekst w kolumnie
zostanie odpowiednio połamany;

Przykłady
Tabela
środek lewa prawa 44
11 22 33 o
za- Kod
da- \begin{tabular }{clrp{1cm}}
nej środek & lewa& prawa & 44\\
sze- 11 & 22 & 33& o zadanej szerokości\\
ro- \end{tabular }
ko-
ści

8.3 Obramowania komórek


Linie pionowe

Do wygenerowania linii pionowych służy znak |. A sposób ich generowania jest następujący

Kod
Tabela \begin{tabular}{|cl|r||c|}
143 111 123 44 143 & 111 & 123 & 44\\
11 22 33 345 11 & 22 & 33& 345\\
\end{tabular}

Tak więc znak | wstawiamy w miejscu w którym informujemy kompilator o ilości kolumn, w tych
miejscach w których linie te mają się pojawić. Linie te są „rysowane” przez całą wyskość tabeli.

Linie poziome

Do generowania linii poziomych służą polecenia

\hline - generuje linie, której długość jest równa szerokości tabeli;

\cline{p - k} - generuje linie pomiędzy kolumnami p i k (zamiast p wstawiamy numer pierwszej


kolumny, która ma być podkreślona, a zamiast k - numer ostatniej kolumny, która ma być
podkreślona)

36
Kod
\begin{tabular }{ |c|l|r|c| }
\hline
Tabela 143 & 111 & 123 & 44\\
143 111 123 44 \ cline{2-4 }
Przykład 11 22 33 345 11 & 22 & 33& 345\\
48 55 99 7 \hline
48& 55& 99& \\
\cline{2-2 }
\end{tabular }

8.4 Scalanie komórek


Scalanie kolumn

Abu scalić dwie (lub więcej) komórek umieszconych w sąsiadujących kolumnach należy użyć
polecenia

\multicolumn{ilość scalanych komórek}{sposób wyrównania}{tekst}

Zamiast słów sposób wyrównania wstawiamy jedną z liter: c, r lub l. Oznaczają one kolejno wyrów-
nanie tekstu do środka, do prawej i lewej. A oto przykład użycia tego polecenia
Kod
Tabela \begin{tabular }{ |c|l|r|c| } \hline
143 111 123 44 143 & 111 & 123 & 44\\ \ hline
11 środek 11 & \multicolumn{3}{|c|}{środek}\\ \hline
48 55 99 7 48& 55& 99& \\ \hline
2 r 5 6 2& \multicolumn{1}{|r|}{r}& 5& 6\\ \hline
\end{tabular }

Scalanie wierszy

Abu scalić dwie (lub więcej) komórek umieszconych w sąsiadujących wierszach należy użyć pole-
cenia

\multirow{ile wierszy}[liczba]{szerokość}{tekst}.

UWAGA: polecenie to jest dostępne po „załadowaniu” pakietu multirow.


Zamiast słów liczba wstawiamy liczbę przez którą będzie pomnożony parametr \bigstrutjot. O
tak wyliczoną wielkość przesuwany jest w pionie tekst w scalonych komórkach względem lini bazowej.
Jest to parametr obcjonalny. Jeśli nie zostanie podany tekst zostanie wyśrodkowany w pionie.
Zamiast słów szerokość wstawiamy szerokość jaką mają mieć scalone komórki. Jeśli chcemy aby
EX sam dobrał szerokość kolumny należy wpisać zamiast słów szerokość znak *. Tekst zostanie
LAT
wówczas wyśrodkowany w pionie.

37
A oto przykład użycia tego polecenia
Kod
Tabela \begin{tabular }{ |c|l|r| } \hline
111 123 \multirow{2}{*}{34} & 111 & 123 \\ \cline{2-3}
34
33 & \multirow{2}[4]{*}{77} & 33\\ \cline{1-1} \cline{3-3}
48 77 99 48& & 99 \\ \hline
\end{tabular }

8.5 Środowisko table


Środowisko table

Środowisko tabular może zostać umieszczone w środowisku table. Zaletą środowiska table jest
to, że możemy dodać podpis pod tabelą jak również odwoływać się do danej tabeli.
Ogólna składnia środowiska table jest następująca
\begin{table}[parametr] . . . \end{table}
gdzie zamiast parametr wpisujemy jedną (lub kilka) z liter

b - rysunek zostanie wstawiony u dołu strony,

t - rysunek zostanie wstawiony na górze strony,

h - rysunek zostanie wstawiony dokładnie w tym miejscu w którym jest wstawiona komenda (o ile
oczywiście jest to możliwe),

p - rysunek zostanie wstawiony na oddzielnej(ostatniej) stronie dokumentu

Na przykład użycie kombinacji liter hp spowoduje, że LATEX najpierw spróbuje umieścić tabelę w
miejscu wpisania komendy a jeśli nie będzie to możliwe umieści ją na ostatniej stronie dokumentu.

8.6 Podpis, odwołania oraz spis tabel

Podpis pod tabelą generujemy za pomocą polecenia

\caption[podpis w spisie ilustracji]{podpis pod tabelą} umieszczonego wewnątrz


środowiska table.
Spis tabel generujemy za pomocą polecenia

\listoftables

Polecenie to wstawiamy w tym miejscu w którym ma pojawić się spis tabel.

38
Odwołania do tabel realizujemy analogicznie jak wszystkie odwołania w LATEX- u (opisane w za-
kładce Matematyka–>Odwołania). Ważne jest aby polecenie \label{..} było wstawione jako ostatnia
linia w środowisku table.

39
9 Diagramy

Jednym z pakietów LATEX- a wykorzystywanym do tworzenia diagramów jest pakiet XY-pic.


Należy go „załadować” w preambule za pomocą polecenia \usepackage[all]{xy}
Podstawowym poleceniem służącym do tworzenia diagramów z wykorzystaniem tego pakietu jest
polecenie

\xymatrix{
... & ... & ... \\
... & ... & ...\\
*
*
... & ... & ...\\
}

Zamiast ... wstawiamy odpowiednie elementy diagramu (węzły, strzałki, opisy itd.)
Poszczególne wiersze rozdzielamy znakiem \\ a kolumny znakiem &

1^ / 2 \xymatrix{
1\ar[r]\ar[d] & 2\\
Np. diagram uzyskamy dzięki kodowi
 3 & 4\ar[ul]\\
3 4 }

9.1 Strzałki
Strzałki

Strzałki generujemy za pomocą polecenia \ar[kierunek], gdzie zamiast polecenia kierunek wpisu-
jemy kombinację liter r,l,d,u oznaczającą kierunek strzałki. Podstawowe kombinacje są następujące
ul = lu
c uO ur: = ru

lo • / r

{  $
ld = dl d dr = rd
Przykład
1O /2 Kod tak więc polecenie \ar[kierunek]
\xymatrix wpisujemy w miejscu rozpoczęcia
 { 1 \ar[r] & 2\ar[d]\ar[dl]\\ strzałki, a kierunek wskazuje poło-
3o 4 3 \ar[u] & 4\ar[l] } żenie końca strzałki

40
Strzałki

Oczywiście strzałkami można „łączyć” nie tylko sąsiadujące ze sobą pola.


Na przykład
1W 2 /3
Kod
 \xymatrix{
4 /6 1\ar[rr]\ar[d] & 2& 3\ar[lldd]\\
4 \ar[rr]& & 6 \\
7& 8\ar[uul]& 9 }
7 8 9
Tak więc wpisując kombinacje liter r,l,u,d należy określić położenie końca strzałki względem jej
początku. Na przykład w powyższym przykładzie polecenie rysujące strzałkę pomiędzy 1 i 3 to \ar[rr]
gdyż musimy sie przesunąć o dwie kolumny w prawo, a polecenie rysujące strzałkę pomiędzy 8 i 1 to
\ar[uul] gdyż musimy sie przesunąć o dwa wiersze do góry i o jedną kolumnę w lewo.

Strzałki równoległe

Do generowania strzałek równoległych służy polecenie \ar@<przesunięcie>[kierunek]. Zamiast


zmiennej przesunięcie wpisujemy wielkość odpowiedzialną za przesunięcie w górę lub w dół np.
0, 05cm lub −0, 05cm. Należy jednak zauważyć że przesunięcie to zależy od zwrotu strzałki.

/ \ar@<0.1cm>[r] przesunięcie w górę strzałki skierowanej w prawo


o \ar@<-0.1cm>[l] przesunięcie w górę strzałki skierowanej w lewo
/ \ar@<-0.1cm>[r] przesunięcie w dół strzałki skierowanej w prawo

o \ar@<0.1cm>[l] przesunięcie w dół strzałki skierowanej w lewo

UWAGA: linią przerywaną zaznaczono linię bazową

Zakrzywienia strzałek

Do generowania zakrzywień strzałek służą polecenia \ar@/^wielkość/[kierunek] - zakrzywie-


nie „w górę” o zadaną wielkość (domyślnie wynosi ona 5pt) \ar@/_wielkość/[kierunek] - zakrzy-
wienie „w dół” o zadaną wielkość (domyślnie wynosi ona 5pt)

UWAGA: zakrzywienie w „górę” lub w „dół”, podobnie jak przy strzałkach równoległych zależy
od zwrotu strzałki. Ponadto parametr wielkość jest opcjonalny
%
Ai B
KOD: \xymatrix{A\ar@/^10pt/[r]& B \ar@/^/[l]}
u
A 9B

41
KOD: \xymatrix{A\ar@/_10pt/[r]& B \ar@/_/[l]}

Zakrzywienia strzałek

Kolejnym poleceniem pozwalającym „zakrzywiać” strzałki jest polecenie

\ar@(kierunekWyjścia, kierunekWejścia)[kierunek], gdzie zamiast zmiennych kierunekWyj-


ścia oraz kierunekWejścia wpisujemy jeden z parametrów l,r,u,d,lu,ld,rd,ru. Na przykład
A 8B
KOD:\xymatrix{A\ar@(ru,ld)[r]& B }
A -B

KOD:\xymatrix{A\ar@(ru,l)[r]& B }

9.2 Style strzałek

Domyślnie polecenie \ar generuje następującą strzałkę:


/ .

Ustawienia te oczywiście można zmieniać wykorzystując do tego polecenie \ar@styl[kierunek],


gdzie zamiast zmiennej styl wpisujemy odpowiednie parametry sterujące wyglądem początku, środka
i końca strzałki. Ogólnie zasada wpisywania tej komendy jest następująca
@{ wyglądPoczątku wyglądŚrodka wyglądKońca }
Ponadto możliwa jest także zmiana położenia grotu strzałki względem linii łączącej
Oto kilka przykładowych zmian

/ \ar[r] styl domyślny


o / \ar@{<->}[r] grot na początku i końcu strzałki
o / \ar@^{<->}[r] grot na początku i końcu strzałki, rysowane powyżej linii
o / \ar@_{<->}[r] grot na początku i końcu strzałki, rysowane poniżej linii
ks +3 \ar@2{<->}[r] grot na początku i końcu strzałki, podwojenie linii
jt *4 \ar@3{<->}[r] grot na początku i końcu strzałki, potrojenie linii

42
Zmiana wyglądu linii łączącej Zmiana wyglądu początku strzałki
/ \ar[r] / \ar[r]
+3 \ar@{=>}[r] oo \ar@{<<-}[r]
/ \ar@{.>}[r] / \ar@{>-}[r]
+3 \ar@{:>}[r]  \ar@{|-}[r]
/ \ar@{~>}[r]  \ar@{(-}[r]
/ \ar@{-->}[r] ?_ \ar@{)-}[r]

Zmiana wyglądu końca strzałki


/ \ar[r]
o \ar@{-<}[r]
oo \ar@{-<<}[r]
 \ar@{-(}[r]
 \ar@{-/}[r]
 \ar@{-|}[r]
Oczywiście można równocześnie zmieniać wszystkie cztery
elementy równocześnie np.
 o
uzyskujemy dzięki kodowi \ar@ˆ {(=| <}[r]

9.3 Przecięcia strzałek

Kod spowoduje wygenerowanie diagramu


\xymatrix{ A B
A\ar[rd]& B\ar[ld]|!{[l];[d]} \hole \\
C& D } ~
C D
Polecenie „odpowiedzialne” za wygenerowanie przerwy w strzałce to polecenie |!{[l];[d]}\hole.
Polecenie to piszemy bezpośrednio za strzałką w której ma być utworzona przerwa.
Ogólnie polecenie to ma postać |!{[p];[k]}\hole, gdzie zamiast p wpisujemy położenie po-
czątku strzałki z którą ma się przeciąć wyjściowa strzałka a zamist k wpisujemy położenie jej końca.
W naszym przykładzie strzałka między BC ma się przeciąć ze strzałką AD. Zamiast p piszemy więc
położenie punktu A względem B tzn. [l] (gdyż znajduje się ono o jedną kolumnę w lewo od B) a
zamiast k piszemy położenie punktu D względem B tzn. [d] (gdyż znajduje się ono o jeden wiersz w
dół od B)

43
9.4 Napisy
Generowanie napisów nad strzałkami

Aby wygenorować napis nad strzałką należy użyć polecenia którego ogólna postać jest następująca
położenie<przesunięcie> {napis}
Zamiast parametru napis wstawiamy tekst, który ma się pojawić nad, pod lub na strzałce. Zmienna
położenie może przyjąć jedną z wartości:

ˆ - napis „nad” strzałką, A c / B (\xymatrix{A\ar[r]^{c}&B})


- napis „pod” strzałką, A / B (\xymatrix{A\ar[r]_{c}&B})
c

| - napis „na” strzałce, A c / B (\xymatrix{A\ar[r]|{c}&B})

UWAGA: na położenie napisu ma wpływ także zwrot strzałki. Parametr przesunięcie jest opcjo-
nalny. Jeśli go nie podamy to napis zostanie ustawiony na środku strzałki. Inne wartości parametru
przesunięcie to: < - przesunięcie na początek strzałki, A c / B (\xymatrix{A\ar[r]^<{c}&B})
> - przesunięcie na koniec strzałki, A / B (\xymatrix{A\ar[r]_>{c}&B}) (liczba) - przesunięcie
c
na określoną pozycję, przy czym 0 oznacza początek strzałki, 1 - koniec a liczba pomiedzy 0 i 1
pozostałe punkty strzałki A / B (\xymatrix{A\ar[r]_(0.3){c}&B})
c

9.5 Skalowanie
Zmiana szerokości wierszy i kolumn

Aby zmienić domyślne parametry szerokości wiersza i kolumny należy użyć poleceń opcjonalnych
dla polecenia xymatrix i tak

• aby ustawić szerokość kolumn np. na 2cm należy użyć polecenia \xymatrix@C=2cm{...}

• aby ustawić szerokość wierszy np. na 3cm należy użyć polecenia \xymatrix@R=3cm{...}

• aby ustawić szerokość wierszy i kolumn (równocześnie) np. na 1cm należy użyć polecenia
\xymatrix@=1cm{...}

9.6 Obroty

Aby dokonać obrotu grafu należy użyć polecenia


@parametr
wstawionego pomiędzy xymatrix oraz {. Zmienna parametr może być równa

44
l - obrót o kąt π
ul - obrót o kąt 34 π
dr - obrót o kąt − π4
d - obrót o kąt − π2
π
ur - obrót o kąt 4
π
u - obrót o kąt 2
dl - obrót o kąt − 34 π

Na przykład:
?A
\xymatrix@rd{
 A \ar[r] & B\\
C B
C\ar[u] & D
}
D

45
10 Grafika

10.1 Wstawianie obrazów

Aby móc wstawiać grafikę w tekście trzeba „załadować” pakiet graphicx w preambule za pomocą
polecenia
\usepackage{graphicx}
a następnie w tekście w miejscu w którym chcemy wstawić rysunek poinformować o tym kompi-
lator za pomocą polecenia, którego ogólna postać wygląda następująco
\includegraphics[lista opcji]{nazwa pliku graficznego}
Zamiast lista opcji wstawiamy jedną z dostępnych opcji tego polecenia (opcje te są opisane na
dalszych slajdach), natomiast zamiast słów nazwa pliku graficznego wstawiamy nazwę pliku w którym
znajduje się rysunek jaki chcemy wstawić.
UWAGA jeśli chcemy kompilować plik źródłowy do formatu dvips to wstawiany rysunek musi
być zapisany w formacie eps, natomiast jeśli chcemy kompilować plik do formatu pdf to wstawiany
rysunek musi być w formacie jpg, png, pdf. Ponadto, jeśli rysunek nie jest umieszczony w tym
samym katalogu, co plik źródłowy to należy podać pełną ścieżkę dostępu do tego pliku pamiętając,
że poszczególne katalogi oddzielamy znakiem / np.
C:/cwiczenia/zdjecia/zdjecie1.jpg
Przykład: \includegraphics{C:/cwiczenia/zdjecia/zdjecie1.jpg}

Opcje polecenia includegraphics2

width - ustawia szerokość rysunku na wybraną przez nas wielkość. Polecenie


\includegraphics[width=2cm]{zdjecie1.jpg}
spowoduje, że szerokość wstawianego rysunku zostanie ustawiona na 2cm (wysokość rysunku
zostanie dobrana automatycznie tak aby zachować oryginalne proporcje rysunku). Jeśli chce-
my aby rysunek zajmował np. połowę szerokości strony to powinniśmy jako parametr podać
width=0.5\textwidth

height - ustawia wysokość rysunku na wybraną przez nas wielkość. Polecenie


\includegraphics[height=4cm]{zdjecie1.jpg}
spowoduje, że wysokość wstawianego rysunku zostanie ustawiona na 4cm (szerokość rysunku
zostanie dobrana automatycznie tak aby zachować oryginalne proporcje rysunku). Jeśli chce-
my aby rysunek zajmował np. połowę wysokości strony to powinniśmy jako parametr podać
height=0.5\textheight
2
zostaną tu wymienione tylko opcje najczęściej używane

46
Jeśli podamy oba parametry to wysokość i szerokość rysunku zostanie ustawiona zgodnie z nimi
(nawet jeśli spowoduje to zmianę oryginalnych proporcji rysunku)

angle - obraca rysunek o zadany kąt. Polecenie


\includegraphics[angle=45]{zdjecie1.jpg}
spowoduje, że rysunek zostanie obrócony o 45 stopni w kierunku przeciwnym do ruchu wska-
zówek zegara (podanie kąta ujemnego spowoduje obrót w przeciwną stronę).

scale - skaluje rysunek zgodnie z podaną skalą. Polecenie


\includegraphics[scale=2]{zdjecie1.jpg}
spowoduje, że rysunek zostanie powiększony dwa razy.

clip - powoduje obcięcie wszystkiego co wystaje poza zadany obszar obiektu. Parametr ten powinien
być podawany łącznie z parametrem określającym obszar obiektu np. trim lub viewport.

trim - parametr pozwala na wybranie z większego rysunku tylko jego fragmentu. Wartością parame-
tru są 4 liczby oddzielone spacjami informujące o ile punktów należy „obciąć” rysunek z lewej
strony, z dołu, z prawej strony i z góry. Przykład:
\includegraphics[clip,trim= 100 500 0 0]{zdjecie1.jpg} .

viewport - parametr pozwala na wybranie z większego rysunku tylko jego fragmentu. Wartością pa-
rametru są 4 liczby oddzielone spacjami informujące o współrzędnych lewego dolnego i prawego
górnego rogu obszaru (punkt o współrzędnych (0,0) to lewy dolny róg rysunku). Przykład:

\includegraphics[clip,viewport = 500 500 2000 1000]{zdjecie1.jpg} .

10.2 Środowisko figure


Środowisko figure

Polecenie includegraphics może zostać umieszczone w środowisku figure. Środowisko to służy do


wstawiania ilustracji do tekstu. Mechanizm rozmieszczania ilustracji wbudowany w system LATEX
jest dość skomplikowany i opisany szeregiem nienaruszalnych reguł oraz kilkoma parametrami, które
można modyfikować. Podstawową wadą umieszczenia rysunku w środowisku figure jest to, że naj-
częściej nie pojawia się on tam gdzie my chcemy ale tam gdzie zdecyduje LATEX. Zaletą jest to, że
możemy dodać podpis pod rysunkiem jak również odwoływać się do danego rysunku.
Ogólna składnia środowiska figure jest następująca
\begin{figure}[parametr] . . . \end{figure}
gdzie zamiast parametr wpisujemy jedną (lub kilka) z liter

47
b - rysunek zostanie wstawiony u dołu strony,

t - rysunek zostanie wstawiony na górze strony,

h - rysunek zostanie wstawiony dokładnie w tym miejscu w którym jest wstawiona komenda (o ile
oczywiście jest to możliwe),

p - rysunek zostanie wstawiony na oddzielnej(ostatniej) stronie dokumentu

Na przykład użycie kombinacji liter hp spowoduje, że LATEX najpierw spróbuje umieścić rysunek w
miejscu wpisania komendy a jeśli nie będzie to możliwe umieści ją na ostatniej stronie dokumentu.

Podpis pod rysunkiem

Aby dodać podpis pod rysunkiem należy wewnątrz środowiska figure czyli pomiędzy linijką
\begin{figure} a linijką \end{figure} wstawić polecenie, którego ogólna postać jest następująca
\caption[podpis w spisie ilustracji]{podpis pod rysunkiem}
Oczywiście tekst w nawiasach [ ] jest opcjonalny. Najczęściej używamy tego polecenia w formie
\caption{podpis pod rysunkiem}
Odwołania do wstawionej ilustracji realizujemy w taki sam sposób jak wszystkie inne odwołania.
Aby wygenerować spis ilustracji należy użyć polecenia
\listoffigures
Podobnie jak przy spisie treści efekt jest widoczny dopiero po dwukrotnej kompilacji.
Aby dodać coś do spisu ilustracji należy użyć polecenia
\addcontentsline{lof}{poziom}{tekst w spisie}
którego zasada działania jest analogiczna jak zasada działania polecenia dodawania do spisu treści
opisanego w rozdziale Rozdziały i spis treści

48
11 Kolory

Zarówno kolorowanie tekstu jak i tła jest stosunkowo proste i polega na użyciu gotowych poleceń
zdefiniowanych w pakiecie color (trzeba go oczywiście „załadować” w preambule).
Pakiet ten zawiera instrukcje umożliwiające kolorowanie tekstu lub tła oraz definiowanie własnych
kolorów.
Kolory mogą być definiowane w czterech modelach

rgb - podajemy trzy liczby z przedziału [0, 1] rozdzielone przecinkami i oznaczające odpowiednio na-
sycenie koloru czerwonego, zielonego i czarnego np. liczby 0.79, 0.36, 0 pozwalają wygenerować
pewien odcień koloru brązowego.
cmyk - podajemy cztery liczby z przedziału [0, 1] rozdzielone przecinkami i oznaczające odpowiednio
nasycenie koloru sinoniebieskiego, karmazynowego, żółtego i czarnego np. liczby 0.79, 0.36, 0,
0.1 pozwalają wygenerować pewien odcień koloru niebieskiego.
gray - podajemy liczbę z przedziału [0, 1] określającą stopień szarości np. liczby 0.5 pozwala wyge-
nerować pewien odcień koloru szarego.
named - pozwala używać tylko wcześniej zdefiniowanych kolorów. Ten tryb nie zawsze jest dostępny,
nie zawsze są też dostępne wszystkie kolory. Zestaw dostępnych kolorów można zobaczyć np.
w pliku: texmf-dist/doc/latex/xcolor

Definiowanie kolorów

Kolory definiujemy za pomocą polecenia


\definecolor{nazwa koloru}{model}{parametry}
gdzie zamiast

nazwa koloru wpisujemy własną unikalną nazwę tworzonego koloru,


model wpisujemy wybrany przez nas model definicji kolory czyli rgb, cmyk, gray lub named,
parametry wpisujemy odpowiednie liczby lub nazwę w zależności od wybranego modelu.

Na przykład
\definecolor{brazowy}{rgb}{0.79, 0.36, 0}
\definecolor{niebieskawy}{cmyk}{0.79, 0.36, 0, 0.1}
\definecolor{srednioSzary}{gray}{0.5}
\definecolor{czerwony}{named}{red}

Aby używać koloru należy go wcześniej zdefiniować (wyjątek stanowią kolory zdefiniowane do-
myślnie - zależą one jednak od wersji LATEX- a)

49
Kolorowanie tekstu

Do kolorowania tekstu wykorzystujemy polecenie

\textcolor{nazwa koloru}{tekst do pokolorowania}

Tekst a teraz coś na niebiesko uzyskamy dzięki poleceniu


\textcolor{blue}{a teraz coś na niebiesko}

Aby zmienić kolor strony należy skorzystać z polecenia

\pagecolor{nazwa koloru}

Aby umieścić tekst na kolorowym tle należy użyć polecenia

\colorbox{nazwa koloru}{tekst w ramce}

Polecenie to sprawia że tekst w ramce zostaje umieszczony w pudełku, którego tło zostanie usta-
wione zgodnie z kolorem podanym w pierwszym nawiasie np. polecenie
\colorbox{gray}{Mój tekst}
spowoduje wygenerowanie tekstu Mój tekst

Jeśli chcemy dodatkowo dodać ”obramowanie” ramki w innym kolorze to powinniśmy skorzystać
z polecenia
\fcolorbox{kolor ramki}{kolor tła}{tekst w ramce}

Grubość ramki możemy regulować parametrem \fboxrule np. ramkę


Tekst w ramce
uzyskamy dzięki kodowi
\fboxrule=0.1cm
\fcolorbox{blue}{yellow}{Tekst w ramce}

Za odległośc tekstu od brzegów ramki odpowiedzialny jest parametr \fboxsep np. ramkę

Tekst w ramce

uzyskamy dzięki kodowi


\fboxrule=0.1cm
\fboxsep=5mm
\fcolorbox{blue}{yellow}{Tekst w ramce}

50
12 Pakiet listings

Pakiet listings jest wykorzystywany do wstawiania do dokumentu kodów programów. Obsłu-


guje on między innymi takie języki programowania jak: C++ (ANSI, GNU, ISO, Visual) Gnuplot,
Haskell, HTML, Lisp (empty, Auto), Logo, make (empty, gnu), Mathematica (1.0, 3.0), Matlab, Mer-
cury, MetaPost, Pascal (Borland6, Standard, XSC), Perl, PHP, Python, Ruby, SQL, TeX (AlLaTeX,
common, LaTeX, plain, primitive), VBScript XML, XSLT.

Możliwości tego programu to między innymi: wyróżnianie fragmentów kodu i słów kluczowych,
wstawianie kodów bezpośrednio z pliku, numerowanie linii kodu.

Oprócz „załadowania” pakietu musimy jeszcze dodatkowo umieścić w dokumencie informacje o


języku programowania, którego kod chcemy wstawiać. Np. jeśli chcemy używać Pascala to polecenie
to ma postać
\lstset{language=Pascal}

12.1 Podstawowe komendy

Polecenie

1. \lstinline[parametry]!code! - służy do wstawiania krótkich fragmentów kodów.


KOD:
cout<<”Podaj pierwszą liczbę ”;
\lstinline!cout<<”Podaj pierwszą liczbę ”;!
2. \begin{lstlisting}[parametry] ... \end{lstlisting} - służy do wstawiania dłuższych
fragmentów kodu. Oczywiście zamiast ... wstawiamy kod programu :))

int main ( )
{
int a , b ;
c i n >>a ;
}

3. \lstinputlisting[parametry]{nazwa pliku} - służy do wstawiania fragmentów kodu bez-


pośrednio z pliku.

4. \lstdefinestyle{nazwa}{parametry} - służy do definiowania własnego stylu wstawianego


kodu programu (tzn. formatowania, języka, sposobu wyświetlania słów kluczowych itd). Za-
miast nazwy wpisujemy wymyśloną przez siebie nazwę stylu.

We wszystkich poleceniach zmienna parametry ( z wyjątkiem ostatniego) jest opcjonalna, wartości


jakie może przyjmować zostaną opisane poniżej.

51
12.2 Parametry
Parametry

Opisane poniżej parametry mogą pojawiać się w opisanych na wcześniejszym slajdzie poleceniach
w miejscu słów: parametry (zakres ich działania jest wówczas tylko lokalny). Ponadto parametry
te mogą być ustawiane za pomocą polecenia
\lstset{ lista parametrów}
Zakres ich działania jest wówczas szerszy. Ponadto mogą być wykorzystane przy definiowaniu za
pomocą polecenia
\lstdefinestyle{nazwa}{parametry}
własnego stylu. Jeśli chcemy wstawić więcej niż jeden parametr to oddzielamy je przecinkami.

parametr opis przykład


language={[dialekt]język} pozwala ustawić język pro- language={[Visual]C++}
gramowania, którego kod
będzie wstawiany
basicstyle= pozwala ustawić domyślny basicstyle=\small
styl formatowania wstawia-
nego kodu
identifierstyle= pozwala ustawić domyślny identifierstyle=\bfseries
styl formatowania poleceń i
zmiennych w danym języku

parametr opis przykład


keywordstyle= pozwala ustawić domyślny styl formatowania keywordstyle=\underbar
słów kluczowych w danym języku
commentstyle= pozwala ustawić domyślny styl formatowania commentstyle=\tiny
komentarzy
style= pozwala ustawić domyślny styl formatowania style=nazwa-stylu
zgodnie ze zdefiniowanym wcześniej za po-
mocą polecenia lstdefinestyle stylem
emphstyle= pozwala ustawić domyślny styl formatowania emphstyle=\LARGE
wybranych elementów. Lista tych elementów
musi być wcześniej określona za pomocą po-
lecenia emph={lista elementów}
showspaces= pozwala określić czy spacje w kodzie progra- showspaces=true
mu mają być wyświetlane. Może przyjmować
wartość true lub false
showstringspaces= pozwala określić czy spacje w kodzie progra- showstringspaces=false
mu mają być zamieniane na podkreślenia.
Może przyjmować wartość true lub false

52
parametr opis przykład
numbers= pozwala określić z której strony mają być wy- numbers=left
świetlane numery linii kodu. Może przyjmo-
wać wartość left lub right
numberstyle= pozwala ustawić domyślny styl formatowania numberstyle=\tiny
numerów linii
stepnumber= pozwala określić co który numer linii ma być stepnumber=3
wyświetlany
numbersep= pozwala określić odległość numeru od linii numbersep=2mm
firstnumber= pozwala określić od jakiego numeru mają być firstnumber=11
numerowane linie
firstline= pozwala określić od której linii kod ma być firstline=3
wyświetlany
lastline= pozwala określić do której linii kod ma być lastline=10
wyświetlany
caption= pozwala określić podpis przed/po kodzie, caption={Tu podpis}
podpis ten pojawi się w spisie treści, jęsli w
spisie treści ma być inny tekst niż przed/po
kodzie wstaw go dodatkowo w nawiasach [
] tzn. caption={[zapis w spisie treści] zapis
przed/po kodzie}
captionpos= pozwala określić czy podpis jest na górze (t) captionpos=b
czy na dole (b) wstawianego kodu
nolol= pozwala określić czy program mam się poja- nolol=true
wić w spisie treści (false) czy też nie (true)
Aby wygenerować spis wstawionych kodów programów używamy polecenia: \lstlistoflistings
Aby zmienić podpisy pod/przed kodem z domyślnego Listings należy zastosować komendę:
\renewcommand{\lstlistingname}{tu nazwa własna}
Aby zmienić tytuł spisy treści z Listings należy zastosować komendę:
\renewcommand{\lstlistlistingname}{tu nazwa własna spisu programów}
Więcej parametrów znajdziesz tu:
http://texdoc.net/texmf-dist/doc/latex/listings/listings.pdf

53
13 Literatura

Literatura
[1] http://pl.wikipedia.org/wiki/TeX

[2] http://pl.wikipedia.org/wiki/LaTeX

[3] http://tug.ctan.org/tex-archive/macros/latex/contrib/hyperref/doc/manual.pdf

[4] http://www.sapijaszko.net/pedeefy.pdf

[5] A. Diller, ”LATEXwiersz po wierszu”, Helion, 2001

[6] L. Lamport, ”System opracowywania dokumentów LATEX. Podręcznik i przewodnik uzytkownika,


Wydawnictwa Naukowo - Techniczne, 2004

54

You might also like