%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Math typesetting with LaTeX
% $Id$
%
% Changes by Stefan M. Moser: 2008/10/22
%
% -Section 2: "Single Equations": added comment about preference of
%  equation* over \[
% -Replaced (almost) all examples with \[ by equation*
% -New section 4: "Single Equations that are Too Long: multline"
% -New section 5: "Multiple Equations"
% -Section 6: "Arrays and Matrices": made a full section and added
%  some material
% -Section 9: "Theorems, Lemmas, ...": added a subsection about proofs
%  with new material
%
% Other Changes:
% -in lshort.sty: 
%    *example environment adapted: changed in three places
%     \textwidth by \linewidth. This is necessary for
%     example-environment within a itemize-list.
%    *added \RequirePackage[retainorgcmds]{IEEEtrantools}
%
% THINGS TO DO:
% -adapt typesetting of new sections to rest of lshort, including all
%  the usual commands used so far. In particular, I guess we have to
%  get rid of the \verb-commands everywhere
% -include index-commands
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{Skład wyrażeń matematycznych}

\begin{intro}
  Nareszcie! W tym rozdziale poznasz najlepszą stronę \TeX{}a, czyli
  skład wzorów matematycznych. Ostrzegamy jednak, że przedstawimy tu
  jedynie absolutne podstawy. Chociaż wystarczają one większości użytkowników,
  to nie załamuj rąk, jeśli nie poradzisz sobie z jakimś
  skomplikowanym wzorem, lecz zapoznaj się z możliwościami
  \AmS-\LaTeX{}a.
\end{intro}

\section{Pakiety \texorpdfstring{\AmS}{AMS}-\LaTeX{}}

Aby składać (zaawansowaną) matematykę\index{matematyka} warto użyć
\AmS-\LaTeX{}. Jest to kolekcja pakietów i klas przeznaczona do
matematycznego składu. Będziemy głównie zajmować się pakietem
\pai{amsmath}, który jest jej częścią. \AmS-\LaTeX{} powstało pod
egidą Amerykańskiego Towarzystwa Matematycznego (\emph{American
  Mathematical Society}) i jest powszechnie wykorzystywane. \LaTeX{}
dostarcza niektóre podstawowe funkcje i otoczenia do składania
matematyki, ale są one ograniczone (inaczej mówiąc \AmS-\LaTeX{} jest
\emph{nieograniczone}!) i czasami niekonsekwentne.

Kolekcja \AmS-\LaTeX jest jednym z wymaganych elementów w
dystrybucjach i powinien być dostarczony wraz z
\LaTeX{}em\footnote{Jeśli w twojej ich nie ma, to znajdziesz je pod
  adresem \CTAN|pkg/amslatex|}. W tym rozdziale zakładamy, że pakiet
\pai{amsmath} jest załadowany w preambule.
\begin{lscommand}
  \verb|\usepackage{amsmath}|
\end{lscommand}

\section{Pojedyncze równania}

Formuła matematyczna może być złożona wewnątrz tekstu akapitu
(\emph{\wi{styl tekstowy}}), lub akapit może być złamany by była ona
wyświetlona osobno (\emph{\wi{styl pokazowy}}). Matematyczne
równania\index{równanie} \emph{wewnątrz} akapitu są
wstawiane\index{\$@\texttt{\$}} pomiędzy \texttt{\$} i \texttt{\$}:
\begin{example}
$a$ do kwadratu plus~$b$
do kwadratu równa się~$c$ 
do kwadratu. Albo, stosując
bardziej matematyczne
podejście: $c^{2}=a^{2}+b^{2}$.
\end{example}
\begin{example}
\TeX{} należy wymawiać jako
$\tau\epsilon\chi$\\[5pt]
100~m$^{3}$ wody\\[5pt]
To płynie z mojego~$\heartsuit$.
\end{example}

\noindent Składając większe wzory, powinniśmy je eksponować, to
znaczy wstawiać między akapitami, w osobnym wierszu. Takie wzory
umieszcza się pomiędzy \verb|\begin{|\ei{equation}\verb|}| i
\verb|\end{equation}|\footnote{To otoczenie pochodzi z
  \textsf{amsmath}. Jeśli z jakiegoś dziwnego powodu nie masz dostępu
  do tej paczki możesz użyć \LaTeX{}owego otoczenia \ei{displaymath}.}.
Możesz im wówczas nadać etykietę i odnieść się do nich w innym
miejscu przy użyciu polecenia \ci{eqref}. Jeśli chcesz nazwać
równanie w jakiś konkretny sposób możesz użyć polecenia \ci{tag}.
\begin{example}
$a$ do kwadratu plus~$b$
do kwadratu równa się~$c$ 
do kwadratu. Albo, stosując
bardziej matematyczne
podejście
 \begin{equation}
   a^2 + b^2 = c^2
 \end{equation}
Einstein powiedział
 \begin{equation}
   E = mc^2 \label{mądre}
 \end{equation}
Nie powiedział
 \begin{equation}
  1 + 1 = 3 \tag{głupie}
 \end{equation}
To odnosi się do  
\eqref{mądre}. 
\end{example}

Jeśli nie chcesz by \LaTeX{} numerował równania użyj wersji z
gwiazdką otoczenia \texttt{equation}, \ei{equation*}, lub krócej
wprowadź je pomiędzy \ci{[} i
\ci{]}\footnote{\index{równanie!\textsf{amsmath}}
  \index{równanie!\LaTeX{}}To również pochodzi z \textsf{amsmath}.
  Standardowy \LaTeX{} posiada tylko otoczenie \texttt{equation} bez
  gwiazdki.}:
\begin{example}
$a$ do kwadratu plus~$b$
do kwadratu równa się~$c$ 
do kwadratu. Albo, stosując
bardziej matematyczne
podejście:
 \begin{equation*}
   a^2 + b^2 = c^2
 \end{equation*}
możesz też napisać mniej
i uzyskać ten sam efekt:
 \[ a^2 + b^2 = c^2 \]
\end{example}
\ci{[} jest krótkie i słodkie, ale nie pozwala na łatwe przełączanie
pomiędzy numerowanymi i nienumerowanymi równaniami, tak jak
\ei{equation} i \ei{equation*}.

Zwróć uwagę na różnicę w składaniu równań w trybie
tekstowym\index{styl tekstowy} i pokazowym\index{styl pokazowy}:
\begin{example}
To jest w stylu tekstowym: 
$\lim_{n \to \infty} 
 \sum_{k=1}^n \frac{1}{k^2} 
 = \frac{\pi^2}{6}$.
To jest w stylu pokazowym:
 \begin{equation}
  \lim_{n \to \infty} 
  \sum_{k=1}^n \frac{1}{k^2} 
  = \frac{\pi^2}{6}
 \end{equation}
\end{example}

W stylu tekstowym wysokie lub głębokie wyrażenia warto zawrzeć w
poleceniu \ci{smash}. To polecenie sprawia, że \LaTeX{} ignoruje
wysokość wyrażenia wewnątrz. Dzięki temu odległości między wierszami
są wyrównane.

\begin{example}
$d_{o_{l_{n_e}}}$ wyrażenie
matematyczne za którym następuje
$w^{y^{s^{o^{k^i}}}}$ wzór.

W porównaniu do:
\smash{$d_{o_{l_{n_e}}}$}
wyrażenie  za którym następuje
$\smash{w^{y^{s^{o^{k^i}}}}}$
wzór.
\end{example}

\subsection{Tryb matematyczny}

Istnieją również różnice pomiędzy \emph{trybem
  matematycznym}\index{tryb matematycznym}, a \emph{trybem
  tekstowym}\index{tryb tekstowy}. Przykładowo w \emph{trybie
  matematycznym}:

\begin{enumerate}

  \item \index{odstępy!tryb matematyczny} Większość odstępów i złamań linii
        nie ma żadnego znaczenia, ponieważ odstępy są wnioskowane z wyrażeń
        bądź wstawione przy użyciu specjalnych poleceń takich jak \ci{,}
        \ci{quad} lub \ci{qquad} (będą one opisane dokładniej w
        sekcji~\ref{sec:math-spacing}).

  \item Puste linie nie są dozwolone. Każda formuła może zawierać tylko jeden
        akapit.

  \item Litery we wzorach służą do oznaczania nazw zmiennych; zmienne
        składamy inaczej niż zwykły tekst. Jeżeli częścią wzoru ma być zwykły
        tekst (niepochylona czcionka i zwykłe odstępy), to należy się
        posłużyć instrukcją \verb|\text{...}| (zobacz także
        sekcje~\ref{sec:fontsz} na stronie~\pageref{sec:fontsz}).

\end{enumerate}
\begin{example}
$\forall x \in \mathbf{R}\colon
 \qquad x^{2} \geq 0$
\end{example}
\begin{example}
$x^{2} \geq 0\qquad
 \text{for all }x\in\mathbf{R}$
\end{example}

Matematycy potrafią być niezwykle wybredni jeśli chodzi o używane
symbole. Na przykład we wzorach, w których występują oznaczenia
zbiorów (jak powyższy), często stosuje się krój, w którym te
oznaczenia przypominają odmianę ,,grubą'', pisaną kredą na
tablicy\index{zbiory (symbole)}. Uzyskuje się je przy użyciu
polecenia \ci{mathbb} z pakietu \pai{amssymb}\footnote{\pai{amssymb}
  nie jest częścią kolekcji \AmS-\LaTeX{}, ale prawdopodobnie jest
  częścią Twojej dystrybucji \LaTeX{}a. Sprawdź swoją dystrybucję lub
  przejdź do \texttt{CTAN:/fonts/amsfonts/latex/} aby go uzyskać.}.
\ifx\mathbb\undefined\else Ostatni przykład wygląda wtedy następująco
  \begin{example}
$x^{2} \geq 0\qquad
 \text{for all } x 
 \in \mathbb{R}$
\end{example}
\fi
%
Zobacz tabelę~\ref{mathalpha} na stronie~\pageref{mathalpha} oraz
tabelę~\ref{mathfonts} na stronie~\pageref{mathfonts} w celu
porównania innych fontów matematycznych.

\section{Części składowe wyrażeń matematycznych}

W tej sekcji opiszemy ważniejsze instrukcje do składu wyrażeń.
Większość opisywanych tu poleceń nie wymaga pakietu \textsf{amsmath}
(w przeciwnym razie będzie to wyraźnie zaznaczone), ale i tak go
załaduj.

\textbf{Małe litery alfabetu greckiego} wprowadzamy, używając
instrukcji typu: \verb|\alpha|, \verb|\beta|, \verb|\gamma| itd., a
\textbf{duże}: \verb|\Delta|, \verb|\Gamma| itd.\footnote{W \LaTeX{}u
  nie ma wielkich liter Alpha, Beta, \ldots, ponieważ wyglądają one
  identycznie jak litery A, B, \ldots{} alfabetu łacińskiego.}:

Pełną listę liter greckich możesz znaleźć w tabeli~\ref{greekletters}
na stronie~\pageref{greekletters}.
\begin{example}
$\lambda,\xi,\pi,\theta,
 \mu,\Phi,\Omega,\Delta$
\end{example}

\textbf{Wykładniki, indeksy górne i dolne} mogą być uzyskane przy
użyciu
znaków\index{wykładnik}\index{indeks!górny}\index{indeks!dolny}
\verb|^|\index{^@\verb"|^"|} oraz \verb|_|\index{_@\verb"|_"|}.
Argumentem większości instrukcji do składu matematyki jest tylko
jeden znak, więc jeżeli polecenie ma dotyczyć grupy znaków, to należy
je umieścić wewnątrz pary nawiasów klamrowych \verb|{...}|.

W tabela~\ref{binaryrel} na stronie~\pageref{binaryrel} znajduje się
lista wielu relacji binarnych takich jak $\subseteq$ czy $\perp$.

\begin{example}
$p^3_{ij} \qquad 
 m_\text{Knuth}\qquad
\sum_{k=1}^3 k \\[5pt]
 a^x+y \neq a^{x+y}\qquad 
 e^{x^2} \neq {e^x}^2$
\end{example}

\textbf{Pierwiastek kwadratowy}\index{pierwiastek kwadratowy} jest
wprowadzany przy użyciu polecenia \ci{sqrt}; pierwiastek stopnia $n$
jest wprowadzany przy użyciu \verb|\sqrt[|$n$\verb|]|. Wielkość znaku
pierwiastka jest przez \LaTeX{}a ustalana automatycznie. Zapis samego
znaku pierwiastka umożliwia instrukcja \ci{surd}.

W tabeli~\ref{tab:arrows} na stronie~\pageref{tab:arrows} można
znaleźć wiele przykładów strzałek takich jak $\hookrightarrow$ czy
$\rightleftharpoons$.
\begin{example}
$\sqrt{x} \Leftrightarrow x^{1/2}
 \quad \sqrt[3]{2}
 \quad \sqrt{x^{2} + \sqrt{y}}
 \quad \surd[x^2 + y^2]$
\end{example}

\index{kropki!trzy} \index{pionowe!kropki} \index{poziome!kropki}
Znak mnożenia \textbf{\wi{kropka}} zwyczajowo jest pomijany, jednak
czasami jest wstawiany dla wskazania grupowania w formule. Użyj
polecenia \ci{cdot} aby wstawić pojedynczą wyśrodkowaną kropkę.
\ci{cdots} wstawia trzy wyśrodkowane \textbf{\wi{kropki}} podczas gdy
\ci{ldots} wstawia trzy kropki wyrównane do linii tekstu. Oprócz tego
istnieją również polecenia \ci{vdots} dla kropek pionowych oraz
\ci{ddots} dla kropek przekątnych\index{kropki przekątne}. Więcej
przykładów znajdziesz w sekcji~\ref{sec:arraymat}.
\begin{example}
$\Psi = v_1 \cdot v_2
 \cdot \ldots \qquad 
 n! = 1 \cdot 2 
 \cdots (n-1) \cdot n$
\end{example}

Polecenia \ci{overline} oraz \ci{underline} umieszczają nad i pod
wyrażeniami poziome kreski: \index{poziome!kreska}
\index{kreska!pozioma}
\begin{example}
$0{,}(3) = 
 \underline{\underline{1/3}}$
\end{example}

Instrukcje \ci{overbrace} oraz \ci{underbrace} umieszczają nad i pod
wyrażeniami poziome klamry: \index{poziome!klamra}
\index{klamra!pozioma}
\begin{example}
$\underbrace{\overbrace{a+b+c}^6 
 \cdot \overbrace{d+e+f}^7}
 _\text{meaning of life} = 42$
\end{example}

Akcenty matematyczne\index{akcenty!matematyczne}, takie jak
\textbf{małe strzałki} czy \textbf{tyldy}\index{tylda} nad zmiennymi,
umieszczamy we wzorze poleceniami z tabeli~\ref{mathacc} na
stronie~\pageref{mathacc}. Szerokie daszki i tyldy, obejmujące wiele
symboli, wstawiamy za pomocą instrukcji \ci{widetilde} oraz
\ci{widehat}. Zwróć uwagę na różnice pomiędzy \ci{hat} i
\ci{widehat}, oraz na umieszczenie \ci{bar} przy zmiennej z indeksem
dolnym. Znakiem \verb|'|\index{'@\verb"|'"|} oznaczamy symbol
,,\wi{prim}'':
\begin{example}
$f(x) = x^2 \qquad f'(x) 
 = 2x \qquad f''(x) = 2\\[5pt]
 \hat{XY} \quad \widehat{XY}
 \quad \bar{x_0} \quad \bar{x}_0$
\end{example}

\textbf{Wektory\index{wektor}} oznacza się niekiedy akcentem w
postaci \wi{strzałki} nad nazwą zmiennej. Służy do tego polecenie
\ci{vec}. Natomiast do oznaczenia wektora od punktu~$A$ do punktu~$B$
korzystamy z poleceń \ci{overrightarrow} oraz~\ci{overleftarrow}:
\begin{example}
$\vec{a} \qquad
 \vec{AB} \qquad
 \overrightarrow{AB}$
\end{example}

Nazwy funkcji typu ,,logarytm'' należy składać odmianą prostą, nie
zaś kursywą, zarezerwowaną dla nazw zmiennych, więc \LaTeX{}
definiuje wiele poleceń służących do składu najczęściej używanych
funkcji matematycznych: \index{matematyka!funkcje}

\begin{tabular}{llllll}
  \ci{arccos} & \ci{cos}  & \ci{csc} & \ci{exp}  & \ci{ker}    & \ci{limsup} \\
  \ci{arcsin} & \ci{cosh} & \ci{deg} & \ci{gcd}  & \ci{lg}     & \ci{ln}     \\
  \ci{arctan} & \ci{cot}  & \ci{det} & \ci{hom}  & \ci{lim}    & \ci{log}    \\
  \ci{arg}    & \ci{coth} & \ci{dim} & \ci{inf}  & \ci{liminf} & \ci{max}    \\
  \ci{sinh}   & \ci{sup}  & \ci{tan} & \ci{tanh} & \ci{min}    & \ci{Pr}     \\
  \ci{sec}    & \ci{sin}                                                     \\
\end{tabular}

%%<PLext>
% W~Polsce nazwy niektórych funkcji trygonometrycznych różnią się od
% anglosaskich. Pakiet \pai{polski} -- po dołączeniu do dokumentu --
% zmienia na życzenie standardowe funkcje {\LaTeX}a na
% zgodne ze zwyczajami polskimi. Oto angielskie
% oryginały: \begingroup\EnglishTrygFunctions $\tan$, $\coth$, $\tanh$,
% $\arccos$, $\arcsin$ \endgroup i~ich polskie odpowiedniki: $\tan$,
% $\ctgh$, $\tanh$, $\arccos$, $\arcsin$.
%%</PLext>

\begin{example}
\begin{equation*}
  \lim_{x \rightarrow 0}
  \frac{\sin x}{x}=1
\end{equation*}
\end{example}

Jeśli wymienione funkcje są dla Ciebie niewystarczające, użyj
polecenia \ci{DeclareMathOperator}. Istnieje również wersja z
gwiazdką dla funkcji z granicami. Polecenie to działa tylko w
preambule więc w poniższym przykładzie są podane w komentarzach.

\begin{example}
%\DeclareMathOperator{\argh}{argh}
%\DeclareMathOperator*{\nut}{Nut}
\begin{equation*}
  3\argh = 2\nut_{x=1}    
\end{equation*}
\end{example}

Dla funkcji typu modulo\index{modulo} istnieją dwie instrukcje:
\ci{bmod} dla binarnego operatora ,,$a \bmod b$'' oraz \ci{pmod} do
składu takich wyrażeń jak ,,$x\equiv a \pmod{b}$''.
\begin{example}
$a\bmod b \\
 x\equiv a \pmod{b}$
\end{example}

\textbf{Ułamki piętrowe\index{ułamek!piętrowy}} składa się poleceniem
\ci{frac}\verb|{...}{...}|. W stylu tekstowym ułamki są nieco niższe
by zmieścić się w wierszu. Aby wprowadzać zmniejszone ułamki w trybie
pokazowym należy użyć polecenia \ci{tfrac}. W celu uzyskania efektu
odwrotnego, tj. ułamki nieściśnięte w trybie tekstowym, użyj
polecenia \ci{dfrac}. Często preferowana jest forma $1/2$, ponieważ
wygląda lepiej zwłaszcza w wypadku niewielkich porcji ,,materiału
ułamkowego''.
\begin{example}
W stylu pokazowym:
\begin{equation*}
  3/8 \qquad \frac{3}{8} 
  \qquad \tfrac{3}{8}
\end{equation*}
\end{example}

\begin{example}
W stylu tekstowym:
$1\frac{1}{2}$~godziny \qquad
$1\dfrac{1}{2}$~godziny
\end{example}

Poniżej użyto polecenia \ci{partial} do złożenia pochodnych
częściowych \index{pochodna częściowa}:
\begin{example}
\begin{equation*} 
  \sqrt{\frac{x^2}{k+1}}\qquad
  x^\frac{2}{k+1}\qquad
  \frac{\partial^2f}
  {\partial x^2} 
\end{equation*}
\end{example}

Aby złożyć \wi{współczynnik dwumianowy} lub podobną konstrukcję, użyj
polecenia \ci{binom} z \pai{amsmath}:
\begin{example}
Reguła Pascala twierdzi
\begin{equation*}
 \binom{n}{k} =\binom{n-1}{k}
 + \binom{n-1}{k-1}
\end{equation*}
\end{example}

Czasami do stworzenia relacji binarnych może się okazać użyteczne
złożenie dwóch symboli jeden nad drugim. Polecenie
\ci{stackrel}\verb|{#1}{#2}| składa swój pierwszy argument czcionką
pomniejszoną, jaka stosowana jest do indeksów, i umieszcza go nad
drugim argumentem, złożonym czcionką normalnej wielkości.
\begin{example}
\begin{equation*}
 f_n(x) \stackrel{*}{\approx} 1
\end{equation*}
\end{example}

\textbf{Znak całki\index{znak!całki}} składamy poleceniem \ci{int},
\textbf{znak
  sumowania\index{znak!sumowania}\index{operator!sumowania}}
instrukcją~\ci{sum}, zaś \textbf{operator
  iloczynu\index{operator!iloczynu}} za pomocą instrukcji \ci{prod}.
Górne granice całkowania i sumowania określamy za pomocą \verb|^|, a
dolne znakiem \verb|_|, czyli podobnie jak w wypadku indeksów górnych
i dolnych:
\begin{example}
\begin{equation*}
\sum_{i=1}^n \qquad
\int_0^{\frac{\pi}{2}} \qquad
\prod_\epsilon
\end{equation*}
\end{example}

Pakiet \pai{amsmath} zawiera dodatkowe narzędzie do sterowania
położeniem indeksów w złożonych wyrażeniach: instrukcję
\ci{substack}:
\begin{example}
\begin{equation*}
\sum^n_{\substack{0<i<n \\ 
        j\subseteq i}}
   P(i,j) = Q(i,j)
\end{equation*}
\end{example}

Do składu \textbf{nawiasów\index{nawias}} i innych
\textbf{ograniczników\index{ogranicznik}} typu
$(\;[\;\langle\;\|\;\updownarrow$ mamy rozmaitość symboli. Nawiasy
okrągłe i kwadratowe wstawiamy bezpośrednio z klawiatury. Do nawiasów
klamrowych stosujemy \verb+\{+ oraz \verb+\}+. Wszystkie inne
ograniczniki wstawiamy, używając specjalnych poleceń, np.
\ci{updownarrow}.
\begin{example}
\begin{equation*}
{a,b,c} \neq \{a,b,c\}
\end{equation*}
\end{example}

Poprzedzenie otwierającego ogranicznika poleceniem \ci{left}, a
zamykającego poleceniem \ci{right} powoduje automatyczne ustalenie
jego rozmiaru w zależności od wielkości zawartego między nimi
wyrażenia. Zwróć uwagę, że każde użycie \ci{left} oraz ogranicznika
wymaga nawiasu zamykającego poprzedzonego poleceniem \ci{right}. Gdy
ogranicznik ma się pojawić tylko po jednej stronie, wówczas po
drugiej należy użyć niewidzialnego ogranicznika \ci{right.}:
\begin{example}
\begin{equation*}
1 + \left(\frac{1}{1-x^{2}}
    \right)^3 \qquad 
\left. \ddagger \frac{~}{~}\right)
\end{equation*}
\end{example}

W pewnych sytuacjach trzeba samemu określić właściwą wielkość
ogranicznika. Do tego celu służą instrukcje \ci{big}, \ci{Big},
\ci{bigg} oraz \ci{Bigg}, poprzedzające odpowiedni ogranicznik:
\begin{example}
$\Big((x+1)(x-1)\Big)^{2}$\\
$\big( \Big( \bigg( \Bigg( \quad
\big\} \Big\} \bigg\} \Bigg\} \quad
\big\| \Big\| \bigg\| \Bigg\| \quad
\big\Downarrow \Big\Downarrow 
\bigg\Downarrow \Bigg\Downarrow$
\end{example}
Zestawienie dostępnych ograniczników znajduje się w
tabeli~\ref{tab:delimiters} na stronie~\pageref{tab:delimiters}.

\section{Pojedyncze równania które są zbyt długie: multline}
\index{długie równania} \label{sec:multline}

Jeśli równanie jest zbyt długie musimy je jakoś podzielić. Niestety
podzielone równania są zwykle trudniejsze do przeczytania niż
niepodzielone. Aby zwiększyć ich czytelność istnieją pewne zasady co
do ich dzielenia:
\begin{enumerate}
  \item Równania powinny być zwykle dzielone \textbf{przed} znakiem równości
        lub operatorem.
  \item Podział przed znakiem równości jest lepsze niż podział przed innymi
        operatorami.
  \item Podział przed operatorem dodawania lub odejmowania jest lepszy niż
        przed operatorem mnożenia.
  \item Wszystkie inne podziały powinny być unikane w miarę możliwości.
\end{enumerate}
Najprostszym sposobem podzielenia równania jest użycie otoczenia
\ei{multline}\footnote{Otoczenie
  \texttt{multline} pochodzi z \texttt{amsmath}.}:
\begin{example}
\begin{multline}
  a + b + c + d + e + f 
  + g + h + i  
  \\
  = j + k + l + m + n 
\end{multline}
\end{example}
\noindent W odróżnieniu od otoczenia \ei{equation} pozwala ono na
łamanie linii (nawet wielokrotne) w dowolnym miejscu. Wykonujemy je
za pomocą \verb+\\+ w miejscu gdzie chcemy by równanie zostało
podzielone. Podobnie do \ei{equation*} istnieje również otoczenie
\ei{multline*}, które nie numeruje równania.

Często otoczenie \ei{IEEEeqnarray} (więcej w
sekcji~\ref{sec:IEEEeqnarray}) okaże się być lepszym wyborem.
Rozważmy na przykład następującą sytuację:
\begin{example}
\begin{equation}
  a = b + c + d + e + f 
  + g + h + i + j 
  + k + l + m + n + o + p  
  \label{eq:equation_too_long}
\end{equation}
\end{example}
%
\noindent Tutaj problem jest tak naprawdę z prawą stroną równania,
która nie mieści się w jednej linii. Użycie otoczenia \ei{multline}
skutkuje następującym rezultatem:
\begin{example}
\begin{multline}
  a = b + c + d + e + f 
  + g + h + i + j \\
  + k + l + m + n + o + p
\end{multline}
\end{example}

Wygląda to o wiele lepiej niż \eqref{eq:equation_too_long}, ale ma tę
wadę, że znak równości nie jest już tak wyróżniony względem operatora
dodawania przed $k$ pomimo większego znaczenia w równaniu. Lepszym
rozwiązaniem będzie tu użycie otoczenia \ei{IEEEeqnarray} o którym
opowiemy w sekcji~\ref{sec:IEEEeqnarray}.

\section{Wiele równań}
\index{równanie!wiele} \label{sec:IEEEeqnarray}

W najbardziej ogólnej sytuacji mamy kilka kolejnych równań, które nie
mieszczą się w jednej linii. Aby je złożyć musimy uważać na
wyrównanie pionowe, aby nasza szereg równań był zarówno czytelny jak
i elegancki.

Przed faktycznym rozwiązaniem pokażemy kilka złych rozwiązań by
zaprezentować największe wady kilku popularnych rozwiązań.

\subsection{Problemy z tradycyjnymi poleceniami}
\label{sec:problems_traditional}

Aby zgrupować kilka równań można użyć otoczenia
\ei{align}\footnote{Otoczenie \texttt{align} może być również użyte
  do zgrupowania kilku bloków równań obok siebie. \ei{IEEEeqnarray}
  również z tym sobie poradzi przy użyciu argumentu
  \texttt{\{rCl+rCl\}}.}:
\begin{example}
\begin{align}
  a & = b + c \\
  & = d + e
\end{align}
\end{example}

podejście to nie sprawdza się jednak gdy linia jest zbyt długa:
\begin{example}
\begin{align}
  a & = b + c \\
  & = d + e + f + g + h + i 
  + j + k + l \nonumber \\
  & + m + n + o \\
  & = p + q + r + s
\end{align}
\end{example}
\noindent Tutaj $+\:m$ powinno być poniżej $d$, a nie poniżej znaku
równości. Doświadczony \TeX{}nik zwróci uwagę, że
\verb+\mathrel{\phantom{=}} \negmedspace {}+, dodałoby wymagany
odstęp przed \verb|+m+n+o|, jednak wielu użytkowników nie jest na
tyle doświadczonych i prostsze rozwiązanie byłoby dla nich przydatne.

W tym momencie otoczenie \ei{eqnarray} wchodzi na scenę:
\begin{example}
\begin{eqnarray}
  a & = & b + c \\
  & = & d + e + f + g + h + i 
  + j + k + l \nonumber \\
  && +\: m + n + o \\
  & = & p + q + r + s
\end{eqnarray}
\end{example}

Jest lepiej ale wciąż nieidealnie. Odstępy między znakami równości są
zbyt duże. Konkretnie \textbf{nie} są takie same jak w otoczeniach
\ei{multline} oraz \ei{equation}:
\begin{example}
\begin{eqnarray}
  a & = & a = a
\end{eqnarray}
\end{example}

\noindent \ldots przez co wyrażenia czasami kolidują z numerem
równania pomimo tego, że powinno być dla nich wystarczająco dużo
miejsca po lewej:
\begin{example}
\begin{eqnarray}
  a & = & b + c 
  \\
  & = & d + e + f + g + h^2 
  + i^2 + j 
  \label{eq:faultyeqnarray}
\end{eqnarray}
\end{example}

\noindent Pomimo tego, że otoczenie oferuje polecenie \ci{lefteqn},
które można użyć gdy lewa strona równania jest zbyt długa:
\begin{example}
\begin{eqnarray}
  \lefteqn{a + b + c + d 
    + e + f + g + h}\nonumber\\
  & = & i + j + k + l + m 
  \\
  & = & n + o + p + q + r + s
\end{eqnarray}
\end{example}
\noindent to również nie jest to idealne, ponieważ prawa strona jest
zbyt krótka przez co całość nie jest poprawnie wyśrodkowana:
\begin{example}
\begin{eqnarray}
  \lefteqn{a + b + c + d 
    + e + f + g + h} 
  \nonumber \\
  & = & i + j 
\end{eqnarray}
\end{example}

\noindent Ponieważ ponarzekaliśmy już wystarczająco na konkurencję,
możemy przejść teraz do pokazania Ci wspaniałe\ldots

\subsection{Otoczenie IEEEeqnarray}
\label{sec:IEEEeqnarray_intro}

Otoczenie \ei{IEEEeqnarray} jest bardzo potężnym narzędziem z wieloma
opcjami. Tutaj poruszymy tylko temat jego podstawowych funkcji.
Więcej informacji znajdziesz w jego instrukcji\footnote{Oficjalna
  instrukcja nazywa się
  \CTAN|macros/latex/contrib/IEEEtran/IEEEtran_HOWTO.pdf|. Część o
  otoczeniu \texttt{IEEEeqnarray} można znaleźć w dodatku~F.}.

Przede wszystkim by być w stanie używać otoczenia \ei{IEEEeqnarray}
musimy załadować pakiet\footnote{Pakiet \pai{IEEEtrantools} może nie
  być dołączony w twojej dystrybucji. W takiej sytuacji możesz znaleźć
  go na CTAN.} \pai{IEEEtrantools}. Wstaw następującą linię w preambule
Twojego dokumentu: \small
\begin{verbatim}
\usepackage{IEEEtrantools}
\end{verbatim}
\normalsize

Siłą \ei{IEEEeqnarray} jest możliwość ustalenia liczby \emph{kolumn}
w tablicy równań. Zwykle specyfikacją będzie \verb+{rCl}+,
\emph{czyli}, trzy kolumny pierwsza wyrównana do prawej, druga
wyśrodkowana z nieco większym odstępem (dlatego używamy wielkiej
litery \texttt{C} zamiast małej \texttt{c}) a lewa jest wyrównana do
lewej:
\begin{example}
\begin{IEEEeqnarray}{rCl}
  a & = & b + c 
  \\
  & = & d + e + f + g + h 
  + i + j + k \nonumber\\
  && \negmedspace {} + l 
  + m + n + o 
  \\
  & = & p + q + r + s
\end{IEEEeqnarray}
\end{example}
Możemy podać dowolną liczbę kolumn: \verb+{c}+ da nam tylko jedną
wyśrodkowaną kolumnę, \verb+{rCll}+ dodałoby czwartą kolumnę
wyrównaną do lewej by dodać komentarze. Co więcej, oprócz \texttt{l},
\texttt{c}, \texttt{r}, \texttt{L}, \texttt{C}, \texttt{R} do
wprowadzania w trybie matematycznym, dostępne są również \texttt{s},
\texttt{t}, \texttt{u} do wprowadzania tekstu wyrównanego odpowiednio
do lewej, do środka i do prawej. Dodatkowe odstępy mogą być dodane
przy użyciu \texttt{.}, \texttt{/} oraz \texttt{?} (później
wymienione są większe)\footnote{Więcej informacji o rodzajach odstępu
  znajdziesz w sekcji~\ref{sec:putting-qed-right}.}. Zwróć uwagę, na
odstępy wokół znaku równości w porównaniu do otoczenia
\texttt{eqnarray}.

\subsection{Typowe użycie}
\label{sec:common-usage}

Poniżej opiszemy jak używać \texttt{IEEEeqnarray} do rozwiązania
najczęściej występujących problemów.

Jeśli linia przykrywa numer równania tak jak w przykładzie
\eqref{eq:faultyeqnarray}, to polecenie \small
\begin{verbatim}
\IEEEeqnarraynumspace
\end{verbatim}
\normalsize
%
może zostać użyte; musi ono zostać dodane do odpowiedniej linii i
upewnia się ono, że cała tablica równań przesunięta jest odpowiednio
by zmieścić numer równania (wartość przesunięcia zależy oczywiście od
numeru!): zamiast
\begin{example}
\begin{IEEEeqnarray}{rCl}
  a & = & b + c 
  \\
  & = & d + e + f + g + h 
  + i + j + k 
  \\
  & = & l + m + n
\end{IEEEeqnarray}
\end{example}
otrzymujemy
\begin{example}
\begin{IEEEeqnarray}{rCl}
  a & = & b + c 
  \\
  & = & d + e + f + g + h 
  + i + j + k 
  \IEEEeqnarraynumspace\\
  & = & l + m + n.
\end{IEEEeqnarray}
\end{example}

Jeśli lewa strona jest zbyt długa, zamiast używać wadliwego
\ci{lefteqn}, \texttt{IEEEeqnarray} dostarcza polecenie
\ci{IEEEeqnarraymulticol}, które działa w każdej sytuacji:
\begin{example}
\begin{IEEEeqnarray}{rCl}
  \IEEEeqnarraymulticol{3}{l}{
    a + b + c + d + e + f 
    + g + h
  }\nonumber\\ \quad
  & = & i + j 
  \\
  & = & k + l + m
\end{IEEEeqnarray}
\end{example}
Jego użycie jest identyczne do polecenia \ci{multicolumns} w
otoczeniu \texttt{tabular}. Pierwszym argumentem, \verb+{3}+,
określa, że trzy kolumny powinny być połączone w jedną, która będzie
wyrównana do lewej, \verb+{l}+.

Zwróć uwagę, że wstawiając polecenia \ci{quad} można łatwo dopasować
głębokość znaków równości\footnote{W opinii autora jeden \ci{quad}
  najczęściej wygląda najlepiej.}, przykładowo
\begin{example}
\begin{IEEEeqnarray}{rCl}
  \IEEEeqnarraymulticol{3}{l}{
    a + b + c + d + e + f 
    + g + h
  }\nonumber\\ \qquad\qquad
  & = & i + j
  \\
  & = & k + l + m
\end{IEEEeqnarray}
\end{example}

Jeśli równanie podzielone jest na jedną lub więcej linii, \LaTeX{}
interpretuje pierwszy $+$ lub $-$ jako znak zamiast operator.
Skutkiem tego jest konieczność dodania pustej grupy \verb|{}| przed
operatorem: zamiast
\begin{example}
\begin{IEEEeqnarray}{rCl}
  a & = & b + c 
  \\
  & = & d + e + f + g + h 
  + i + j + k \nonumber\\
  && + l + m + n + o 
  \\
  & = & p + q + r + s
\end{IEEEeqnarray}
\end{example}
powinniśmy napisać
\begin{example}
\begin{IEEEeqnarray}{rCl}
  a & = & b + c 
  \\
  & = & d + e + f + g + h 
  + i + j + k \nonumber\\
  && \negmedspace {} + l 
  + m + n + o 
  \\
  & = & p + q + r + s
\end{IEEEeqnarray}
\end{example}
\noindent Zwróć uwagę na różne odstępy pomiędzy $+$ i $l$!
Konstrukcja \verb|{} + l| zmusza by znak \verb|+| był traktowany jako
operator, a nie jako znak liczby, z kolei niechciany odstęp pomiędzy
\verb|{}| i \verb|+| jest uniknięta dzięki negatywnemu odstępowi
średniemu \ci{negmedspace}.

Jeśli któraś linia równania nie powinna być numerowana, możemy temu
zapobiec przy użyciu polecenia \ci{nonumber} (lub \ci{IEEEnonumber}).
Jeśli na takiej linii zdefiniowana jest etykieta
\verb+\label{eq:...}+, to będzie ona odnosić się do następnego
równania, którego numer nie jest wyłączony. Etykiety warto wstawiać
tuż przed złamaniem linii \verb+\\+ lub zaraz po równaniu do których
należą. Oprócz lepszej czytelności kodu źródłowego, zapobiega to
również błędowi kompilacji gdy \ci{IEEEmulticol} następuje po
definicji etykiety.

Istnieje również wersja z gwiazdką, w której wszystkie numery równań
są wyłączone. W takim przypadku możemy dodać numer równania przy
użyciu polecenia \ci{IEEEyesnumber}:
\begin{example}
\begin{IEEEeqnarray*}{rCl}
  a & = & b + c \\
  & = & d + e \IEEEyesnumber\\
  & = & f + g
\end{IEEEeqnarray*}
\end{example}

Używając \ci{IEEEyessubnumber} możliwe jest również definiowanie
podnumerów równań:
\begin{example}
\begin{IEEEeqnarray}{rCl}
  a & = & b + c 
  \IEEEyessubnumber\\
  & = & d + e 
  \nonumber\\
  & = & f + g 
  \IEEEyessubnumber  
\end{IEEEeqnarray}
\end{example}

\section{Tablice i macierze} \label{sec:arraymat}

Do składania \textbf{tablic} użyj otoczenia \ei{array}. Działa ono
podobnie do otoczenia \texttt{tabular}. Polecenie \verb|\\| jest
używane do łamania wierszy:
\begin{example}
  \begin{equation*}
    \mathbf{X} = \left( 
      \begin{array}{ccc}
        x_1 & x_2 & \ldots \\
        x_3 & x_4 & \ldots \\
        \vdots & \vdots & \ddots
      \end{array} \right)
  \end{equation*}
\end{example}

Otoczenie \ei{array} może być też użyte do składania funkcji
częściowych\index{funkcje częściowe} używając ,,\verb|.|'' jako
niewidzialny prawy ogranicznik \ci{right}:
\begin{example}
\begin{equation*}
  |x| = \left\{
    \begin{array}{rl}
      -x & \text{dla } x < 0,\\
      0 & \text{dla } x = 0,\\
      x & \text{dla } x > 0.
    \end{array} \right.
\end{equation*}
\end{example}
Otoczenie \ei{cases} z \textsf{amsmath} upraszcza nieco składnię,
więc jemu również warto się przyjrzeć:
\begin{example}
  \begin{equation*}
    |x| = 
    \begin{cases}
      -x & \text{dla } x < 0,\\
      0 & \text{dla } x = 0,\\
      x & \text{dla } x > 0.
    \end{cases} 
\end{equation*}
\end{example}

\wi{Macierz}e mogą być również składane przy użyciu \ei{array}, ale
\pai{amsmath} umożliwia lepsze rozwiązania przy użyciu otoczeń
\ei{matrix}. Jest sześć wersji z innymi ogranicznikami: \ei{matrix}
(brak), \ei{pmatrix} $($, \ei{bmatrix} $[$, \ei{Bmatrix} $\{$,
\ei{vmatrix} $\vert$ oraz \ei{Vmatrix} $\Vert$. Nie musisz określać
liczby kolumn tak jak w \ei{array}. Maksymalna liczba kolumn to 10,
jednak można to zmienić (czego prawdopodobnie nie będziesz
potrzebować!):
\begin{example}
\begin{equation*}
  \begin{matrix} 
    1 & 2 \\
    3 & 4 
  \end{matrix} \qquad
  \begin{bmatrix} 
    p_{11} & p_{12} & \ldots 
    & p_{1n} \\
    p_{21} & p_{22} & \ldots 
    & p_{2n} \\
    \vdots & \vdots & \ddots 
    & \vdots \\
    p_{m1} & p_{m2} & \ldots 
    & p_{mn} 
  \end{bmatrix}
\end{equation*}
\end{example}

\section{Odstępy w trybie matematycznym} \label{sec:math-spacing}

Zdarzają się sytuacje, kiedy wielkość odstępów\index{odstęp!w trybie
  matematycznym} wewnątrz wyrażeń matematycznych jest niepoprawna.
Można je skorygować odpowiednimi instrukcjami. Do wprowadzania
niewielkich odstępów służy kilka poleceń: \ci{,} wstawia odstęp równy
$\frac{3}{18}$ em
% \footnote{W~programach komputerowych przyjęło się stosowanie jednostki
%   \emph{em\/} równej szerokości litery ,,M'' w~bieżącym kroju pisma.
%   Por.~też~\cite{nowacki-jm}.}
(\demowidth{0.166em}), \ci{:} pozwala uzyskać odstęp równy
$\frac{4}{18}$ em (\demowidth{0.222em}) a \ci{;} -- odstęp równy
$\frac{5}{18}$ em (\demowidth{0.277em}). Użycie instrukcji \verb*+\ +
(spacja po znaku \verb+\+) prowadzi do utworzenia zwykłego odstępu
międzywyrazowego; \ci{quad} -- odstępu równego 1 em
(\demowidth{1em}), a \ci{qquad} -- dwóm em (\demowidth{2em}). Rozmiar
\ci{quad} jest równy szerokości litery ,,M'' aktualnego fontu.
\verb|\!|\cih{"!} wstawia ujemny odstęp równy
$-\frac{3}{18}\:\textrm{em}$ ($-$\demowidth{0.166em}).

\begin{example}
\begin{equation*}
  \int_1^2 \ln x \mathrm{d}x 
  \qquad
  \int_1^2 \ln x \,\mathrm{d}x
\end{equation*}
\end{example}

Zwróć uwagę, że ,,d'' w równaniach różniczkowych jest zwyczajowo
zapisywane normalnym fontem. W następnych przykładach definiujemy
nowe polecenie \ci{ud}, które tworzy ,,$\,\mathrm{d}$'' (zwróć uwagę
na odstęp \demowidth{0.166em} przed $\text{d}$), dzięki czemu nie
musimy pisać go za każdym razem. Polecenie \ci{newcommand} może
zostać wstawione w preambule. %  More on
% \ci{newcommand} in section~\ref{} on page \pageref{}. To Do: Add label and
% reference to "Customising LaTeX" -> "New Commands, Environments and Packages"
% -> "New Commands".
\begin{example}
\newcommand{\ud}{\,\mathrm{d}}

\begin{equation*}
 \int_a^b f(x)\ud x 
\end{equation*}
\end{example}

Jeśli spróbujesz złożyć kilka całek to odkryjesz, że odstępy między
nimi są zbyt duże. Możesz je poprawić przy użyciu \ci{!}, ale
\pai{amsmath} zapewnia prostszy sposób na dopasowanie odstępów, a
mianowicie polecenia \ci{iint}, \ci{iiint}, \ci{iiiint}, oraz
\ci{idotsint}.

\begin{example}
\newcommand{\ud}{\,\mathrm{d}}

\begin{IEEEeqnarray*}{c}
  \int\int f(x)g(y) 
                  \ud x \ud y \\
  \int\!\!\!\int 
         f(x)g(y) \ud x \ud y \\
  \iint f(x)g(y)  \ud x \ud y 
\end{IEEEeqnarray*}
\end{example}

Więcej informacji znajdziesz w \texttt{testmath.tex} (udostępnianym w
\AmS-\LaTeX) lub rozdziale ósmym \companion{}.

\subsection{Fantomy}

Podczas wyrównywania w~pionie tekstu z~indeksami \verb|^| bądź
\verb|_| \LaTeX{} bywa nadgorliwy. Polecenie \ci{phantom} pozwala
rezerwować miejsce na znaki, które nie mają się pojawić w ostatecznym
wydruku. Najłatwiej to zrozumieć, analizując przykład:
\begin{example}
\begin{equation*}
{}^{14}_{6}\text{C}
\qquad \text{kontra} \qquad
{}^{14}_{\phantom{1}6}\text{C}
\end{equation*}
\end{example}
W przypadku gdy spodziewasz się pisania sporej liczby izotopów warto
przyjrzeć się pakietowi \pai{mhchem}, który znacząco ułatwia
składania zarówno ich jak i formuł chemicznych.

\section{Zabawa z fontami matematycznymi}\label{sec:fontsz}
Różne fonty matematyczne są zestawione w tabeli~\ref{mathalpha} na
stronie~\pageref{mathalpha}.
\begin{example}
 $\Re \qquad
  \mathcal{R} \qquad
  \mathfrak{R} \qquad
  \mathbb{R} \qquad $  
\end{example}
Ostatnie dwa przykłady wymagają \pai{amssymb} lub \pai{amsfonts}.

Czasami musisz poinformować \LaTeX{}a, który rozmiar fontu chcesz
użyć. W trybie matematycznym służą do tego następujące cztery
polecenia:
\begin{flushleft}
  \ci{displaystyle}~($\displaystyle 123$),
  \ci{textstyle}~($\textstyle 123$),
  \ci{scriptstyle}~($\scriptstyle 123$) and
  \ci{scriptscriptstyle}~($\scriptscriptstyle 123$).
\end{flushleft}

Jeśli $\sum$ jest składana wewnątrz ułamka, będzie ona złożona w
stylu tekstowym chyba, że poinstruujesz \LaTeX{}a inaczej:
\begin{example}
\begin{equation*}
 P = \frac{\displaystyle{ 
   \sum_{i=1}^n (x_i- x)
   (y_i- y)}} 
   {\displaystyle{\left[
   \sum_{i=1}^n(x_i-x)^2
   \sum_{i=1}^n(y_i- y)^2
   \right]^{1/2}}}
\end{equation*}    
\end{example}
Zmiana stylów znacząco wpływa na składanie dużych operatorów i ich
limitów.

% This is not a math accent, and no maths book would be set this way.
% mathop gets the spacing right.

\subsection{Pogrubione symbole}
\index{pogrubione symbole}

W \LaTeX{}u trudno jest uzyskać symbole pogrubione; jest to celowy
zabieg, ponieważ amatorzy często ich nadużywają. Polecenie zmiany
fontu \verb|\mathbf| sprawia, że litery są pogrubione, jednak są one
niepochylone, podczas gdy symbole matematyczne są zwykle zapisane
kursywą. Co więcej nie działa ono dla małych liter greckich. Istnieje
polecenie \ci{boldmath}, ale może \emph{być ono wykorzystywane tylko
  poza trybem matematycznym}. Działa wtedy również dla symboli:
\begin{example}
$\mu, M \qquad 
\mathbf{\mu}, \mathbf{M}$
\qquad \boldmath{$\mu, M$}
\end{example}

Pakiet \pai{amsbsy} (dołączany do \pai{amsmath}) jak również pakiet
package \pai{bm} z kolekcji \texttt{tools} znacząco to ułatwiają,
ponieważ zawierają one polecenie \ci{boldsymbol}:

\begin{example}
$\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M}$
\end{example}

\section{Twierdzenia, lematy, itp.}

W pracach matematycznych występuje potrzeba wyróżniania w składzie
zapisu ,,lematów'', ,,definicji'', ,,aksjomatów'' i tym podobnych
elementów. Do zdefiniowania nowego typu elementu służy polecenie:
\begin{lscommand}
  \ci{newtheorem}\verb|{|\emph{nazwa}\verb|}[|\emph{licznik}\verb|]{|%
  \emph{tekst}\verb|}[|\emph{sekcja}\verb|]|
\end{lscommand}
%
Argument \emph{nazwa} jest krótkim słowem wykorzystywanym do
rozpoznawania ,,twierdzenia''. W argumencie \emph{tekst} zdefiniowana
jest faktyczna nazwa, która będzie ostatecznie wydrukowana.

Argumenty w nawiasach kwadratowych są opcjonalne. Oba są
wykorzystywane do określania w jaki sposób ,,twierdzenia'' powinny
być numerowane. Użyj argumentu \emph{licznik} aby określić
\emph{nazwę} poprzednio zdefiniowanego ,,twierdzenia''. Nowe
,,twierdzenie'' będzie wtedy numerowane kolejno z nim. Argument
\emph{sekcja} pozwala na określenie w której części hierarchii
dokumentu twierdzenia powinny otrzymywać swój numer.

Po dodaniu polecenia \ci{newtheorem} do preambuły, możesz korzystać z
następujących poleceń wewnątrz dokumentu.
\begin{code}
\verb|\begin{|\emph{name}\verb|}[|\emph{text}\verb|]|\\
Oto moje interesujące twierdzenie\\
\verb|\end{|\emph{name}\verb|}|     
\end{code}

W pakiecie \pai{amsthm} (część \AmS-\LaTeX) dostępne jest również
polecenie \ci{theoremstyle}\verb|{|\emph{styl}\verb|}| które pozwala
określać jeden z trzech dostępnych stylów dla twierdzenia:
\texttt{definition} (definicje, pogrubiony tytuł, zwykła treść),
\texttt{plain} (pogrubiony tytuł, treść zapisana kursywą) lub
\texttt{remark} (tytuł kursywą, zwykła treść).

Wystarczy teorii. Następujące przykłady powinny rozwiać wszystkie
wątpliwość i zasygnalizować, że otoczenie \verb|\newtheorem| jest
możliwe do zrozumienia.

% actually define things
\theoremstyle{definition} \newtheorem{prawo}{Prawo}
\theoremstyle{plain} \newtheorem{sąd}[prawo]{Sąd}
\theoremstyle{remark} \newtheorem*{małg}{Małgorzata}

Najpierw zdefiniujmy twierdzenia:

\begin{verbatim}
\theoremstyle{definition} \newtheorem{prawo}{Prawo}
\theoremstyle{plain}      \newtheorem{sąd}[prawo]{Sąd}
\theoremstyle{remark}     \newtheorem*{małg}{Małgorzata}
\end{verbatim}

\begin{example}
\begin{prawo} \label{prawo:chow}
Świadkowie nie mogą się chować
\end{prawo}
\begin{sąd}[Dwunastu]
To mogłaś być ty! Więc uważaj
i przestrzegaj
prawa~\ref{prawo:chow}.\end{sąd}
\begin{sąd}
Należy zignorować poprzednie 
zdanie.\end{sąd}
\begin{małg}Nie, Nie, Nie\end{małg}
\begin{małg}Denis!\end{małg}
\end{example}

Twierdzenie ,,Sąd'' korzysta z tego samego licznika co ,,Prawo'',
więc dostaje numer kolejnego ,,Prawa''. Argument w nawiasach
kwadratowych może zawierać tytuł lub coś podobnego dla danej teorii.
\begin{example}
\newtheorem{mur}{Murphy}[section]

\begin{mur} Jeżeli coś można 
wykonać na dwa lub więcej
sposobów,  przy czym jeden 
z nich prowadzi do  katastrofy, 
to sposób ten zostanie 
przez kogoś wybrany.\end{mur}
\end{example}

Numeracja twierdzenia ,,Murphy'ego'' jest tu powiązana z numeracją
kolejnych punktów. Można też do numerowania twierdzeń stosować inne
jednostki podziału dokumentu, jak rozdziały czy podsekcje.

Jeśli chcesz więcej kontroli nad wyglądem ,,twierdzeń'', możesz
przyjrzeć się pakietowi \pai{ntheorem}, który oferuje wiele opcji.

\subsection{Dowody i symbol końca dowodu}
\label{sec:putting-qed-right}

W~pakiecie \pai{amsthm} znajduje się też otoczenie \ei{proof} do
zapisywania dowodów

\begin{example}
\begin{proof}
 Trywialne, użyj
 \begin{equation*}
   E=mc^2.
 \end{equation*}
\end{proof}
\end{example}

Polecenie \ci{qedhere} pozwala wstawić symbol ,,końca
dowodu''\index{symbol!końca dowodu} w określonym miejscu zamiast
domyślnego umieszczania go w oddzielnym wierszu:

\begin{example}
\begin{proof}
  Trywialne, użyj
 \begin{equation*}
   E=mc^2. \qedhere
 \end{equation*}
\end{proof}
\end{example}

Niestety korekcja ta nie działa w \texttt{IEEEeqnarray}:
\begin{example}
\begin{proof}
  Oto dowód, który kończy
  się tablicą równań:
  \begin{IEEEeqnarray*}{rCl}
    a & = & b + c \\
    & = & d + e. \qedhere
  \end{IEEEeqnarray*}  
\end{proof}
\end{example}
%
\noindent Powodem takiego zachowania jest wewnętrzna struktura
\texttt{IEEEeqnarray}: zawsze wstawia ono dwie niewidzialne kolumny
po obu strona tablicy, które zawierają rozciągliwy odstęp. W ten
sposób \texttt{IEEEeqnarray} gwarantuje, że równania są wyśrodkowane.
Polecenie \ci{qedhere} powinno być wstawione \emph{poza} tymi
rozciągliwymi odstępami, jednak tak się nie dzieje ponieważ kolumny
te są niewidzialne dla użytkownika.

Istnieje bardzo proste rozwiązanie. Zdefiniować rozciągliwe odstępy
samodzielnie!
\begin{example}
\begin{proof}
  Oto dowód, który kończy
  się tablicą równań:
  \begin{IEEEeqnarray*}{+rCl+x*}
    a & = & b + c \\
    & = & d + e. & \qedhere
  \end{IEEEeqnarray*}  
\end{proof}
\end{example}
%
\noindent Zwróć uwagę, że \verb=+= w \verb={+rCl+x*}= oznacza
rozciągliwe odstępy, jeden po lewej stronie równań (który w
przeciwnym przypadku byłby wstawiony automatycznie przez
\texttt{IEEEeqnarray}!) oraz jeden z prawej strony równań. Jednak
teraz po prawej stronie, \emph{po} rozciągliwej kolumnie, dodajemy
pustą kolumnę \verb=x=. Ta kolumna będzie potrzebna tylko w ostatnim
wierszu jeśli polecenie \ci{qedhere} zostanie tam wstawione. Wreszcie
wstawiamy \verb=*=. Oznacza ono pusty odstęp, który zapobiega przed
automatycznym wstawieniem przez \texttt{IEEEeqnarray} kolejnej
niechcianej kolumny z odstępem!

W przypadku numerowanych równań występuje podobny problem. Porównójąc
\begin{example}
\begin{proof}
  Oto dowód, który kończy
  się numerowanym równaniem:
  \begin{equation}
    a = b + c.
  \end{equation}
\end{proof}
\end{example}
\noindent z
\begin{example}
\begin{proof}
  Oto dowód, który kończy
  się numerowanym równaniem:
  \begin{equation}
    a = b + c. \qedhere
  \end{equation}
\end{proof}
\end{example}
\noindent zauważysz, że w drugiej (poprawnej) wersji $\Box$ jest dużo
bliżej równania niż w pierwszej.

Podobnie poprawne miejsce wstawiania symbolu końca dowodu na końcu
tablicy równań uzyskiwane jest następująco:
\begin{example}
\begin{proof}
  Oto dowód, który kończy
  się tablicą równań:
  \begin{IEEEeqnarray}{+rCl+x*}
    a & = & b + c \\
    & = & d + e. \\
    &&& \qedhere\nonumber
  \end{IEEEeqnarray}  
\end{proof}
\end{example}
\noindent co wygląda lepiej niż:
\begin{example}
\begin{proof}
  Oto dowód, który kończy
  się tablicą równań:
  \begin{IEEEeqnarray}{rCl}
    a & = & b + c \\
    & = & d + e.
  \end{IEEEeqnarray}  
\end{proof}
\end{example}

%

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