Kurs L
A
TEX
Andrzej Kuczyński, Przemysław Barański
7 października 2008
SPIS TREŚCI
1
Plik źródłowy
1
1.1
Przetwarzanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Części składowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.1
Komendy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.1.1
Deklaracje i instrukcje . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.1.2
Komendy użytkownika
. . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.2
Struktura pliku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.3
Podział kodu na części . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2
Elementy tworzące tekst
6
2.1
Jednostki długości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.2
Odstępy w tekście
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.3
Znaki
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.3.1
Znaki specjalne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.3.2
Kreski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.3.3
Czcionki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.3.3.1
Pakiety ustalające rodzaj czcionki . . . . . . . . . . . . . . . . . . . .
11
2.3.3.2
Wybór kroju, grubości i odmiany w ramach określonej kolekcji . . . .
11
2.3.3.3
Instrukcje zmieniające rodzaj czcionki . . . . . . . . . . . . . . . . . .
12
2.3.3.4
Zmiana wielkość . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.3.3.5
Cyfry nautyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.3.3.6
Wykorzystanie dowolnej czcionki z systemu Windows . . . . . . . . .
18
3
Instrukcje formatujące
21
3.1
Akapit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.2
Strona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.2.1
Style strony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.2.2
Sposoby wyrównywania teksu . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
3.2.3
Łączenie tekstu w jednej i wielu kolumnach . . . . . . . . . . . . . . . . . . . .
27
3.3
Specjalne instrukcje formatowania tekstu
. . . . . . . . . . . . . . . . . . . . . . . . .
28
3.3.1
Wyliczanki
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3.3.2
Odsyłacze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
SPIS TREŚCI
2
3.3.3
Obroty
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.3.4
Skalowanie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.3.5
Przypisy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3.4
Struktura logiczna tekstu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
4
Tekstowe obiekty specjalne
36
4.1
Tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.1.1
Opis komendy multicolumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.1.2
Program LaTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.2
Wzory matematyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
4.3
Rysunki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
4.3.1
Instrukcja \includegraphics{} . . . . . . . . . . . . . . . . . . . . . . . . . .
48
4.3.2
Otoczenie figure
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.3.3
Rysunek złożony z wielu części . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
4.3.4
Rysunki „oblane” tekstem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
5
Kolory
53
5.1
Korzystanie ze zdefiniowanych kolorów . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
5.2
Korzystanie z modeli odniesienia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
5.3
Definicja własnych kolorów
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.4
Otoczenie kolorujące tło . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.5
Przykładowe zastosowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
ROZDZIAŁ
1
Plik źródłowy
1.1
Przetwarzanie
Schemat tradycyjnego i jednocześnie najwygodniejszego sposobu przetwarzania pliku źródłowego przed-
stawia rysunek 1.1.
L
A
TEX
dvips
ps2pdf
*.tex
*.dvi
*.ps
gsview32
acrobat
acr. dist.
1
Rysunek 1.1: Schemat kompilacji za pomocą L
A
TEX-a
Kompilację za pomocą L
A
TEX-a stosujemy gdy:
tworzymy grafikę za pomocą komend L
A
TEX-a lub postscript-u
(bezpośrednio lub korzystając z pstricks-a),
wprowadzamy grafikę w wektorowym formacie *.eps,
stosujemy pakiety instrukcji wymagające kompilacji L
A
TEX-em.
Przykładowo, przetwarzanie pliku text.tex, według podanego schematu, jest możliwe za pomocą
następujących komend, wydawanych z linii poleceń:
1. latex text.tex
→ text.dvi,
2. dvips text.dvi
→ text.ps,
3. ps2pdf text.ps
→ text.pdf.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
1.2 Części składowe
2
Rysunek 1.2 prezentuje schemat przetwarzania pliku źródłowego za pomocą pdfL
A
TEX-a.
pdf-L
A
TEX
*.tex
acrobat
1
Rysunek 1.2: Schemat kompilacji za pomocą pdfL
A
TEX-a
Kompilację za pomocą pdfL
A
TEX-a stosujemy gdy:
przetwarzamy dokumenty w formacie *.pdf,
wykonujemy prezentację,
stosujemy grafikę w formatach *.pdf, *.png, *.jpg, *.mps,
tworzymy dokument hipertekstowy.
Do przetworzenia pliku text.tex stosujemy polecenie pdflatex text.tex i otrzymujemy plik text.pdf
1.2
Cz ˛
e´sci składowe
1.2.1
Komendy
1.2.1.1
Deklaracje i instrukcje
W niniejszym opracowaniu terminem instrukcja nazywać będziemy polecenie przetworzenia tekstu z
co najmniej jednym obowiązkowym argumentem, wpisywanym w nawiasach klamrowych. Na przykład
instrukcja \frame{tekst} powoduje utworzenie ramki wokół słowa text. Dodatkowo instrukcja może
posiadać parametry opcjonalne. Są one zapisywane w nawiasach prostokątnych.
Istnieje szczególny rodzaj instrukcji, nazywany otoczeniem. Tekst przetwarzany za pomocą otocznia
nazwa zapisywany jest między ogranicznikami \begin{nazwa} oraz \end{nazwa}. Przykładowo, do
tekstu, który chcemy umieścić w środku kolumny, można zastosować otoczenie center.
\begin{center}
Tekst centrowany
\end{center}
Tekst centrowany
Deklaracją nazywać będziemy polecenie nie posiadające argumentów. Na przykład deklaracja \bf,
użyta w następujący sposób: {\bf tekst}, powoduje napisanie słowa tekst czcionką pogrubioną.
1.2.1.2
Komendy u˙zytkownika
Możliwości definiowania komend użytkownika stwarza instrukcja
\newcommand{\nazwa}[LiczArg]{definicja},
w której:
– \nazwa — jest nową nazwą (może zawierać tylko litery), służącą wywołaniu tworzonej komendy,
– LiczArg — ustala liczbę (nie większą niż 9) parametrów formalnych,
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
1.2 Części składowe
3
– definicja — zawiera ciąg poleceń wraz z parametrami formalnymi (oznaczonymi #1, #2, . . . ),
wyznaczających działanie definiowanego polecenia.
Wprowadzając następującą definicję polecenia
z jednym argumentem \Four{}:
\newcommand{\Four}[1]{%
{\mathcal{F}}\left\{%
\raisebox{1em}{} #1\right\}}
otrzymujemy możliwość łatwego wypisywania
oznaczenia transformacji Fouriere’a. Na przy-
kład
\Four{\sin\omega t}
⇒ F
sin ωt
.
Jeżeli chcemy zmienić działanie istniejącej już komendy stosujemy instrukcję
\renewcommand{\nazwa}[LiczArg]{definicja}
o argumentach takich samych jak w \newcommand.
Definicja otoczenia ma postać następującą:
\newenvironment{nazwa}[LiczArg]{InstrPrzed}}{InstrPo}
przy czym
– nazwa — określa nazwę otoczenia,
– LiczArg — ustala liczbę parametrów formalnych,
– InstrPrzed — jest ciągiem poleceń i parametrów formalnych wykonywanych przed kodem umiesz-
czanym w otoczeniu,
– InstrPo — jest ciągiem poleceń wykonywanych po kodzie umieszczanym w otoczeniu.
Dla przykładu zdefiniujemy otoczenie znaczki za pomocą następującej instrukcji:
\newenvironment{znaczki}[2]{ #1\hfill #2 }{ \hfill $\ast\ast\ast$ }.
Zdefiniowane otoczenie zastosujemy w kodzie
\begin{znaczki}%
{$\diamond\diamond\diamond$}{stary}
tekst
\end{znaczki}
co skutkuje zapisem
stary tekst
∗ ∗ ∗
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
1.2 Części składowe
4
1.2.2
Struktura pliku
Kod źródłowy dokumentu składa się z następu-
jących elementów:
1. deklaracji klasy, określającej ogólne za-
sady formatowania tekstu;
2. preambuły, która zawiera definicje dodat-
kowych instrukcji i modyfikacje parame-
trów, stosowane w całym dokumencie;
3. tekstu wraz z instrukcjami formatującymi.
Strukturę dokumentu wyznaczają
\documentclass[opcje]{klasa}
← deklaracja klasy
..
.
preambuła
\begin{document}
..
.
tekst
\end{document}
Standardowe klasy dokumentów to book (książki), report (dłuższe opracowania, dysertacje magi-
sterskie i doktorskie . . . ), article (artykuły, krótkie opracowania . . . ) oraz letter (listy). Parametry
opcjonalne klasy dokumentu przedstawiono w tablicy 1.1.
Tablica 1.1: Opcje instrukcji documentclass
opcja ustala
dopuszczalne wartości
wartość domyślna
rozmiar czcionki
10pt, 11pt, 12pt
10pt
rozmiar papieru
a4paper, a5paper,
letterpaper, legalpaper,
executivepaper, b5paper
letterpaper
orientacja papieru
portrait, landscape
portrait
numeracja równań
leqno
1
z prawej
sposób umieszczenia równań
fleqn
2
w środku kolumny
rodzaj pliku wynikowego
draft, final
final
sposób wydruku
oneside, twoside
oneside
sposób rozpoczynania rozdziału
openright, openany
openright
liczba kolumn
onecolumn, twocolumn
onecolumn
istnienie osobnej strony tytułowej
titlepage, notitlepage
notitlepage
Poniżej zamieszczony zostanie przykład prostego kodu źródłowego dokumentu, w którym zapew-
niono możliwość stosowania polskich czcionek.
\documentclass{article}
\usepackage[MeX]{polski}
% kodowanie: latin2, utf8 lub cp1250
\usepackage[cp1250]{inputenc}
\begin{document}
Zażółcić gęśl.
\end{document}
1
Opcja leqno nakazuje umieszczanie numerów wzorów matematycznych na lewym marginesie.
2
Opcja fleqn powoduje składanie wystawionych wzorów matematycznych z dosunięciem od lewego marginesu.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
1.2 Części składowe
5
1.2.3
Podział kodu na cz ˛
e´sci
Zapis kodu źródłowego dokumentu w wielu plikach umożliwiają instrukcje \input{} oraz \include{}
(wraz z dodatkową instrukcją \includeonly{}). Działanie wymienionych instrukcji i miejsce, w któ-
rym należy je umieścić, opisano w tablicy 1.2.
Tablica 1.2: Dzielenie pliku źródłowego
instrukcja
wpisać do
działanie
\input{nazwa}
tekstu
włącza kod źródłowy, zapisany
w pliku nazwa.tex, do tekstu aktu-
alnie przetwarzanego
\includeonly{nazwa}
preambuły
powoduje, że jeżeli plik nazwa.tex,
wystąpi w tekście jako argument
instrukcji
\include{}, to zostanie
włączony do kodu przetwarzanego
\include{nazwa}
tekstu
włącza kod źródłowy, zapisany
w
pliku
nazwa.tex,
do
tekstu
przetwarzanego,
jeżeli
jego
na-
zwa jest argumentem instrukcji
\includeonly{}
Przykład kodu przetwarzającego tekst, umieszczony w pięciu plikach.
\documentclass[a4paper,11pt]{article}
\usepackage{latexsym}
\usepackage[MeX]{polski}
\usepackage[cp1250]{inputenc}% ew. utf8 lub cp1250
% Wskazuje, które pliki, włączane instrukcją ,,\include{}’’, mają być przetwarzane.
\includeonly{part2.tex,part3.tex}
\begin{document}
\include{part1.tex} % Nie działa, ponieważ nazwa part1.tex nie występuje
% w instrukcji \includeonly{}.
\include{part2.tex} % Włącza plik ,,part2.tex’’ rozpoczynając od nowej strony.
\include{part3.tex} % Włącza plik ,,part3.tex’’ rozpoczynając od nowej strony.
\input{part4.tex}
% Włącza plik ,,part4.tex’’.
\input{part5.tex}
% Włącza plik ,,part5.tex’’.
\end{document}
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
ROZDZIAŁ
2
Elementy tworzące tekst
2.1
Jednostki długo´sci
W procesie rozmieszczania tekstu na kartce papieru trzeba określać odległości. W tym celu niezbędne
są jednostki długości. Ważniejsze, stosowane w L
A
TEX-u jednostki przedstawiono w tabeli 2.1.
Tablica 2.1: Najważniejsze jednostki długości stosowane przy składaniu tekstów
typ
nazwa
ilustracja
wielkość
względne
1em
| |
aktualna szerokość litery M
1ex
| |
aktualna wysokość litery x
b
ezwzględne
1pt
||
punkt typograficzny
1bp
||
punkt typograficzny PostScript
1cc
|
|
cycero
1pc
|
|
pica
1mm
||
milimetr
1cm
|
|
centymetr
1in
|
|
cal
Uwaga: W tabeli 2.1 znajdują się jednostki niezależne (np. 1cm) i zależne (np. 1ex) od parametrów
przetwarzanego tekstu. Zalecane jest aby, w tworzonym tekście stosować wyłącznie jednostki zależne,
ponieważ jego wygląd nie zmieni się, gdy tekst zostanie przeskalowany. Jeżeli użyjemy jednostek nie-
zależnych, zachowanie odpowiedniego wyglądu tekstu wymagać będzie kłopotliwych poprawek.
Parametry długości to wielkości ustalające wygląd tekstu. Rozróżniamy sztywne i elastyczne (zmienne
w ustalonych granicach zależnie od kontekstu) parametry długości. Najważniejsze sztywne parametry
długości, których wartości ustalone są zgodnie z wybraną klasą dokumentu, zawarto w tabeli 2.2.
Znaczenie większości z nich przedstawiono na rysunku 3.1, na stronie 26.
Sztywne parametry długości, możemy traktować jak jednostki. Możemy je modyfikować za pomocą
polecenia \setlenght{nazwa}{wartość}, w którym nazwa określa nazwę modyfikowanego parametru,
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.2 Odstępy w tekście
7
Tablica 2.2: Najważniejsze sztywne parametry długości
\arraycolsep
\fboxsep
\linewidth
\arrayrulewidth
\footheight
\listparindent
\bibindent
\footnotesep
\marginparsep
\columnsep
\footskip
\marginparwidth
\columnseprule
\headheight
\oddsidemargin
\columnwidth
\headsep
\paperheight
\doublerulesep
\labelsep
\paperwidth
\evensidemargin
\labelwidth
\rightmargin
\fboxrule
\leftmargin
\tabcolsep
\textheight
\textwidth
\topmargin
a wartość podaje nadawaną mu wielkość. Na przykład
\setlenght{\columnsep}{10pt}, \setlenght{\mathindent}{1.5\parindent}.
Wartości elastycznych parametrów długości ustalamy również za pomocą instrukcji
\setlenght{nazwa}{wartość},
przy czym określamy dodatkowo zakres, w jakim może zmieniać się ustalana wielkość. Na przykład pa-
rametr \parskip, który określa odległość między akapitami, jest parametrem elastycznym. Ustalenie
jego wartości może wyglądać następująco: \setlength{\parskip}{1cm plus4mm minus3mm}.
L
A
TEX daje możliwość wprowadzanie własnych parametrów długości. Odpowiednie instrukcje przed-
stawiono w tabeli 2.3.
Tablica 2.3: Instrukcje stosowane przy tworzeniu nowych parametrów długości
instrukcja
działanie
\newlength{nazwa}
defniuje nazwę jako wielkość o długości 0pt
\setlength{nazwa}{długość}
ustawia wartość nazwy na długość
\addtolength{nazwa}{długość}
dodaje długość do wartości nazwy
\settowidth{nazwa}{tekst}
ustawia wartość nazwy na długość tekstu
\settoheight{nazwa}{tekst}
ustawia wartość nazwy na wysokość tekstu
\settodepth{nazwa}{tekst}
ustawia wartość nazwy na głębokość tekstu
2.2
Odst ˛
epy w tek´scie
Odstępy poziome wprowadzamy za pomocą instrukcji \hspace{odległość }, której argument jest zło-
żony z liczby i sztywnego parametru długości, lub jednostki długości (np. 0.13\textwidth), zapisanych
bezpośrednio po sobie. Wielkość wstawianego odstępu jest równa iloczynowi liczby i parametru długo-
ści. W poniższym przykładzie wprowadzamy odstęp między dwoma wyrazami równy 13% całkowitej
szerokości tekstu.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
8
\fbox{wyraz 1.}$\underbrace{%
\hspace{0.13\textwidth}
\raisebox{-1em}{}%
}_{\textrm{Odstęp poziomy}}$
\fbox{wyraz 2.}
wyraz 1.
|
{z
}
Odstęp poziomy
wyraz 2.
Instrukcja nie działa, jeżeli odstęp jest pierwszym elementem nowej linii. Aby wymusić wprowa-
dzenie odstępu na początku linii należy, zastosować instrukcję z gwiazdką (\hspace*{odległość }).
Jeżeli zastosujemy polecenia \stretch{n
i
} (i = 1, 2, . . . , I ) jako argumenty I instrukcji \hspace{}
— umieszczonych w jednym wierszu, w którym niezapisana przestrzeń ma szerokość s — to kolejne
odstępy h
i
zostaną wyliczone zostaną ze wzoru:
h
i
=
n
i
n
1
+ n
2
+
· · · + n
I
s ,
przy czym
i = 1, 2, . . . , I .
W ten sposób wypełniona zostanie cała linia. Oto przykład zastosowania elastycznego odstępu.
\fbox{a}\hspace{\stretch{0.5}}
\fbox{b}\hspace{\stretch{0.5}}
\fbox{c}\hspace{\stretch{1}}
\fbox{d}
a
b
c
d
Dodatkowe odstępy pionowe — niezależne od wstawianych przez L
A
TEX-a automatycznie odległości
między akapitami, tytułami i tekstem itp. — wprowadzamy za pomocą instrukcji \vspace{odległość}.
Argument odległość tworzymy tak samo, jak w przypadku instrukcji \hspace{}, definiującej odstęp w
poziomie. Omawiana instrukcja nie wprowadza odstępu, gdy znajdzie się na początku, lub na końcu
strony. Aby wymusić przesunięcie w pionie pierwszego na stronie wiersza tekstu, należy zastosować
instrukcje z gwiazdką \vspace*{}.
Do uzupełniania linii niezapisaną przestrzenią służy komenda \hfill. Jeżeli w jednej linii \hfill
wystąpi wielokrotnie, dzieląc fragmenty tekstu, to puste miejsca będą jednakowej szerokości. Dekla-
racja \vfill wpisuje niezapisaną przestrzeń między linie w pionie. Działa analogicznie do \hfill
wypełniając stronę. Poniżej zamieszczono przykład ilustrujący działanie obu komend.
one \hfill two \hfill three\\
\vfill
~ \hfill four \hfill ~\\
\vfill
five \hfill six
\null
one
two
three
four
five
six
2.3
Znaki
2.3.1
Znaki specjalne
Znaki specjalne wpływają na przetwarzanie dokumentu. Umieszczenie ich w tekście wymaga odpo-
wiedniej deklaracji. Sposób wypisywania do dokumentu znaków specjalnych wyjaśniono w tablicy 2.6.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
9
Tablica 2.4: Znaki specjalne
znak
deklaracja
pisania znaku
działanie znaku w kodzie dokumentu
%
\%
znaki po % stanowią komentarz i nie są przetwarzane
$
\$
separacja trybu matematycznego
#
\#
wraz z numerem oznacza argument formalny instrukcji
&
\&
separator w tabelach różnych typów
\
$\backslash$
lub
\textbackslash
rozpoczyna nazwy komend
ˆ
\^{}
„do potęgi” w trybie matematycznym
_
\_{}
„napisz wskaźnik” w trybie matematycznym
{
\{
lewy ogranicznik grupowania występuje łącznie z }
}
\}
prawy ogranicznik grupowania występuje łącznie z {
˜
\~{}
tworzy niepodzielny na linie odstęp poziomy
L
A
TEX pozwala również na poprawne typograficznie zapisanie takich znaków jak minus, dywiz, pół-
pauza, pauza i wielokropek. Zastosowanie wymienionych znaków i sposób ich pisania prezentuje tabela
2.5.
Tablica 2.5: Minus, dywiz, półpauza, pauza, wielokropek
nazwa znaku
komenda
znak
zastosowanie
minus
$-$
−
znak odejmowania we wzorach matematycznych
łącznik, dywiz
-
-
do łączenia wyrazów wieloczłonowych (np. Kędzierzyn-
Koźle) oraz przy przenoszeniu wyrazów
półpauza
--
–
w zapisie zakresów liczbowych, np. str. 10–20, do wypunk-
towania
pauza
---
—
znak przestankowy
wielokropek
\ldots
. . .
znak przestankowy (zastosowanie kropek daje za małe odstępy)
Deklaracje tworzące graficzne symbole TEX-owe:
– \TeX
⇒ TEX,
– \LaTeX
⇒ L
A
TEX,
– \LaTeXe
⇒ L
A
TEX 2ε.
Otoczenie verbatim i instrukcja
\verb++, działająca tylko w jednym wierszu, dają możliwość
umieszczenia w tekście kodu źródłowego L
A
TEX-a. Ogranicznikami działania instrukcji \verb++ mogą
być inne znaki, niż zastosowane tutaj plusy. Ważne tylko, by zastosowane znaki nie wystąpiły we
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
10
wprowadzanym do tekstu kodzie. Przykładowo, gdy w pliku źródłowym napiszemy \verb-$2^n$-
(ogranicznikami komendy \verb są, w tym przypadku, znaki minus), to w tekście pojawi się zapis
$2^n$, a nie symbol 2
n
, stanowiący interpretację wprowadzonej komendy.
Gdy chcemy zastosować akcent nad literami „i” oraz „j” trzeba, znad tych liter usunąć kropkę.
Służą do tego instrukcje \i i \j, wstawiające do składu wersje liter „i” oraz „j” pozbawione kropek.
Oto przykład stosowania akcentów.
\fontencoding{OT1}\fontfamily{ppl}%
\selectfont
H\^otel, na\"\i ve, \\
sm\o rrebr\o d, !‘\^Se\~norita!‘,\\
Sch\"onbrunner Schlo\ss{}
Stra\ss e
H ˆotel, na¨ıve,
smørrebrød, ¡ˆSe ˜norita¡,
Sch ¨onbrunner Schloß Straße
Tabela 2.6 zawiera komendy, które opatrują litery różnymi akcentami oraz polecenia tworzące
symbole specjalne.
Tablica 2.6: Akcenty i znaki specjalne
kod
efekt
kod
efekt
kod
efekt
\’o
ó
\c o
¸
o
\k{a}
ą
\‘o
\d o o
o. o
\o
ø
\^o
\b o
o
¯
\O
Ø
\~o
õ
\t oo
oo
\l
ł
\=o
\oe
œ
\L
Ł
\.o
˙o
\OE
Œ
\i
ı
\"o
ö
\ae
æ
\j
\u o
˘
o
\AE
Æ
!‘
¡
\v o
ˇ
o
\aa
å
?‘
¿
\H o
ő
\AA
Å
2.3.2
Kreski
Do tworzenia kresek stosujemy polecenie \rule[przesunięcie]{szerokość}{wysokość}, w którym
* przesunięcie wskazuje w jakiej odległości (w kierunku pionowym) od linii bazowej danego wiersza
będzie rysowana tworzona kreska,
* szerokość to wymiar kreski w poziomie,
* wysokość to wymiar kreski w pionie.
Oto kilka przykładów zastosowania instrukcji \rule
\rule[-1em]{1pt}{3em}
\rule{10em}{0.5pt}
\rule[1em]{15pt}{3em}
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
11
Do rysowania kresek poziomych, o długości równej pozostałej szerokości wolnego miejsca w linii,
stosujemy deklarację \hrulefill.
Gdy deklarację \hrulefill umieścimy w pustej linii, otrzymujemy kreskę o długości całej, aktu-
alnej szerokości tekstu.
\centering
kreska na całą szerokość tekstu\\
\hrulefill
kreska na całą szerokość tekstu
2.3.3
Czcionki
2.3.3.1
Pakiety ustalaj ˛
ace rodzaj czcionki
L
A
TEX domyślnie używa czcionek Computer Modern, zaprojektowanych przez Donalda Knutha. Można
zmienić typ czcionki, stosowany w dokumencie, wywołując w preambule odpowiedni pakiet za pomocą
instrukcji
\usepackage{nazwa pakietu}.
Użyta czcionka musi być zainstalowana w systemie. Nazwy pakietów z wybranymi czcionkami za-
mieszczono w tabeli 2.7.
Tablica 2.7: Nazwy pakietów z czcionkami
pakiet
opis
pakiet
opis
ae
lucida
Lucida bright fonts
aecompl
luximono
A family of monospaced ty-
pewriter fonts
anttor
Antykwa Toruńska
punk
Donald Knuth’s punk font.
Metafont
avant
mathpazo, bm
Get palatino in both text
and math
bera
mathptmx
Get times in both text and
math
bookman
newcent
calligra
palatino
chancery
Quite gothic!!
pandora
concrete
pifont
courier
times
fourier
Like utopia and supports
math as well
txfonts
TX fonts
helvet
universal
The universal font. Meta-
font
lmodern
Latin Modern
utopia
2.3.3.2
Wybór kroju, grubo´sci i odmiany w ramach okre´slonej kolekcji
Wybór konkretnych znaków (w ramach ustalonego pakietu, który udostępnia zawsze kolekcję, czyli
pewien zbiór czcionek o różnym zastosowaniu) wymaga opisania ich dokładnych właściwości. Cechy
czcionek zostały podzielone na trzy grupy: kroje, odmiany i grubości, tak jak pokazano w tabeli 2.8.
W tabeli 2.9 przedstawiono różne polecenia zmieniające wygląd czcionek.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
12
Tablica 2.8: Kroje, serie, odmiany
krój
seria
odmiana
deklaracja
efekt
deklaracja
efekt
deklaracja
efekt
\rmfamily
test
\bfseries
test
\itshape
test
\sffamily
test
\mdseries
test
\scshape
test
\ttfamily
test
\slshape
test
\upshape
test
Tablica 2.9: Komendy i deklaracje prawie równoważne
cecha
nazwa
deklaracja 1.
instrukcja
deklaracja 2.
przykład
kró
j
antykwa
\rmfamily
\textrm{}
\rm
test
bezszeryfowe
\sffamily
\textsf{}
\sf
test
maszynowe
\ttfamily
\texttt{}
\tt
test
o
dmiana
kursywa
\itshape
\textit{}
\it
test
kapitaliki
\scshape
\textsc{}
\sc
test
pochylone
\slshape
\textsl{}
\sl
test
normalne
\upshape
\textup{}
test
grub
ość
pół grube
\bfseries
\textbf{}
\bf
test
normalnej grubości
\mdseries
\textmd{}
test
Dla tekstu można jednocześnie ustalać krój, odmianę i grubość. Na przykład polecenie
\textbf{\textsf{\textsl{test}}}
daje efekt w postaci test, czyli pogrubionego i pochylonego pisma bezszeryfowego.
Do wyróżniania tekstu stosujemy komendy \em lub \emph{}, które wprowadza pismo pochylone.
Na przykład polecenie {\em test} powoduje zapis: test. Możemy również tekst podkreślać, stosując
konstrukcję \underline{tekst} i obramowywać na dwa sposoby:
komendą \frame{}, co daje w efekcie ramkę postaci test oraz
poleceniem \fbox{}, które skutkuje zapisem test .
2.3.3.3
Instrukcje zmieniaj ˛
ace rodzaj czcionki
Zastosowanie instrukcji zmieniających czcionki wymaga dokładniejszego przedstawienia informacji,
które muszą zostać podane, by L
A
TEX wybrał właściwe znaki. Pierwszą cechą, jaką musimy określić
jest sposób kodowania czcionek, jakie będziemy stosować. W tabeli 2.10 przedstawiono różne systemy
kodowania wraz z ich oznaczeniami.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
13
Tablica 2.10: Układy kodowania fontów stosowane w L
A
TEX-u
oznaczenie
nazwa
czcionka
OT1
Old Text 1
układ fontów zastosowany przez Knutha
OT2
Old Text 2
układ cyrylicy z Washington University
OT3
Old Text 3
układ fontów wsuipa (?)
OT4
Old Text 4
układ fontów PL
T1
Text 1
„europejski” układ fontów (Cork)
T3
Text 3
IPA – znaki fonetyczne
T4
Text 4
układ dla języków afrykańskich
TS1
Text Symbol 1
dodatkowe symbole tekstowe
OML
Old Math Letters
układ fontu matematycznego wg. Knutha
OMS
Old Math Symbols
układ symboli wg. Knutha
OMX
Old Math Extensible
układ fontu ze znakami „rozciągliwymi”
U
Unknown
L<xx>
kodowanie lokalne
Kodowanie lokalne ma na celu uwzględnienie sytuacji, w której mamy do czynienia z tworzonymi
przez użytkowników własnymi znakami (np. logo uczelni). Pojęcie czcionki jest w L
A
TEX-u rozumiane
szerzej, ponieważ dowolne znaki graficzne mogą być zdefiniowane w systemie i używane tak jak czcionki.
Do ustalenia sposobu kodowania wybranej czcionki stosowana jest instrukcja \fontencoding{}.
Drugą wymaganą informacją jest zbiór czcionek chcemy zastosować. Oznaczenia kodowe różnych
kolekcji czcionek przedstawione zostały w tabeli 2.11.
Tablica 2.11: Oznaczenia kodowe czcionek z różnych kolekcji (font families)
oznaczenie
nazwa
oznaczenie
nazwa
cmr
Computer Modern Roman
pbk
Bookman
cmss
Computer Modern Sans
bch
CharterBT
cmtt
Computer Modern Typewriter
pnc
NewCenturySchlbk
cmm
Computer Modern Math Italic
ppl
Palatino
cmsy
Computer Modern Math Symbols
pplx
Palatino
cmex
Computer Modern Math Extensions
pplj
Palatino
ptm
Adobe Times
pzc
ZapfChancery
phv
Adobe Helvetica
put
Utopia
pcr
Adobe Courier
psy
Symbol
pag
AvantGarde
pzd
ZapfDingbats
Do ustalenia zbioru czcionek (kolekcji), jakie mają być użyte, stosuje się instrukcję \fontfamily{}.
Następną cechą, którą należy określić, jest grubość linii, jakimi są kreślone litery (weight). Stoso-
wane są czcionki o różnych grubościach linii, których angielskie nazwy są następujące: hairline, extra
light, light book, regular, medium demibold, semibold, bold, extra bold, heavy black, ultra, poster. Do
oznaczenia przedstawionych cech stosowane są oznaczenia kodowe przedstawione w tablicy 2.12.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
14
Tablica 2.12: Oznaczenia kodowe określające różne grubości czcionek (font series )
oznaczenie
nazwa
oznaczenie
nazwa
a
Thin Hairline
l
Light
b
Bold
m
Medium
c
Black
p
Poster
d
Demi
r
Regular Roman
h
Heavy Heavyface
s
Semibold
j
ExtraLight
u
Ultra, UltraBlack
k
Book
x
ExtraBold, ExtraBlack
Kolejną cechą, która musi zostać określona, jest szerokość znaków. Angielskie nazwy tej właści-
wości, dla czcionek o różnej szerokości są następujące: ultra compressed, extra condensed, compressed,
condensed, narrow regular semiextended, extended, expanded, wide. Do oznaczenia wymienionych cech
stosowane sa oznaczenia kodowe przedstawione w tablicy 2.13.
Tablica 2.13: Oznaczenia kodowe określające różne szerokości czcionek
oznaczenie
nazwa
oznaczenie
nazwa
c
Condensed Cond
t
Thin
e
Expanded
u
UltraCompressed
n
Narrow, Semicondensed
v
ExtraExpanded
more
than
Expanded,
less
than Wide
o
UltraCondensed
w
Wide
p
Compressed Compact
x
Extended Elongated
q
ExtraCompressed ExtraCondensed
y
Semiexpanded
r
Normal
Medium
Regular
(usually omitted)
Grubość i szerokość czcionki ustala się jednocześnie za pomocą polecenia \fontseries{}.
W następnej kolejności należy wybrać odmianę czcionki. Nazwy różnych odmian i odpowiednie
oznaczenia kodowe prezentuje tabela 2.14
Tablica 2.14: Odmiana czcionki (font shape)
oznaczenie
nazwa
n
Normal (prosta)
it
Italic (kursywa)
sl
Slanted (or ‘oblique’) (pochyła)
sc
Caps and small caps (kapitaliki)
ui
Upright italics (kursywa „wyprostowana”)
ol
Outline
Odmianę czcionki ustala się za pomocą polecenia \fontshape{}.
Do kompletu informacji należy podać jeszcze rozmiar czcionki i wielkość odstępu między wierszami
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
15
(w punktach typograficznych). Czynimy to za pomocą instrukcji \fontsize{size}{baselineskip}. Za-
zwyczaj przyjmuje się odstęp między wierszami równy 1.2 wielkości czcionki.
Polecenia do zmiany stosowanych znaków mają postać:
\fontencoding{kodowanie} \fontfamily{kolekcja} \fontseries{grubość i szerokość }
\fontshape{odmiana} \fontsize{rozmiar }{odstęp} \selectfont Przykładowy tekst
lub w skróconej postaci
\usefont{kodowanie}{kolekcja}{grubość i szerokość }{odmiana} Przykładowy tekst
Zestawienie dostępnych czcionek w różnych kolekcjach, wraz z dodatkowymi właściwościami, za-
mieszczono w tabelach 2.15, 2.16, 2.17 i 2.18.
Tablica 2.15: Kolekcje
Tablica 2.16: Kolekcje
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
16
Tablica 2.17: Kolekcje
Tablica 2.18: Kolekcje
\usefont{T1}{cmr}{m}{it}
ABCDEFG abcdefg 1234\\
\usefont{T1}{cmr}{m}{ui}
ABCDEFG abcdefg 1234
ABCDEFG abcdefg 1234
ABCDEFG abcdefg 1234
\usefont{T1}{phv}{m}{n}
ABCDEFG abcdefg 1234\\
\usefont{T1}{phv}{b}{sl}
ABCDEFG abcdefg 1234
ABCDEFG abcdefg 1234
ABCDEFG abcdefg 1234
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
17
Tablica 2.19: Dodatkowe kolekcje czcionek
Kodowanie
Krój (family)
Efekt / nazwa czcionki
OT1
cmr
Computer Modern Roman
OT1
cmss
Computer Modern Sans
U
dsss
ABCDFGH
U
yfrak
Fraktur
U
ygoth
Gothic
U
yswab
SĚwabisĚe
OT1
pag
Avant Garde
OT1
pbk
Bookman
OT1
pcr
Courier
OT1
phv
Helvetica
OT1
pnc
Schoolbook
T1
bch
ABCDefgh
U
psy
Σψµβολ
OT1
ptm
Times New Roman
OT1
pzc
Zapf Chancery
U
pzd
Zapf Dingbats
T1
phv
ABCDefgh
U
bbm
U
euf
ABCdefg
U
cmtt
URW Antiqua
OT1
ugq
URW Grotesk
Niektóre dodatkowe rodzaje czcionek o innych krojach wymienione są w tabeli 2.19.
W katalogu: \texmf-dist\doc\fonts znajdują się dodatkowe czcionki wraz z przykładowymi
plikami *.tex objaśniającymi jak należy ich używać. Czcionki te są już zainstalowane w systemie.
2.3.3.4
Zmiana wielko´s ´
c
W celu zmiany wielkości czcionek możemy zastosować deklaracje przedstawione w tabeli 2.20.
2.3.3.5
Cyfry nautyczne
Szczególnym rodzajem czcionki są cyfry nautyczne (mediewalowe) , zaprojektowane w ten
sposób, aby nie odróżniały się wizualnie od zwykłego tekstu (małych liter). Ich kształt wywodzi się z
dawnych tradycji drukarskich. Możemy je otrzymać, gdy użyjemy czcionki zawierającej odpowiednie
znaki i zastosujemy komendę \oldstylenums{}.
Księżycowy Dworek mieści się w pałacyku
z 1913 roku. Remont budynku ukończono
27.07.2006. Zbudowany został wśród czarują-
cych, mazurskich jezior (w okolicy są 4). Kę-
trzyn - 7 km, Sanktuarium Maryjne - 16 km,
lotnisko - 2 km.
Księżycowy Dworek mieści się w pałacyku
z roku. Remont budynku ukończono
... Zbudowany został wśród czarują-
cych, mazurskich jezior (w okolicy są ). Kę-
trzyn - km, Sanktuarium Maryjne - km,
lotnisko - km.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
18
Tablica 2.20: Rozmiary czcionek
deklaracja
efekt
opcja 10pt
opcja 11pt
opcja 12pt
\tiny
test
5pt
6pt
6pt
\scriptsize
test
7pt
8pt
8pt
\footnotesize
test
8pt
9pt
10pt
\small
test
9pt
10pt
11pt
\normalsize
test
10pt
11pt
12pt
\large
test
12pt
12pt
14pt
\Large
test
14pt
14pt
17pt
\LARGE
test
17pt
17pt
20pt
\huge
test
20pt
20pt
25pt
\Huge
test
25pt
25pt
25pt
2.3.3.6
Wykorzystanie dowolnej czcionki z systemu Windows
W L
A
TEX-u możemy wykorzystać dowolną czcionkę *.ttf, pod warunkiem, że przygotujemy opisujące
ją pliki w formacie *.mf, umieścimy je we właściwym katalogu i wprowadzimy informacje o nich do
bazy danych, zawierającej informacje o zasobach. Etapy tej procedury przedstawione zostaną bardziej
szczegółowo.
1. Uruchamiamy program ttf2mf.
2. Wybieramy Font − > Choose. . . . Wybieramy czcionkę oraz jej atrybuty i zatwierdzamy przyci-
skiem OK, tak jak to pokazano na rysunku 2.1.
3. Wybieramy Font − > Convert. . . .
4. Następnie wybieramy nazwę pliku dla czcionki. Liczba znaków na nazwę nie może przekraczać
8 (nie uwzględniając rozszerzenia .mf).
5. W katalogu texmf-dist\fonts\source\public
tworzymy katalog o tej samej nazwie co nazwa pliku z czcionką *.mf.
6. Umieszczamy tam plik *.mf z czcionką.
7. Uruchamiamy TeX Live Manager i odświeżamy bazę informacji o zasobach, tak jak to pokazano
na rysunku 2.2.
8. Przed zastosowaniem nowej czcionki definiujemy deklarację, która będzie ją aktywować za po-
mocą polecenia: \font \zmienczcionke = mojaczcionka, gdzie mojaczcionka to nazwa którą
wybraliśmy dla pliku *.mf.
Aby zmienić czcionkę wpisujemy deklarację \zmienczcionke. Polecenie zmieni czcionkę do końca
bieżącego bloku. Gdy chcemy by zmiana miała charakter lokalny, należy zastosować nawiasy klamrowe
jako ograniczniki i wpisać: {\zmienczcionke Przykładowy tekst}.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
19
Rysunek 2.1: Wybór czcionki
W nazwie deklaracji zmienczcionke nie mogą występować cyfry. W nazwie mojaczcionka do-
puszcza się używanie cyfr. Użyta czcionka będzie miała taką wielkość jaka została wybrana przy
konwersji w programie ttf2mf – nie ma możliwości zmiany czcionki poleceniami typu \normalsize,
\large itp. Aby temu zaradzić należy przeprowadzić konwersje czcionki dla różnych wielkości, zapisać
je jako oddzielne pliki i przypisać im różne deklaracje. W pewnym zakresie można ratować się instruk-
cją \scalebox{}, jednak rozwiązanie to ma ograniczenie. Zastosowanie dużego powiększenia ujawni
„schodki” na krzywiznach.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
2.3 Znaki
20
Rysunek 2.2: Odświeżenie bazy L
A
TEX
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
ROZDZIAŁ
3
Instrukcje formatujące
3.1
Akapit
Akapity oddziela się pustą linią w kodzie źródłowym. Pierwszy wiersz akapitu rozpoczynany jest
od wcięcia. Wyjątkiem jest pierwszy akapit występujący po tytule (np. rozdziału lub sekcji). Takie są
zwyczaje w piśmiennictwie anglosaskim. By zastosować się do polskich standardów należy w preambule
wywołać pakiet o nazwie indentfirst. Brak wcięcia wymuszamy za pomocą deklaracji \noindent.
W tabeli 3.1. przedstawiono różne deklaracje powodujące przejście do nowej linii tekstu.
Tablica 3.1: Przechodzenie do nowej linii
deklaracja
działanie
\\
rozpoczyna nową linię w tym samym akapicie,
linia łamana nie jest justowana
\\[odstęp]
rozpoczyna nową linię, opuszczoną o odstęp,
w tym samym akapicie, linia łamana nie jest
justowana
\\*
rozpoczyna nową linię w tym samym akapicie,
linia łamana nie jest justowana i nie może być
ostatnią linią strony
\newline
rozpoczyna nową linię w tym samym akapicie,
linia łamana nie jest justowana
\linebreak[n]
zachęta do rozpoczęcia nowej linii w tym sa-
mym akapicie (n=1,2,3,4; n=4 oznacza na-
kaz), linia łamana jest justowana
\nolinebreak[n]
niezgoda na rozpoczęcie nowej linii w tym
samym akapicie (n=1,2,3,4; n=4 oznacza
zakaz)
pusta linia
rozpoczyna nową linię w nowym akapicie
\par
rozpoczyna nową linię w nowym akapicie
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.1 Akapit
22
L
A
TEX 2ε stosuje reguły przenoszenia wyrazów. Jeżeli dla pewnych wyrazów nie otrzymujemy za-
dowalającego efektu, to w preambule wstawiamy instrukcję \hyphenation{}, która pozwala podać
właściwe wzorce podziału. Argumentem jej są — oddzielone przecinkami — wyrazy, w których dopusz-
czalne miejsca podziału zaznaczone są znakiem „-” . Na przykład \hyphenation{ta-ta-rak,brzo-za}.
Instrukcja \hyphenation{} ma działanie globalne i ze względu na dobrze opracowane polskie reguły
przenoszenia (pakiet inputenc), jest prawie nieużywana. Właściwy sposób dzielenia możemy wskazać
również za pomocą instrukcji \- , która działa lokalnie. Na przykład, gdy chcemy wskazać dopusz-
czalny sposób podziału wyrazu tatarak, to w kodzie źródłowym wpisujemy ta\-ta\-rak . W razie
potrzeby, L
A
TEX 2ε podzieli wyraz tatarak tylko we wskazanych miejscach. Tekst wpisany jako ar-
gument instrukcji \mbox{} nigdy nie będzie dzielony, mimo konieczności, wynikającej z zachowania
ustalonej długości wiersza.
Wybrany fragment tekstu może zostać napisany powyżej lub poniżej poziomu bieżącego wiersza.
Umożliwia to instrukcja \raisebox{wysokość }{tekst}. Argument wysokość określa wielkość podniesienia
(gdy ma wartość dodatnią) lub opuszczenia (gdy jest ujemny) drugiego argumentu tekst.
Odstępy między wierszami ustala się globalnie wstawiając w preambule instrukcję \linespread{n},
której argument jest czynnikiem zwiększającym odstęp. n=1 oznacza odstęp normalny, n=1.3 to od-
stęp powiększony półtorakrotnie, a wpisanie n=1.6 daje podwójną interlinię.
Lokalna zmiana interlinii jest możliwa za pomocą instrukcji
\setlength{\baselineskip}{1.5\baselineskip}.
Aby ona zadziałała na zakończenie tekstu, a przed znakiem kończącym obowiązujący zakres zmiany
(np. }), musi pojawić się deklaracja rozpoczynająca nowy akapit (\par lub pusta linia). Poniżej przed-
stawiony jest przykład ilustrujący zmianę odstępu między wierszami.
{\setlength{\baselineskip}%
{1.5\baselineskip}
\fontfamily{antt}\selectfont
Wcale nie byłem . . .
\par}
{\setlength{\baselineskip}%
{1.0\baselineskip}
\fontfamily{antt}\selectfont
Nie lubię . . .
\par}
– Wcale nie byłem zadowolony, kiedy mama
powiedziała mi, że jedna z jej przyjaciółek
przyjdzie do nas na herbatę ze swoją có-
reczką.
– Nie lubię dziewczyn. Są głupie, umieją ba-
wić się tylko lalkami i w sklep. Straszna nuda.
Dodatkowo ciągle beczą.
Dwa dodatkowe parametry określają w L
A
TEX-u wielkość, odpowiednio, wcięcia akapitowego oraz
odstępu miedzy akapitami. Wpisując na przykład do preambuły dokumentu:
\setlength{\parindent}{0pt}
(\parindent jest sztywnym, czyli niezależnym od kontekstu, parametrem długości) oraz
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.1 Akapit
23
(\parskip jest elastycznym, czyli zmiennym w określonych granicach, parametrem długości) zmie-
niamy ich wartości ustalone stylem strony.
Akapity o mniejszej szerokości niż szerokość całego tekstu możemy wprowadzać stosując otoczenie
minipage, lub instrukcję
\parbox[poz
1
][wysokość][poz
2
]{szerokość}{tekst} .
Oba polecenia mają takie same działanie, z tym, że tylko otoczenie minipage pozwala na umieszczanie
w tekście tabeli, rysunków oraz otoczeń wyliczeniowych (np. itemize).
Tablica 3.2: Znaczenie argumentów i opcji instrukcji parbox i otoczenia minipage
rodzaj
nazwa
działanie
argument
tekst
tekst przetwarzany za pomocą instrukcji
argument
szerokość
szerokość jaką zajmie tekst
opcja
poz
2
pozycja tekstu względem otoczenia, w którym
stosujemy instrukcję, opcja przyjmuje warto-
ści t (top), c (center), lub b (bottom)
opcja
wysokość
wysokość tworzonego obiektu, gdy jest pomi-
nięta wysokość określa automatycznie zawar-
tość argumentu tekst
opcja
poz
1
pozycja tekstu względem obszaru określo-
nego parametrami szerokość i wysokość; opcja
przyjmuje wartości t (top), c (center), lub b
(bottom)
Ilustracja zastosowania otoczenia minipage.
\noindent
\begin{minipage}[t]{0.23\textwidth}
\begin{flushleft}
\fontfamily{antt}\selectfont
Przyjaciółka mamy . . .
\end{flushleft}
\end{minipage}
\hspace{0.5em}
\begin{minipage}[t]{0.23\textwidth}
\begin{flushleft}
\fontfamily{antt}\selectfont
Spojrzeliśmy . . .
\end{flushleft}
\end{minipage}
Przyjaciółka mamy
przyszła ze swoją
córeczką o czwartej.
Pocałowała mnie,
powiedziała to samo,
co wszyscy, że jestem
dużym chłopcem,
i powiedziała jeszcze:
„A to jest Ludeczka".
Spojrzeliśmy na
siebie. Ludeczka
miała żółte warkocze,
niebieskie oczy, a nos
i sukienkę czerwoną.
Podaliśmy sobie
bardzo szybko końce
palców. Mama
podała herbatę i było
bardzo przyjemnie,
bo kiedy mamy gości
na herbacie, są
czekoladowe
ciasteczka i można
brać dwa razy.
Gdy chcemy, tak jak w podanym wyżej przykładzie, umieścić dwa bloki tekstu, zapisane w otocze-
niach minipage, obok siebie, należy pamiętać, że muszą znaleźć się w jednym akapicie, więc nie mogą
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.2 Strona
24
być oddzielone pustą linią.
Ilustracja zastosowania instrukcji \parbox{}{}.
\begin{center}
\parbox{0.3\textwidth}{
\fontfamily{antt}\selectfont
– Wyglądasz jak małpa . . .
}
\end{center}
— Wyglądasz jak małpa —
powiedziała mi. To mi się nie
podobało, więc odpowiedzia-
łem jej:
— A ty jesteś baba! – i ona
uderzyła mnie po twarzy.
O mało co się nie rozpła-
kałem, ale się powstrzyma-
łem, bo przecież mama pro-
siła, żebym był dobrze wy-
chowany, więc tylko pocią-
gnąłem Ludeczkę za war-
kocz, a ona kopnęła mnie
w kostkę.
3.2
Strona
3.2.1
Style strony
Style strony dla całego dokumentu deklarujemy w preambule za pomocą komendy \pagestyle{}.
Możliwe jest również określenie stylu tylko bieżącej strony poleceniem \thispagestyle{}. Standar-
dowe style to plain, empty, headings oraz myheadings. Ich właściwości opisane zostały w tablicy 3.3.
Tablica 3.3: Standardowe style strony
styl
efekt
plain
Nagłówek strony jest pusty a stopka zawiera
wycentrowany numer strony.
empty
Nagłówek i stopka strony są puste. Strony są
nienumerowane.
headings
Stopka jest pusta a nagłówek zawiera numer
strony i tytuł rozdziału, sekcji, lub podsekcji
(zależnie od klasy dokumentu).
myheadings
Działa prawie tak samo jak headings. Różnica
polega na samodzielnym ustalaniu napisów w
nagłówku strony.
Gdy chcemy zmienić czcionkę, którą zapisywane są tytuły rozdziałów i sekcji należy w preambule
umieścić deklarację \usepackage{sectsty} oraz instrukcję \allsectionsfont{czcionka}, w której
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.2 Strona
25
czcionka oznacza deklarację określającą kodowanie i rodzinę czcionki, jaka ma zostać zastosowana (np.
\fontencoding{OT1}\fontfamily{pag} \selectfont).
Duże możliwości modyfikacji stylów strony daje pakiety fancyhydr i fncychap.
Domyślnie przyjęte jest numerowanie stron za pomocą cyfr arabskich. Można to zmienić stosując
instrukcję \pagenumbering{styl}. Dostępne style zaprezentowane są w tabeli 3.4.
Tablica 3.4: Sposoby numeracji stron
styl
opis
arabic
liczby arabskie
roman
małe liczby rzymskie
Roman
duże liczby rzymskie
alph
małe litery alfabetu angielskiego
Alph
duże litery alfabetu angielskiego
Użycie instrukcji \pagenumbering{styl} z nowym stylem numeracji zeruje licznik page, określający
numer strony i ustawia wybrany styl. Dostępne style numeracji stron zaprezentowano w tabeli 3.4.
Można zacząć numerację stron o dowolnego numeru, stosując polecenie \setcounter{page}{numer}.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.2 Strona
26
Nazwy parametrów strony i ich znaczenie przedstawione zostały na rysunku 3.1.
Header
Body
Footer
Margin
Notes
i
8
-
i
7
?
6
i
1
-
-
i
3
i
10
-
-
i
9
6
?
i
11
i
2
?
6
6
?
i
4
6
?
i
5
6
?
i
6
1
one inch + \hoffset
2
one inch + \voffset
3
\oddsidemargin = 18pt
4
\topmargin = 0pt
5
\headheight = 12pt
6
\headsep = 25pt
7
\textheight = 609pt
8
\textwidth = 424pt
9
\marginparsep = 11pt
10
\marginparwidth = 54pt
11
\footskip = 30pt
\marginparpush = 5pt (not shown)
\hoffset = 0pt
\voffset = 0pt
\paperwidth = 597pt
\paperheight = 845pt
Figure 1: Page elements. The values shown are those in effect in the current document, not the
defaults.
3
1
Rysunek 3.1: Parametry strony
Różne instrukcje skutkujące wymuszonym przejściem do nowej strony, wraz z opisem ich działania
zawiera tabela 3.5.
3.2.2
Sposoby wyrównywania teksu
Otoczenia pozwalające na różne sposoby wyrównywania tekstu, przedstawiono w tabeli 3.6.
Poniżej zamieszczono przykład stosowania otoczeń center, flushleft, flushright.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.2 Strona
27
Tablica 3.5: Przechodzenie do nowej strony
instrukcja
działanie
\newpage
rozpoczyna nową stronę (kolumnę przy skła-
dzie dwukolumnowym )
\pagebreak[n]
zachęta
do
rozpoczęcia
nowej
strony
(n=1,2,3,4; n=4 oznacza nakaz), długość
strony łamanej jest wyrównywana do dolnej
granicy
\nopagebreak[n]
niezgoda
na
rozpoczęcie
nowej
strony
(n=1,2,3,4; n=4 oznacza zakaz)
\clearpage
rozpoczyna nową stronę, umieszcza rysunki i
tablice na osbnych stronach, bez tekstu
\cleardoublepage
rozpoczyna nową stronę o numerze nieparzy-
stym (gdy to potrzebne dodaje stronę pustą)
Tablica 3.6: Sposoby wyrównywania tekstu
otoczenie
sposób wyrównania
center
wyśrodkowanie, brak wyrównania
flushleft
wyrównanie do lewej (ustawienie opcjonalne)
flushright
wyrównanie do prawej
\begin{flushleft}
Łódź \\
16 VI 2008
\end{flushleft}
\begin{center}
Podanie!
\end{center}
Treść podania napisana
bez komend, które wyrównują
tekst w specjalny sposób.
\begin{flushright}
Podpis\\
Imię i Nazwisko
\end{flushright}
Łódź
16 VI 2008
Podanie!
Treść podania napisana bez komend, które
wyrównują tekst w specjalny sposób.
Podpis
Imię i Nazwisko
3.2.3
Ł ˛
aczenie tekstu w jednej i wielu kolumnach
Do wprowadzania tekstu złożonego w wielu kolumnach do dokumentu, w którym ustalono skład jed-
nokolumnowy, najwygodniej jest zastosować otoczenie multicols. Wymaga ono wywołania pakietu
multicol w preambule. Składnia omawianej instrukcji jest następująca:
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.3 Specjalne instrukcje formatowania tekstu
28
\begin{multicols}{liczba kolumn}
Tekst.
\columnbreak
Tekst.
..
.
\end{multicols}.
Tekst umieszczony w otoczeniu multicols jest rozkładany na kolumny — w liczbie ustalonej za po-
mocą pierwszego argumentu (liczba kolumn) — o jednakowej długości. Deklaracja \columnbreak daje
możliwość wymuszenia zmiany kolumny w wymaganym miejscu. Poniżej przedstawiony jest przykład
fragmentu tekstu złożonego w trzy kolumny.
– No i jak, dzieci – spytała
moja mama – dobrze się ba-
wicie?
– O tak, proszę pani – powie-
działa Ludeczka; oczy miała
bardzo szeroko otwarte i trze-
potała bardzo prędko rzę-
sami, a mama pocałowała ją
i powiedziała:
– Ona jest urocza, urocza! Ta-
kie małe kurczątko! – a Lu-
deczka dalej twardo trzepo-
tała rzęsami.
– Masz śliczne książki z ob-
razkami, pokaż je Ludeczce
– powiedziała moja mama, a
tamta mama powiedziała, że
jesteśmy dwa małe kurczątka,
a potem sobie poszły. Wyją-
łem książki z szafy i dałem
je Ludeczce, ale ona ani na
nie spojrzała, rzuciła wszyst-
kie na podłogę, nawet tę naj-
wspanialszą, gdzie jest pełno
Indian.
– Książki mnie nie ciekawią
– powiedziała Ludeczka – nie
masz czegoś zabawniejszego?
– i zajrzała do szafki, zoba-
czyła samolot, ten taki fajny,
na gumkę, co jest czerwony i
lata.
– Zostaw to – powiedziałem –
to nie dla bab, to jest mój sa-
molot! – i chciałem go ode-
brać, ale Ludeczka odsko-
czyła w bok.
– Jestem gość – powiedziała –
mam prawo bawić się.
3.3
Specjalne instrukcje formatowania tekstu
3.3.1
Wyliczanki
Otoczenie description służy do wyliczania z wyróżnieniem wybranych słów.
\noindent
Nowe słowa we
współczesnej polszczyźnie:
\begin{description}
\item[spoko] -- nie denerwuj się,
\item[negatyw] -- murzyn,
\item[pozdro] -- dzień dobry.
\end{description}
Nowe słowa we współczesnej polszczyźnie:
spoko – nie denerwuj się,
negatyw – murzyn,
pozdro – dzień dobry.
Otoczenie itemize służy do wyliczania, gdy kolejność elementów nie ma znaczenia. Możemy w nim
stosować różne znaczniki elementów wyliczanych, wpisując je jako parametr opcjonalny (w nawiasach
kwadratowych) w instrukcji \item, która rozpoczyna każdy ze składników listy.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.3 Specjalne instrukcje formatowania tekstu
29
\noindent
Poznajemy otoczenia:
\begin{itemize}
\item description,
\item[--] verbatim,
\item[$*$] itemize,
\item[$\diamond$] enumerate.
\end{itemize}
Poznajemy otoczenia:
• description,
– verbatim,
∗ itemize,
enumerate.
Otoczenie enumerate służy do wyliczania, gdy kolejność elementów ma znaczenie. Gdy zastosujemy
otoczenia zagłębione, wówczas automatycznie zmieni się typ licznika, który wskazuje na elementy listy.
Przykład otoczeń zagłębionych zamieszczono poniżej:
\noindent
Ilustracja działania otoczenia
\verb<enumerate>.\\
\begin{enumerate}
\item \ldots,
\begin{enumerate}
\item \ldots,
\item \ldots,
\end{enumerate}
\item \ldots.
\end{enumerate}
Ilustracja działania otoczenia enumerate.
1. . . . ,
(a) . . . ,
(b) . . . ,
2. . . . .
3.3.2
Odsyłacze
Odsyłacze dają możliwość odwołania się do dowolnego obiektu, znajdującego się w tekście i ozna-
czonego etykietą. Należy jednak pamiętać, że poprawne wyliczenie wskaźników wymaga dwukrotnej
kompilacji. Instrukcje stosowane przy definiowaniu odwołań zaprezentowano w tabeli 3.7
Tablica 3.7: Instrukcje umożliwiające tworzenia odsyłaczy
instrukcja
działanie
gdzie umieścić
\label{}
definiuje etykietę
bezpośrednio
za
obiektem,
który
oznaczamy etykietą
\ref{}
zamienia etykietę na numer obiektu,
oznaczonego tą samą etykietą
w miejscu odwołania
\pageref{}
zamienia etykietę na numer strony,
na której znajduje się obiekt, ozna-
czony tą samą etykietą
w miejscu odwołania
Przykład stosowania odsyłaczy.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.3 Specjalne instrukcje formatowania tekstu
30
\begin{align}
E=m\;c^2
\end{align}\label{Einst}
Równanie (\ref{Einst}), zapisane na
stronie \pageref{Einst}, jest
jednym z najsłynniejszych równań fizyki.
E = m c
2
(3.1)
Równanie (3.1), zapisane na stronie 30, jest jed-
nym z najsłynniejszych równań fizyki.
3.3.3
Obroty
Do obrotu dowolnego obiektu można zastosować instrukcję \rotatebox[opcje]{kąt}{argument}
1
. W
opcjach określamy punkt, stanowiący środek obrotu. Gdy chcemy określić jego położenie w jednostkach
długości, możemy napisać na przykład x=1em, y=2em. Możliwe jest wybranie jako środków obrotu
charakterystycznych punktów, przedstawionych i oznaczonych na rysunku 3.2. Jeżeli zapiszemy na
przykład origin=c, wówczas obrót nastąpi dookoła środka obiektu.
1
Rysunek 3.2: Punkty ustalające środki obrotu
Argument kąt podajemy w stopniach. Poniżej przedstawiony został przykład obrotu tekstu.
1
Wymaga zastosowania pakietu graphicx.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.3 Specjalne instrukcje formatowania tekstu
31
\rotatebox[x=2em, y=3em]{15}{%
\begin{minipage}{20em}
Wtedy musiałem
pisnąć, bo mnie zabolało. Już chciałem
jej przyłożyć, ale Ludeczka zmieniła
temat rozmowy i powiedziała: -- No więc,
pokazujesz mi te swoje zabawki?
Miałem jej właśnie powiedzieć, że to są
zabawki dla chłopców, ale ona zobaczyła
mego pluszowego
misia, tego, którego ogoliłem do połowy
maszynką do golenia taty.
\end{minipage}
}
Wtedy
musiałem
pisnąć,
bo mnie
zabolało.
Już
chciałem
jej przyłożyć,
ale Ludeczka
zmieniła
te-
mat
rozmo
wy i
powiedziała:
– No
więc,
pokaz
ujesz
mi te
swoje
zaba
wki?
Miałem
jej właśnie
powie-
dzieć,
że to
są zaba
wki
dla c
hłop
ców,
ale ona
zoba-
czyła
mego
pluszo
wego
misia,
tego,
którego
ogoli-
łem
do p
ołowy
maszynką
do golenia
taty
.
\rotatebox[origin=c]{-90}{%
\begin{minipage}{20em}
-- Bawisz się lalkami? -- zapytała
Ludeczka i zaczęła się śmiać. Już
miałem ją pociągnąć za warkocz, a
Ludeczka podnosiła rękę, żeby mnie
uderzyć w twarz, kiedy drzwi się
otworzyły i weszły obydwie nasze mamy.
-- No i jak, dzieci -- spytała moja mama
-- dobrze się bawicie? -- O tak, proszę
pani -- powiedziała Ludeczka; oczy
miała bardzo szeroko otwarte i
trzepotała bardzo prędko rzęsami, a
mama pocałowała ją i powiedziała: --
Ona jest urocza, urocza!
Takie małe kurczątko!
\end{minipage}
}
–
Ba
wisz
się
lalkami?
–
zap
ytała
Ludeczka
i
zac
zęła
się
śmiać.
Już
miałem
ją
p
o
cią
gnąć
za
w
ark
o
cz,
a
Ludeczka
p
o
dnosiła
ręk
ę,
żeb
y
mnie
u
der
zyć
w
tw
arz,
kiedy
drzwi
się
ot
w
orzyły
i
w
eszły
ob
ydwie
nasze
mam
y
.
–
No
i
jak,
dzieci
–
sp
ytała
mo
ja
mama
–
dobrze
się
ba
wic
ie?
–
O
tak,
proszę
pani
–
p
o
wiedziała
Ludecz
ka;
o
cz
y
miała
bardzo
szerok
o
ot
w
arte
i
trzep
otała
bardzo
prędk
o
rzęsami,
a
mama
p
o
cało
w
ała
ją
i
p
o
wie-
działa:
–
Ona
jest
uro
cza,
uro
cza!
T
akie
małe
kur-
czątk
o!
3.3.4
Skalowanie
Skalowanie dowolnego obiektu umożliwia instrukcja:
\scalebox{skala w poziomie}[skala w pionie]{tekst}
2
.
Gdy argument skala w pionie nie wystąpi, skalowanie w obu kierunkach będzie proporcjonalne.
2
Wymaga zastosowania pakietu graphicx.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.3 Specjalne instrukcje formatowania tekstu
32
Dom,\hspace{2em}
\scalebox{2}[3]{Dom},\hspace{2em}
\scalebox{3}[2]{Dom}
Dom,
Dom,
Dom.
Składając polecenia, powodujące obracania i skalowanie, możemy otrzymać efekt następujący:
\scalebox{3}[1]{%
\rotatebox[origin=lb]{45}{\huge K}}
\scalebox{3}[1]{%
\raisebox{1em}{\huge O}}
\scalebox{3}[1]{%
\rotatebox[origin=rb]{-45}{\huge T}}
K
O
T
3.3.5
Przypisy
Instrukcja \footnote[numer]{text}
3
umieszcza text opatrzony numerem na dole aktualnej strony
4
.
Argument opcjonalny numer umożliwia zmianę numeru
50
na inny niż nadawany automatycznie. Zasto-
sowanie go nie zwiększa wartości licznika przypisów \thefootnote. Omawiana konstrukcja nie działa
wewnątrz otoczeń typu table, tabular, minipage itp.
Jeżeli istnieje potrzeba umieszczenia przypisu wewnątrz jednego z wymienionych otoczeń, należy
zastosować deklarację \footnotemark[nr] (wewnątrz otoczenia) i instrukcję \footnotetext[nr]{tekst}
(na zewnątrz otoczenia), tak jak pokazuje przedstawiony poniżej przykład. Parametr opcjonalny nr
wykorzystany jest do numeracji odwołań, gdy wprowadzamy więcej niż jeden przypis.
\renewcommand{\thefootnote}%
{\alph{footnote}}
\fbox{\begin{minipage}{14em}
Tekst\footnotemark[1] zapisany wewnątrz
otoczenia {\tt minipage} z odnośnikiem
na dole strony.\footnotemark[2]\end%
{minipage}}\footnotetext[1]{Wskaźnik
tego odnośnika umieszczono wewnątrz
otoczenia {\tt minipage}.}\footnotetext%
[2]{Wskaźnik tego odnośnika również
umieszczono
wewnątrz otoczenia
{\tt minipage}.}
Tekst
a
zapisany wewnątrz oto-
czenia minipage z odnośnikiem
na dole strony.
b
Gdy chcemy zmienić cyfry, którymi zapisywany jest wskaźnik przypisów, z arabskich na rzymskie,
należy przedefiniować licznik \thefootnote, za pomocą polecenia:
3
Składnia instrukcji
\footnote
4
Test działania przypisu.
50
Oto przypis ze zmienionym numerem.
a
Wskaźnik tego odnośnika umieszczono wewnątrz otoczenia minipage.
b
Wskaźnik tego odnośnika również umieszczono wewnątrz otoczenia minipage.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.4 Struktura logiczna tekstu
33
\renewcommand{\thefootnote}{\Roman{footnote}}.
Oto przykład wskaźnika
V
, zapisywanego w nowy sposób. Czasami do oznaczania przypisów konieczne
jest użycie symboli ze zbioru, zawierającego dziewięć szczególnych znaków: *, †, ‡, §, ¶, ||, **, ††, ‡‡.
Wówczas należy przedefiniować licznik za pomocą polecenia:
\renewcommand{\thefootnote}{\fnsymbol{footnote}}.
Zastosowanie odwołania \footnote[2]{} spowoduje wybranie drugiego elementu ze wspomnianego
zbioru, jako symbolu, który oznacza tworzony przypis. Przykład
†
. Powrót do używania cyfr arabskich
zapewnia instrukcja \renewcommand{\thefootnote}{\arabic{footnote}}.
3.4
Struktura logiczna tekstu
Instrukcje, umożliwiające podział dokumentu na rozdziały, punkty, podpunkty i paragrafy, zaprezen-
towane zostały w tabeli 3.8.
Tablica 3.8: Instrukcje umożliwiające wprowadzenie logicznej struktury tekstu
instrukcja
klasa dokumentu
\part{}
book
\chapter{}
book, report
\section{}
book, report, aricle
\subsection{}
book, report, aricle
\subsubsection{}
book, report, aricle
\paragraph{}
book, report, aricle
Instrukcja z gwiazdką (np. \section*{}) nie jest numerowana.
Procedura tworzenia spisu treści wykorzystuje dwa liczniki i deklarację:
– secnumdepth — licznik ustalający poziom, do którego poziomu części dokumentu są numero-
wane,
– tocdepth — licznik określający poziom, do którego części dokumentu są umieszczane w spisie
treści,
– \tableofcontents — deklaracja powodująca umieszczenie spisu treści.
Wymienione liczniki ustalamy poleceniem \setcounter{nazwa}{wartość}
Kod źródłowy dokumentu, który pokazuje sposób dzielenia tekstu na logiczne części, ma postać:
\documentclass[a4paper,11pt,openright]{report}
\usepackage{latexsym}
\usepackage[MeX]{polski}
V
Wskaźnik zapisany cyfrą rzymską.
†
Ten przypis oznaczono drugim znakiem z podanego zbioru.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.4 Struktura logiczna tekstu
34
\usepackage[cp1250]{inputenc}
% ew. utf8 lub cp1250
\author{Ewaryst Zawodny}
% Zdefiniowanie autora
\title{Podział tekstu na części}% Zdefiniowanie tytułu
\begin{document}
\maketitle
% Wstawienie strony tytułowej
\tableofcontents
% polecenie zapisania spisu treści
\chapter{Początek}
\section{Sekcja pierwsza}
\subsection{Część pierwsza sekcji pierwszej}
Treść
\subsection{Część druga sekcji pierwszej}
Treść
\section{Sekcja druga}
Treść
\end{document}
W wyniku przetworzenia, przedstawionego powyżej kodu, otrzymujemy dokument złożony z trzech
stron. Pierwsza, pokazana na rysunku 3.3, jest stroną tytułową, druga — przedstawiona na rysunku
3.5 — zawiera automatycznie utworzony spis treści. Trzecia strona (rys. 3.4) zawiera treść dokumentu,
podzielonego na rozdziały i sekcje.
Podział tekstu na części
Ewaryst Zawodny
26 lipca 2008
1
Rysunek 3.3: Strona tytułowa
Rozdział 1
Początek
1.1 Sekcja pierwsza
1.1.1 Część pierwsza sekcji pierwszej
Treść
1.1.2 Część druga sekcji pierwszej
Treść
1.2 Sekcja druga
Treść
2
1
Rysunek 3.4: Tekst
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
3.4 Struktura logiczna tekstu
35
Spis treści
1 Początek
2
1.1 Sekcja pierwsza . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.1 Część pierwsza sekcji pierwszej . . . . . . . . . . . . .
2
1.1.2 Część druga sekcji pierwszej . . . . . . . . . . . . . . .
2
1.2 Sekcja druga . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1
1
Rysunek 3.5: Spis treści
Liczbę poziomów logicznych tekstu, które będą automatycznie numerowane, określa licznik secnumdepth.
Jego wartość ustawiamy komendą \setcounter{secnumdepth}{liczba}.
Liczbę poziomów logicznych tekstu, zapisywanych w spisie treści, określa licznik tocdepth. Do
ustalenia jego wartości należy użyć również instrukcji \setcounter{secnumdepth}{liczba}.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
ROZDZIAŁ
4
Tekstowe obiekty specjalne
4.1
Tabele
Otoczenie tabular służy do tworzenia tabel. Przedstawiony poniżej przykład pokazuje składnię wy-
mienionej instrukcji.
\begin{center}
\begin{tabular}{|l|c|r|}
\hline
one
& two
& three
\\ \hline
fourteen & fifteen & sixteen \\ \hline
\end{tabular}
\end{center}
one
two
three
fourteen
fifteen
sixteen
W przedstawionej tabeli pierwsza kolumna jest wyrównana do lewej, druga jest wyśrodkowana, a
trzecia wyrównana do prawej. Opisany efekt został otrzymany dzięki wpisaniu do pierwszego parame-
tru instrukcji tabular liter l, c, r. Znaki |, rozdzielające wymienione litery, generują linie pionowe.
Jeżeli linie te nie są potrzebne, to wymienione znaki należy pominąć.
W celu numerowania tabel i dodawania podpisów służy otoczenie table. Przykładowo, kod
\begin{center}
\begin{table}[htb]\caption{Podpis}
\begin{center}
\begin{tabular}{|c|c|} \hline
a & b \\ \hline
c & d \\ \hline
\end{tabular}
\end{center}
\end{table}
\end{center}
daje efekt postaci:
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.1 Tabele
37
Tablica 4.1: Podpis
a
b
c
d
Nie można zapisywać tabel numerowanych
i rysunków w otoczeniach typu minipage,
multicols oraz np. w pudełku \parbox. Roz-
wiązaniem tego problemu jest zastosowanie
nowego otoczenia tablehere, (a dla rysun-
ków figurehere) określonego definicjami, po-
danymi obok, w prawej kolumnie. Definicje na-
leży umieścić w preambule lub w tekście doku-
mentu przed wywołaniem tabeli (rysunku).
\makeatletter
\newenvironment{figurehere}
{\def\@captype{figure}}
{}
\newenvironment{tablehere}
{\def\@captype{table}}
{}
\makeatother
Przykład tabeli umieszczonej w otoczeniu multicols, stosowanym do składu wielokolumnowego.
\begin{center}
\begin{tablehere}
\caption{Podpis}
\begin{tabular}{|c|c|}
\hline
a & b \\
\hline
c & d \\
\hline
\end{tabular}
\end{tablehere}
\end{center}
Tablica 4.2: Podpis
a
b
c
d
Tabela z różnie ustawionymi kolumnami i łączeniem kolumn.
\begin{center}
\begin{tabular}{|r|l|c|}
\hline\hline
nr wier. & kol. 1 & kol. 2
\\
\hline\hline
1
& \multicolumn{2}{c|}{a} \\
\hline
2
& b
& d
\\
\hline
\end{tabular}
\end{center}
nr wier.
kol. 1
kol. 2
1
a
2
b
d
W tabelach możliwe jest łączenie wierszy. Funkcja wymaga zastosowania w preambule instrukcji
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.1 Tabele
38
\usepackage{multirow}.
\begin{tabular}{llc|}\hline
Godzina & Miejsce
& Cel \\\hline
15:00
& \multirow{3}{*}%
{\rotatebox{45}{basen}}
&
rozgrzewka
\\
16:00
&
&
pływanie
\\
17:00
&
&
wyścigi
\\\hline
18:00
& dom
& kolacja
\\\hline
19:00
& \multirow{3}{*}%
{\rotatebox{45}{kino}}
&\multirow{3}{*}{film}\\
20:00
&
&
\\
21:00
&
&
\\\hline
22:00
& dom
&
wolne
\\
\hline
\end{tabular}
Godzina
Miejsce
Cel
15:00
basen
rozgrzewka
16:00
pływanie
17:00
wyścigi
18:00
dom
kolacja
19:00
kino
film
20:00
21:00
22:00
dom
wolne
Pisanie pionowo w kolumnach
\begin{tabular}{r|c|c|c|c|c|}\cline{2-6}
&
\shortstack{Ł\\ó\\d\\ź} &
\shortstack{\rule{0mm}{2mm}%
\\W\\a\\r\\s\\z\\a\\w\\a} &
\shortstack{K\\r\\a\\k\\ó\\w} &
\shortstack{G\\d\\a\\ń\\s\\k} &
\shortstack{W\\r\\o\\c\\ł\\a\\w}
\\\hline
Łódź & x & 136 & 262 & 352 & 210
\\\hline
Warszawa & 136 & x & 293 & 345 & 342
\\\hline
Kraków & 262 & 293 & x & 615 & 270
\\\hline
Gdańsk & 352 & 345 & 615 & x & 455
\\\hline
Wrocław & 210 & 342 & 270 & 455 & x
\\\hline
\end{tabular}
Ł
ó
d
ź
W
a
r
s
z
a
w
a
K
r
a
k
ó
w
G
d
a
ń
s
k
W
r
o
c
ł
a
w
Łódź
x
136
262
352
210
Warszawa
136
x
293
345
342
Kraków
262
293
x
615
270
Gdańsk
352
345
615
x
455
Wrocław
210
342
270
455
x
Instrukcja \rule{0mm}{2mm} rysuje niewidoczną kreskę (szerokość 0mm), tak aby wymusić zwięk-
szenie wysokości wiersza. Instrukcja \cline{2-5} rysuje linię tak jak \hline z tą różnicą, że kreska
rozciąga się tylko na kolumnach 2-5.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.1 Tabele
39
Tabela z cieniowaniami.
\begin{center}
\begin{tabular}{r|cc}
\hline\hline
&\multicolumn{2}{c}{%
\parbox{9em}{%
\centering\raisebox{1.1em}{}%
$U_{GS}=0,5V$ \\
\vspace{-0.8em} $\hrulefill$}} \\
Lp%
&$U_{DS}\;\left[V\right]$%
&$I_D\;\left[mA\right]$ \\
\hline\hline
\rowcolor[gray]{.9}
1
&0
&0
\\
2
&0,1
&0,5
\\
\rowcolor[gray]{.9}
3
&0,4
&1,5
\\
4
&0,6
&2,2
\\
\hline
\end{tabular}
\end{center}
U
GS
= 0, 5V
Lp
U
DS
[V]
I
D
[mA]
1
0
0
2
0,1
0,5
3
0,4
1,5
4
0,6
2,2
Ustawianie szerokości kolumn.
\begin{tabular}{|l|p{5cm}|}\hline
wiersz 1 & ta kolumna ma ustaloną
szerokość i wiersz jest łamany\\\hline
wiersz 2 & \multicolumn{1}{c|}%
{wyśrodkowanie}\\\hline
\end{tabular}
wiersz 1
ta kolumna ma ustaloną sze-
rokość i wiersz jest łamany
wiersz 2
wyśrodkowanie
4.1.1
Opis komendy multicolumn
Komenda multicolumn jest bardzo często używana przy tworzeniu tabel. Za jej pomocą można zmienić
sposób wyrównania komórki, łączyć kolumny, rozdzielać kolumny liniami. Ogólna składnia komendy
jest następująca:
\multicolumn{lk}{ułożenie}{tekst}
Parametr lk określa liczbę wierszy która ma być złączona. ułożenie określa sposób wyrównania tekstu
w komórce i może przyjmować następujące wartości:
r – wyrównanie do prawej krawędzi (right),
l – wyrównanie do lewej krawędzie (left),
c – wyrównanie do środka (center)
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.1 Tabele
40
Znaki | zawarte w parametrze ułożenie określają wstawienie pionowego znaku rozdzielającego ko-
mórki. Na przykład następujące polecenie:
\multicolumn{3}{|c|}{Potrójna kolumna}
spowoduje „zlepienie” 3 kolumn, umieszczenie wypośrodkowanego tekstu Potrójna kolumna oraz
umieszczenie dwóch linii oddzielających komórki. Przydatną komendą jest
\multicolumn{1}{ułożenie}{Zmiana wyrównania komórki},
która nadpisuje wyrównanie komórki zadeklarowane w preambule \begin{tabular}{...}
4.1.2
Program LaTable
Program LaTable umożliwia wygodne tworzenie tabel w graficzny sposób. Program generuje kod tabeli,
który jest następnie wklejany do dokumentu *.tex. Dodatkowo kod może być ręcznie poprawiony, co
okazuje się bardzo przydatną możliwością. Program dostępny jest za darmo pod adresem:
http://www.ctan.org/tex-archive/help/Catalogue/entries/latable.html
Wygląd przykładowej tabeli projektowanej za pomocą programu, przedstawiony jest na rysunku
4.1.
Rysunek 4.1: Wygląd programu LaTable
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.2 Wzory matematyczne
41
4.2
Wzory matematyczne
Tabela 4.3 zawiera polecenia, które powodują umieszczanie nad literami różnych znaczków, często
stosowanych przy zapisie symboli matematycznych.
Tablica 4.3: Akcenty we wzorach matematycznych
\acute{a}
´
a
\bar{a}
¯
a
\breve{a}
˘
a
\check{a}
ˇ
a
\ddot{a}
¨
a
\dot{a}
˙
a
\grave{a}
`
a
\imath
ı
\hat{a}
^
a
\tilde{a}
˜
a
\vec{a}
a
\jmath
\widehat{aa}
c
aa
\widetilde{aa}
f
aa
Do ustawiania wielkości czcionek we wzorach matematycznych należy stosować deklaracje zapre-
zentowane w tabeli 4.4. Wówczas unikniemy problemów przy zmianie skali tekstu.
Tablica 4.4: Różne rozmiary czcionek, stosowane we wzorach
deklaracja
przykład
miejsce
\displaystyle
N
X
i=1
a
i
wzory eksponowane
\textstyle
N
P
i=1
a
i
wzory w tekście
\scriptstyle
N
P
i=1
a
i
indeksy
\scriptscriptstyle
N
P
i=1
ai
indeksy 2 poziomu
W trybie matematycznym wszystkie spacje zawarte w kodzie źródłowym są ignorowane. Chcąc
otrzymać widoczne odstępy należy użyć deklaracje podane w tabeli 4.5.
Tablica 4.5: Różne odstępy, stosowane we wzorach
deklaracja
ilustracja
wielkość odstępu
\!
|
|
−(3/18)em
\,
|
|
(3/18)em
\:
|
|
(4/18)em
\;
|
|
(5/18)em
\
|
|
(6/18)em
\quad
|
|
1em
\qquad
|
|
2em
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.2 Wzory matematyczne
42
W tym miejscu należy zaznaczyć, że niektóre deklaracje, takie jak na przykład deklaracje ge-
nerujące nazwy funkcji, same tworzą odstępy. Dla przykładu kod $\sin\alpha$ daje napis sin α
zawierający niewielki odstęp między sin i α.
W tabeli 4.6 zamieszczono najważniejsze instrukcje wprowadzające tryb matematyczny. Otoczenia
align i multline wymagają zastosowania pakietu amsmath.
Tablica 4.6: Najważniejsze instrukcje wprowadzające tryb matematyczny
instrukcja
działanie
zastosowanie
$a^2=b^2+c^2$
Wzór a
2
= b
2
+ c
2
wyraża
twierdzenie Pitagorasa
nienumerowany, jednowierszowy
wzór nieeksponowany
\[a^2=b^2+c^2\]
Wzór
a
2
= b
2
+ c
2
wyraża
twierdzenie
Pitagorasa
nienumerowany, jednowierszowy
wzór eksponowany
\begin{align}
a^2&=b^2+c^2
\quad \textrm{lub}\\
a&=\sqrt{b^2+c^2}
\end{align}
Wzory
a
2
= b
2
+ c
2
oraz
(4.1)
a =
p
b
2
+ c
2
(4.2)
wyrażają
twierdzenie
Pitagorasa
zespół
numerowanych,
jedno-
wierszowych
wzorów
ekspo-
nowanych,
wszystkie
osobno
numerowane
\begin{multline}
a^2=b^2+c^2=\\=
\left(\sqrt{b^2+c^2}
\;\right)^2
\end{multline}
Wzór
a
2
= b
2
+ c
2
=
=
p
b
2
+ c
2
2
(4.3)
wyraża
twierdzenie
Pitagorasa
numerowany,
wielowierszowy
wzór eksponowany
Czasami trzeba oznaczyć zespół wzorów tak, by miały ten sam numer z dodaną literą. Pomaga w
tym otoczenie subequations, zawarte w pakiecie amsmath. Przykład zamieszczono poniżej:
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.2 Wzory matematyczne
43
\begin{subequations}
\begin{align}\label{a}
\div\mathbf{D}&=\varrho\\ \label{b}
\rot\mathbf{E}&=-%
\frac{\partial\mathbf{B}}{\partial t}\\
\label{c}\diw\mathbf{B}&=0\\ \label{d}
\rot\mathbf{H}&=\mathbf{J}_s+%
\frac{\partial\mathbf{D}}{\partial t}
\end{align}
\end{subequations}
div
D = ρ
(4.4a)
rot
E = −
∂
B
∂t
(4.4b)
div
B = 0
(4.4c)
rot
H = J
s
+
∂
D
∂t
(4.4d)
Do ujęcia wzoru w ramkę najlepiej wykorzystać polecenie \boxed{} i utworzyć nowe polecenie
\ramka{}{}{}, posiadające trzy argumenty i wyrażone kodem:
\newcommand{\ramka}[3]{
\boxed{\raisebox{#1}{}\hspace{1em}
#3
\hspace{0.8em}\raisebox{-#2}{}}
}
Argumenty pierwszy i drugi ustalają o ile rozszerzyć ramkę w górę i w dół. Trzeci argument zawiera
wzór, który chcemy otoczyć ramką.
Oto przykład zastosowania nowej instrukcji.
\begin{align}\label{r1}
\ramka{1.5em}{1em}%
{a^2=b^2+c^2}
\end{align}
a
2
= b
2
+ c
2
(4.5)
Do tworzenia ustawionych w kolumny struktur, można stosować otoczenie array. Poniżej przesta-
wiono jak wykorzystać wymienione otoczenie do zapisu macierzy.
\[\left[\begin{array}{cc}
a&b\\
c&d\\
\end{array}\right]
\cdot
\left[\begin{array}{c}
x_1\\
x_2\\
\end{array}\right]
=
\left[\begin{array}{c}
b_1\\
b_2\\
\end{array}\right]\]
"
a
b
c
d
#
·
"
x
1
x
2
#
=
"
b
1
b
2
#
Amerykańskie Towarzystwo Matematyczne (AMS) zaproponowało własne otoczenie bmatrix do
zapisu macierzy.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.2 Wzory matematyczne
44
\[\begin{bmatrix}
a&b\\
c&d\\
\end{bmatrix}
\cdot
\begin{bmatrix}{c}
x_1\\
x_2\\
\end{bmatrix}
=
\begin{bmatrix}{c}
b_1\\
b_2\\
\end{bmatrix}\]
"
a
b
c
d
#
·
"
x
1
x
2
#
=
"
b
1
b
2
#
Przykład grupowania równań.
\[\left.\begin{array}{c}
y_1=x^2+2
\\
y_2=2x+1
\\
\end{array}\right\}\quad
\textrm{badane funkcje}\]
y
1
= x
2
+ 2
y
2
= 2x + 1
badane funkcje
Makrodefinicja generująca macierze z numeracją kolumn i wierszy:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
makro generujące macierz z numeracją kolumn i wierszy
%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\newif\if@borderstar
\def\bordermatrix{\@ifnextchar*{%
\@borderstartrue\@bordermatrix@i }{\@borderstarfalse \@bordermatrix@i
*}%
}
\def\@bordermatrix@i*{\@ifnextchar[{\@bordermatrix@ii }{\
@bordermatrix@ii[()]}}
\def \@bordermatrix@ii[#1]#2{ %
\begingroup
\m@th\@tempdima8.75\p@\setbox\z@\vbox{%
\def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}%
\ialign{ $##$ \hfil\kern2\p@\kern \@tempdima & \thinspace%
\hfil $##$ \hfil && \quad \hfil $##$ \hfil\crcr\omit\strut%
\hfil\crcr\noalign{\kern-\baselineskip} #2 \crcr\omit%
\strut\cr}}%
\setbox\tw@\vbox{\unvcopy \z@\global \setbox \@ne \lastbox}%
\setbox\tw@\hbox{\unhbox \@ne\unskip \global \setbox \@ne \lastbox}%
\setbox\tw@\hbox{%
$\kern \wd\@ne \kern-\@tempdima\left\@firstoftwo#1%
\if@borderstar\kern2pt\else\kern-\wd\@ne\fi%
\global\setbox\@ne\vbox{\box\@ne\if@borderstar\else\kern2\p@\fi}%
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.2 Wzory matematyczne
45
\vcenter{\if@borderstar\else\kern-\ht\@ne\fi%
\unvbox\z@\kern-\if@borderstar2\fi\baselineskip}%
\if@borderstar\kern-2\@tempdima\kern2\p@\else\,\fi\right\@secondoftwo #1 $%
}\null\;\vbox{\kern\ht\@ne\box\tw@}%
\endgroup
}
\makeatother
\[
\bordermatrix[\{\}]{%
& 1 & 2 \cr
1 & x_{11} & x_{12} \cr
2 & x_{21} & x_{22} \cr
3 & x_{31} & x_{32}
}
\]
1
2
1
x
11
x
12
2
x
21
x
22
3
x
31
x
32
\[
\bordermatrix*[{[]}]{%
x1 & x2 & 1 \cr
x3 & x4 & 2 \cr
x5 & x6 & 3 \cr
1 & 2
}
\]
x1
x2
1
x3
x4
2
x5
x6
3
1
2
\[
\bordermatrix[{[]}]{%
& 1
& 2 \cr
1
& x4 & x2 \cr
2
& x6 & x3 \cr
3
& x2 & x4
}
\]
1
2
1
x4
x2
2
x6
x3
3
x2
x4
Tablice 4.7 i 4.8 zwiera przykłady kodu źródłowego, który ilustruje sposób zapisy często stosowa-
nych wzorów.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.2 Wzory matematyczne
46
Tablica 4.7: Często stosowane wzory
\[\frac{a}{b-\frac{c}{d}}\]
a
b −
c
d
\frac{\[\partial^2 f(x,y)}{\partial x\;\partial y}\]
∂
2
f(x, y)
∂x ∂y
\sum\limits_{k=1}^{10}a_k
10
X
k=1
a
k
\[\int\limits_{-\infty}^{\infty} f(t)\;dt \]
∞
Z
−
∞
f(t) dt
\[\iiint\limits_{\Omega} f(\mathbf{r})\;dv\]
y
Ω
f(
r) dv
\[\oiint_{S} \mathbf{D}\cdot d\mathbf{s}\]
{
S
D · ds
\[\left\{x\left(\frac{a}{b}+a\right)\right\}\]
x
a
b
+ a
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.2 Wzory matematyczne
47
Tablica 4.8: Często stosowane wzory
\[\lim\limits_{x\rightarrow 2}(x^2-1)\]
lim
x
→2
(x
2
− 1)
\[\sqrt[3]{a+\sqrt{b}}\]
3
q
a +
√
b
\[\underbrace{a+b}_{\mbox{suma}}\]
a + b
| {z }
suma
\[\sin\left(\omega t +\varphi\right)\]
sin (ωt + ϕ)
\mathbf{A}\stackrel{!}{=}\mathbf{B}\]
A
!
=
B
\prod_\varepsilon
Y
ε
\[\idotsint\]
Z
· · ·
Z
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.3 Rysunki
48
4.3
Rysunki
4.3.1
Instrukcja \includegraphics{}
Do umieszczenia rysunku najwygodniej jest zastosować instrukcję
\includegraphics[opcja1=wart1,opcja2=wart2,. . . ]{plik}.
Listę dostępnych opcji i ich wartości zamieszczono tabeli 4.9. Zastosowanie podanej instrukcji wymaga
umieszczenia w preambule dokumentu polecenia \usepackage{graphicx}.
Tablica 4.9: Skalowanie i obrót rysunku
opcja
wartość
działanie
width
w – długość w dowolnych jednostkach TEX-a
skalowanie rysunku na szerokość w
height
h – długość w dowolnych jednostkach TEX-a
skalowanie rysunku na wysokość h
angle
a – kąt w stopniach
obrót
o
kąt
a
(w
stopniach,
przeciwnie do ruchu wskazówek
zegara)
scale
s – mnożnik niemianowany
równomierne w pionie i poziomie
przeskalowanie w skali s
totalhigh
th – długość w dowolnych jednostkach TEX-a
skalowanie rysunku obracanego na
wysokość th
Zaznaczyć należy, że rysunek umieszczany w tekście musi mieć format *.eps, jeżeli do kompilacji
używamy L
A
TEX-a. W przypadku zastosowania pdfL
A
TEX-a grafika może mieć format *.jpg, *.png,
*.pdf, lub *.tiff.
Poniżej zamieszczony jest przykład instrukcji, umieszczających w tekście rysunek, zawarty w pliku
transistor.eps, który znajduje się w tym samym katalogu co plik źródłowy.
\begin{figure}[!htb]
\centering
\includegraphics[scale=0.7]%
{transistor}
\caption{Układ tranzystorowy}
\label{f_sn2}
\end{figure}
v
R
R
a
i
12 V
-12 V
v
R
R
R
b
x
o
c
e
Rysunek 4.2: Układ tranzystorowy
Drugi przykład przedstawia rysunek obrócony o 90
◦
.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.3 Rysunki
49
\begin{center}
\begin{figurehere}
\centering
\includegraphics[%
scale=0.5,angle=90]{pic}
\caption{Ładny widoczek}
\label{f_sn2}
\end{figurehere}
\end{center}
Rysunek 4.3: Ładny widoczek
Kolejność opcji zapisywanych w instrukcji \includegraphics ma znaczenie, co zilustrowano na
przykładzie zamieszczonym poniżej.
\includegraphics[totalheight=3em]%
{grafika}
\includegraphics[angle=90,%
totalheight=3em]{grafika}
\includegraphics[totalheight=3em,%
angle=90]{grafika}
Grafika
Gr
afi
ka
Gr
afi
ka
4.3.2
Otoczenie figure
Aby zapewnić automatyczną numerację i podpisy pod rysunkami niezbędne jest użycie otoczenia
figure.
\begin{figure}[położenie]
\includegraphics[opcje]{nazwapliku}
\caption{Podpis do rysunku}
\label{etykieta}
\end{figure}
Parametr opcjonalny położenie zawiera wskazówki, w którym miejscu powinna zostać umieszczona
ilustracja. Może on przyjmować następujące wartości:
t – na górze strony (top),
b – na dole strony (bottom),
h – jak najbliżej tego miejsca (here),
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.3 Rysunki
50
p – na osobnej stronie (page).
Przy wyborze miejsca w którym ma być umieszczona ilustracja L
A
TEXbierze pod uwagę wiele czynni-
ków, z których najważniejszymi są:
* specyfikacja użytkownika – parametr,
* umieszczenie ilustracji nie może spowodować przepełnienia strony,
* ilustracja zostaje umieszczona na stronie, w której występuje, lub dalszej,
* ilustracje będą umieszczone w takim porządku, w jakim występują w pliku *.tex,
* maksymalna liczba ilustracji na górze strony – licznik \topnumber (standardowo 2),
* maksymalna liczba ilustracji na dole strony – licznik \bottomnumber (standardowo 1),
* maksymalna liczba ilustracji na stronie – licznik \totalnumber (standardowo 3).
Jeżeli system nie może poradzić sobie z rozmieszczeniem rysunków, generowany jest błąd "Too
Many Unprocessed Floats". Błąd ten eliminujemy poprzez wstawienie instrukcji \clearpage, powodu-
jącej rozpoczęcie nowej strony, w miejscu, w którym występuje duża liczba ilustracji.
Polecenie \caption{Podpis do rysunku} umożliwia umieszczenie podpisu rysunku wraz z jego
automatyczną numeracją. Polecenie \label{etykieta} umożliwia przypisanie ilustracji unikatowej na-
zwy, do której można się później odwołać. Użycie polecenia \ref{etykieta} spowoduje automatyczne
wstawienie numeru rysunku.
Podobnie jak w przypadku otoczenia tabular, instrukcji figure nie można stosować wewnątrz
niektórych otoczeń, na przykład minipage, itemize, multicolumn, tabular. Aby temu zaradzić, de-
finiujemy pomocnicze otoczenie figurehere za pomocą instrukcji, omówionych na stronie 37, przed-
stawionych przy okazji omawiania umieszczania tabel w strukturach wyżej wymienionego typu.
4.3.3
Rysunek zło˙zony z wielu cz ˛
e´sci
Za pomocą kodu:
\begin{figure}[h]
\begin{center}
\subfigure[Grafika pierwsza]{\includegraphics[totalheight=3em]{grafika}}
\subfigure[Grafika druga]{\includegraphics[height=3em, width=14em]{grafika}}
\subfigure[Grafika trzecia]{\includegraphics[totalheight=12em,angle=90]{globe}}
\end{center}
\caption{Trzy grafiki}
\end{figure}
otrzymujemy efekt przedstawiony na rysunku 4.4.
4.3.4
Rysunki „oblane” tekstem
Czasami zachodzi potrzeba „oblania” rysunku tekstem, np. gdy rysunek ma małe wymiary. Najlepszy
rezultat uzyskuje się gdy występuje dużo tekstu i gdy jest on pozbawiony wzorów.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.3 Rysunki
51
Grafika
(a) Grafika pierwsza
Grafika
(b) Grafika druga
(c) Grafika trzecia
Rysunek 4.4: Trzy grafiki
Rysunek 4.5: Rysu-
nek oblany tekstem
W
celu
otrzymania
opisanego
efektu
możemy
zastosować
środo-
wisko
wrapfigure,
które
oferuje
szereg
opcji
umożliwiających
do-
pasowanie
sposobu
„oblewania”
do
naszych
oczekiwań.
Aby
zasto-
sowanie
wymienionej
instrukcji
było
możliwe,
w
preambule
doku-
mentu
należy
umieścić
wywołanie
\usepackage{wrapfig}.
Otoczenie
wrapfigure, podobnie jak otoczenie figure, umożliwia numerowanie i
podpisywanie rysunków. Składnia środowiska wrapfigure jest następu-
jąca:
\begin{wrapfigure}[lw]{ułożenie}[margines]{szerokość }
\includegraphics[width =
szerokość ]{nazwapliku}
\end{wrapfigure}
Znaczenie argumentów omawianej instrukcji zostało objaśnione w tabeli
4.10. Warto wspomnieć, że istnieje również otoczenie wraptable, które umoż-
liwia „oblewanie” tekstem tabel.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
4.3 Rysunki
52
Tablica 4.10: Parametry otoczenia wrapfigure
parametr
opis
lw
liczba wierszy która ma być krótsza, tak aby zrobić miejsce dla rysunku. Pa-
rametr jest nieobowiązkowy i jest obliczany automatycznie. Czasami zachodzi
jednak konieczność ręcznej korekty.
ułożenie
r – rysunek ma być umieszczony po prawej
l – rysunek ma być umieszczony po lewej
i – rysunek ma być umieszczony po wewnętrznej stronie (przy druku dwu-
stronnym – inaczej dla stron parzystych i nieparzystych)
o – rysunek ma być umieszczony po zewnętrznej stronie (przy druku dwu-
stronnym – inaczej dla stron parzystych i nieparzystych)
margines
parametr określony w jednostkach długości, mówiący jak daleko rysunek ma
wchodzić na margines. Normalnie rysunek nie będzie wystawał poza margines
szerokość
określa jaką szerokość ma zawierać otoczenie z rysunkiem
Przykład z rysunku 4.5 jest opisany poniższym kodem:
\begin{wrapfigure}{r}{0.25\textwidth}
\includegraphics[width = 0.25\textwidth]{globe}
\caption{Środowisko wrapfigure}
\end{wrapfigure}
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
ROZDZIAŁ
5
Kolory
Aby móc korzystać z kolorowych czcionek potrzebna jest na początku pliku komenda:
\usepackage{color}
5.1
Korzystanie ze zdefiniowanych kolorów
Standardowo zdefiniowane są następujące kolory:
Polecenie
Efekt
\texcolor{white}{biały}
biały
\texcolor{red}{czerwony}
czerwony
\texcolor{green}{zielony}
zielony
\texcolor{blue}{niebieski}
niebieski
\texcolor{yellow}{żółty}
żółty
\texcolor{cyan}{cyjan (turkusowy)}
cyjan (turkusowy)
\texcolor{magenta}{magenta (karminowy)}
magenta (karminowy)
5.2
Korzystanie z modeli odniesienia
Do zmiany koloru czcionki wykorzystując model odniesienia służy następująca komenda:
\textcolor[model]{kolor }{tekst}
Parametr model może mieć następujące wartości:
• rgb i wtedy kolor określany jest za pomocą 3 składowych R (red), G (green), B (blue)
• cmyk – kolor określany jest za pomocą składowych C (cyan), M (magenta), Y (yellow) oraz K
(black).
• gray – poziom szarości określany jest za pomocą jednego parametru
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
5.3 Definicja własnych kolorów
54
Polecenie
Efekt
\textcolor[rgb]{1.00, 0.00, 0.00}{kolor czerwony}
kolor czerwony
\textcolor[rgb]{1.00, 1.00, 0.00}{kolor żółty}
kolor zółty
\textcolor[cmyk]{1.00, 0.00, 0.00, 0.00}{kolor cyjan}
kolor cyjan
\textcolor[cmyk]{1.00, 1.00, 0.00, 0.00}{kolor cyjan + magenta}
kolor cyjan + magenta
\textcolor[gray]{0.8}{szary 0.8}
szary 0.8
\textcolor[gray]{0.3}{szary 0.3}
szary 0.3
5.3
Definicja własnych kolorów
Użytkownik może zdefiniować kolory za pomocą nazwy, którą później może używać jako kolor:
\definecolor{nazwa}{model}{definicja}
jako model może być użyty parametr: rgb, cmyk, gray.
Polecenie
Efekt
\definecolor{rgb}{mojczerwony}{0.80, 0.00, 0.00}
\textcolor{mojczerwony}{moj kolor czerwony}
moj kolor czerwony
\definecolor{cmyk}{mojzielony}{0.90, 0.00, 0.90,0.00}
\textcolor{mojzielony}{moj kolor zielony}
moj kolor zielony
5.4
Otoczenie koloruj ˛
ace tło
Stosując definicje koloru MyGray i otoczenia graybox postaci:
\begin{center}
\definecolor{MyGray}{rgb}{0.94,0.95,0.96}
\makeatletter
\newenvironment{graybox}{%
\begin{lrbox}{\@tempboxa}\begin{minipage}{\columnwidth}}{\end{minipage}\end{lrbox}
\colorbox{MyGray}{\usebox{\@tempboxa}}
}\makeatother
\end{center}
mamy możliwość pisania na kolorowym tle.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
5.5 Przykładowe zastosowania
55
\begin{graybox}
W ogrodzie, i mama powiedziała, że ...
\end{graybox}
Mama powiedziała, że jest za chłodno, ale Lu-
deczka zrobiła znów tę sztukę z rzęsami i po-
wiedziała, że chce popatrzeć na nasze śliczne
kwiaty. Wtedy moja mama powiedziała, że ona
jest urocze małe kurczątko i żebyśmy się tylko
ciepło ubrali. Muszę się nauczyć tej sztuki z rzę-
sami, to świetnie pomaga! W ogrodzie podnio-
słem samolot, nic mu się, na szczęście, nie stało.
Ludeczka zapytała: — No i co będziemy robić?
— Albo ja wiem? — odpowiedziałem. — Chcia-
łaś patrzeć na kwiaty, to patrz, jest ich cała
masa. Ale Ludeczka powiedziała, że gwiżdże na
kwiaty i że są do luftu. Miałem ochotę dać jej
po nosie, ale nie odważyłem się, bo okno salonu
wychodzi na ogród, a w salonie siedziały mamy.
5.5
Przykładowe zastosowania
Kolorowe obramowanie tekstu. \fboxsep ustala odległość tekstu od ramki, natomiast \fboxrule
ustawia grubość ramki.
\setlength{\fboxsep}{4mm}
\setlength{\fboxrule}{6pt}
\fcolorbox{red}{gray}{\textcolor{blue}{Niebieski tekst}}
Niebieski tekst
Tabela z kolorowymi komórkami. Poniższy przykład wymaga zastosowania w preambule instrukcji:
\usepackage{colortbl}
Instrukcja >{\columncolor[model]{kolor }} przy definicji wyglądu tabeli \begin{tabular}{...}
ustala domyśny kolor kolumny dla wszystkich wierszy. Aby nadpisać kolor danej kolumny należy użyć
następujących instrukcji:
\multicolumn{1}{
>{\columncolor[model]{kolor }}ułożenie}}
{zawartość kolumny}
Parametr ułożenie decyduje o sposobie wyrównania zawartości kolumny i może przyjmować nastę-
pujące wartości: c, r i l. Aby narysować znaki oddzielające kolumny należy użyć znaków |...|.
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka
5.5 Przykładowe zastosowania
56
\setlength{\arrayrulewidth}{3pt}
\begin{tabular}{l|
>{\columncolor{yellow}}c|
l
>{\columncolor{red}}r|}\hline
k11 & k12 & k13 & k14 \\[0.5cm]\hline
\multicolumn{2}{>{\columncolor{red}}c|}{k21+k22} &
\multicolumn{1}{|>{\columncolor{blue}}r|}{k23} &
k24 \\\hline
k31 & k32 & k33 & k34 \\
\arrayrulecolor{green}\hline
\rowcolor[rgb]{0.5,0.7,0.2}
k41 & k42 & k43 & k44 \\
\arrayrulecolor[rgb]{1,0,0}\hline
\end{tabular}
k11
k12
k13
k14
k21+k22
k23
k24
k31
k32
k33
k34
k41
k42
k43
k44
\setlength{\arrayrulewidth}{3pt} ustala szerokość linii, a \arrayrulecolor{green} ustala
kolor linii między komórkami. Ogólna składnia komendy do zmiany koloru kolumny jest następująca:
\columncolor[model]{kolor }[lewy margines][prawy margines]
Parametry model i kolor ustalają kolor, a lewy margines i prawy margines ustalają jak daleko
(jednostki długości) kolor ma wychodzić poza granice komórki. Komenda:
\rowcolor[model]{kolor }[lewy margines][prawy margines]
może być użyta tylko na początku bieżącego wiersza i nadpisuje kolor całego wiersza. Dodatkowo
może być kolorowana przestrzeń między wierszami lub kolumnami powstała po użyciu \hline\hline
lub | |:
\doublerulesepcolor[model]{kolor }
Polecenia zmiany kolorów można użyć do różnych obiektów, np.
\begin{picture}(50,50)
\thicklines
\put(25,25){\textcolor{blue}{\circle{30}}}
\put(25,25){\textcolor{violet}{\circle{40}}}
\thinlines
\put(25,25){\textcolor{red}{\line(1,1){20}}}
\end{picture}
&%
'$
Andrzej Kuczyński, Przemysław Barański
Wydział EEAiI, Politechnika Łódzka