%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Typesetting Part (LShort2e Introduction)
% File: typeset.tex (Polish translation)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{Składanie tekstu}

\begin{intro}  
  Po lekturze poprzedniego rozdziału znamy już podstawowe pojęcia
  związane z~systemem \LaTeXe. W~tym rozdziale poznamy
  polecenia niezbędne do tworzenia prawdziwych dokumentów.
\end{intro}

\section{Struktura tekstu i~języka}

Głównym zadaniem słowa pisanego jest przekaz myśli,
informacji lub wiedzy. Nadanie zapisowi odpowiedniej struktury
pomaga czytelnikowi lepiej rozumieć przekazywane treści. Skład
typograficzny może tę strukturę logiczną i~semantyczną tekstu
przybliżyć czytelnikowi.

{\LaTeX} tym się różni od innych systemów składu, że do złożenia
tekstu wystarczają mu informacje dotyczące logicznej i~semantycznej
struktury tekstu. Informacje te określone są przez ,,reguły''
zawarte w~plikach definiujących klasy dokumentów 
i~innych plikach zawierających instrukcje.

Najważniejszą jednostką podziału tekstu w~systemie {\LaTeX} 
(a~także w~typografii) jest akapit. 
Jest to ,,jednostka podziału'' głównie
dlatego, że treść akapitu powinna być poświęcona 
jednej spójnej myśli lub pojęciu. 
W~następnym podrozdziale omówimy instrukcje nakazujące
złamanie linii na przykład przy użyciu polecenia \verb|\\|, a~także
sposób rozpoczęcia nowego akapitu poprzez pozostawienie pustej linii
w~kodzie źródłowym. 
Tak więc, rozpoczęcie nowej myśli jest
równoznaczne z~rozpoczęciem nowego akapitu. W~pozostałych przypadkach
powinno się jedynie przechodzić do nowej linii. 
W~razie wątpliwości należy
pamiętać, że tekst jest zawsze nośnikiem pewnych myśli oraz idei.
Kontynuacja dotychczasowej myśli w~nowym akapicie jest błędem.
Niezgodna z~regułami sztuki jest także sytuacja, gdy w~tym samym
akapicie pojawia się nowa myśl.

Większość ludzi całkowicie lekceważy znaczenie właściwej organizacji
akapitów. Co więcej, wiele osób nawet nie zdaje sobie sprawy, czym
akapit naprawdę jest i~przechodzi do nowego akapitu nawet o~tym nie
wiedząc (dotyczy to zwłaszcza \LaTeX-a). Ten błąd łatwiej popełnić
zwłaszcza, gdy w~tekście pojawiają się równania. 
Zobaczmy dlaczego w~poniższych przykładach 
w~jednej z~takich sytuacji należy przejść do nowego akapitu, 
a~w~innej -- nie. 
(Czytelnik, który nie zna jeszcze
wszystkich poleceń użytych w~tych przykładach, powinien
dokładnie przeczytać ten i~następny rozdział, 
a~następnie wrócić do tego
podrozdziału i~przeczytać go~jeszcze raz).

\begin{code}
\begin{verbatim}
% Przykład 1
\ldots Słynne równanie Einsteina
\begin{equation}
e = m \cdot c^2 \; ,
\end{equation}
jest zarówno najbardziej znanym, ale także
najmniej rozumianym równaniem w~fizyce.

% Przykład 2
\ldots którego wynikiem jest prądowe prawo Kirchhoffa:
\begin{equation}
\sum_{k=1}{n} I_k = 0 \; .
\end{equation}

Natomiast, napięciowe prawo Kirchhoffa ma 
swój początek w~\ldots

% Przykład 3
\ldots co ma określone zalety.

\begin{equation}
I_D = I_F - I_R
\end{equation}
jest rdzeniem innego modelu tranzystora. \ldots
\end{verbatim}
\end{code}

\noindent
Mniejszą od akapitu jednostką podziału tekstu jest zdanie. 
W~tekstach angielskojęzycznych odstęp, który pojawia się 
po kropce kończącej zdanie,
jest większy niż ten, który pojawia się po kropce oznaczającej skrót.
Zależnie od kontekstu {\LaTeX} stara się użyć krótszego lub
dłuższego odstępu. W~razie pomyłek z~jego strony, powinniśmy mu
wskazać nasze intencje -- jak to zrobić, wyjaśniamy w~dalszej części
tego rozdziału.

Właściwa organizacja tekstu dotyczy także części zdań. Wiele języków
ma bardzo skomplikowaną interpunkcję, ale w~większości przypadków
(wliczając angielski i~niemiecki), stawiając przecinek w~określonym
miejscu w~zdaniu, na ogół nie popełnimy błędu, jeśli będziemy pamiętać
o~zasadzie, że przecinek oznacza przerwę/przystanek w~zdaniu. 
Dlatego -- jeśli nie jesteśmy pewni, gdzie w~zdaniu należy go postawić --
przeczytajmy zdanie na głos i~postawmy przecinki 
wszędzie tam, gdzie zrobiliśmy krótką przerwę na wdech. 
Ale nie sugerujmy się tylko tym!
Jeśli w~danym miejscu przecinek nie wygląda najlepiej, to usuńmy go;
jeśli w~innym miejscu odczuwamy potrzebę wzięcia powietrza do płuc
(lub zrobienia krótkiej przerwy), to postawmy tam przecinek.

I~na koniec: akapit nie jest największą logiczną jednostką podziału
tekstu. Można jeszcze wspomnieć o~rozdziałach, podrozdziałach,
punktach itd.
Jednakże od strony typograficznej już same nazwy poleceń w~rodzaju
\verb|\section{Struktura tekstu i~języka}| są na tyle oczywiste, że
sposób ich użycia jest samo przez się zrozumiały 
(dla znających język angielski).

\section{Składanie akapitów i~łamanie stron}
\subsection{Składanie akapitów\label{just-paragraphs} }

Książki najczęściej składa się tak, że wszystkie wiersze w~akapitach
są tej samej długości. Podczas składania akapitu, dążąc do optymalnej
prezentacji, {\LaTeX} ustala miejsca złamania linii oraz odstępy
między słowami. W~razie potrzeby {\LaTeX} przenosi wyrazy, których
nie jest w~stanie zmieścić w~wierszu. Konkretny sposób składania
akapitów zależy od użytej klasy dokumentu. Najczęściej
pierwszy wiersz akapitu jest wcięty, a~pomiędzy akapitami nie ma
dodatkowych odstępów. Więcej informacji na ten temat można znaleźć
w~punkcie~\ref{parsp}.

\begin{TPextension}
  Zgodnie z~anglo-amerykańskimi zwyczajami typograficznymi {\LaTeX}
  nie wstawia wcięcia akapitowego bezpośrednio po tytułach rozdziałów,
  podrozdziałów itd. Polskie zwyczaje nakazują
  rozpoczynanie także początkowych akapitów od wcięcia. Efekt ten można
  osiągnąć przez dołączenie w~preambule pakietu
  \verb+indentfirst+.  W~niniejszym tłumaczeniu nie stosujemy wcięć
  akapitowych, ponieważ akurat pod tym względem bardziej nam się
  podobają zwyczaje amerykańskie.
\end{TPextension}

Czasami przydaje się instrukcja nakazująca \LaTeX-owi złamanie linii.
Polecenie
 %
\begin{command}
\ci{\bs} lub \ci{newline}
\end{command}
\par
\noindent
rozpoczyna nową linię bez rozpoczynania nowego akapitu. \\
Natomiast instrukcja:
\begin{command}
\ci{\bs*}
\end{command}
%
\noindent
dodatkowo zakazuje złamania strony (w~miejscu złamania linii). \\
Instrukcja:
\begin{command}
\ci{newpage}
\end{command}
%
\noindent
rozpoczyna nową stronę.

\noindent
Instrukcje:
%
\begin{command}
\ci{linebreak}\verb|[|\emph{n}\verb|]|,
\ci{nolinebreak}\verb|[|\emph{n}\verb|]|,
\ci{pagebreak}\verb|[|\emph{n}\verb|]| oraz
\ci{nopagebreak}\verb|[|\emph{n}\verb|]|
\end{command}
%
\noindent
oznaczają -- odpowiednio -- 
zachętę do złamania wiersza, niezgodę na złamanie
wiersza, zachętę do złamania strony, niezgodę na złamanie strony,
w~miejscu ich wystąpienia w~dokumencie.
%%Ponadto
Opcjonalny argument \emph{n}, o~dopuszczalnej wartości
od $0$ do $4$, określa stopień tej zachęty (niezgody).
Domyślna wartość~$4$, to bezwarunkowy zakaz lub nakaz złamania
linii/strony. Wartości mniejsze od $4$
pozostawiają \LaTeX-owi swobodę zignorowania instrukcji, jeżeli
skład otrzymany w~rezultacie byłby niskiej jakości.

Poleceń z~grupy \verb|break| nie należy mylić z~poleceniami
z~grupy \verb|new|.
Mimo wydania polecenia typu \verb|break| {\LaTeX} stara się wypełnić
wiersz do prawego skraju czy też 
wypełnić stronę do całej jej wysokości. 
Nietrudno zgadnąć, jakiej instrukcji należy użyć, gdy naprawdę 
zależy nam na rozpoczęciu nowego wiersza (ta zagadka
jest łatwa pod warunkiem, że znamy język angielski -- jest to
polecenie \verb+\newline+).

\begin{TPextension}
Jeżeli w~wierszu zakończonym instrukcją \ci{newline} jest zbyt mało
tekstu, to {\LaTeX} nie wyrówna tego wiersza do prawego
marginesu, tylko po tekście wstawi odpowiedni odstęp. Jeżeli zamiast
\verb|\newline| użyjemy \verb|\linebreak|, to {\LaTeX} 
postara się wyrównać zawartość kończonej linijki do prawego marginesu.
Zbyt małe wypełnienie wiersza tekstem zmusi \LaTeX-a do
wstawienia zbyt dużych odstępów pomiędzy wyrazy w~wierszu,
co zostanie zasygnalizowane 
podczas przetwarzania wyświetleniem komunikatu:
%
\begin{verbatim}
Underfull \hbox (badness 10000) in paragraph at lines 4--5
\end{verbatim}
%
W~komunikacie tym liczba po słowie \verb|badness| wskazuje,
jak bardzo \LaTeX-owi ,,nie podoba'' się złożony wiersz. 
W~tym przypadku jest
to maksymalna wartość, \verb|10000|. Liczby na końcu komunikatu
to numery pierwszej i~ostatniej linii akapitu, w~którym {\LaTeX}
musiał złożyć wiersz z~nadmiernymi odstępami między wyrazami.
Chociaż wielu użytkowników \LaTeX-a nie zwraca uwagi na podobne 
ostrzeżenia, warto zdawać sobie sprawę, co one oznaczają.

Oprócz wyżej wymienionych istnieją w~\LaTeX-u 
jeszcze instrukcje:
%
\begin{command}
\ci{clearpage},
\ci{cleardoublepage}
\end{command}
%
\noindent
Obydwie rozpoczynają skład nowej strony.
Instrukcja \verb|\cleardoublepage| działa tak, jak \verb|\clearpage|,
z~tym że rozpoczynana nowa strona jest zawsze
nieparzysta. W~razie potrzeby tworzona jest strona pusta.
W~składzie dwuszpaltowym (opcja \verb+twocolumn+) instrukcja
\verb|\newpage| kończy szpaltę natomiast \ci{clearpage} 
oraz \ci{cleardoublepage} kończą stronę, w~miarę
potrzeby pozostawiając pustą prawą szpaltę.

Jeżeli na stronie zakończonej instrukcją
\ci{newline} (albo \ci{clearpage}) jest zbyt mało
tekstu, {\LaTeX} wstawia odpowiedni odstęp u~dołu strony, a~nie
pomiędzy
akapity czy też inne elementy na stronie, tak jak ma to miejsce
w~przypadku instrukcji \verb|\pagebreak|.
Jeżeli te odstępy okazują się za
duże (a~zdarza się to dość często), to sytuacja taka jest
sygnalizowana podczas przetwarzania dokumentu
odpowiednim ostrzeżeniem, np.:
%
\begin{verbatim}
Underfull \vbox (badness 10000) has occurred
while \output is active [7]
\end{verbatim}
%
W~powyższym komunikacie (przełamanym, z~uwagi na wąską szpaltę na dwie
linijki) liczba po słowie \verb|badness| wskazuje, jak bardzo
\LaTeX-owi nie podoba się złożona strona. Tutaj
jest to \verb|10000| -- maksymalna w~\TeX-u
ujemna ocena jakości składu. 
Liczba w~nawiasach prostokątnych
na końcu komunikatu oznacza numer strony, podczas składania której
wystąpił problem.

\end{TPextension}

{\LaTeX} zawsze próbuje podzielić akapit na wiersze w~sposób
optymalny. Kiedy nie potrafi znaleźć podziału, który spełnia
jego wymagania jakościowe, wtedy niektóre wyrazy
wystają na prawym marginesie, a~sytuacja taka jest 
sygnalizowana podczas przetwarzania pliku, np.:
%
\begin{verbatim}
Overfull \hbox (5.5452pt too wide) in paragraph at lines 79--83
\end{verbatim}
% *** przypis JG ***
W~powyższym komunikacie\index{overfull hbox@\verb+overfull hbox+} liczba
w~nawiasie okrągłym oznacza, że pewien fragment tekstu wystaje 
o~5,5452 punktów drukarskich na prawy margines. Problem wystąpił
w~akapicie, który w~pliku źródłowym jest w~wierszach od~79 do~83.
Podobne ostrzeżenia pojawiają się najczęściej wówczas, gdy {\LaTeX}
nie potrafi przenieść wyrazu zgodnie z~zadanymi wzorcami tak, aby nie
popsuć jakości składu. Ostrzeżenie powyższej postaci na ogół nie wystarcza do 
dokładnego ustalenia przyczyny jego wystąpienia. Można wtedy użyć
opcji \texttt{draft} jako argumentu polecenia \ci{documentclass}, 
na skutek czego {\LaTeX}
oznaczy wystające wiersze małą czarną sztabką umieszczoną na prawym
marginesie szpalty.

Deklaracja \ci{sloppy} nakazuje \LaTeX-owi obniżyć nieco jego
domyślnie wysokie standardy.
Zapobiega to --~w~większości wypadków --~występowaniu zbyt
długich linijek, ale kosztem
zwiększenia odstępów międzywyrazowych, nawet wtedy, gdy
otrzymany skład nie jest optymalny.
Takie linijki {\LaTeX} sygnalizuje ostrzeżeniem
(\verb+underfull hbox+\index{underfull hbox@\verb+underfull hbox+}).
W~większości przypadków otrzymany wynik jest
zupełnie niezły. Instrukcja \ci{fussy} działa w~odwrotnym kierunku,
to znaczy przywraca domyślne, wysokie standardy \LaTeX-a.

\subsection{Przenoszenie wyrazów\label{hyph}}

W~razie potrzeby {\LaTeX} przenosi (dzieli) wyrazy. Jeżeli
algorytm podziału wyrazów przenosi jakiś wyraz nieprawidłowo, to
prawidłowe miejsca przenoszenia można zadać instrukcją:
%
\begin{command}
\ci{hyphenation}\verb|{|\emph{lista słów}\verb|}|
\end{command}
%
\noindent
Słowa z~listy argumentów można dzielić
tylko w~miejscach oznaczonych znakiem \verb|-|.
Instrukcji tej powinno się używać wyłącznie w~preambule
dokumentu, a~wyrazy-argumenty mogą zawierać (oprócz znaku \verb|-|)
wyłącznie litery.
Nie ma natomiast znaczenia, czy w~tych wyrazach używa się liter wielkich, czy 
małych. Wykonanie instrukcji 
\ci{hyphenation} z~przykładu poniżej spowoduje,
że słowo ,,ćwierć-li-trówka'' można podzielić tylko w~dwóch zaznaczonych
miejscach, podczas gdy słowa ,,szczypce'' nie można przenieść w~ogóle.
Wyrazy z~listy nie mogą zawierać żadnych
znaków specjalnych ani symboli.

Przykład:
%
\begin{code}
\verb|\hyphenation{ćwierć-li-trówka szczypce}|
\end{code}
%

\begin{TPextension}
W~językach fleksyjnych, do jakich należy polski, instrukcja
\ci{hyphenation} jest dużo mniej przydatna niż w~angielskim.
Aby dany wyraz zawsze był dobrze przenoszony, należałoby
wypisać wszystkie jego formy. Co więcej, próba wykorzystania
polecenia \ci{hyphenation} w~przypadku 
plików źródłowych zapisanych w~notacji prefixowej 
albo też plików w~notacji naturalnej i~korzystania z~pakietu 
\pai{inputenc} zakończy się błędem w~czasie przetwarzania
dokumentu.
Ten fenomen jest spowodowany sposobem w~jakim działa {\TeX},
a~jego wyjaśnienie daleko wykracza poza 
ramy niniejszego wprowadzenia.
\end{TPextension}

Instrukcja ,,\ci{-}'' wskazuje, w~których miejscach \LaTeX-owi
\emph{wolno} przenieść wyraz w~danym miejscu w~dokumencie. 
{\LaTeX} nie podzieli słowa w~innym
miejscu. Instrukcja ta przydaje się szczególnie w~przypadku wyrazów
zawierających znaki specjalne (np.~znaki akcentowane), ponieważ
{\LaTeX} dzieli automatycznie tylko wyrazy złożone z~samych liter.
%
\begin{example}
Nie\-bie\-sko\-bia\-ło\-zie\-lo\-%
no\-nie\-bie\-ski
\end{example}

Tekst będący argumentem polecenia:
%
\begin{command}
\ci{mbox}\verb|{|\emph{tekst}\verb|}|
\end{command}
%
\noindent
nigdy nie zostanie przeniesiony.
%
\begin{example}
Numer mojego telefonu wkrótce
się zmieni na \mbox{0116 291 2319}.

Parametr \mbox{\emph{nazwa}} to
nazwa pliku.
\end{example}


%%
\section{Znaki specjalne i~symbole }
\subsection{Cudzysłowy\label{subsec:quotation}}

Znaku cudzysłowu \verb|"| używa się inaczej niż na maszynie do pisania, 
bo w~publikacjach drukowanych inaczej oznacza się początek i~inaczej
koniec cudzysłowu. Występują także różnice w~sposobach oznaczania
cudzysłowów w~różnych językach. Dwa apostrofy \verb|`|
otwierają, a~dwa apostrofy \verb|'| zamykają \LaTeX-owy 
cudzysłów według reguł języka angielskiego:
\begin{example}
``Please press the `x' key.''
\end{example}

\begin{TPextension}
W języku polskim cudzysłów otwierający oznacza się
za pomocą dwóch przecinków ,,\verb+,,+'', 
a~zamykający za pomocą dwóch 
apostrofów ,,\verb+''+''\footnote{Porównaj uwagi
dotyczące tego sposobu oznaczania cudzysłowów
z~punktu~\ref{int-support} w~części dotyczącej fontów
i~ich kodowania (s.~\pageref{fonty-kodowanie}).
Uwaga ta dotyczy również  cudzysłowów francuskich.}.

Gdy zachodzi konieczność użycia cudzysłowu w~tekście już
objętym cudzysłowem, to
stosuje się ,,cudzysłowy <<francuskie>>'', oznaczane 
w~pliku źródłowym znakami mniejszości ,,\texttt{<<}'' 
i -- odpowiednio -- większości ,,\texttt{>>}''.
%
\begin{example}
,,Przechodź tylko po <<zebrach>>''.
\end{example}
\end{TPextension}

\subsection{Pauzy i~myślniki\label{subsec:pauzy} }

Proste maszyny do pisania posiadają tylko jeden znak w~kształcie
poziomej kreski ,,-''. W~składzie drukarskim występują
aż cztery rodzaje kresek poziomych. Są to: łącznik,
myślnik, półpauza i~minus używany we wzorach matematycznych.

\begin{TPextension}
Łącznik (dywiz) jest najkrótszą z~kresek; stosuje się go
przy dzieleniu i~przenoszeniu wyrazów oraz przy łączeniu wyrazów
wieloczłonowych (np. ,,niebiesko-czarny'').
Zgodnie z~polskimi regułami
wyraz wieloczłonowy może zostać podzielony i~przeniesiony
albo w~obrębie wyrazów składowych,
albo na łączniku. W~tym ostatnim
przypadku łącznik powinien zostać powielony, to znaczy znaleźć się
zarówno na końcu pierwszego wiersza, jak też na początku drugiego.
Oto możliwe miejsca podziału wyrazu \mbox{niebiesko-czarny}:
%
\begin{flushleft}
\begin{tabular}{llllllll}
nie- && niebie- && niebiesko- && niebiesko-czar- \\
biesko-czarny && sko-czarny && -czarny && ny \\
\end{tabular}
\end{flushleft}
%
\noindent
Standardowy {\LaTeX} nie zna polskich norm i~dlatego dzieli
wyrazy wieloczłonowe w~miejscu połączenia, bez powielania łącznika.
Jeżeli do skła\-du w~języku polskim korzystamy z~pakietu \pai{platex}
to w~pliku źródłowym w~miejsce łącznika w~wyrazach wieloczłonowych
powinniśmy zastosować instrukcję \ci{dywiz} 
(np. \verb|niebiesko{\dywiz}czarny|).

W~pewnych sytuacjach lepiej nie dzielić wyrazów połączonych
łącznikiem. Jeżeli na przykład mówimy o~wydziale K-2, kodzie pocztowym
czy numerze telefonu, to w~takich przypadkach łącznik
zapisujemy w~pliku źródłowym jako pojedynczą kreskę ,,-''.

Znaku łącznika używa się również do przenoszenia wyrazów. Jednak
w~\LaTeX-u odbywa się to automatycznie i~nie wymaga ręcznych
ingerencji użytkownika.

Myślnik ,,---'' to dłuższa kreska używana jako znak przestankowy.
Zapisujemy go za pomocą
trzech następujących po sobie znaków ,,\texttt{-}'',
czyli ,,\texttt{---}''. Przed oraz~po myślniku w~języku polskim
dodajemy odstęp.

Półpauza to kreska o~połowę krótsza od myślnika. Stosuje się ją
przede wszystkim przy pisaniu zakresów liczbowych,
np.~,,str.~11--13'', czy ,,w~latach 1960--1963''. Przed i~po
półpauzie nie dodaje się odstępów. Odstępy takie muszą się pojawić
w~sytuacjach takich jak: ,,11 października -- 13 listopada''.
Czasami półpauzy używa się także w~roli myślnika (tak jest
w~niniejszym tłumaczeniu). Półpauzę zapisuje
się za pomocą dwóch następujących po sobie minusów ,,\texttt{--}''.

Znaku minusa używa się we wzorach matematycznych; aby go
otrzymać piszemy ,,-'' wewnątrz trybu matematycznego. Przykładowo
zapis \verb|$-2$| daje w~składzie $-2$,
podczas gdy \verb|-2| daje~-2.
\end{TPextension}

%%
\subsection {Wielokropek (\ldots)}

W~typowym piśmie maszynowym \wi{przecinek} albo \wi{kropka} zajmują
tyle samo miejsca, co każdy inny znak.
W~piśmie drukarskim szerokość tych znaków jest z~reguły bardzo
mała i~dlatego jeżeli umieścimy je obok siebie, to odstępy miedzy nimi
będą zbyt małe. Wielokropek (trzy kropki) uzyskujemy
za pomocą instrukcji \verb|\ldots|. Przykład:
%
\begin{command}
\ci{ldots}
\end{command}
\index{...@\ldots}
\begin{example}
Nie tak ..., tylko raczej tak:\\
Nowy Jork, Tokio, Budapeszt, \ldots
\end{example}


\subsection{Ligatury }

Ligatury\index{ligatura} (spójki\index{spójka}) to znaki 
graficzne, w~których połączono dwie lub trzy litery. W~niektórych
językach ligatury występują jako właściwe danej ortografii znaki
pisma, np. {\oe} w~języku francuskim. Większość ligatur tworzy się ze
względów estetycznych lub zwyczajowych.  
{\LaTeX} zna pięć następujących ligatur:
 %
\begin{code}
{\large ff fi fl ffi ffl}\quad
{\rm zamiast} 
\quad {\large f{}f f{}i f{}l f{}f{}i f{}f{}l}
\end{code}
%
{\LaTeX} automatycznie wstawia ligatury zamiast odpowiednich sekwencji
znaków. Można temu zapobiec wstawiając instrukcję
%\verb+\mbox{}+\index{mbox@\verb+\mbox+} pomiędzy znaki
\ci{mbox}\verb+{}+ pomiędzy znaki
tworzące ligaturę.
%
\begin{example}
Jak lepiej: geografii czy
geograf\mbox{}ii?
\end{example}

\subsection{Akcenty i~znaki specjalne\label{acc:chars} }

{\LaTeX} umożliwia wstawienie znaków akcentowanych i~specjalnych
używanych w~wielu językach. W~tabeli~\ref{accents} zestawiono
wszystkie możliwe akcenty dla litery ,,o''. Instrukcje 
te można stosować również do dowolnej innej litery.

W~przypadku umieszczenia akcentu nad literami ,,i'' oraz ,,j'', należy
usunąć kropkę znad tych liter. Do tego celu służą instrukcje
\verb|\i| i~\verb|\j|, wstawiające do składu specjalne wersje liter
,,\i'' oraz ,,\j''.
\begin{example}
H\^otel, na\"\i ve, \'el\`eve,\\
sm\o rrebr\o d, !`Se\~norita!,\\
Sch\"onbrunner Schlo\ss{}
Stra\ss e
\end{example}
\begin{table}[!hbp]
\caption{Akcenty i~znaki specjalne\label{accents} }
\begin{lined}{10cm}
\begin{tabular}{*4{cl}}
\A{\`o} & \A{\'o} & \A{\^o} & \A{\~o} \\
\A{\=o} & \A{\.o} & \A{\"o} \\[6pt]
\B{\u}{o} & \B{\v}{o} & \B{\H}{o} & \B{\c}{o} \\
\B{\d}{o} & \B{\b}{o} & \B{\t}{oo} \\[6pt]
\A{\oe} & \A{\OE} & \A{\ae} & \A{\AE} \\
\A{\aa} & \A{\AA} & \k{a} & \verb+\k{a}+ \\[6pt]
\A{\o} & \A{\O} & \A{\l} & \A{\L} \\
\A{\i} & \A{\j} & !` & \verb|!`| & ?` & \verb|?`|
\end{tabular}
\index{i@\i{} (,,i'' bez kropki)}\index{j@\j{} (,,j'' bez kropki)}%
\index{ae@\ae}
\index{umlaut}%
\index{grave}
\index{acute}
\index{oe@\oe}
\bigskip
\end{lined}
\end{table}


\subsection {Niełamliwe odstępy}
\begin{TPextension}

Polskie zasady typograficzne nie pozwalają przy
łamaniu akapitu pozostawiać na końcu wierszy jednoliterowych
spójników lub przyimków. 
Przykładowo w~zdaniu ,,Jan Kochanowski urodził się
w~Czernolesie'' nieładnie wyglądałby
przyimek ,,w'' występujący na końcu wiersza.

Odstępy, na których nie wolno złamać wiersza, zaznacza się w~pliku
źródłowym przez umieszczenie znaku tyldy ,,\verb|~|''
zamiast odstępu. Na przykład, w~powyższej sytuacji powinniśmy zapisać
w~pliku źródłowym: ,,\verb|w~Czarnolesie|''.

Jest wiele sytuacji, w~których związek fragmentów zdania jest tak
silny, że nie należy wewnątrz nich łamać na wiersze.
Nie zawsze decyzja jest tak prosta, jak w~przypadku wspomnianych
spójników. Oto garść przykładów:
%
\begin{verbatim}
godz.~17.00; od~15 do 40~osób; na str.~2 napisano; rozdz.~2;
2~rozdziały; p.~Jan Nowak; p.~J.~Nowak; I~część IX~Symfonii.
\end{verbatim}
%%Ze względu na zależność od kontekstu, obowiązek decydowania
%%o~użyciu tyldy spada na użytkownika \LaTeX-a.
%%
\end{TPextension}


%%
\section{\LaTeX\ wielojęzyczny \label{int-support}}

Jeżeli {\LaTeX} ma składać tekst w~językach innych niż angielski,
to zasadniczo są dwa obszary, w~których należy go odpowiednio skonfigurować:
%
\begin{enumerate}
\item Wszystkie teksty generowane
 automatycznie przez \LaTeX-a
 trzeba przystosować do danego języka. Dotyczy to tytułów
 rozdziałów, spisu treści,
 spisu rysunków, tabel, dat itp. 
 Zmiany te umożliwia pakiet \pai{babel} Johannesa Braamsa.
\item {\LaTeX} musi poznać reguły dzielenia wyrazów dla danego
 języka. ,,Powiedzenie'' mu o~nich jest swego rodzaju sztuczką, gdyż
 jest równoznaczne ze stworzeniem nowego formatu \LaTeX-a z~nowymi,
 wbudowanymi weń regułami. 
 Więcej informacji na ten temat można znaleźć
 w~\guide{}\index{wzorce podziału}.
\end{enumerate}

Po odpowiednim skonfigurowaniu naszego systemu 
można wykorzystać pakiet \pai{babel}. Wystarczy w~tym celu 
użyć w~preambule instrukcję:
%
\begin{command}
\ci{usepackage}\verb|[|\emph{lista-języków}\verb|]{babel}|
\end{command}
%
\noindent
Argument \emph{lista{\dywiz}języków}, to oddzielone przecinkami nazwy języków,
które obsługuje lokalna wersja \LaTeX-a. Ostatni na liście
jest językiem domyślnym. Podręcznik~\guide{} zawiera informacje, 
o~tym jakie nazwy mogą się pojawić na \emph{liście{\dywiz}języków}.

Dla niektórych języków \pai{babel} udostępnia specjalne instrukcje,
ułatwiające wprowadzanie znaków diakrytycznych i~specjalnych.
Przykładowo teksty w~języku niemieckim zawierają dużo liter
z~umlautami: (\"a\"o\"u). 
Wykorzystując pakiet \pai{babel} można
wprowadzić literę \"o wpisując \verb+"o+ zamiast \verb+\"o+.

W~większości systemów komputerowych znaki akcentowane i~specjalne
(czyli znaki o~kodach ASCII większych od 127) można wprowadzać
bezpośrednio z~klawiatury. Przykładowo polskie znaki diakrytyczne
można wprowadzać naciskając klawisz prawy-Alt i~jednocześnie klawisz
z~odpowiednią literą. {\LaTeX} radzi sobie z~takimi znakami.
Począwszy od grudnia 1994~r. dystrybucja \LaTeX-a zawiera pakiet
\pai{inputenc}, umożliwiający kodowanie znaków diakrytycznych zgodnie
z~wieloma wariantami, np.~ISO-8859-2 (Linux) lub CP 1250 (MS Windows).
Więcej informacji na ten temat można znaleźć w~dokumentacji pakietu.
Wykorzystując pakiet musimy sobie zdawać sprawę, że część użytkowników
nie będzie w~stanie prawidłowo wyświetlić tak przygotowanych plików
źródłowych. Przykładowo znak \verb+ą+ ma numer 161 w~standardzie
ISO-8859-2, podczas gdy w~kodowaniu zgodnym z~CP 1250 ta sama litera
ma kod 169 (a~znak o~kodzie 161 oznacza jakiś inny ,,krzaczek'').

Drugą stroną medalu jest układ znaków (kodowanie)
fontu\label{fonty-kodowanie}. Kodowanie fontu określa, w~jakich
miejscach \emph{fontu} znajdują się poszczególne znaki. Oryginalne
fonty Computer Modern\index{fonty!CM} (CM) są 128-znakowe i~nie
zawierają na przykład kompletu polskich znaków.  
Znaki diakrytyczne  można tworzyć za pomocą 
połączenia dwóch znaków: litery
i~odpowiedniego akcentu. Taki sposób powoduje, że {\TeX} nie może
prawidłowo przenosić wyrazów zawierających znaki diakrytyczne, 
a~także, że typograficzna jakość w~ten sposób skonstruowanych
diakrytyków jest kiepska.

Na szczęście prawie wszystkie współczesne dystrybucje \TeX-a zawierają
komplet fontów European Computer Modern (EC)\index{fonty!EC}. Są to
fonty ośmiobitowe zawierające 256 znaków. 
Pierwszych 128 znaków fontu EC
są (prawie) identyczne ze znakami z~fontów CM. Pozostałe 128 znaków to znaki
diakrytyczne wykorzystywane w~wielu językach europejskich, w~tym
komplet znaków niezbędnych do składania polskich tekstów. Fonty EC
umożliwiają wykorzystanie pełnych możliwości \TeX-owego mechanizmu
przenoszenia wyrazów; znacznie lepsza jest też 
jakość typograficzna znaków diakrytycznych.

\begin{TPextension}
Ponadto istnieją jeszcze fonty PL\index{fonty!PL}
(autorzy B.~Jackowski i~M.~Ryćko). Są to fonty zgodne z~CM zawierające
dodatkowo wszystkie polskie znaki diakrytyczne.
Były to pierwsze dobrej jakości fonty typu CM dostępne publicznie.
Polskie diakrytyki z~fontów EC są kopią odpowiednich znaków 
z~fontów PL. Dużą zaletą fontów PL
jest to, że są dostępne także postaci fontów PostScriptowych.

W~szczególności znaki cudzysłowów francuskich i~polskiego
otwierającego są dostępne w~fontach EC~i~PL, ale nie ma ich w~fontach CM.
Opisany w~punkcie~\ref{subsec:quotation} sposób wprowadzania tych
znaków za pomocą par ,,\verb+,,+'', ,,\verb+<<+''
i~,,\verb+>>+'', działa tylko
wówczas gdy używamy fontów EC~lub~PL.
\end{TPextension}

\noindent
Przełączenie na fonty EC następuje przez dołączenie pakietu
\pai{fontenc} w~preambule dokumentu:
%
\begin{command}
\ci{usepackage}\verb+[T1]{fontenc}+
\end{command}
%
\noindent
Argument \verb+T1+, określający kodowanie, jest ,,odpowiedzialny'' za
przełączenie się na fonty EC.

\subsection {Wsparcie dla języka polskiego}

\begin{TPextension}
Poprawny skład w~języku polskim wymaga trzech rzeczy:
dodatkowego pakietu poleceń, fontów zawierających polskie znaki
diakrytyczne oraz \LaTeX-a, który zna polskie
reguły przenoszenia wyrazów.

W~każdej nowej, kompletnej dystrybucji \LaTeX-a znajduje się
wspomniany wyżej pakiet \pai{babel}. 
 %Jest on już na tyle dopracowany, że mimo 
 Mimo pewnych niedociągnięć można go polecić szczególnie początkującym.
Bardziej wymagający użytkownicy powinni skorzystać z~opisanego dalej zestawu
polonizacyjnego \pkg{platex}. 

W~pakiecie \pai{babel} nazwy języków wykorzystywanych w~dokumencie 
należy podać w~preambule na liście opcji pakietu:
%
\begin{command}
\verb+\usepackage[+\emph{język1},\emph{język2}\verb+]{babel}+
\end{command}
%
\noindent
Ostatni z~wymienionych na liście języków 
jest językiem domyślnym dokumentu. 
Do włączenia języka służy polecenie \ci{selectlanguage}.
Składnia tego polecenia jest następująca:
%
\begin{command}
\verb+\selectlanguage{+\emph{język}\verb+}+
\end{command}
%
\noindent
Pakiet \pai{babel} dla każdego języka definiuje odpowiednio elementy
wpisywane automatycznie przez program (np. dla języka polskiego
,,Spis treści'', a~nie ,,Table of contents'') oraz udostępnia
polecenia ułatwiające przygotowanie dokumentów w~tym języku.

Ta druga sprawa w~przypadku języka polskiego sprowadza się
w~zasadzie do kodowania polskich znaków diakrytycznych.
Można wyróżnić trzy sposoby
kodowania: standardowe polecenia (opisane w~punkcie~\ref{acc:chars}),
notację prefiksową (wyjaśnioną poniżej) i~notację ,,bezpośrednią''
(posługującą się znakami o~kodach większych od 127).

Standardowe polecenia akcentowe \LaTeX-a umożliwiają zapis wszystkich
polskich znaków diakrytycznych w~następującej postaci:
%
\begin{example}
\k{a} \'c \k{e} \l{} \'n \'o \'s
\'z \.z \k{A} \'C \k{E} \L{} \'N
\'O \'S \'Z \.Z
\end{example}
%
\noindent
Ponadto zapis np. \verb|\'o| nie oznacza -- jak w~\LaTeX-u~2.09
-- ,,wstaw akcent \emph{acute} nad literę o'', 
tylko ,,użyj najlepszej metody
uzyskania znaku \emph{oacute} dostępnej w~bieżącym układzie fontu''.
Jeżeli w~bieżącym foncie jest dostępny znak \emph{oacute}, zostanie on
użyty bezpośrednio. Jeżeli go nie ma, to {\TeX} złoży taki znak
z~litery~o oraz odpowiedniego akcentu\footnote{Z~notacją tą wiąże
się jednak dobrze znany problem: środowisko
\ei{tabbing} zmienia lokalnie definicję kilku makr, w~tym \ci{'}.
Dlatego w~jego obrębie do uzyskiwania znaków z~akcentem acute trzeba
używać notacji typu \ci{a'o}. W~konsekwencji
zarówno w~implementacji notacji prefiksowej, jak i~,,stron kodowych''
pakietu \pai{inputenc} do akcentu {\it acute\/} trzeba dostawać się
nieco naokoło.}.

Posługiwanie się powyższymi poleceniami do pisania tekstów po polsku
jest uciążliwe. Stąd pomysł notacji prefiksowej;
polega ona na zapisywaniu polskich znaków diakrytycznych w~postaci
dwóch znaków: ustalonego znaku specjalnego (prefiksu) i~litery
łacińskiej podobnej graficznie do odpowiedniej polskiej.
Notacja prefiksowa ma wiele wersji: stosowano
różne znaki jako prefiks (co najmniej \verb|"|, \verb|@| i~\verb|/|)
oraz różne konwencje zapisywania~ź oraz~ż
(przynajmniej jeden z~nich musi być zapisywany przy pomocy 
znaku różnego od~\verb|z|).

%%From: jsbien@mimuw.edu.pl (Janusz S. Bien)
%%To: Polish TeX users group discussion list <GUST-L@MAN.TORUN.PL>
%%Subject: Nie za krotkie wprowadzenie
%%Date: Sat, 27 Feb 1999 09:02:18 +0100
%%Message-ID: <Ka612sdXbCpD091yn@mimuw.edu.pl>
%
%  ...
%
% Dla ciekawych, geneza tej notacji -- przejętej przez Babela ze stylów
% stosowanych w Instytucie Informatyki UW -- jest następująca.
%
% Konwencje
%   prefiks + r = z z kropką
%   prefiks + z = z z kreską
% wprowadziłem 31 lat temu na potrzeby programu dla komputera GIER
% (pamięć operacyjna 1K słów 42-bitowych, 32K słów na pamięci bębnowej)
% -- por. ,,Maszyny Matematyczne" nr 5 z 1969 r. Podstawowym założeniem
% było stosowanie tylko jednego znaku jako prefiksu. Znaczenie "prefiks
% + z" zostało ustalone na "z z kreską" przez analogię do "c z kreską",
% "n z kreską", "o z kreską" i "s z kreską". Szokujące dla niektórych
% skojarzenie "prefiks + r" z "rz" jest intencjonalne, ponieważ "z z
% kropką" i "rz" wymawiaja się tak samo, co uznałem to za dobrą regułę
% mnemotechniczną.
%
% Z poważaniem
%
% Janusz S. Bień
%
%%

Pakiet \pai{babel} umożliwia zapis prefiksowy z~wykorzystaniem znaku
cudzysłowu, oto przykład zapisu minuskuł polskich
znaków diakrytycznych w~tej notacji (\verb+"r+ oznacza~ż):
%
\begin{code}
\verb+"a "c "e "l "n "o "s "z "r+
\end{code}
%
\noindent
Ponadto ,,\verb+"`+'' oznacza polski cudzysłów otwierający,
,,\verb+"<+'' francuski cudzysłów otwierający
a~,,\verb+">+'' francuski cudzysłów zamykający.

Bezpośrednie wprowadzanie polskich znaków umożliwia
pakiet \pai{inputenc} opisany w~poprzednim punkcie.
W~zależności od platformy,
na której pracujemy, mamy do wyboru ISO-8859-2 (Unix, Linux),
CP1250 (Windows) lub inne, rzadziej spotykane strony kodowe.
Przykładowo, jeżeli dokument jest kodowany w~standardzie
ISO-8859-2 (Latin-2) pakiet \pai{inputenc} należy dołączyć do
dokumentu następująco:
%
\begin{code}
\verb+\usepackage[latin2]{inputenc}+
\end{code}
%
\noindent
W~przypadku, gdy dokument jest kodowany w~standardzie CP~1250,
zamiast opcji \verb|latin2| powinniśmy wpisać \verb+cp1250+.

Dodatkowo, w~preambule dokumentu należy umieścić polecenie 
dołączenia pakietu \pai{fontenc} z~opcją \verb+T1+, co spowoduje,
że {\LaTeX} będzie korzystał z~256 znakowych fontów EC. Fonty
te zawierają dobrej jakości polskie znaki diakrytyczne.

Pozostał jeszcze do rozwiązania problem zapoznania \LaTeX-a
z~polskimi regułami dzielenia wyrazów. Jeżeli posługujemy się
\LaTeX-em w~środowisku wielodostępnym, na przykład na uczelni, to
przypuszczalnie jest to już zrobione przez administratora, ale jeżeli
rozpoczynamy pracę na własnym komputerze, to musimy niezbędną adaptację
wykonać sami. W~tym celu należy odszukać plik o~nazwie 
\verb+language.dat+. W~pliku tym
znajdują się informacje o~dostępnych w~pakiecie wzorcach dzielenia
wyrazów. Interesujący nas fragment pliku wygląda mniej więcej tak:
 %
\begin{code}
\verb+%norsk nohyph.tex+\\
\verb+%polish plhyph.tex+\\
\verb+%portuges pthyph.tex+
\end{code}
 %
Pierwszy wyraz to nazwa języka (którą potem posługuje się \LaTeX,
np.~jako argumentem polecenia \ci{selectlanguage}), drugi to \emph{nazwa}
pliku, w~którym znajdują się reguły podziału wyrazów dla tego języka.

Jeśli chcemy dołączyć do \LaTeX-a polskie wzorce przenoszenia, to 
powinniśmy usunąć znak procentu z~linii zawierającej słowo
\verb+polish+. Na ogół {\LaTeX} zna wzorce dzielenia dla
maksimum 2--3~języków (przy większej liczbie języków 
spada szybkość kompilacji
a~także mogą wystąpić problemy z~brakiem pamięci). 

Po wprowadzeniu zmian do pliku \verb|\language.dat|
powinniśmy wbudować wzorce dla zaznaczonych w~nim języków
do \LaTeX-a, co w~praktyce oznacza, że trzeba wygenerować nowy 
\emph{format} {\LaTeX}. Niestety niezbędne do tego czynności 
zależą od konkretnej implementacji \TeX-a. Omówimy tu, jak to wygląda 
w~przypadku trzech popularnych dystrybucji:
te\TeX{}(Unix/Linux), web2c (Unix/Linux i~Windows~9x/NT)
oraz Mik\TeX{} (Windows~9x/NT).

Należy wykonać polecenie ,,\verb+initex latex.ltx+''. Jeżeli wszystko
pójdzie dobrze, to w~katalogu bieżącym pojawi się plik 
z~formatem o~nazwie \verb|latex.fmt|. 
Następnie musimy odnaleźć w~strukturze
katalogów instalacji \TeX-owej plik o~tej samej nazwie i~oryginalny
zastąpić wygenerowanym przez nas. 
Otwarcie należy przyznać, że
z~wielu powodów utworzenie nowego pliku \verb+latex.fmt+ może się nie
powieść. Jeśli zatem nie jesteśmy w~stanie wybrnąć z~kłopotów sami,
powinniśmy poszukać pomocy u~znajomego eksperta \TeX-owego.

Podsumowując: mając prawidłowo skonfigurowany pakiet \pai{babel},
łącznie z~\LaTeX-em znającym polskie reguły dzielenia wyrazów,
wystarczy umieścić w~preambule polecenia dołączające pakiety
\pai{babel}, \pai{fontenc} oraz \pai{inputenc} 
i~ten sposób  otrzymać całkiem dobrze 
spolonizowaną wersję \LaTeX-a. 

\bigskip
\noindent
Zamiast pakietu \pkg{babel} można wykorzystać pakiet \pai{polski} (wchodzący 
w~skład zestawu polonizacyjnego \pai{platex}).
Został on opracowany w~Polsce przez Mariusza Olko 
i~Marcina Wolińskiego. Jego niewątpliwą zaletą
jest staranniejsza polonizacja. Problemem -- z~punktu widzenia
początkującego użytkownika -- nieco trudniejsza instalacja. 
 %Dlatego polecam początkującym, którzy nie mają zainstalowanego 
 % pakietu \pai{platex}, posługiwanie się pakietem \pai{babel}. 
 % A~po nabraniu doświadczenia rozważenie przejścia na \pkg{platex}-a. 
Dokumenty zapisane w~notacji bezpośredniej 
nie wymagają modyfikacji, jeżeli zamiast pakietu \pai{babel}
w~preambule dołączymy \pkg{polski}-a.

W~porównaniu z~pakietem \pkg{babel} pakiet \pkg{platex} 
jest bogatszy o~kilka szczegółów polonizacyjnych:
%
\begin{itemize}
\item
 instrukcja \verb+\dywiz+, opisana w~punkcie~\ref{subsec:pauzy},
 zapewnia poprawne przenoszenie wyrazów złożonych;
\item
 instrukcje \ci{tg}, \ci{ctg}, \ci{tgh}, \ci{ctgh} oraz \ci{arc}
 wstawiają polskie symbole funkcji trygonometrycznych;
\item
 opcjonalna zmiana znaczenia standardowych
 poleceń \ci{tan}, \ci{ctan} w~taki sposób, że wstawiają one do składu
 poprawne nazwy funkcji trygonometrycznych (nazwy te są
 różne od nazw angielskich);
\item
 polskie znaki większe-równe i~mniejsze-równe\footnote{Więcej 
 informacji na temat
 poleceń pakietu \pkg{platex} związanych ze składem matematyki
 podajemy w~rodziale~\ref{chp:math}.}.
\end{itemize}
 %
Ponadto pakiet \pkg{polski} pozwala na wykorzystanie fontów PL oraz
umożliwia posługiwanie się znakiem ,,\verb+/+'' (lub opcjonalnie innym
znakiem) przy kodowaniu dokumentu za pomocą notacji prefiksowej,
zwanej też -- gdy używa się znaku ,,\verb+/+'' -- notacją ciachową.

Pakiet \pkg{polski} dołączamy w~preambule dokumentu poleceniem:
%
\begin{command}
\verb+\usepackage[+\emph{opcje}\verb+]{polski}+
\end{command}
%
\noindent
Lista dostępnych opcji obejmuje:
%
\begin{description}
\item{\texttt{OT4}} -- wybranie kodowania \texttt{OT4} fontów,
 co w~praktyce oznacza skład fontami~PL;
\item{\texttt{T1} } -- wybranie kodowania \texttt{T1} fontów,
 co oznacza skład fontami~EC;
\item{\texttt{OT1}} -- wybranie kodowania \texttt{OT1} fontów,
 co oznacza skład fontami CM (nie polecane);
\item{\texttt{plmath}} -- zmienia definicje znaków mniejszy-równy
 i~większy-równy\footnote{W~systemie muszą być
 zainstalowane fonty~PL. Są one dostępne
 w~\CTAN{language/polish/pl-mf.zip}.
 Opcjonalnie można także skopiować pliki metryczne tych fontów.
 Są one dostępne w~\CTAN{language/polish/pl-tfm.zip}.
Pliki metryczne fontów, w~przypadku
wykorzystywania nowych instalacji \TeX-a typu te{\TeX}, web2c
czy Mik{\TeX} nie są konieczne, gdyż jeżeli ich nie ma,
są tworzone automatycznie. Nie będziemy omawiać szczegółowo
instalacji fontów PL, gdyż sposób jej przeprowadzenia
zależy mocno od konkretnej dystrybucji.};
 %%W~dokumentacji dystrybucji \TeX-a, ktorej używasz, powinny być
 %%informacje, jak to się robi.};
 %
\item{\texttt{nomathsymbols}} -- blokuje zmianę znaczenia standardowych
 poleceń trygonometrycznych oraz relacji mniejszy-równy i~większy-równy;
\item{\texttt{MeX}} -- tryb pełnej polonizacji, w~praktyce skrót dla
 opcji \texttt{OT4}~+~\texttt{plmath}.
\end{description}
%
Jeżeli nie wybrano żadnej z~opcji układu kodowania, 
to \pkg{platex} usiłuje włączyć fonty~PL, jeżeli są one
zainstalowane. Dotyczy to
zarówno fontów tekstowych jak i~tych zawierających znaki matematyczne.
W~instalacji zawierającej fonty PL dołączenie pakietu bez
opcji jest równoważne:
%
\begin{code}
\verb+\usepackage[OT4,plmath]{polski}+
\end{code}
%
\noindent
Polecenie \ci{selecthyphenation} pozwala przełączyć się na
dany zestaw wzorców dzielenia wyrazów. Jest to odpowiednik polecenia
\ci{selectlanguage} w~pakiecie \pkg{babel}.
Argumentem jest nazwa języka, taka jak w~pliku \verb+language.dat+.

Notację ciachową, która domyślnie jest \emph{wyłączona}, można uaktywnić
poleceniem \verb|\prefixing|. 
Polecenie to powinno występować 
w~preambule dokumentu dopiero po poleceniach 
dołączających pakiety.

Wprowadzanie polskich znaków w~sposób bezpośredni wymaga dołączenia
opisanego powyżej pakietu \pai{inputenc}.

Instalowanie pakietu \pkg{platex} trzeba z~reguły rozpocząć od jego
skopiowania w~odpowiednie miejsce do naszej instalacji \LaTeX-owej
ponieważ w~przeciwieństwie do pakietu \pai{babel} nie jest on
dołączany do standardowej dystrybucji \LaTeX-a (być może to się zmieni
w~przyszłości). Pakiet znajduje się
w~\CTAN{language/polish/platex-1.01.zip} lub
\GUST{language/polish/platex-1.01.zip}. Miejsce, w~które
należy skopiować pakiet, zależy od instalacji. 
Dla systemów te\TeX, web2c i~Mik\TeX{} będzie to
\verb|.../texmf/tex/latex/|. Trzy kropki z~przodu wskazują, że katalog
\verb+texmf/+ nie musi się znajdować w~katalogu głównym, tylko raczej
w~jakimś miejscu położonym ,,niżej'' w~strukturze katalogów.
Po znalezieniu właściwego katalogu \verb|texmf/tex/latex/| tworzymy tam
podkatalog, \verb|platex|, i~rozpakowujemy w~nim zawartość pakietu.
Następnie wydajemy polecenie:
%
\begin{code}
\verb+latex platex.ins+
\end{code}
%
\noindent
Do uzyskania poprawnego przenoszenia polskich słów konieczne jest
wygenerowanie nowego formatu \LaTeX-a. 
W~tym celu należy usunąć (lub zmienić
nazwy, tak aby zostały pominięte przez \LaTeX-a) oryginalne pliki
\verb+hyphen.cfg+, \verb+language.dat+. 
Ponadto w~wielu starszych instalacjach
plik \verb+hyphen.tex+ jest podmieniony ,,pod'' potrzeby \pkg{babel}-a
i~nie zawiera angielskich wzorców podziału. W~tym przypadku trzeba
zastąpić plik \verb+hyphen.tex+ ,,prawdziwym'' plikiem
z~angielskimi regułami dzielenia. 
Następnie z~linii poleceń piszemy:
%
\begin{code}
\verb+initex latex.ltx+
\end{code}
Z~tak powstałym plikiem \verb|latex.fmt| postępujemy tak samo, jak przy
tworzeniu nowego \LaTeX-a dla pakietu \pkg{babel}.
\end{TPextension}

%%
\section{Odstępy między wyrazami }

Aby wyrównać prawy margines, {\LaTeX} wstawia pomiędzy słowa odstępy
różnej wielkości. Odstęp wstawiany na końcu zdania jest trochę większy,
ponieważ tak składa się książki w~krajach anglosaskich. {\LaTeX}
zakłada, że zdania mogą się kończyć kropką, znakiem zapytania
lub wykrzyknikiem. Jeżeli bezpośrednio przed kropką znajduje się
duża litera, to {\LaTeX} nie traktuje tego miejsca jako końca
zdania, lecz jako kropkę po skrócie.

Wyjątki od wymienionych wyżej zasad muszą być jasno zaznaczone
w~tekście. W-tył-ciach ,,\verb|\|'' poprzedzający spację oznacza
odstęp normalnej wielkości. Tylda \verb|~| wstawia normalny odstęp, na
którym {\LaTeX} nie może złamać wiersza. Instrukcja \verb|\@| wstawia
większy odstęp, taki jakim kończy się zdania.

\begin{example}
Mr.~Smith was happy to see her\\
cf.~Fig.~5\\
I like BASIC\@. What about you?
\end{example}
%
\noindent

Jak wspomniano, wstawianie większych odstępów na końcu zdań to
zwyczaj anglosaski. W~kontynentalnej Europie tradycyjnie się tego 
nie robi. Wstawianie większych odstępów
na końcu zdań można (należy) wyłączyć, wykonując instrukcję:
%
\begin{command}
\ci{frenchspacing}
\end{command}
\noindent 

\begin{TPextension}
Pakiet \pai{polski} domyślnie wykonuje instrukcję \ci{frenchspacing} 
za nas -- wystarczy go dołączyć.
\end{TPextension}

\section{Tytuły, śródtytuły i~punkty }

Podzielenie dokumentu na rozdziały, podrozdziały, punkty itd. pomaga
czytelnikom lepiej orientować się w~tekście. 
Do dzielenia dokumentu na hierarchiczne części służą 
odpowiednie polecenia \LaTeX-owe.
Do autora należy
wykorzystanie tych poleceń w~odpowiednim porządku.

W~klasie \texttt{article} mamy do dyspozycji następujące instrukcje
podziału hierarchicznego:
\nopagebreak
\begin{code}
\ci{section}\verb|{...}           |\ci{paragraph}\verb|{...}|\\
\ci{subsection}\verb|{...}        |\ci{subparagraph}\verb|{...} |\\
\ci{subsubsection}\verb|{...}     |\ci{appendix}
\end{code}

W klasie \texttt{report} i~\texttt{book} można użyć
dwóch dodatkowych instrukcji:
 %
\begin{code}
\ci{part}\verb|{...}              |\ci{chapter}\verb|{...}|
\end{code}

Ponieważ w~klasie \texttt{article} najwyższą jednostką w~hierarchii
podziału jest \verb+\section+ (czyli \emph{punkt}), łatwo tworzy się
książki (klasa \verb+book+), w~których rozdziałami są poszczególne
artykuły. {\LaTeX} dobierze za nas odpowiednie odstępy między
rozdziałami oraz wielkość i~krój pisma w~śródtytułach.

\pagebreak[3]
Dwie z~wymienionych instrukcji działają nieco inaczej niż pozostałe:
%
\begin{itemize}
\item Instrukcja \ci{part} nie ma wpływu na numerację rozdziałów.  
\item Instrukcja \ci{appendix} nie posiada argumentów. Jest to
  deklaracja zmieniająca z~cyfr na litery
  sposób numerowania rozdziałów (w~klasach \verb+book+ i~\verb+report+) 
  lub punktów (w~klasie \verb+article+).
\end{itemize}

Argumentu instrukcji podziału dokumentu {\LaTeX} używa do przygotowania
spisu treści. Instrukcja:
%
\begin{command}
\ci{tableofcontents}
\end{command}
%
\noindent
wstawia spis treści w~miejscu, w~którym jej użyjemy. 
Aby w~spisie treści otrzymać prawidłowe numery stron, dokument trzeba
przetworzyć (,,zlatechować'') dwukrotnie.
Czasami niezbędna jest nawet trzecia kompilacja.
Kiedy pod koniec przetwarzania dokumentu {\LaTeX} wyświetli komunikat:
%
\begin{verbatim}
LaTeX Warning: Label(s) may have changed.
Rerun to get cross-references right.
\end{verbatim}
%
oznacza to, że niezbędna jest kolejna kompilacja.

\begin{TPextension}  
  {\LaTeX} przetwarza dokument strona po stronie i~w~pojedynczym
  przebiegu nie może wstawić spisu treści na początku dokumentu,
  ponieważ nie jest jeszcze znana jego treść ani numeracja stron.
  Podobnie ma się sprawa
  ze spisami tabel czy rysunków. Rozwiązanie tego problemu jest tyle
  proste, co skuteczne. Podczas przetwarzania dokumentu {\LaTeX}
  zapisuje odpowiednie informacje do plików pomocniczych.
  Przeznaczenie danego pliku pomocniczego jest zasygnalizowane
  w~rozszerzeniu nazwy.  
  I~tak: plik o~rozszerzeniu \verb|.toc|
  zawiera spis treści, plik \verb|.lot| -- spis tabel,
  plik \verb|.lof| -- spis rysunków, 
  plik \verb|.aux| -- informacje
  o~odsyłaczach wewnątrz dokumentu (odsyłacze omawiamy 
  w~podrozdziale~\ref{sec:odsylacze}).  Informacje wprowadzone
  do plików pomocniczych {\LaTeX} wykorzystuje 
  podczas kolejnych przebiegów.
\end{TPextension}

\noindent
Wymienione wyżej instrukcje podziału hierarchicznego
posiadają także wersje ,,z~gwiazdką''. Nazwa instrukcji w~wersji
,,z~gwiazdką'' składa się z~,,normalnej'' nazwy, po której występuje
znak ,,\verb+*+''. W~wyniku działania takiej instrukcji, tytuł 
rozdziału lub podrozdziału zostanie umieszczony w~dokumencie,
ale nie w~spisie
treści; tytuł nie jest też objęty numeracją. Przykładowo wersją
,,z~gwiazdką'' instrukcji \verb|\section{Help}| jest
\verb|\section*{Help}|.

Najczęściej hasła w~spisie treści są identyczne z~odpowiadającymi im
tytułami rozdziałów czy punktów. Czasami jednak nie jest to pożądane,
ponieważ na przykład tekst hasła jest zbyt długi. 
W~takich wypadkach hasło
do spisu treści można podać jako \emph{opcjonalny} argument
instrukcji podziału hierarchicznego, np:
%
\begin{code}
\verb|\chapter[Krótki i~ekscytujący rozdział]{To jest|\\
\verb| bardzo długi i~wyjątkowo nudny rozdział}|
\end{code}
%
W~wyniku wykonania tej instrukcji w~spisie treści pojawi się
,,Krótki i~ekscytujący rozdział'', natomiast w~tytule rozdziału
,,To jest bardzo długi i~wyjątkowo nudny rozdział''.

{\LaTeX} składa stronę tytułowę w~wyniku wykonania instrukcji:
%
\begin{command}
\ci{maketitle}
\end{command}
%
\noindent
która, powinna być umieszczona po \verb+\begin{document}+.

Zawartość strony tytułowej ustalają polecenia:
%
\begin{command}
\ci{title}\verb|{...}|, \ci{author}\verb|{...}|
oraz opcjonalnie \ci{date}\verb|{...}|
\end{command}
%
\noindent
Należy je umieścić w~preambule. Jeżeli dokument ma
kilku autorów, to ich nazwiska i~imiona rozdzielamy
instrukcją~\ci{and}.

Rysunek~\ref{document} (s.~\pageref{document}) 
ilustruje sposób wykorzystania powyższych instrukcji.

W~\LaTeXe{} istnieją ponadto trzy instrukcje
określające strukturę dokumentu, dostępne wyłącznie w~klasie
\verb|book|, a mianowicie:
%
\begin{command}
\ci{frontmatter}, \ci{mainmatter} oraz \ci{backmatter}
\end{command}
%
\noindent
\begin{TPextension}
Są one użyteczne do podziału książki na część wstępną (obejmującą
tytulaturę, spisy treści, tabel itp., wstępy itd.), główną
i~zakończenie (załączniki, skorowidze, kolofon itd).
W~części wstępnej tytuły rozdziałów są składane mniejszym stopniem
pisma (czego należy oczekiwać), a~numery stron w~notacji
rzymskiej (co raczej odbiega od polskich zwyczajów
typograficznych).
\end{TPextension}

\section{Odsyłacze\label{sec:odsylacze} }

Książki, raporty i~artykuły zawierają często odniesienia do rysunków,
tabel i~innych fragmentów tekstu.  Do wstawiania odsyłaczy {\LaTeX}
udostępnia następujące trzy instrukcje:
%
\begin{command}
\ci{label}\verb|{|\emph{etykieta}\verb|}|,
\ci{ref}\verb|{|\emph{etykieta}\verb|}|
i \ci{pageref}\verb|{|\emph{etykieta}\verb|}|
\end{command}
 %
\noindent 
Argument \emph{etykieta} jest ciągiem liter, cyfr
lub~znaków interpunkcyjnych. Nazwy etykiet ustala sam użytkownik.
{\LaTeX} zamienia \verb+\ref{+\emph{etykieta}\verb+}+ na numer
tego rozdziału, punktu, rysunku, tabeli czy też równania
matematycznego, \emph{bezpośrednio za} którym umieszczona została instrukcja
\verb|\label| zawierająca identyczną \emph{etykietę}.
Instrukcja \verb+\pageref{+\emph{etykieta}\verb+}+ działa
identycznie jak \verb+\ref+, z~tym że wstawia numer strony, na której
znajduje się element oznaczony etykietą\footnote{Zwróćmy uwagę,
że te instrukcje ,,nie wiedzą'', do czego tak naprawdę się odnoszą. Zadaniem
instrukcji \ci{label} jest przechowanie wygenerowanej
automatycznie liczby.}.

Podobnie jak w~przypadku spisów treści, tabel czy rysunków potrzebne
są co najmniej dwie, a~z~reguły trzy, kompilacje dokumentu
do prawidłowego wstawienia numerów odsyłaczy. Podczas pierwszej
{\LaTeX} wysyła do pliku pomocniczego (z~rozszerzeniem \verb|.aux|)  
informacje o~odsyłaczach, które wykorzystuje 
podczas kolejnych kompilacji.
%
\begin{example}
Odsyłacz do tego punktu
\label{sec:this} wygląda tak:
,,patrz punkt~\ref{sec:this} na
stronie~\pageref{sec:this}.''
\end{example}

%%
\section{Przypisy }

Do składania przypisów u~dołu strony 
służy instrukcja:
%
\begin{command}
\ci{footnote}\verb|{|\emph{tekst przypisu}\verb|}|
\end{command}
 %
\noindent
Instrukcję należy wstawić bezpośrednio po słowie lub zdaniu, do którego się
odnosi\footnote{\begin{TPcomment}W~krajach anglosaskich 
 przypisy odnoszące się do całego
 zdania lub jego części umieszcza się natychmiast 
 po kropce lub przecinku. W~Polsce najczęściej umieszcza się
 je \emph{przed} znakiem przestankowym (zasadę tę stosujemy
 w~niniejszym 
 wprowadzeniu).\end{TPcomment}}.

\begin{TPextension}
{\LaTeX} numeruje przypisy automatycznie. Sposób ich numerowania zależy
od wykorzystywanej klasy. W~klasie \verb|article| numeracja jest
ciągła, a~w~klasach \verb|report| i~\verb|book| przypisy są numerowane
w~ramach rozdziałów.
\end{TPextension}

\begin{example}
Przypisy\footnote{To jest właśnie
przypis.} są często
wykorzystywane przez
użytkowników \LaTeX-a
\end{example}

%%
\section{Wyróżnienia }

W~tekstach pisanych na maszynie fragmenty tekstu, które mają zostać
wyróżnione, $\underline{\mbox{podkreśla się}}$.
W~dokumentach drukowanych wyróżnianie fragmentów odbywa się przez 
składanie ich \textit{kursywą}. Służy do tego instrukcja:
%
\begin{command}
\ci{emph}\verb|{|\emph{text}\verb|}|
\end{command}
%
\noindent
Argumentem tej instrukcji jest tekst, 
który ma zostać wyróżniony.
%
\begin{example}
\emph{\emph{Wyróżnienia} w~tekście
już wyróżnionym są składane 
\emph{zwykłym} krojem pisma.}
\end{example}

Zwróćmy uwagę, że istnieje różnica między wyróżnieniem części tekstu 
a~złożeniem go inną czcionką:
%
\begin{example}
\textit{Można \emph{wyróżnić} 
tekst, składając go kursywą,} 
\textsf{czcionką \emph{szeryfową},}
\texttt{a nawet \emph{maszynowo}.}
\end{example}

%%
\section{Środowiska\label{env} }

Wiele instrukcji to \emph{środowiska}\index{środowisko},
mające postać:
%
\begin{command}
\ci{begin}\verb|{|\emph{nazwa}\verb|}|\quad
\emph{tekst}\quad
\ci{end}\verb|{|\emph{nazwa}\verb|}|
\end{command}
%
\noindent
gdzie \emph{nazwa} jest nazwą środowiska. Środowiska można
zagnieżdżać jedne w~drugich:
%
\begin{code}
\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}|
\end{code}
%
\noindent
Niedopuszczalnie jest natomiast ,,przeplatanie'' środowisk:
%
\begin{code}
\verb|\begin{aaa}...\begin{bbb}...\end{aaa}...\end{bbb}|
\end{code}
\begin{TPextension}
%Środowisko tworzy grupę, tak, że instrukcje wykonane pomiędzy
%\verb+\begin{+\emph{nazwa}\verb+}+
%a~\verb+\end{+\emph{nazwa}\verb+}+ dotyczą tylko jego wnętrza.
%Innymi słowy ich działanie trwa aż do napotkania
%zamykającego \verb+\end{nazwa}+.
Wiele poleceń można zapisać w~formie ,,środowiskowej''.
W~takich wypadkach nazwa polecenia (bez w~tył-ciacha) jest nazwą środowiska.

Przykładowo zamiast polecenia \verb+\em+, które służy do włączenia
wyróżnionego kroju pisma, możemy wykorzystać
środowisko \verb+\begin{em}...\end{em}+.
\end{TPextension}
%
\noindent
W~kolejnych punktach przedstawiamy częściej wykorzystywane środowiska.

\subsection{Środowiska \texttt{itemize}, \texttt{enumerate}
i~\texttt{description}}

Środowiska \ei{itemize} oraz \ei{description} służą do tworzenia
wyszczególnień, zaś \ei{enumerate} do tworzenia wyliczeń. W~każdym
z~nich element wyliczenia zaczyna się instrukcją \verb|\item|.

\begin{example}
\begin{enumerate}
\item Taka lista:
\begin{itemize}
\item wygląda
\item[--] śmiesznie.
\end{itemize}
\item Pamiętaj:
\begin{description}
\item[Głupoty] nie stają się 
mądrościami, gdy się je wyliczy.
\item[Mądrości] można elegancko
zestawiać w~wyliczeniach.
\end{description}
\end{enumerate}
\end{example}

\subsection{Środowiska \texttt{flushleft}, \texttt{flushright}
i~\texttt{center}}

Środowiska \ei{flushleft} i~\ei{flushright} składają akapity wyrównane,
odpowiednio, do lewego lub prawego marginesu. Wewnątrz środowiska
\ei{center} każdy wiersz akapitu jest wyśrodkowany w~osi szpalty.
Tak jak zawsze, {\LaTeX} dzieli akapity na wiersze automatycznie,
w~obrębie powyższych środowisk można jednak poleceniem \ci{\bs}
wymusić zmianę wiersza.
%
\begin{example}
\begin{flushleft}
To jest tekst\\ wyrównany do lewej.
{\LaTeX} nie składa tu wierszy
o~jednakowej długości.
\end{flushleft}
\end{example}

\begin{example}
\begin{flushright}
To jest tekst\\ wyrównany do prawej.
{\LaTeX} nie składa tu wierszy\\
z~zachowaniem jednakowej długości.
\end{flushright}
\end{example}

\begin{example}
\begin{center}
To jest tekst\\wyśrodkowany.
\end{center}
\end{example}

\subsection{Środowiska \texttt{quote}, \texttt{quotation} i~\texttt{verse}}

Środowisko \ei{quote} nadaje się do składania cytatów oraz przykładów.
%
\begin{example}
Jeżeli chodzi o~długości wiersza,
regułą kciuka jest, że:
\begin{quote}
Przeciętnie wiersz nie powinien
zawierać więcej niż 66 znaków.

Dlatego w~\LaTeX-u standardowe
strony mają szerokie marginesy.
\end{quote}
Dlatego też w~gazetach stosuje
się druk wieloszpaltowy.
\end{example}

\noindent
Istnieją ponadto dwa środowiska o~podobnym zastosowaniu:
\ei{quotation} oraz \ei{verse}. Środowisko \texttt{quotation} jest
przydatne do formatowania cytatów dłuższych niż jeden akapit.
W~przeciwieństwie do środowiska \texttt{quote}, wewnątrz środowiska
\texttt{quotation} {\LaTeX} rozpoczyna poszczególne akapity  
od wcięcia akapitowego.
Środowisko \texttt{verse} służy do składania wierszy. Poszczególne
linijki w~zwrotkach należy kończyć instrukcją \ci{\bs} zaś poszczególne
zwrotki oddzielać pustą linią.

\begin{example}
Na pamięć znam tylko jeden angielski
wiersz. Ten o~Humptym Dumptym.
\begin{flushleft}
\begin{verse}
Humpty Dumpty sat on a wall:\\
Humpty Dumpty had a great fall.\\
All the King's horses and all
the King's men\\
Couldn't put Humpty together again.
\end{verse}
\end{flushleft}
\end{example}

\subsection{Symulacja maszynopisu\label{verb-envir} }

Tekst pomiędzy \verb|\begin{|\ei{verbatim}\verb|}| oraz
\verb|\end{verbatim}| {\LaTeX} składa dosłownie, tak aby wyglądał
jak napisany na maszynie, z~zachowaniem zmian wiersza i~odstępów.

\begin{TPextension}
  Aby uzyskać ten efekt krój pisma zmienia się na imitujący pismo
  maszynowe (grotesk).  Każdy znak w~tym kroju, włączając w~to spację,
  jest jednakowej szerokości.  Koniec linii wewnątrz środowiska
  \verb+verbatim+ powoduje rozpoczęcie nowego wiersza na wydruku
  a~\emph{każda} spacja zamienia się na odstęp.
  Wewnątrz środowiska
  \verb+verbatim+ instrukcje nie są wykonywane.
\end{TPextension}

Wewnątrz akapitów imitację maszynopisu uzyskuje się
za pomocą instrukcji:
%
\begin{command}
\ci{verb}\verb|+|\emph{tekst}\verb|+|
\end{command}
%
\noindent
Znak \verb|+| ogranicza tu tekst, który ma zostać wydrukowany
dosłownie. Zamiast \verb|+| można użyć innego znaku, byle to nie była
litera, gwiazdka ani spacja. Instrukcję \ci{verb} 
wykorzystujemy często w~tej
książce do składania przykładów \LaTeX-owych.
%
\begin{example}
Rozważmy przykład\ldots

\begin{verbatim}
{ for (i=1;i<=NF;i++) {l[$i]++; }
END {for (i in l) {print l[i]}
\end{verbatim}
\end{example}
%$ %
\noindent
Środowiska \verb+verbatim+ oraz instrukcja
\verb+\verb+ mają także wersje ,,z~gwiazdką'', w~których spacja 
w~pliku źródłowym jest zamieniana
na znak \verb*+ +. Jest to jedyna różnica w~działaniu w~porównaniu
do wersji bezgwiazdkowych:
 %
\begin{example}
\begin{verbatim*}
gwiazdkowa wersja
środowiska verbatim
wyróżnia   spacje
w tekście
\end{verbatim*}
\end{example}
 %
\noindent
Środowiska \texttt{verbatim} oraz instrukcji \verb|\verb| 
nie wolno używać wewnątrz argumentów innych instrukcji.

\subsection{Środowisko \texttt{tabular} }

Do składania tabel służy środowisko \ei{tabular}. {\LaTeX}
automatycznie ustala w~nich szerokość poszczególnych rubryk.
Środowisko ma jeden parametr obowiązkowy, określający liczbę kolumn
tabeli i~sposób ich justowania:
%
\begin{command}
\verb|\begin{tabular}{|\emph{spec-kolumn}\verb|}|
\end{command}
%
\noindent
Dla każdej kolumny należy w~argumencie wstawić jedną z~liter: \verb+l+,
\verb+r+ lub \verb+c+, określając w~ten sposób justowanie
zawartości kolumny. Dosunięcie zawartości kolumny do lewej 
oznaczamy literą \verb+l+, do prawej -- znakiem \verb+r+, 
a~wyśrodkowanie -- znakiem \verb+c+.
Zapisu \verb|p{|\emph{szer-kolumn}\verb|}| można użyć do zaznaczenia, że
kolumna ma mieć szerokość \emph{szer-kolumn}. Wewnątrz
takiej kolumny tekst jest składany w~prostokąt o~zadanej szerokości,
z~wyrównywaniem obu marginesów.
Znak \verb+|+ oznacza, że kolumny mają zostać rozdzielone 
pionową kreską\index{"|@\TextVert}.

Wewnątrz środowiska \texttt{tabular} poszczególne wiersze oddzielamy
instrukcją \ci{\bs}, a~rubryki w~wierszu znakiem \verb+&+.
Instrukcja \ci{hline} wstawia poziomą linię na całą szerokość tabeli.
%
\begin{example}
\begin{tabular}{|r|l|} \hline
7C0 & heksadecymalnie \\
3700 & oktalnie \\
11111000000 & binarnie \\
\hline \hline
1984 & dziesiętnie \\ \hline
\end{tabular}
\end{example}

\begin{example}
\begin{tabular}{|p{4.7cm}|} \hline
Ten akapit jest wewnątrz pudełka.
Mamy nadzieję, że uzyskany
efekt się podoba.\\ \hline
\end{tabular}
\end{example}
%
\noindent
Instrukcją \verb|@{...}| określamy odstęp między kolumnami.
Instrukcja ta usuwa domyślny odstęp międzykolumnowy, zastępując
go tym, jaki wyspecyfikowano wewnątrz \verb+{...}+.
Stosuje się ją często do wyrównywania zestawień
liczbowych według cyfr znaczących.
Można ją także wykorzystać do usunięcia odstępów
w~pierwszej i~ostatniej kolumnie tabeli, co ilustruje
poniższy przykład.
%
\begin{example}
\begin{tabular}{@{} l @{}} \hline
bez odstępów na brzegach\\ \hline
\end{tabular}
\end{example}
\begin{example}
\begin{tabular}{l} \hline
odstępy na brzegach tabeli\\ \hline
\end{tabular}
\end{example}

%
% This part by Mike Ressler
%

\noindent
W~\LaTeX-u nie ma mechanizmu pozwalającego wyrównywać
zestawienia liczbowe według cyfr znaczących\footnote{%
 Do wyrównywania cyfr można skorzystać z~możliwości pakietu
 \pai{dcolumn} z~zestawu pakietów ,,tools''.},
 ale efekt ten można osiągnąć, składając liczbę w~dwóch kolumnach:
część całkowitą w~kolumnie wyrównywanej do prawego brzegu oraz część
dziesiętną w~kolumnie wyrównanej do lewego.
Za pomocą instrukcji \verb|@{,}| zastępujemy przecinkiem odstęp
normalnie wstawiany między
kolumnami. Trzeba jednak pamiętać o~konieczności wpisywania znaku
\verb|&| zamiast przecinków w~liczbach. 
Rubryki rozciągające się na kilka kolumn -- jak nagłówek
w~poniższym przykładzie -- tworzymy 
posługując się poleceniem \ci{multicolumn}.

\begin{example}
\begin{tabular}{c r @{,} l}
Wyrażenie &
\multicolumn{2}{c}{Wartość}\\\hline
$\pi$ & 3&1416 \\
$\pi^{\pi}$ & 36&46 \\
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}
\end{example}


%%
\section{Wstawki }

Współczesne publikacje zawierają dużo rysunków i~tabel. 
Elementów tych
nie należy dzielić między strony i~dlatego wymagają specjalnego
potraktowania. W~sytuacjach, gdy nie mieszczą
się one na bieżącej stronie, na ogół przenosi się je i~wstawia na
początku strony następnej. W~przypadku przeniesienia rysunku lub
tablicy, pozostałe miejsce na stronie wypełnia się tekstem. Tego
typu elementy będziemy nazywać \emph{wstawkami}\index{wstawka}.

Aby w~pełni skorzystać z~\LaTeX-owego mechanizmu wstawek, 
trzeba chociażby powierzchownie zrozumieć, jak {\LaTeX}
manipuluje takimi obiektami. W~przeciwnym wypadku
wstawki mogą się stać źródłem irytacji, ponieważ {\LaTeX}
będzie je umieszczał wszędzie, tylko nie w~miejscach, w~którym byśmy
sobie tego życzyli.

Do tworzenia wstawek mamy w~\LaTeX-u dwa środowiska. Środowisko
\ei{figure} służy do tworzenia rysunków, a~środowisko \ei{table}
-- do tablic. Oba mają jeden parametr opcjonalny:
 %
\begin{command}
\verb|\begin{figure}[|\emph{miejsce}\verb|]| albo
\verb|\begin{table}[|\emph{miejsce}\verb|]|
\end{command}
 %
\noindent
Argument \emph{miejsce} określa, gdzie na stronie
można umieścić wstaw\-kę. Jest to sekwencja od jednego
do pięciu znaków: \verb+h+, \verb+t+, \verb+b+, \verb+p+ oraz \verb+!+.
Każdy znak określa dopuszczalny sposób umieszczenia wstawki;
szczegółowe informacje zestawiono w~tabeli~\ref{tab:permiss}.

\begin{table}[!tbp]
\caption{Opcjonalny argument środowisk \ei{table} i~\ei{figure}
\label{tab:permiss} }
\noindent \begin{minipage}{\textwidth}
\medskip
\begin{center}
\begin{tabular}{@{}cp{10cm}@{}}
Znak & Dopuszczalne miejsce umieszczenia wstawki \\ \hline
\rule{0pt}{1.05em}
\texttt{h} & bez przemieszczenia, dokładnie w~miejscu
             użycia (użyteczne w~odniesieniu do niewielkich
             wstawek);\\[0.3ex]
\texttt{t} & na górze strony; \\[0.3ex]
\texttt{b} & na dole strony; \\[0.3ex]
\texttt{p} & na stronie zawierającej wyłącznie wstawki; \\[0.3ex]
\texttt{!} & ignorując większość parametrów kontrolujących
umieszczanie wstawek\footnote{Są to takie parametry, jak na przykład
maksymalna dopuszczalna liczba wstawek na stronie.},
przekroczenie wartości, których może nie pozwolić na
umieszczanie następnych wstawek na stronie.
\end{tabular}
\end{center}
\end{minipage}
\end{table}

Przykładowa tabela może zaczynać się tak:
%
\begin{code}
\verb|\begin{table}[!hbp]|
\end{code}
%
\noindent
Argument \verb|[!hbp]| oznacza, że tabelę można umieścić
w~miejscu, w~którym pojawia się w~pliku źródłowym (\texttt{h})
albo na dole strony (\texttt{b}), albo wreszcie na osobnej stronie
zawierającej wyłącznie wstawki (\texttt{p}). Ponadto
wstawienie ,,\texttt{!}'' oznacza, że {\LaTeX} ma pominąć większość
parametrów kontrolujących umieszczanie wstawek.
Jeżeli instrukcji \ci{table} użyto bez opcjonalnego
argumentu, to jego domyślnymi wartościami są~\verb|[tbp]|.

{\LaTeX} umieszcza każdą wstawkę zgodnie ze specyfikacją
autora. Jeżeli wstawki nie można umieścić na bieżącej
stronie, to dołącza się ją albo do \emph{kolejki rysunków}, albo
do \emph{kolejki tabel}\footnote{Są to kolejki typu FIFO (pierwsze
weszło -- pierwsze wyszło).}.
Po rozpoczęciu składania nowej strony {\LaTeX} sprawdza, czy
można zapełnić całą stronę wstawkami czekającymi w~kolejce; 
gdy nie jest to
możliwe, pierwszą wstawkę z~każdej kolejki
traktuje w~taki sposób, jak gdyby właśnie pojawiła się w~tekście:
{\LaTeX} stara się ją umieścić zgodnie z~wartościami parametru
\emph{miejsce}
(za wyjątkiem \verb+h+, gdyż nie jest to już oczywiście możliwe).
Nowe wstawki są odpowiednio dołączane do kolejek. {\LaTeX}
dba o~właściwy porządek wstawek każdego typu. W~konsekwencji
pojedynczy rysunek, którego z~jakiś względów nie można
poprawnie wstawić ,,ciągnie'' za sobą wszystkie inne rysunki aż na
koniec dokumentu. Dlatego:

\begin{quote}
Jeżeli {\LaTeX} nie umieszcza wstawek zgodnie z~oczekiwaniami,
z~reguły jest to spowodowane jedną wstawką blokującą kolejkę,
a być może nawet wszystkie kolejki wstawek.
\end{quote}

\bigskip
\noindent
Wyjaśniwszy trochę złożony problem umieszczania wstawek, przejdźmy do
omówienia kilku pozostałych rzeczy z~nimi związanych.

Za pomocą instrukcji:
%
\begin{command}
\ci{caption}\verb|{|\emph{tekst}\verb|}|
\end{command}
%
\noindent
wstawiamy tytuł rysunku lub tabeli. Kolejny numer rysunku/tabeli
oraz słowo ,,Rysunek'' i~,,Tabela'' (lub ,,Tablica'' -- w~zależności od
tego, z~jakiego pakietu polonizacyjnego korzystamy) zostaną wstawione
automatycznie.

Następujące instrukcje:
%
\begin{command}
\ci{listoffigures} oraz \ci{listoftables}
\end{command}
%
\noindent
działają w~sposób analogiczny do instrukcji \verb|\tableofcontents|,
wstawiając do dokumentu odpowiednio spis rysunków oraz spis tabel.
Poszczególnymi pozycjami w~tych spisach będą
tytuły rysunków bądź tabel, podane jako argumenty instrukcji
\verb+\caption+. Jeżeli tytuły są długie, to do spisu można
przesłać ich wersje skrócone, umieszczając je jako opcjonalny argument
instrukcji \verb+\caption+:
%
\begin{code}
\verb|\caption[Short]{LLLLLoooooonnnnnggggg}|
\end{code}
%
Odsyłacze do tabel i~rysunków
należy tworzyć za pomocą instrukcji \verb|\label| oraz \verb|\ref|.

\begin{TPextension}
Polecenie \verb|\label| należy umieszczać bezpośrednio \emph{za}
instrukcją \verb|\caption|. Dobrym pomysłem jest też umieszczenie jej
wewnątrz argumentu instrukcji \verb|\caption| (na przykład 
na końcu tytułu rysunku czy tabeli).
Niektórzy użytkownicy błędnie sądzą, że wystarczy umieścić instrukcję
\verb|label| wewnątrz środowiska \verb+figure+ czy \verb+table+, gdy
tymczasem umieszczenie jej przed poleceniem \verb|\caption| spowoduje
błędy w~numerach odsyłaczy.
\end{TPextension}

W~kolejnym przykładzie wstawka zawiera prostokąt o~wymiarach 5~cm
$\times$ 5~cm. Ten sposób postępowania można wykorzystać w~celu
zarezerwowania miejsca na rysunki, które zostaną wklejone później -- do
gotowego, wydrukowanego dokumentu.
%
\begin{code}
\begin{verbatim}
Rysunek~\ref{white} jest przykładem Pop-Artu.
\begin{figure}[!hbp]
\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}}
\caption{Pięć na pięć centymetrów\label{white} }
\end{figure}
\end{verbatim}
\end{code}
%
\noindent
W~powyższym przykładzie\footnote{Zakładając, że kolejka rysunków jest
  pusta.} {\LaTeX} najpierw spróbuje umieścić rysunek bez przesuwania
go dokądkolwiek (\texttt{h}). Jeżeli okaże się to niemożliwe,
spróbuje umieścić go na dole strony (\texttt{b}). Jeżeli i~to okaże
się niewykonalne, będzie się starał umieścić rysunek na stronie
zawierającej wyłącznie wstawki (\texttt{p}). Jeżeli w~kolejkach
rysunków i~tabel nie ma wstawek pozwalających wypełnić stronę
\LaTeX{} rozpocznie nową stronę i~spróbuje umieścić na niej rysunek
traktując go znowu tak, jakby właśnie pojawił się w~tekście.

Czasami może okazać się niezbędne wykonanie instrukcji:
%
\begin{command}
\ci{clearpage} albo nawet \ci{cleardoublepage}
\end{command}
%
\noindent
W~wyniku jej zadziałania 
{\LaTeX} umieszcza w~dokumencie wszystkie oczekujące w~kolejkach wstawki, 
a~następnie rozpoczyna skład od nowej strony.
W~przypadku użycia instrukcji \ci{cleardoublepage} {\LaTeX}
rozpoczyna od stronie nieparzystej.

W~dalszej części tego wprowadzenia przedstawimy, jak
można dołączać do \LaTeX-owego dokumentu rysunki w~formacie
PostScript (por.~\ref{eps:incl}).

\section {Listy}
\begin{TPextension}
\noindent
Do pisania listów można wykorzystać 
klasę \verb+letter+\index{klasa!letter}. Struktura pliku
źródłowego w~przypadku listów oczywiście różni się od
dokumentów z~klasy \verb+article+ czy \verb+book+. Klasę
\verb+letter+ zaprojektowano tak, że bezproblemowo możemy napisać
pojedynczy list do przysłowiowej ,,cioci'', jak i~setki listów 
do różnych osób (korespondencja seryjna).

Jeśli imię, nazwisko i~adres nadawcy mają być
identyczne we wszystkich listach, to deklarujemy je za pomocą
polecenia (instrukcja \ci{\bs} oznacza złamanie wiersza):
%
\begin{code}
\verb+\address{+\emph{imię}\verb+\\+\emph{nazwisko}\verb+\\+
\emph{adres\dots}\verb+}+
\end{code}
%
\noindent
Polecenie \ci{signature} służy do zadeklarowania podpisu pod listem.
Wewnątrz argumentu polecenia \ci{signature} instrukcja \ci{\bs} służy
do rozpoczęcia nowego wiersza, przykładowo:
%
\begin{example}
Dyr. E.~K.~Tor,\\ Przewodniczący
Zastępcy
\end{example}
%
\noindent
Data jest wstawiana automatycznie. Jeżeli chcemy wstawić inną, należy
zastosować deklarację \verb|\date|:
%
\begin{code}
\verb+\date{16 Czerwca 1963~r.}+
\end{code}
%
\noindent

\noindent
Deklaracje \verb+\address+, \verb+\signature+ oraz \verb+\date+ zwykle
umieszcza się w~preambule, ale mogą także wystąpić w~części
zasadniczej pliku źródłowego.

Treść listu powinniśmy wpisać wewnątrz środowiska \ei{letter}.
Środowisko to ma jeden argument, którym jest adres osoby, do której
piszemy. Wewnątrz środowiska \ei{letter} można skorzystać z~kilku
prostych poleceń służących do umieszczania w~odpowiednim miejscu
elementów typowego listu\footnote{Elementy nietypowe zawsze można
  umieścić,  korzystając z~innych poleceń 
  poznanych w~tym rozdziale.}.
Do złożenia nagłówka listu wykorzystujemy polecenie \ci{opening}, a~do
zakończenia listu -- polecenie \ci{closing}. 
Ponadto są jeszcze polecenia \ci{ps}, do
wstawienia \emph{post scriptum}, oraz \ci{cc}, które służy do
zdefiniowania wykazu osób, które dostaną kopię listu.

Oto pełny przykład listu:
%
\begin{code}
\verb+\documentclass{letter}+\\
\verb+\usepackage{polski}+\\
\verb+\usepackage[latin2]{inputenc}+\\
\verb+\address{Dyr. E.~K.~Tor,\\ Przewodniczący Zastępcy\\+\\
\verb+ Firma z~o.o.\\ w/m}+\\
\verb+\signature{E.~.K.~Thor}+\\
\verb+\begin{document}+\\
\verb+% pierwszy list+\\
\verb+\begin{letter}{Henryk Potrykus\\ul.~Krótka\\Puck}+\\
\verb+\opening{Szanowny Panie}+\\
\verb+Z~przykrością zawiadamiam, że pańskie podanie+\\
\verb+zostało...+\\
\verb+\closing{Z~poważaniem}+\\
\verb+\cc{cc: Józef Wujke}+\\
\verb+\end{letter}+\\
\verb+ +\\
\verb+% drugi list+\\
\verb+\begin{letter}{Zofia Potrykus\\ul.~Szkolna\\Reda}+\\
\verb+\opening{Szanowa Pani}+\\
\verb+W~odpowiedzi na pani pismo...+\\
\verb+...+\\
\verb+\end{letter}+\\
\verb+\end{document}+
\end{code}
%
\end{TPextension}

\endinput
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "lshort2e"
%%% En










