%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Typesetting Part of LaTeX2e Introduction
% $Id$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Składanie tekstu}

\begin{intro}
  Po lekturze poprzedniego rozdziału znasz już podstawy tego jak tworzony jest
  \LaTeXe{}owy dokument. W tym rozdziale Twoja wiedza wzbogaci się
  o informacje niezbędne do tworzenia dokumentów z prawdziwego zdarzenia.
\end{intro}

\section{Struktura tekstu i języka}
\secby{Hanspeter Schmid}{hanspi@schmid-werren.ch} Głównym zadaniem
słowa pisanego jest przekaz myśli, informacji lub wiedzy. Nadanie
zapisowi odpowiedniej struktury pomaga czytelnikowi lepiej zrozumieć
przekazywane treści. Skład typograficzny może czytelnikowi tę
logiczną i semantyczną strukturę tekstu przybliżyć.

\LaTeX{} tym się różni od innych systemów składu, że do złożenia
tekstu wystarcza mu znajomość logicznej i semantycznej struktury
tekstu. Postać typograficzna jest wyprowadzana na podstawie ,,reguł''
zawartych w klasie dokumentu i plikach ze stylami.

Najważniejszą jednostką podziału tekstu w \LaTeX{}u (a także w
typografii) jest akapit. Jest to ,,jednostka podziału'' głównie
dlatego, że według wszelkich kanonów sztuki typograficznej treść
akapitu powinna być poświęcona jednej spójnej myśli lub pojęciu. Tak
więc, gdy zaczyna się nowa myśl, powinien się zacząć nowy akapit.
Kontynuacja dotychczasowej myśli w nowym akapicie jest błędem.
Niezgodne z regułami sztuki jest też pojawienie się w tym samym
akapicie całkowicie nowej myśli. W następnym punkcie omówimy
instrukcje nakazujące \LaTeX{}owi złamanie linii bez rozpoczynania
nowego akapitu, na przykład poleceniem \verb|\\|, a także sposób
rozpoczęcia nowego akapitu, na przykład przez umieszczenie w kodzie
źródłowym pustej linii.

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 (szczególnie w \LaTeX{}u) kończy akapit,
nawet o tym nie wiedząc. Błąd taki łatwo popełnić zwłaszcza w tekście
z równaniami. 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 punktu i przeczytać go jeszcze raz.)

\begin{code}
\begin{verbatim}
% Przykład 1
\ldots gdy Einstein wprowadził swoje równanie 
\begin{equation}
e = m \cdot c^2 \; ,
\end{equation}
które jest też najbardziej znanym, ale też
najmniej rozumianym równaniem w fizyce.


% Przykład 2
\ldots z czego wynika pierwsze prawo Kirchhoffa:
\begin{equation}
\sum_{k=1}{n} I_k = 0 \; .
\end{equation}

Drugie prawo Kirchhoffa może być wyprowadzone z\ldots


% Przykład 3
\ldots co ma wiele zalet.

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

Mniejszą od akapitu jednostką podziału tekstu jest zdanie. W tekstach
anglojęzycznych odstęp po kropce kończącej zdanie jest większy od
odstępu 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łki 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 nawet fragmentów zdań. Wiele
języków ma bardzo skomplikowaną interpunkcję, ale w większości
wypadków (wliczając angielski i niemiecki) stawiając przecinek w
określonym miejscu w zdaniu, nie popełnimy na ogół błędu, pamiętając
o zasadzie, że przecinek oznacza krótką przerwę w wypowiedzi. Jeśli
nie masz pewności gdzie postawić przecinki spróbuj przeczytać zdanie
i brać wdech w każdym miejscu gdzie pojawia się przecinek. Jeśli
zrobienie tego wydaje się dziwne w danym miejscu to usuń tam
przecinek, a jeśli gdzieś odczuwasz potrzebę zrobienia wdechu (bądź
krótkiej pauzy) wstaw tam przecinek.

Wreszcie zbiory akapity w tekście powinny mieć narzuconą wyższą
hierarchię poprzez ustalenie rozdziałów, sekcji, podsekcji itd.
Jednakże efekt w składaniu przykładowo
\verb|\section{Struktura tekstu i języka}| są na tyle oczywiste, że
reguły ich użycia są łatwo zrozumiałe.

\section{Łamanie linii i łamanie stron}

\subsection{Wyjustowane akapity}

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

% TODO: Sprzeczne z https://www.typografia.info/podstawy/akapit. Sprawdzić.
%%<PLext>
% Zgodnie z~anglo-amerykańskimi zwyczajami typograficznymi {\LaTeX} nie
% wstawia wcięcia akapitowego bezpośrednio po tytułach rozdziałów,
% punktów itd. Polskie zwyczaje nakazują jednak rozpoczynanie także
% początkowych akapitów wcięciem. Efekt ten można osiągnąć przez
% dołączenie w preambule pakietu \pai{indentfirst}. W niniejszym
% tłumaczeniu nie stosujemy wcięć w początkowych akapitach, gdyż akurat
% pod tym względem bardziej nam się podobają zwyczaje anglosaskie.
%%</PLext>

W specjalnych przypadkach może być konieczne nakazanie \LaTeX{}owi
złamania linii w danym miejscu. Polecenie
\begin{lscommand}
  \ci{\bs} lub \ci{newline}
\end{lscommand}
\noindent rozpoczyna nową linię bez rozpoczynania nowego akapitu, a polecenie
\begin{lscommand}
  \ci{\bs*}
\end{lscommand}
\noindent zakazuje dodatkowo złamania strony (w miejscu złamania linii).
Z kolei instrukcja:
\begin{lscommand}
  \ci{newpage}
\end{lscommand}
\noindent rozpoczyna nową stronę.

Polecenia
\begin{lscommand}
  \ci{linebreak}\verb|[|\emph{n}\verb|]|,
  \ci{nolinebreak}\verb|[|\emph{n}\verb|]|,
  \ci{pagebreak}\verb|[|\emph{n}\verb|]|,
  \ci{nopagebreak}\verb|[|\emph{n}\verb|]|
\end{lscommand}
\noindent
oznaczają, odpowiednio: nakaz złamania wiersza, zakaz
złamania wiersza, nakaz złamania strony i zakaz złamania
strony (w miejscu ich wystąpienia w dokumencie). Opcjonalny argument
\emph{n}, o dopuszczalnej wartości od $0$ do $4$, określa stopień tego
nakazu (zakazu). Domyślna wartość $4$ to bezwarunkowy zakaz lub
nakaz złamania linii/strony. Wartość mniejsza od $4$ pozostawia
\LaTeX-owi swobodę zignorowania instrukcji, jeżeli skład otrzymany w
jej rezultacie byłby bardzo kiepskiej jakości.

Poleceń z grupy \verb|break| nie należy mylić z tymi z grupy
\verb|new|. Mimo otrzymania polecenia typu \verb|break| {\LaTeX}
stara się wyrównać wiersz do prawego marginesu 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.
% \footnote{Zagadka ta jest łatwa dla znających język angielski -- jest
% to polecenie \ci{newline}.}

%%<PLext>
% Jeżeli w~wierszu zakończonym instrukcją \ci{newline} jest zbyt mało
% tekstu, to {\LaTeX} nie wyrówna tego wiersza do prawego marginesu,
% lecz wstawi po tekście odpowiedni odstęp. Jeżeli zamiast \ci{newline}
% użyjemy \ci{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 umieszczenia między wyrazami zbyt dużych
% odstępów. Efekt ten \LaTeX{} sygnalizuje podczas przetwarzania
% dokumentu, wyświetlając komunikat:
% %
% \begin{code}
% \begin{verbatim}
% Underfull \hbox (badness 10000) in paragraph at lines 4--5
% \end{verbatim}
% \end{code}
% %
% Liczba po słowie \verb|badness| w tym komunikacie wskazuje, jak bardzo
% \LaTeX{}owi ,,nie podoba się'' złożony wiersz. Tutaj jest to maksymalna
% %%w \LaTeX{}u 
% negatywna ocena \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
% sobie zdawać sprawę, co one oznaczają.

% Oprócz wyżej wymienionych istnieją jeszcze w {\LaTeX}u instrukcje:
% %
% \begin{command}
% \ci{clearpage},
% \ci{cleardoublepage}
% \end{command}
% %
% \noindent
% Obydwie rozpoczynają skład nowej strony. Instrukcja \ci{cleardoublepage}
% działa tak jak \ci{clearpage}, z tym że rozpoczynana strona
% ma numer nieparzysty; w razie potrzeby tworzona jest strona pusta
% (wakatowa)\footnote{%
%  Mówiąc precyzyjnie zależy to od stanu opcji \popti{openright}/\popti{openany},
%  w szczególności w klasie ,,article''
%  \ci{cleardoublepage} domyślnie 
%  działa tak jak \ci{clearpage}.\label{fnt:clrdblpg}}.
%  %% 
% W trybie składu dwułamowego (opcja \popti{twocolumn})
% instrukcja \ci{newpage} kończy łam, natomiast \ci{clearpage}
% oraz \ci{cleardoublepage} kończą stronę, pozostawiając w razie
% potrzeby pusty prawy łam.

% Jeżeli na stronie zakończonej instrukcją \ci{newpage} albo
% \ci{clearpage} jest zbyt mało tekstu, to {\LaTeX} wstawia odpowiedni
% odstęp u dołu strony, wypełniający pozostałą cześć kolumny.
% W wypadku polecenia \ci{pagebreak} {\LaTeX} wyrównuje zawartość
% kolumny do dolnego brzegu, wstawiając odstępy pomiędzy akapitami lub
% innymi elementami na stronie.  Jeżeli wstawione odstępy okazują się za
% duże, co zdarza się dość często, to podczas przetwarzania dokumentu
% generowane jest odpowiednie ostrzeżenie, na przykład:
% %
% \begin{code}
% \begin{verbatim}
% Underfull \vbox (badness 10000) has occurred
% while \output is active [7]
% \end{verbatim}
% \end{code}
% %
% W powyższym komunikacie (z uwagi na wąskość szpalty przełamanym 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.
%%</PLext>

\LaTeX{} zawsze stara się znaleźć najlepszy podział akapitu na
wiersze. Kiedy nie potrafi znaleźć podziału, który spełnia jego
wysokie wymagania jakościowe, pozwala wtedy niektórym wyrazom
wystawać na prawy margines. Będzie on wtedy narzekał komunikatem
,,\wi{overfull hbox}'' podczas przetwarzania pliku źródłowego. Zdarza
się tak gdy \LaTeX{} nie może znaleźć dobrego miejsca na podzielenie
słowa\footnote{Pomimo tego, że \LaTeX{} wyświetla ostrzeżenie gdy tak
  się dzieje, a wraz z nim problematyczny wiersz, nie zawsze jest łatwo
  znaleźć dokładne miejsce. Jeśli użyjesz opcji \texttt{draft} w
  poleceniu \ci{documentclass} to wiersze te będą oznaczone grubą
  czarną linią na prawym marginesie.}. Aby poinstruować \LaTeX{}a by
obniżył swoje standardy możesz użyć polecenia \ci{sloppy}. Zapobiega
ono zbyt długim wierszom poprzez zwiększenie odstępu między wyrazami
-- nawet jeśli ostateczny rezultat nie jest najlepszy. W takim
przypadku otrzymamy ostrzeżenie ,,\wi{underfull hbox}''. W większości
przypadków rezultat nie wygląda wtedy najlepiej. Aby przywrócić
\LaTeX{}a do oryginalnego zachowania należy użyć polecenia
\ci{fussy}.

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

W razie potrzeby {\LaTeX} przenosi (dzieli) wyrazy. Jeżeli algorytm
podziału nie znajdzie poprawnych miejsc przenoszenia wyrazu, to można
je wskazać poleceniem
\begin{lscommand}
  \ci{hyphenation}\verb|{|\emph{lista słów}\verb|}|
\end{lscommand}
\noindent które sprawia, że słowa z listy można dzielić wyłącznie w miejscach
oznaczonych znakiem \verb|-|. Argumenty tego polecenia powinny
składać się wyłącznie z liter, lub dokładniej z rzeczy które \LaTeX{}
uważa za litery. Wskazówki dzielenia wyrazów są zapisywane dla języka
aktywnego w momencie gdy polecenie jest użyte. Oznacza to, że jeśli
użyjesz go w preambule to wpłynie to na język angielski. Jeśli
wstawisz je po \verb|\begin{document}| i korzystasz z jakiegoś
pakietu do wspierania innych języków, takiego jak \pai{polyglossia},
to zasady dzielenia będą dodane w języku aktywowanym przez ten
pakiet.

Poniższy przykład pozwoli na dzielenie wyrazu ,,dzielenie'' oraz
,,Dzielenie'' oraz zabroni dzielenia wyrazów ,,FORTRAN'', ,,Fortran''
i ,,fortran''. Specjalne znaki i symbole nie są dozwolone w
argumencie polecenia.

Przykład:
\begin{code}
\verb|\hyphenation{FORTRAN Dzie-le-nie}|
\end{code}

% Polish Polyglossia changes the "-" character to allow splithyphens which
% results in an error when it is read in index
Polecenie \ci{-{}} wstawia nieobowiązkowy podział w wyrazie. Staje
się on jednocześnie jedynym możliwym miejscu podziału w tym wyrazie.
Jest ono szczególnie przydatne w słowach zawierających specjalne
znaki (np. z akcentami), ponieważ \LaTeX{} nie łamie automatycznie
takich słów.
%\footnote{Unless you are using the new
%\wi{DC fonts}.}.
% TODO: Sprawdzić aktualność.

\begin{example}
Na moście tańczy kon\-stan\-%
ty\-no\-po\-li\-tań\-czy\-%
ko\-wia\-necz\-ka
\end{example}

Kilka słów może być utrzymane razem przy użyciu komendy
\begin{lscommand}
  \ci{mbox}\verb|{|\emph{tekst}\verb|}|
\end{lscommand}
\noindent Wymusza ona by jej argumenty były w jednej
linii niezależnie od sytuacji.

\begin{example}
Numer mojego nowego telefonu
to \mbox{0116 291 2319}.

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

Polecenie \ci{fbox} jest podobne do \ci{mbox}, z tym że dodatkowo
dookoła zawartości rysuje ramkę.

\section{Predefiniowane napisy}

W przykładach na poprzednich stronach pojawiło się kilka prostych
instrukcji \LaTeX{}a do składania krótkich napisów.

\vspace{2ex}

\noindent
\begin{tabular}{@{}lll@{}}
  Polecenie   & Przykład & Opis                        \\
  \hline
  \ci{today}  & \today   & Bieżąca data                \\
  \ci{TeX}    & \TeX     & Twój ulubiony system składu \\
  \ci{LaTeX}  & \LaTeX   & Sedno sprawy                \\
  \ci{LaTeXe} & \LaTeXe  & Obecne jej wcielenie        \\
\end{tabular}

\section{Znaki specjalne i symbole}

\subsection{Cudzysłowy}

Znaku \verb|"| \emph{nie} używamy do wstawiania
cudzysłowu\index{cudzysłów} tak jak robi się to np. na maszynie do
pisania.

W publikacjach drukowanych różnie oznacza się początek i koniec
cudzysłowu. W \LaTeX{}u używa się podwójnych
znaków~\textasciigrave~(grawis) do otwarcia cudzysłowu i dwóch
znaków~\textquotesingle~(apostrof) do jego zamknięcia według
konwencji angielskiej. Dla wewnętrznych cudzysłowów używa się ich
pojedynczo.
\begin{example}
``Please press the `x' key.''
\end{example}
% What?
% Yes I know the rendering is not ideal, it's really a back-tick or
% grave accent (\textasciigrave) for opening quotes and vertical quote
% (\textquotesingle) for closing, despite what the font chosen might
% suggest.

%%<PLext>
W języku polskim cudzysłów otwierający oznacza się dwoma przecinkami
\verb+,,+$\,$, natomiast zamykający -- dwoma apostrofami \verb+''+%
% \footnote{Porównaj uwagi o tym sposobie oznaczania
%   cudzysłowów z punktu \ref{int-support} w części dotyczącej fontów i
%   ich kodowania (str. \pageref{fonty-kodowanie}). Dotyczy to 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 >>niemieckie<<'', oznaczane
w pliku źródłowym znakami, odpowiednio, większości \texttt{>>} i
mniejszości \texttt{<<}.
\begin{example}
,,Naciśnij przycisk >>x<<.''
\end{example}
% TODO: Sprawdzić
%%</PLext>


Nie oznacza to, że znak \verb|"| bezużyteczny. Jest on wykorzystywany na
przykłas do wstawienie umlauta. Będzie to opisane dokładniej w sekcji 2.4.9.

\subsection{Dashes and Hyphens}


\subsection{Pauzy}

\LaTeX{} zna cztery rodzaje ,,pauz'' (poziomych kresek)\index{pauza}.
Trzy z nich można uzyskać powtarzając znak pauzy z klawiatury.
Czwarty rodzaj nie jest tak naprawdę pauzą lecz znakiem minus:
\index{-} \index{--} \index{---} \index{-@$-$}
\index{matematyka!minus}

\begin{example}
Akademia Górniczo-Hutnicza\\
strony 13--67\\
--- Na pewno? --- spytała.\\
$0$, $1$ i $-1$
\end{example}
Formalne ich nazwy to: ,,-'' \wi{dywiz}, ,,--'' \wi{półpauza},
,,---'' \wi{pauza} i ,,$-$'' \wi{znak minus}.

%%<PLext>
% Łącznik (dywiz) jest najkrótszą z~kresek. Stosuje się go do dzielenia
% i~przenoszenia wyrazów oraz do łączenia wyrazów wieloczłonowych (np.
% ,,niebiesko-czarny''). Zgodnie z~polskimi regułami wyraz wieloczłonowy
% można podzielić i~przenieść albo w~obrębie wyrazów składowych, albo na
% łączniku. W~drugim z~tych przypadków łącznik należy powtórzyć, to
% znaczy powinien się on znaleźć 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ładu w~języku polskim korzystamy 
% z~zestawu \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 wypadkach łą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. 

% Półpauza to kreska o~połowę krótsza od myślnika. Stosuje się ją
% przede wszystkim w~zapisie 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''.
%  Półpauzę zapisuje
% się za pomocą dwóch następujących po sobie minusów~\texttt{--}.

% 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{---}$\,$. W~języku polskim należy przed i~po
% myślniku umieścić odstęp, inaczej niż w~krajach anglosaskich,
% gdzie nie otacza się myślnika odstępami. Wiele osób uważa konstrukcję
% złożoną z~odstępu, myślnika i~kolejnego odstępu za zbyt wybijającą się
% w~składzie. Z~tychże estetycznych powodów często w~roli myślnika używa
% się ,,dwukreskowej'' półpauzy, i~takie właśnie podejście zastosowano
% w~niniejszym tłumaczeniu.

% We wzorach matematycznych, czyli wewnątrz trybu matematycznego,
% znak minusa uzyskujemy, pisząc zwyczajnie \texttt{-}$\,$. Przykładowo,
% zapis \verb|$-2$| daje w~składzie $-2$,
% podczas gdy \verb|-2| daje~-2.
%%</PLext>

%%<PLext>
% \subsection {Odstępy niełamliwe}

% Polskie zasady typograficzne nie pozwalają łamać akapitów
% z~pozostawianiem na końcu wierszy jednoliterowych spójników bądź
% przyimków. Przykładowo, w~zdaniu ,,Jan Kochanowski urodził się
% w~Czernolesie'' nieładnie na końcu wiersza wyglądałby przyimek ,,w''.

% Odstępy, na których nie wolno złamać wiersza, zaznacza się w~pliku
% źródłowym znakiem tyldy ,,\verb|~|'' zamiast zwykłym odstępem. Na
% przykład, aby w~powyższej sytuacji zapobiec przeniesieniu składu do
% nowego wiersza, 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 wewnątrz nich nie należy łamać na wiersze. Nie zawsze decyzja jest
% tak prosta jak w~wypadku wspomnianych spójników. Oto garść przykładów:
% %
% \begin{code}
% \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}
% \end{code}
% Ze względu na zależność od kontekstu obowiązek decydowania
% o~użyciu tyldy spada na użytkownika {\LaTeX}a.

%%<PLext>

\subsection{Tylda ($\sim$)}
\index{adres URL} W adresach internetowych często występuje znak
tyldy. W \LaTeX{}u można do jego uzyskania użyć instrukcji \verb|\~|,
ale wynik: \~{} nie jest chyba tym, czego oczekujemy. Lepiej zrobić
tak:

\begin{example}
http://www.rich.edu/\~{}bush \\
http://www.clever.edu/$\sim$demo
\end{example}

\subsection{Ukośnik (/)}
\index{Ukośnik} Aby wpisać ukośnik między dwoma słowami można użyć
tego znaku wprost, przykładowo \texttt{otwórz/zamknij}, ale sprawia
to, że \LaTeX{} traktuje oba wyrazy jako jeden, a co za tym idzie
wyłącza ich dzielenie. Może to doprowadzić do ostrzeżeń
,,\textenglish{overfull hbox}''. Aby temu zapobiec użyj \ci{slash},
przykładowo \verb|otwórz\slash zamknij|. Normalnego ukośnika używaj
jeśli chcesz wyrazić ułamki bądź jednostki, np. \texttt{5 MB/s}.
% TODO: siunitx

\subsection{Oznaczenie stopni \texorpdfstring{($\circ$)}{}}

Poniższy przykład ilustruje, jak w czystym \LaTeX{}u uzyskuje się
symbol stopni:
\begin{example}
Jest $-30\,^{\circ}\mathrm{C}$.
Niedługo zacznę nadprzewodzić.
\end{example}

Pakiet \pai{textcomp} udostępnia symbol stopni jako \ci{textdegree}
lub w połączeniu z literą C także jako \ci{textcelsius}.

\begin{example}
30 \textcelsius{} to
86 \textdegree{}F.
\end{example}

\subsection{Symbol waluty euro \texorpdfstring{(\officialeuro)}{}}

Pisząc dziś o pieniądzach, nie można się obejść bez symbolu euro.
Znak ten występuje w wielu współczesnych fontach. Po załadowaniu
pakietu \pai{textcomp} w preambule:
\begin{lscommand}
  \ci{usepackage}\verb|{textcomp}|
\end{lscommand}
użyj polecenia
\begin{lscommand}
  \ci{texteuro}
\end{lscommand}
aby go wpisać.

Jeśli używany font nie zawiera własnego symbolu euro albo nam się on
nie podoba, to mamy dwie dodatkowe możliwości: Pierwszą jest pakiet
\pai{eurosym}. Udostępnia on oficjalny znak euro:
\begin{lscommand}
  \ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}|
\end{lscommand}
Jeśli wolimy znak euro zgodny optycznie z fontem, to zastępujemy opcję
\texttt{official} opcją \texttt{gen}.

%If the Adobe Eurofonts are installed on your system (they are available for
%free from \url{ftp://ftp.adobe.com/pub/adobe/type/win/all}) you can use
%either the package \pai{europs} and the command \ci{EUR} (for a Euro symbol
%that matches the current font).
% does not work
% or the package
% \pai{eurosans} and the command \ci{euro} (for the ``official Euro'').

%The \pai{marvosym} package also provides many different symbols, including a
%Euro, under the name \ci{EURtm}. Its disadvantage is that it does not provide
%slanted and bold variants of the Euro symbol.

\begin{table}[!htbp]
  \caption{Torba pełna symboli euro} \label{eurosymb}
  \begin{lined}{10cm}
    \begin{tabular}{llccc}
      LM+textcomp      & \verb+\texteuro+            & \huge\texteuro     & \huge\sffamily\texteuro
                       & \huge\ttfamily\texteuro                                                        \\
      eurosym          & \verb+\euro+                & \huge\officialeuro & \huge\sffamily\officialeuro
                       & \huge\ttfamily\officialeuro                                                    \\
      $[$gen$]$eurosym & \verb+\euro+                & \huge\geneuro      & \huge\sffamily\geneuro
                       & \huge\ttfamily\geneuro                                                         \\
      %europs       &\verb+\EUR + & \huge\EURtm        &\huge\EURhv
      %                                                &\huge\EURcr\\
      %eurosans     &\verb+\euro+ & \huge\EUROSANS  &\huge\sffamily\EUROSANS
      %                                             & \huge\ttfamily\EUROSANS \\
      %marvosym     &\verb+\EURtm+  & \huge\mvchr101  &\huge\mvchr101
                                                  %                                               &\huge\mvchr101
    \end{tabular}
    \medskip
  \end{lined}
\end{table}

\subsection{Wielokropek (\texorpdfstring{\ldots}{...})}

W typowym piśmie maszynowym \wi{przecinek} oraz \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 między nimi będą zbyt małe. Do uzyskiwania
wielokropka\index{wielokropek} (trzech kropek) istnieje specjalna
komenda o nazwie

\begin{lscommand}
  \ci{ldots}
\end{lscommand}
\index{...@\ldots}

\begin{example}
Nie tak ..., lecz raczej tak:\\
Londyn, Tokio, Warszawa, \ldots
\end{example}

\subsection{Ligatury}

Niektóre kombinacje liter są składane nie poprzez postawienie dwóch
znaków obok siebie lecz przez wstawienie specjalnego znaku.
\begin{code}
{\large ff fi fl ffi\ldots}\quad
zamiast\quad {\large f\mbox{}f f\mbox{}i f\mbox{}l f\mbox{}f\mbox{}i \ldots}
\end{code}

Jeśli nam w danym przykładzie to przeszkadza to tak zwane
ligatury\index{ligatura} mogą być zabronione poprzez wstawienie
\ci{mbox}\verb|{}|pomiędzy dwoma rzeczonymi literami.

\begin{example}
Jak lepiej: geografii czy
geograf\mbox{}ii?
\end{example}

\subsection{Akcenty i znaki specjalne}

W \LaTeX{}u istnieją metody wstawiania znaków akcentowanych oraz
spotykanych w różnych językach znaków specjalnych. W
tabeli~\ref{accents} zestawiono instrukcje akcentów. Użyto ich do
litery ,,o'', ale można je również stosować do dowolnej innej litery.

W wypadku akcentów nad literami ,,i'' oraz ,,j'' należy znad tych
liter usunąć kropkę. Służą do tego instrukcje \verb|\i| i \verb|\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}}
      \mstA{\`o}   & \mstA{\'o}   & \mstA{\^o}    & \mstA{\~o}                    \\
      \mstA{\=o}   & \mstA{\.o}   & \mstA{\"o}    & \mstB{\c}{c}                  \\[6pt]
      \mstB{\u}{o} & \mstB{\v}{o} & \mstB{\H}{o}  & \mstB{\c}{o}                  \\
      \mstB{\d}{o} & \mstB{\b}{o} & \mstB{\t}{oo}                                 \\[6pt]
      \mstA{\oe}   & \mstA{\OE}   & \mstA{\ae}    & \mstA{\AE}                    \\
      \mstA{\aa}   & \mstA{\AA}                                                   \\[6pt]
      \mstA{\o}    & \mstA{\O}    & \mstA{\l}     & \mstA{\L}                     \\
      \mstA{\i}    & \mstA{\j}    & !`            & \verb|!`|    & ?` & \verb|?`|
    \end{tabular}
    \index{i@\i{} (,,i'' bez kropki)}
    \index{j@\j{} (,,j'' bez kropki)}%
    \index{ae@\ae}%
    \index{umlaut}%
    \index{grawis}%
    \index{akut}%
    \index{oe@\oe}%
    \bigskip
  \end{lined}
\end{table}

\section{Wsparcie dla innych języków}
\secby{Axel Kielhorn}{A.Kielhorn@web.de} \index{języki}%

Domyślnym językiem systemu \LaTeX{} jest język angielski. Aby składać
dokumenty w innym \wi{język}u \LaTeX{}a należy skonfigurować w trzech
miejscach:

\begin{enumerate}
  \item Wszystkie automatycznie wstawiane napisy\footnote{Takie jak ,,Spis
          treści'', ,,Rozdział'' itp.} muszą zostać zmienione.
  \item \LaTeX{} musi znać odpowiednie zasady dzielenia wyrazów dla danego
        języka.
  \item Zasady typograficzne charakterystyczne dla danego języka. Przykładowo
        w języku polskim spacje po kropce powinny być tej samej długości co
        między wyrazami (w angielskim są one nieco dłuższe).
\end{enumerate}

Co więcej wprowadzanie tekstu w danym języku przy użyciu poleceń
opisanych w tabeli~\ref{accents} może być nieco nieporęczne. Aby temu
zapobiec do niedawna trzeba było zagłębiać się w kodowania
specyficzne dla danego języka oraz fontów. W dzisiejszych czasach
nowe systemy \TeX{}a rozumieją już UTF-8, dzięki czemu problemy to
zostały w dużej mierze zażegnane.

Pakiet \pai{polyglossia}\cite{polyglossia} zastępuje wiekowy już
pakiet \pai{babel}. Zajmuje się on większością konfiguracji
specyficznych dla języka.

Pakiet \pai{fontspec}\cite{fontspec} obsługuje ładowanie fontów w
\hologo{XeLaTeX} i \hologo{LuaTeX}. Domyślnym fontem jest Latin
Modern Roman.

\subsection{Polyglossia w użyciu}

Zależnie od użytego silnika \TeX{} nieco inne polecenia są wymagane w
preambule aby poprawnie włączyć obsługę języków.
Rysunek~\ref{allinone} pokazuje w jaki sposób napisać preambułę by
działała ona w obu obsługiwanych silnikach.

\begin{figure}[!bp]
  \begin{lined}{10cm}
    \begin{verbatim}
\usepackage{iftex}
\ifXeTeX
   \usepackage{fontspec}
\else
   \usepackage{luatextra}
\fi
\defaultfontfeatures{Ligatures=TeX}
\usepackage{polyglossia}
\end{verbatim}
  \end{lined}
  \caption[Preambuła wszystko w jednym]{Preambuła wszystko w jednym
    obsługująca zarówno \hologo{LuaLaTeX} jak i \hologo{XeLaTeX}} \label{allinone}
\end{figure}

Główną przewagą silników ze wsparciem Unicode jest bezbolesna
integracja z językami które używają znaków spoza alfabetu łacińskiego
takich jak rosyjski czy grecki. Dzięki nim dokument można po prostu
pisać przy użyciu odpowiedniego alfabetu, nie martwiąc się o
kodowanie, a \TeX{} poprawnie je obsłuży.

Pisanie w innych językach również jest bardzo proste; wystarczy
wskazać języki w preambule. Poniższy przykład korzysta z pakietu
\pai{csquotes}, który generuje odpowiednie cudzysłowy dla danego
języka. Zwróć uwagę, że powinien być załadowany \emph{przed}
wsparciem języka. % Nieprawda

\begin{lscommand}
  \verb|\usepackage[autostyle=true]{csquotes}|\\
  \verb|\setdefaultlanguage{english}|\\
  \verb|\setotherlanguage{german}|
\end{lscommand}
%
Aby napisać akapit po niemiecku wystarczy użyć odpowiednie
środowisko:

\begin{example}
Tekst po polsku.
\begin{german}
Deutscher \enquote{Text}.
\end{german}
Więcej \enquote{tekstu}.
\end{example}

Jeśli potrzebujesz pojedynczego słowa w obcym języku możesz
skorzystać z polecenia \verb|\text|\emph{język}:

\begin{example}
Wiedziałaś, że
\textgerman{Gesundheit} jest
niemieckim słowem?
\end{example}

Może się to wydawać niepotrzebne jako, że jedyną zaletą jest poprawne
dzielenie wyrazów, jednak w przypadku bardziej egzotycznych języków
będzie to bardzo pomocne.

Czasami główny font użyty w dokumencie nie zawiera glifów, które są
wymagane w innym języku. Przykładowo Latin Modern nie zawiera liter z
cyrylicy. Najprostszym rozwiązaniem jest zdefiniowany fontu dla
danego języka. Za każdym razem gdy nowy język jest zmieniany
\pai{polyglossia} sprawdzi czy dany język ma zdefiniowany font. Jeśli
podoba ci się font Computer Modern, możesz wypróbować
\enquote{Computer Modern Unicode} dodając następujące polecenia do
preambuły.

\medskip\noindent W \hologo{LuaLaTeX} jest to całkiem proste
\begin{verbatim}
\setmainfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\end{verbatim}
\noindent W \hologo{XeLaTeX} jest nieco więcej pisania:
\begin{verbatim}
\setmainfont{cmun}[
   Extension=.otf,UprightFont=*rm,ItalicFont=*ti,
   BoldFont=*bx,BoldItalicFont=*bi,
 ]
 \setsansfont{cmun}[
   Extension=.otf,UprightFont=*ss,ItalicFont=*si,
   BoldFont=*sx,BoldItalicFont=*so,
 ]
 \setmonofont{cmun}[
   Extension=.otf,UprightFont=*btl,ItalicFont=*bto,
   BoldFont=*tb,BoldItalicFont=*tx,
 ]
\end{verbatim}

Z załadowanymi fontami możesz teraz napisać:

\begin{example}
\textrussian{Правда} jest
rosyjską gazetą.
\textgreek{ἀλήθεια} oznacza prawdę
bądź objawienie w filozofii.
\end{example}

Pakiet \pai{xgreek}\index{Greka}\cite{xgreek} pomaga pisać w pisaniu
zarówno starożytnego jak i nowoczesnego (monotonicznego i
politonicznego) greckiego.

\subsubsection{Języki piszące od prawa do lewa (RTL)}

Niektóre języki są pisane od lewa do prawa, inne od prawa do lewa.
\pai{polyglossia} potrzebuje pakietu
\pai{bidi}\cite{bidi}\footnote{\texttt{bidi} nie wspiera
  \hologo{LuaTeX}.} by wspierać te drugie. Pakiet \pai{bidi} powinien
być ostatnim załadowanym pakietem, nawet po \pai{hyperref}, które
zwykle jest ostatnie. (Ponieważ \pai{polyglossia} ładuje \pai{bidi}
oznacza to, że \pai{polyglossia} powinna być ładowana jako ostatnia.)

Pakiet \pai{xepersian}\index{perski}\cite{xepersian} pozwala na
wsparcie dla języków perskich. Dostarcza on zlokalizowane komendy
takie jak \verb|\section| w języku perskim dzięki którym \LaTeX{}
jest łatwiejszy do opanowania dla znających język. \pai{xepersian}
jest jedynym pakietem pozwalającym na pisanie kashida\index{kashida}
w \hologo{XeLaTeX}. Pakiet dla Syriac korzystający z podobnego
algorytmu jest w trakcie rozwoju.

Font IranNastaliq dostarczany przez SCICT\footnote{Supreme Council of
  Information and Communication Technology} jest dostępy na ich stronie
\url{http://www.scict.ir/Portal/Home/Default.aspx}.

Pakiet \pai{arabxetex}\cite{arabxetex} wspiera wiele języków
korzystających z alfabetu arabskiego:

\begin{itemize}
  \item arab (Arabski)\index{arabski}
  \item persian\index{perski}
  \item urdu\index{Urdu}
  \item sindhi\index{Sindhi}
  \item pashto\index{Pashto}
  \item ottoman (turecki)\index{Ottoman}\index{turecki}
  \item kurdish (kurdyjski)\index{kurdyjski}
  \item kashmiri\index{Kashmiri}
  \item malay (jawi)\index{Malay}\index{Jawi}
  \item uighur\index{Uighur}
\end{itemize}

Zawiera on mapowanie fontu pozwalające \hologo{XeLaTeX}owi na
przetwarzanie wejścia napisanego przy użyciu Arab\TeX{}owej
transkrypcji ASCII.

Fonty wspierające języki arabskie są oferowane przez
IRMUG\footnote{Iranian Mac User Group} na
\url{http://wiki.irmug.org/index.php/X_Series_2}.

Nie istnieje osobny pakiet dla języka hebrajskiego\index{hebrajski},
ponieważ nie jest potrzebny. Wsparcie dla hebrajskiego w
\pai{polyglossia} powinno być wystarczające. Potrzebny jest jednak
odpowiedni font ze wsparciem dla hebrajskiego Unicode. SBL Hebrew
jest darmowym fontem do celów niekomercyjnych i dostępna na
\url{http://www.sbl-site.org/educational/biblicalfonts.aspx}. Innym
fontem dostępnym na licencji Open Font License jest Ezra SIL dostępna
na
\url{http://www.sil.org/computing/catalog/show_software.asp?id=76}.

Pamiętaj o wybraniu odpowiedniego scriptu:

\begin{lscommand}
  \verb|\newfontfamily\hebrewfont[Script=Hebrew]{SBL Hebrew}| \\
  \verb|\newfontfamily\hebrewfont[Script=Hebrew]{Ezra SIL}|
\end{lscommand}

\subsubsection{Chiński, japoński i koreański (CJK)}
\index{chiński}\index{japoński}\index{koreański}

Pakiet \pai{xeCJK}\cite{xecjk} zajmie się wybraniem fontów oraz
zasadami interpunkcji tych języków.

\section{Odstępy między wyrazami}

Aby wyrównać prawy margines, \LaTeX{} wstawia między słowami 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.
% TODO: Notka o frenchspacing w polsce
\LaTeX{} zakłada, że zdania mogą się kończyć kropką, znakiem
zapytania lub wykrzyknikiem. Jeżeli bezpośrednio przed kropką
znajduje się wielka litera, to \LaTeX{} nie traktuje takiego miejsca
jako końca zdania, lecz jako kropkę po skrócie.

Wyjątki od powyższych zasad trzeba wyraźnie zaznaczyć w tekście. Znak
\verb|\| poprzedzający spację oznacza odstęp normalnej wielkości.
Tylda \verb|~| również wstawia taki odstęp, z tym że \LaTeX{}owi nie
wolno na nim złamać wiersza. Umieszczenie instrukcji \verb|\@| przed
kropką jest dla \LaTeX{}a wskazówką, że ta kropka kończy zdanie,
nawet jeśli następuje po dużej literze. \cih{"@} \index{~@ \verb.~.}
\index{tylda@tylda (\verb.~.)} \index{., (spacja po)} %W-tył-ciach

\begin{example}
J.~Kowalska ucieszyła
się na jej widok zob.~Rys.~5\\
Podoba mi się BASIC\@. A tobie?
\end{example}

% TOOD: notka o polskim
Dodatkowa spacja po kropkach może zostać wyłączona przy użyciu
polecenia
\begin{lscommand}
  \ci{frenchspacing}
\end{lscommand}
\noindent która instruuje \LaTeX{}a, aby \emph{nie} wstawiał większej spacji po kropce niż po innym wyrazie. Jeśli użyjesz polecenia
\ci{frenchspacing}, to instrukcja \verb|\@| nie jest potrzebna.

\section{Tytuły, rozdziały i sekcje}

Podzielenie dokumentu na rozdziały, sekcje, podsekcje itd. pomaga
czytelnikom lepiej orientować się w tekście. Do dzielenia dokumentu
na hierarchiczne części służą odpowiednie instrukcje \LaTeX{}owe
przyjmujące nazwę sekcji jako argument. Do autora należy używanie
tych poleceń w odpowiednim porządku.

W klasie \texttt{article} mamy do dyspozycji następujące instrukcje
podziału hierarchicznego: \nopagebreak

\begin{lscommand}
  \ci{section}\verb|{...}|\\
  \ci{subsection}\verb|{...}|\\
  \ci{subsubsection}\verb|{...}|\\
  \ci{paragraph}\verb|{...}|\\
  \ci{subparagraph}\verb|{...}|
\end{lscommand}

Jeśli chcesz podzielić dokument na części bez naruszania numeracji
sekcji, to można użyć polecenia:
\begin{lscommand}
  \ci{part}\verb|{...}|
\end{lscommand}

W klasach \texttt{report} (raport) i \texttt{book} (książka)
występuje dodatkowo polecenie tworzące rozdziały:
\begin{code}
\ci{chapter}\verb|{...}|
\end{code}

Ponieważ w klasie \texttt{article} najwyższą jednostką w hierarchii
podziału jest \ci{section} (czyli \emph{sekcja\/}), ł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.

Dwie instrukcje podziału 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 ma argumentów. Jest to deklaracja
        zmieniająca sposób numerowania z cyfr na litery. Dotyczy to
        rozdziałów w klasach \verb+book+ i \verb+report+\footnote{W klasie
          \texttt{article} zmienia numerowanie sekcji}.
\end{itemize}

\LaTeX{} tworzy spis treści przy użyciu tytułów sekcji i numerów
stron z poprzedniego etapu kompilacji. Instrukcja:
\begin{lscommand}
  \ci{tableofcontents}
\end{lscommand}
\noindent wstawia spis treści w miejscu jej użycia. Aby w spisie treści
otrzymać poprawne numery stron, trzeba dokument przetworzyć
(,,zlatechować'') dwukrotnie aby zadziałała poprawnie. Czasami niezbędna jest nawet trzecia
kompilacja. Kolejny przebieg jest potrzebny, gdy pod koniec
przetwarzania dokumentu \LaTeX{} ostrzeże Cię wówczas odpowiednim komunikatem.
% \begin{code}
% \begin{verbatim}
% LaTeX Warning: Label(s) may have changed.
% Rerun to get cross-references right.
% \end{verbatim}
% \end{code}

%%<PLext>
% \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 -- w~celu ich wykorzystania podczas kolejnych przebiegów.

% Przeznaczenie danego pliku pomocniczego jest sygnalizowane przez
% rozszerzenie jego nazwy. I tak: plik o~rozszerzeniu \eei{.toc} zawiera
% spis treści, plik~\eei{.lot} -- spis tabel, plik~\eei{.lof} -- spis
% rysunków, \eei{.aux} -- informacje o~odsyłaczach wewnątrz dokumentu
% (odsyłacze omawiamy w~punkcie~\ref{sec:odsylacze}). Pełniejszy wykaz
% nazw plików \LaTeX{}owych podano w~punkcie~\ref{sec:latex-files}
% na stronie \pageref{sec:latex-files}.
%%</PLext>

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 punktu zostanie umieszczony w dokumencie, ale nie w spisie
treści; tytuł nie zostanie też objęty numeracją. Przykładowo, wersją
,,z gwiazdką'' instrukcji \verb|\section{Pomoc}| jest
\verb|\section*{Pomoc}|.

%%<PLext>
% Zwyczajem angielskim jest nieumieszczanie nienumerowanych śródtytułów
%   w~spisie treści. Polscy redaktorzy często się domagają, by na przykład
%   ,,Wstęp'' był śródtytułem nienumerowanym, a~jednocześnie występował
%   w~spisie. Ten problem rozwiązujemy za pomocą polecenia:
% \begin{command}
%   \ci{addcontentsline}\verb.{.\emph{spis}\verb.}{.\emph{poziom}\verb.}{.\emph{śródtytuł}\verb.}. 
% \end{command}
%  %
% \noindent
% gdzie: \emph{spis} to rozszerzenie nazwy pliku, w~którym ma zostać
% zapisana informacja, \emph{poziom} to \texttt{chapter}, \texttt{section}
% bądź inna nazwa polecenia hierarchicznego, a~\emph{śródtytuł} to sam
% śródtytuł. Przykład:
%  %
% \begin{code}
% \begin{verbatim}
% \chapter*{Wstęp}
% \addcontentsline{toc}{chapter}{Wstęp}
% \end{verbatim}
% \end{code}
%%</PLext>

Najczęściej hasła w spisie treści pokrywają się z tytułami rozdziałów
czy punktów. Czasami jednak nie jest to pożądane, na przykład
wówczas, gdy tekst hasła jest zbyt długi. W takich wypadkach hasło do
spisu treści można podać jako opcjonalny argument instrukcji podziału
hierarchicznego.

\begin{code}
\verb|\chapter[Krótki i ekscytujący rozdział]{To jest|\\
\verb| bardzo długi i wyjątkowo nudny rozdział}|
\end{code}

\LaTeX{} składa część tytułową dokumentu, napotkawszy instrukcję
\begin{lscommand}
  \ci{maketitle}
\end{lscommand}
\noindent Jej zawartość należy zdefiniować przy użyciu poleceń
\begin{lscommand}
  \ci{title}\verb|{...}|, \ci{author}\verb|{...}|
  oraz opcjonalnie \ci{date}\verb|{...}|
\end{lscommand}
\noindent przed jej wywołaniem. Aby umieścić kilku autorów w odpowiedniej
komendzie należy użyć polecenia \ci{and} do ich oddzielenia.

Przykłady użycia powyższych poleceń można znaleźć w
rysunku~\ref{document} na stronie~\pageref{document}.

W {\LaTeXe} istnieją trzy dodatkowe instrukcje dotyczące struktury
dokumentu, dostępne jednak wyłącznie w klasie \verb|book|. Są
użyteczne do podzielenia książki. Zmieniają one tytuły rozdziałów,
numeracje stron i działają tak jak można by się spodziewać w książce:
\begin{description}
  \item[\ci{frontmatter}] powinno być pierwszą poleceniem po rozpoczęciu
    dokumentu (\verb|\begin{document}|). Zmieni ono numerowanie stron na
    liczby rzymskie, a sekcje będą nienumerowane tak jak przy użyciu
    wersji z gwiazdką (np. \verb|\chapter*{Preface}|) jednak pojawią się
    one w spisie treści.
  \item[\ci{mainmatter}] powinno zostać wstawione przed pierwszym rozdziałem
    książki. Przełącza ona sposób oznaczania numerów stron na arabski,
    zerując zarazem licznik stron.
  \item[\ci{appendix}] oznacza rozpoczęcie dodatkowych materiałów w twojej
    książce. Po tym poleceniu rozdziały będą numerowane literami.
  \item[\ci{backmatter}] powinno wystąpić przed ostatnimi fragmentami
    książki, takim jak spis literatury albo skorowidz. Nie ma żadnych
    efektów wizualnych w standardowych klasach dokumentu.
\end{description}
% Powyższe instrukcje przydają się do podzielenia książki na część
% wstępną (obejmującą tytulaturę, spisy treści, tabel, 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 są w~notacji rzymskiej (co raczej
% odbiega od polskich zwyczajów typograficznych).

\section{Odsyłacze}

Książki, raporty i~artykuły często zawierają \wi{odsyłacze} do
rysunków, tabel i innych fragmentów tekstu. Z odsyłaczami związane są
w \LaTeX{}u następujące trzy instrukcje:
\begin{lscommand}
  \ci{label}\verb|{|\emph{etykieta}\verb|}|, \ci{ref}\verb|{|\emph{etykieta}\verb|}|
  and \ci{pageref}\verb|{|\emph{etykieta}\verb|}|
\end{lscommand}

\noindent Argument \emph{etykieta} jest ciągiem liter, cyfr lub
znaków interpunkcyjnych. Nazwy etykiet ustala sam autor. \LaTeX{}
zamienia \verb+\ref{+\emph{etykieta}\verb+}+ na numer tego rozdziału,
punktu, rysunku, tabeli czy też równania matematycznego, bezpośrednio
za którym umieszczona została instrukcja \ci{label} zawierająca
identyczną \emph{etykietę}. Instrukcja
\verb+\pageref{+\emph{etykieta}\verb+}+ działa identycznie jak
\ci{ref}, z tym że wstawia numer strony, na której znajduje się
element oznaczony etykietą\footnote{Warto pamiętać, że te instrukcje
  ,,nie wiedzą'', do czego tak naprawdę się odnoszą. Zadaniem
  instrukcji \ci{label} jest przechowanie związku wygenerowanej
  automatycznie liczby z miejscem w tekście.}. Podobnie jak w przypadku
spisu treści wykorzystywane są dane z poprzedniego cyklu 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}

% Podobnie jak w~wypadku spisów treści, tabel czy rysunków, do ustalenia
% właściwej numeracji odsyłaczy potrzebne są co najmniej dwie, a~z~reguły
% trzy kompilacje dokumentu. Podczas pierwszej \LaTeX{} wysyła do pliku
% pomocniczego z~rozszerzeniem \eei{.aux} (zob.
% punkt~\ref{sec:latex-files}) informacje o~odsyłaczach, które
% wykorzystuje podczas kolejnych kompilacji.

\section{Przypisy}
Przy użyciu polecenia
\begin{lscommand}
  \ci{footnote}\verb|{|\emph{tekst przypisu}\verb|}|
\end{lscommand}
\noindent drukowana jest notatka w stopce aktualnej strony. Przypisy powinny
być umieszczane bezpośrednio po zdaniu bądź wyrazie do którego się
odnoszą. 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\footnote{Zwróć uwagę, że przypisy odciągają uwagę od
  tekstu głównego. Jak wiemy wszyscy czytają przypisy, ponieważ
  jesteśmy ciekawskim gatunkiem. Dlaczego więc nie umieścić wszystkiego
  w głównym tekście dokumentu?\footnotemark}.
% TODO: nie rozumiem
% \footnotetext{A guidepost doesn't necessarily go where it's pointing to :-).}
\footnotetext{Drogowskaz niekoniecznie stawia się tam gdzie wskazuje
  :-).}

%%<PLext>
% \LaTeX{} numeruje przypisy automatycznie. Sposób ich numerowania zależy
% od używanej klasy. W~klasie \verb|article| numeracja jest
% ciągła, w~klasach \verb|report| i~\verb|book| przypisy są numerowane
% w~ramach rozdziałów.
%%</PLext>

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

\section{Wyróżnienia}

W tekstach pisanych na maszynie fragmenty, które mają zostać
\texttt{wyróżnione są \underline{podkreślone}}.
\begin{lscommand}
  \ci{underline}\verb|{|\emph{tekst}\verb|}|
\end{lscommand}
W dokumentach drukowanych wyróżnienie fragmentu odbywa się przez
złożenie go \emph{kursywą}. Jako autora nie powinno cię to jednak obchodzić. Ważne jest to, że dane słowo powinno zostać wyróżnione. Służy do tego \LaTeX{}owa instrukcja
\begin{lscommand}
  \ci{emph}\verb|{|\emph{tekst}\verb|}|
\end{lscommand}
\noindent To co faktycznie ona robi jest zależne od kontekstu:

\begin{example}
\emph{Jeśli użyjesz wyróżnienia
  w tekście napisanym kursywą
  to zostanie on wyróżniony
  przez zapisanie go
  \emph{zwykłym} krojem pisma.}
\end{example}

Jeśli jest to dla Ciebie za mało więcej informacji o kontrolowaniu
rozmiaru i stylu fontu znajdziesz w sekcji \ref{sec:fontsize} na
stronie \pageref{sec:fontsize}.

\section{Otoczenia (Środowiska)} \label{env}

% To typeset special purpose text, \LaTeX{} defines many different
% \wi{environment}s for all sorts of formatting:
\begin{lscommand}
  \ci{begin}\verb|{|\emph{otoczenie}\verb|}|\quad
  \emph{tekst}\quad
  \ci{end}\verb|{|\emph{otoczenie}\verb|}|
\end{lscommand}
\noindent Gdzie \emph{otoczenie} jest nazwą otoczenia które chcemy użyć.
Otoczenia mogą być zagnieżdżone w sobie pod warunkiem, że kolejność
zagnieżdżenia jest odpowiednia.
\begin{code}
\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}|
\end{code}

% Niedopuszczalne jest natomiast ,,przeplatanie'' otoczeń:
% %
% \begin{code}
% \verb|\begin{aaa}...\begin{bbb}...\end{aaa}...\end{bbb}|
% \end{code}
% % <PLext>
% % Otoczenie 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}+.

% % Tu od nowego akapitu!
% Wiele standardowych poleceń \LaTeX{}a można zapisać w~formie
% ,,otoczeniowej''. W~takich wypadkach nazwa polecenia (bez
% w-tył-ciacha) jest nazwą otoczenia.
% Na przykład, zamiast polecenia \ci{em}, włączającego
% wyróżniający krój pisma, możemy 
% zastosować otoczenie \verb+\begin{em}...\end{em}+.

\noindent W kolejnych sekcjach przedstawiamy częściej używane
otoczenia.

\subsection{Itemize, enumerate i description}

Otoczenie \ei{itemize} służy do tworzenia list punktowanych,
\ei{enumerate} do list numerowanych, a \ei{description} do wyliczania
definicji. W każdym z nich element wyliczenia zaczyna się od
instrukcji \cih{item}.

\begin{example}
\begin{enumerate}
\item Możesz zagnieżdżać 
otoczenia do woli:
\begin{itemize}
\item Ale może to wyglądać
nieco komicznie.
\item[-] Od pauzy.
\end{itemize}
\item Więc zapamiętaj:
\begin{description}
\item[Głupoty] nie staną 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{Flushleft, flushright i center}

W otoczeniach \ei{flushleft} i \ei{flushright} akapity są składane z
wyrównaniem, odpowiednio, do lewego bądź prawego
marginesu\index{wyrównanie!do lewej}\index{wyrównanie!do prawej}.
Wewnątrz otoczenia \ei{center} każdy wiersz akapitu jest
wyśrodkowany. Tak jak zawsze, \LaTeX{} dzieli akapity na wiersze
automatycznie, można jednak w obrębie powyższych otoczeń wymusić
zmianę wiersza poleceniem \ci{\bs}.

\begin{example}
\begin{flushleft}
To jest tekst\\
wyrównany do lewej.
\LaTeX{} nie składa tu wierszy\\
z zachowaniem 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{Quote, quotation i verse}

Otoczenie \ei{quote} przydaje się do składania cytatów oraz
przykładów.

\begin{example}
Jeżeli chodzi o długość wierszy,
to regułą kciuka jest, że:
\begin{quote}
Przeciętnie wiersz nie powinien
zawierać więcej niż 66 znaków.
\end{quote}
Dlatego w \LaTeX{}u standardowe
strony mają szerokie marginesy.
Dlatego też w gazetach stosuje
się druk wielołamowy.
\end{example}

Istnieją ponadto dwa otoczenia o podobnym zastosowaniu:
\ei{quotation} oraz \ei{verse}. Pierwsze z nich przydaje się do
formatowania cytatów dłuższych niż jeden akapit. W przeciwieństwie do
otoczenia \ei{quote}, wewnątrz \ei{quotation} \LaTeX{} rozpoczyna
poszczególne akapity od wcięcia akapitowego. Otoczenie \ei{verse}
służy do składania wierszy. Poszczególne linijki zwrotek należy
kończyć instrukcją \ci{\bs}, poszczególne zaś zwrotki -- oddzielać
pustą linią.

\begin{example}
Na pamięć znam tylko
jeden wierszyk o kotku.
\begin{flushleft}
\begin{verse}
Wlazł kotek na płotek i mruga,\\
piękna to piosneczka niedługa.\\

Wlazł kurek na murek i pieje;\\
niech się nikt z tych piosnek
nie śmieje.
\end{verse}
\end{flushleft}
\end{example}

\subsection{Streszczenie}

Publikacje naukowe zaczynają się zazwyczaj od streszczenia --
przeglądu tego, co czytelnik napotka w dalszej części. W \LaTeX{}u do
wyróżniania streszczeń służy otoczenie \ei{abstract}. Używa się go na
ogół w dokumentach klasy \texttt{article}.

\newenvironment{abstract} {%
  \begin{center}\begin{small}\begin{minipage}{0.8\textwidth}}%
        {\end{minipage}\end{small}\end{center}}
\begin{example}
\begin{abstract}
Streszczenie streszczenia.
\end{abstract}
\end{example}

\subsection{Pisanie dosłowne}

Tekst zawarty między \verb|\begin{|\ei{verbatim}\verb|}| a
\verb|\end{verbatim}| jest składany przez \LaTeX{}a dosłownie, czyli
tak, by wyglądał jak napisany na maszynie, z zachowaniem zmian
wiersza i odstępów z pliku źródłowego oraz ignorując polecenia
\LaTeX{}a.

Wewnątrz akapitów podobny wynik uzyskuje się za pomocą instrukcji
\begin{lscommand}
  \ci{verb}\verb|+|\emph{tekst}\verb|+|
\end{lscommand}
\noindent Znak \verb|+| jest tu tylko przykładowym znakiem ograniczającym.
Możesz użyć dowolnego znaku oprócz liter, \verb|*| i spacji.
Polecenie to jest często wykorzystywane w tej książce do
przedstawiania przykładów poleceń \LaTeX{}a.

\begin{example}
Polecenie \verb|\ldots| \ldots

\begin{verbatim}
10 PRINT "HELLO WORLD ";
20 GOTO 10
\end{verbatim}
\end{example}

\begin{example}
\begin{verbatim*}
wersja   z   gwiazdką
otoczenia verbatim
wyróżnia     spacje
w       tekście
\end{verbatim*}
\end{example}

Podobnie działa wersja polecenia \ci{verb}.

\begin{example}
\verb*|w ten   sposób :-) |
\end{example}

Otoczenie \texttt{verbatim} oraz polecenie \verb|\verb| nie mogą być
wykorzystywane jako argumenty innych poleceń.

\subsection{Tabular}

\newcommand{\mfr}[1]{\framebox{\rule{0pt}{0.7em}\texttt{#1}}}

Otoczenie \ei{tabular} służy do składania pięknych
tabel\index{tabele} z opcjonalnymi liniami poziomymi i pionowymi.
\LaTeX{} automatycznie ustala szerokość poszczególnych rubryk tabeli.

Argument \emph{specyfikacja tabeli} w poleceniu
\begin{lscommand}
  \verb|\begin{tabular}[|\emph{pozycja}\verb|]{|\emph{specyfikacja tabeli}\verb|}|
\end{lscommand}
\noindent definiuje format tabeli. Użyj \mfr{l} aby kolumna była była wyrównana
do lewej, \mfr{r} by była wyrównana do prawej, a \mfr{c} dla
wyśrodkowania. Z kolei \mfr{p\{\emph{szerokość}\}} wstawi kolumnę
wyjustowaną o zadanej szerokości. \mfr{|} wstawia linie pionowe.

Jeśli tekst kolumny jest zbyt długi, \LaTeX{} zawinie go
automatycznie tylko w przypadku użycia \mfr{p\{\emph{szerokość}\}}.
Kolumna ta będzie miała wówczas określoną szerokość, a tekst będzie
zawijany podobnie jak w akapitach.

Argument \emph{pozycja} definiuje pionowe położenie tabeli względem
linii tekstu. Użyj pozycji \mfr{t}, \mfr{b} oraz \mfr{c}, by ustawić
położenie odpowiednio względem góry, dołu oraz środka.

Wewnątrz otoczenia \texttt{tabular}, \texttt{\&} przechodzi do
następnej kolumny, \ci{\bs} rozpoczyna następny wiersz, a \ci{hline}
wstawia poziomą linię na całą długość tabeli. Możesz dodać częściowe
linie przy użyciu \ci{cline}\texttt{\{}$i$\texttt{-}$j$\texttt{\}},
gdzie $i$ i $j$ są numerami kolumn nad którymi powinna się ona
rozciągać. \index{"|@ \verb."|.}

\begin{example}
\begin{tabular}{|r|l|}
\hline
7C0 & szesnastkowo \\
3700 & ósemkowo \\ \cline{2-2}
11111000000 & dwójkowo \\
\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}

Instrukcją \mfr{@\{...\}} określamy odstęp między kolumnami.
Zastępuje ona domyślny odstęp międzykolumnowy treścią umieszczoną
między nawiasami klamrowymi. Jednym zastosowaniem jest wyrównanie
liczb względem przecinka, czego przykład pokazany jest poniżej. Można
ją także wykorzystać do usunięcia odstępów w pierwszej i ostatniej
kolumnie tabeli przy użyciu \mfr{@\{\}}.

\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
%

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 pakietu \pai{dcolumn} z zestawu ,,tools''.}, ale efekt
ten można %z możliwości %
%%osiągnąć, %% źle się składa 
uzyskać, składając liczbę w dwóch kolumnach: część całkowitą w
kolumnie wyrównywanej do prawego brzegu i część dziesiętną w kolumnie
wyrównanej do lewego. Za pomocą instrukcji \verb|@{,}| zastępujemy
przecinkiem odstęp wstawiany normalnie 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 poleceniem
\ci{multicolumn}: %% dzięki temu akapit skraca się o 1 wiersz

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

\begin{example}
\begin{tabular}{|c|c|}
\hline
\multicolumn{2}{|c|}{Ene due} \\
\hline
like & fake! \\
\hline
\end{tabular}
\end{example}

Tekst zawarty wewnątrz otoczenia \ei{tabular} zawsze jest na jednej
stronie. Jeśli chcesz złożyć długą tabelę, zobacz na pakiet
\pai{longtable}.

Czasami domyślne tabele w \LaTeX{}u wydają się nieco ciasne. Aby
zwiększyć nieco ich odstępy, ustaw \ci{arraystretch} oraz
\ci{tabcolsep} na większe wartości.

\begin{example}
\begin{tabular}{|l|}
\hline
Te linie\\\hline
są ciasne\\\hline
\end{tabular}

{\renewcommand{\arraystretch}{1.5}
\renewcommand{\tabcolsep}{0.2cm}
\begin{tabular}{|l|}
\hline
Mniej stłoczony\\\hline
układ tabeli\\\hline
\end{tabular}}

\end{example}

Jeśli chcesz zwiększyć rozmiar pojedynczego wiersza w tabeli dodaj
niewidzialną pionową linię\footnote{Profesjonalnie taki obiekt nazywa
  się \wi{strut}.}. Użyj \ci{rule} aby faktycznie to wykorzystać.

\begin{example}
\begin{tabular}{|c|}
\hline
\rule{1pt}{4ex}Pitprop \ldots\\
\hline
\rule{0pt}{4ex}Strut\\
\hline
\end{tabular}
\end{example}

\texttt{pt} oraz \texttt{ex} w powyższym przykładzie to jednostki
\TeX{}a. Możesz przeczytać o nich więcej w tabeli \ref{units} na
stronie \pageref{units}.

Kilka dodatkowych poleceń rozszerzających otoczenie \ei{tabular}
można znaleźć w pakiecie \pai{booktabs}. Ułatwia on tworzenie
profesjonalnie wyglądających tabeli z odpowiednimi odstępami.

\section{Wstawianie grafik i obrazów}\label{eps}

Jak wyjaśniono w poprzedniej sekcji, \LaTeX{} pozwala na pracę z
niesztywnymi elementami, takimi jak obrazki czy grafiki przy użyciu
otoczeń \texttt{figure} i \texttt{table}.

Solidnym zbiorem poleceń pozwalającym na dołączenie obrazków do
niesztywnych otoczeń jest pakiet \pai{graphicx} autorstwa
D.~P.~Carlisle. Należy on do rodziny pakietów o nazwie
,,graphics''\footnote{\CTAN|pkg/graphics|}.

Aby wstawić grafikę do dokumentu wystarczy podążyć za następującymi
krokami:

\begin{enumerate}
  \item Wyeksportuj obraz z Twojego programu graficznego do formatu EPS, PDF,
        PNG lub JPEG.
  \item Jeśli Twoja grafika jest w formacie wektorowym EPS to musisz najpierw
        skonwertować ją na PDF przed jej użyciem. Istnieje narzędzie
        \texttt{epstopdf} które służy do tego celu. Zwróć uwagę, że czasami
        eksport do EPS może być logicznym krokiem nawet gdy program potrafi
        eksportować do PDF, ponieważ PDF mają rozmiar strony, a pliki EPS
        mogą mieć mniejsze otoczenie, bardziej dopasowane do faktycznej
        grafiki. % TODO: Nieistotne?
  \item Dodaj pakiet \textsf{graphicx} do swojej preambuły przy użyciu
        polecenia
        \begin{lscommand}
          \verb|\usepackage{graphicx}|
        \end{lscommand}
  \item Użyj polecenia
        \begin{lscommand}
          \ci{includegraphics}\verb|[|\emph{klucz}=\emph{wartość}, \ldots\verb|]{|\emph{nazwa pliku}\verb|}|
        \end{lscommand}
        \noindent aby wstawić plik \emph{nazwa pliku} do twojego dokumentu. Opcjonalny argument to lista oddzielonych przecinkami \emph{kluczy} i przypisanym ich \emph{wartości}. Za jego pomocą można zmienić wysokość, szerokość oraz rotację grafiki. Tabela~\ref{keyvals} przedstawia najważniejsze klucze.
\end{enumerate}

\begin{table}[tb]
  \caption{Nazwy kluczy w pakiecie \textsf{graphicx}.}
  \label{keyvals}
  \begin{lined}{9cm}
    \begin{tabular}{@{}ll}
      \texttt{width}  & skaluje grafikę do wskazanej szerokości       \\
      \texttt{height} & skaluje grafikę do wskazanej wysokości        \\
      \texttt{angle}  & obraca grafikę przeciwnie do wskazówek zegara \\
      \texttt{scale}  & skaluje grafikę                               \\
    \end{tabular}

    \bigskip
  \end{lined}
\end{table}

Przykład kodu w rysunku~\ref{figureex} na stronie~\pageref{figureex}
przedstawia sposób użycia.
\begin{figure}
  \begin{lined}{9cm}
    \begin{verbatim}
\includegraphics[angle=90,width=\textwidth]{test.png}
\end{verbatim}
  \end{lined}
  \caption{Przykład kodu wstawiającego \texttt{test.png} w dokument.\label{figureex}}
\end{figure}
Wstawia on grafikę z pliku \texttt{test.png}. Grafika jest
\emph{najpierw} obracana o 90 stopni, a \emph{następnie}
przeskalowana do końcowej szerokości równej połowie szerokości
standardowego akapitu. Ponieważ wysokość nie jest podana, zostanie
ona automatycznie dobrana tak by nie zniekształcać obrazka. Argumenty
wysokości i szerokości mogą być podane również przy użyciu jednostek
absolutnych. Informacje o nich znajdziesz w tabeli~\ref{units} na
stronie~\pageref{units}. Więcej informacji o tym temacie możesz
znaleźć w \cite{graphics}.

\section{Wstawki niesztywne}

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. Jednym z rozwiązań byłoby rozpoczynanie za każdym
razem nowej strony, jednak pozostawiałoby to zbyt wiele pustego
miejsca i wyglądało nieelegancko.

Rozwiązanie tego problemu jest by nie traktować położenia tabel i
grafik ,,sztywno'', lecz pozwolić im przenieść się na następną
stronę, a poprzednią wypełnić tekstem. \LaTeX{} oferuje dwa otoczenia
dla wstawek niesztywnych\index{wstawki niesztywne}. Otoczenie
\ei{figure} służy do tworzenia rysunków, a do tabel otoczenie
\ei{table}. Aby w pełni wykorzystać potencjał wstawek niesztywnych
warto znać zarys sposobu ich działania w \LaTeX{}u. Pomaga to uniknąć
frustracji gdy nie są one tam gdzie byśmy chcieli.

\bigskip Zacznijmy od przyjrzenia się wspomnianym poleceniom
\LaTeX{}a:

Wszystkie elementy zawarte w otoczeniach \ei{figure} lub \ei{table}
będą traktowane jako niesztywne. Oba otoczenia mają jeden parametr
opcjonalny
\begin{lscommand}
  \verb|\begin{figure}[|\emph{specyfikacja położenia}\verb|]| lub
  \verb|\begin{table}[|\ldots\verb|]|
\end{lscommand}
\noindent nazywany \emph{specyfikacja położenia}. Ten parametr mówi \LaTeX{}owi
o miejscach do których dany element niesztywny może zostać
przeniesiony. \emph{Specyfikacja położenia} zbudowana jest z ciągu
\emph{przyzwoleń wstawek}. Zobacz tabelę~\ref{tab:permiss}.

\begin{table}[!bp]
  \caption{Przyzwolenia elementów niesztywnych.}\label{tab:permiss}
  \noindent \begin{minipage}{\textwidth}
    \medskip
    \begin{center}
      \begin{tabular}{@{}cp{8cm}@{}}
        Znak                         & Dopuszczalne miejsce umieszczenia elementu \ldots      \\
        \hline
        \rule{0pt}{1.05em}\texttt{h} & bez przemieszczenia, dokładnie w miejscu użycia.
        Użyteczne w wypadku 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 elementy niesztywne. \\[0.3ex]
        \texttt{!}                   & ignorując większość parametrów
        kontrolujących\footnote{Takie jak maksymalna
          liczba elementów niesztywnych na jednej stronie.}, które
        mogą nie pozwolić na umieszczanie ich na stronie.
      \end{tabular}
    \end{center}
  \end{minipage}
\end{table}

Przykładowa tabela może się zaczynać następująco
\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 ,,\texttt{!}''
oznacza, że \LaTeX{} ma pominąć większość parametrów sterujących
umieszczaniem wstawek. Jeżeli otoczenia \ei{table} użyto bez
opcjonalnego argumentu, to jego domyślnymi wartościami
są~\verb|[tbp]|.

\LaTeX{} umieszcza każdą wstawkę zgodnie ze specyfikacją autora
podaną w argumencie \emph{specyfikacja położenia}. Jeżeli nie może
umieścić wstawki na bieżącej stronie, to dołącza ją albo do
\emph{kolejki rysunków}, albo do \emph{kolejki tabel}\footnote{Są to
  kolejki typu FIFO (pierwsze weszło -- pierwsze wyjdzie).}. Na
początku składania nowej strony \LaTeX{} sprawdza, czy można ją
zapełnić wstawkami czekającymi w kolejce. Jeśli nie jest to możliwe,
to pierwsza wstawka każdej z kolejek traktowana jest tak, jak gdyby
właśnie pojawiła się w tekście: \LaTeX{} stara się ją umieścić
zgodnie z wartościami parametru \emph{specyfikacja położenia} (za
wyjątkiem \verb+h+, gdyż nie jest to już oczywiście możliwe). Nowe
wstawki dołączane są na koniec odpowiednich kolejek. \LaTeX{} dba o
właściwy porządek wstawek każdego typu. Może się zdarzyć, że
pojedynczy rysunek, którego z jakichś względów nie można poprawnie
wstawić, ,,ciągnie'' za sobą wszystkie późniejsze rysunki, nawet aż
na koniec dokumentu. Dlatego:

\begin{quote}
  Jeżeli \LaTeX{} nie umieszcza wstawek niesztywnych zgodnie z oczekiwaniami,
  to z reguły tylko jedna z nich blokuje którąś z kolejek.
\end{quote}

Pomimo tego, że \LaTeX{}owi można podać jednoliterowe specyfikacje
położenia, będzie to powodować problemy. Jeśli wstawka nie mieści się
we wskazanej lokacji, zablokuje ona zarówno siebie jak i następne
wstawki. W szczególności unikaj korzystania tylko z opcji
\texttt{[h]}. Jest ona tak restrykcyjna, że w nowszych wersjach
\LaTeX{}a jest ona automatycznie zastępowana przez \texttt{[ht]}.

\bigskip \noindent Wyjaśniwszy ów cokolwiek zawiły problem
umieszczania wstawek, przejdźmy do omówienia kilku pozostałych spraw
z nimi związanych. Poleceniem

\begin{lscommand}
  \ci{caption}\verb|{|\emph{tytuł}\verb|}|
\end{lscommand}

\noindent wstawiamy tytuł rysunku lub tabeli. Kolejny numer rysunku
bądź tabeli oraz słowo ,,Rysunek'' bądź ,,Tabela'' (lub ,,Tablica''
-- zależnie od używanego pakietu polonizacyjnego) zostaną wstawione
automatycznie przez \LaTeX{}a.

Następujące instrukcje

\begin{lscommand}
  \ci{listoffigures} oraz \ci{listoftables}
\end{lscommand}

\noindent działają analogicznie do instrukcji \ci{tableofcontents},
wstawiając do dokumentu, odpowiednio, spis rysunków oraz spis tabel.
Poszczególnymi pozycjami tych spisów będą tytuły rysunków bądź tabel
będące argumentami instrukcji \ci{caption}. Jeżeli tytuł jest długi,
to do spisu można przesłać jego wersję skróconą, podaną jako
opcjonalny argument instrukcji \ci{caption}:
\begin{code}
\verb|\caption[Krótkie]{DDDDłłłłłłuuuuuuuugggggiiiieeee}|
\end{code}

Za pomocą instrukcji \ci{label} oraz \ci{ref} można tworzyć odsyłacze
do tabel i rysunków. Polecenie \ci{label} należy umieszczać
\emph{bezpośrednio za} instrukcją \ci{caption}, ponieważ chcemy by
odnosiła się do numeru przez nią wygenerowanego.

W poniższym przykładzie rysowany jest kwadrat, a następnie wstawiony
do dokumentu. Ten sposób postępowania można wykorzystać w celu
zarezerwowania miejsca na rysunki, które zostaną wklejone później do
gotowego dokumentu.

\begin{code}
\begin{verbatim}
Rysunek~\ref{white} jest przykładem Pop-Artu.
\begin{figure}[!hbtp]
\includegraphics[angle=90,width=\textwidth]{white-box.pdf}
\caption{Biały kwadrat autorstwa
  Peter Markus Paulian\label{white}}
\end{figure}
\end{verbatim}
\end{code}

\noindent Zakładając w~tym przykładzie, że kolejka rysunków jest
pusta, \LaTeX{} najpierw będzie się \emph{bardzo}~(\texttt{!}) starał
umieścić rysunek bez przesuwania go dokądkolwiek (\texttt{h}). Jeżeli
okaże się to niemożliwe, to spróbuje go umieścić na dole strony
(\texttt{b}). Jeżeli i to okaże się niewykonalne, to 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ę, to \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 wystąpić konieczność wykonania instrukcji

\begin{lscommand}
  \ci{clearpage} albo nawet \ci{cleardoublepage}
\end{lscommand}

\noindent Rozkazuje ona \LaTeX{}owi natychmiast umieścić wszystkie
wstawki z kolejki i rozpocząć nową stronę. \ci{cleardoublepage}
upewnia się, że nowa strona będzie po prawej stronie książki.

% Plext
% \section {Listy \label{sec:letter}}

% Do pisania listów można użyć klasy \verb+letter+. Struktura pliku
% źródłowego tej klasy różni się od
% dokumentów z~klasy \verb+article+ czy \verb+book+. Klasę
% \verb+letter+ zaprojektowano tak, by bezproblemowo dało się napisać
% zarówno pojedynczy list do przysłowiowej ,,cioci'', jak też 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 
% poleceniem:
% %
% \begin{code}
% \verb+\address{+\emph{imię}\verb+\\+\emph{nazwisko}\verb+\\+
% \emph{adres\dots}\verb+}+
% \end{code}
% %
% \noindent
% Użycie instrukcji \ci{\bs} w~adresie powoduje złamanie wiersza.

% Polecenie \ci{signature} służy do zadeklarowania podpisu pod listem.
% Wewnątrz argumentu tego polecenia 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
% Do nagłówka listu automatycznie wstawiana jest bieżąca data. Aby wstawić
% inną, należy zastosować deklarację \ci{date}:
% %
% \begin{code}
% \verb+\date{16 Czerwca 1963~r.}+
% \end{code}
% %
% \noindent
% Deklaracje \ci{address}, \ci{signature} oraz \ci{date}
% umieszcza się zwykle w~preambule, chociaż mogą one wystąpić również
% w~części zasadniczej pliku źródłowego.

% Treść listu powinniśmy wpisać wewnątrz otoczenia \ei{letter}. Otoczenie
% to ma jeden argument, którym jest adres osoby, do której piszemy.
% Wewnątrz otoczenia \ei{letter} można stosować kilka 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 używamy polecenia \ci{opening}, a~do zakończenia --
% \ci{closing}. Ponadto są polecenia: \ci{ps} do wstawienia \emph{post
%   scriptum} oraz \ci{cc} do zdefiniowania wykazu osób, które mają
% otrzymać kopię listu. Oto pełny przykład listu:
% %
% \begin{code}
% \begin{verbatim}
% %& --translate-file=il2-pl
% \documentclass{letter}
% \usepackage{polski}
% \address{Dyr. E.~K.~Tor,\\ Przewodniczący Zastępcy\\
%  Firma z~o.o.\\ w/m}
% \signature{E.~.K.~Thor}
% \begin{document}
% % pierwszy list
% \begin{letter}{Henryk Potrykus\\ul.~Krótka\\Puck}
% \opening{Szanowny Panie}
% Z~przykrością zawiadamiam, że Pańskie podanie
% zostało...
% \closing{Z~poważaniem}
% \cc{cc: Józef Wujke}
% \end{letter}

% % drugi list
% \begin{letter}{Zofia Potrykus\\ul.~Szkolna\\Reda}
% \opening{Szanowna Pani}
% Odpowiadając na Pani pismo...
% ...
% \end{letter}
% \end{document}
% \end{verbatim}
% \end{code}

% Local Variables:
% TeX-master: "lshort2e"
% mode: latex
% mode: flyspell
% End:
