\documentclass[a4paper,12pt]{article}
\usepackage[polish]{babel}
\usepackage[dvips]{graphicx}
\usepackage[latin2]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{listings}
\lstloadlanguages{C,C++}

%ustawienie wielkości wcięcia akapitu
\setlength{\parindent}{0mm}
%odstęp między akapitami
\setlength{\parskip}{2mm}

\textwidth 17cm
\textheight 24cm
\topmargin -5mm
\evensidemargin -3mm
\oddsidemargin -3mm

\title{ABC systemu \LaTeX }
\author{Marcin SZPYRKA}
\date{11 grudnia 2006}

\begin{document}

\renewcommand{\tablename}{Tabela}

\maketitle

\section{Wprowadzenie}
\label{sec:wprowadzenie}

\LaTeX~(wymawiamy ,,latech'') jest systemem składu drukarskiego, nadającym się do tworzenia różnego rodzaju dokumentów. \LaTeX~jest zbiorem makropoleceń systemu \TeX. \TeX~jest zarówno programem komputerowym jak
językiem programowania. System został utworzony na zamówienie Amerykańskiego Towarzystwa Matematycznego, jako system do przygotowywania dokumentów matematycznych lub ogólnie naukowych. Korzystając z~systemu składu \LaTeX~mamy za zadanie przygotować jedynie tekst źródłowy, cały ciężar składania, formatowania dokumentu przejmuje na siebie system.

W~przeciwieństwie do popularnych edytorów tekstu, dokumenty przygotowane w~systemie \LaTeX~mają profesjonalny wygląd. Po przygotowaniu pliku źródłowego i~po jego kompilacji otrzymujemy dokument, którego wygląd będzie identyczny niezależnie od systemu operacyjnego i~drukarki, które użyjemy do jego drukowania. Wszystkie kwestie dotyczące łamania linii tekstu, akapitów, stron, itp. są rozstrzygane na etapie kompilacji i~później wygląd dokumentu nie ulega zmianie. Opcje decydujące o~wyglądzie dokumentu po kompilacji grupowane są w~tzw. klasach dokumentów. Większość wydawnictw naukowych na świecie dostarcza własne klasy dokumentów dla \LaTeX a, po użyciu których dokumenty są przygotowane do publikacji w~tych wydawnictwach.

Poza określeniem klasy dokumentu, do pliku źródłowego dołączane są dodatkowe pakiety (coś w~stylu bibliotek przy pisaniu programów), które udostępniają nam dodatkowe możliwości sterowania wyglądem dokumentu. Pakiety pozwalają określić również takie parametry jak: język dokumentu, sposób kodowania znaków, itp.

\section{Język polski}
\label{sec:jezykPolski}

\textbf{Nie ma żadnych przeciwskazań} do tworzenia dokumentów w~\LaTeX u w~języku polskim. Plik źródłowy jest zwykłym plikiem tekstowym i~do jego przygotowania można użyć dowolnego edytora tekstów, a~polskie znaki wprowadzać używając prawego klawisza \texttt{Alt}. Jeżeli po kompilacji dokumentu polskie znaki nie są wyświetlane poprawnie, to na 95\% źle określono sposób kodowania znaków (należy zmienić opcje wykorzystywanych pakietów).

\section{Narzędzia}
\label{sec:Narzędzia}

Do przygotowania pliku źródłowego może zostać wykorzystany dowolny edytor
tekstowy. Niektóre edytory, np. Emacs, mają wbudowane moduły ułatwiające
składanie tekstów w LaTeXu (kolorowanie składni, skrypty kompilacji, itp.).

Osobiście polecam program {\em Kile}, będący środowiskiem do przygotowywania
dokumentów w \LaTeX u. Aplikacja dostępna jest dla środowiska KDE począwszy od
wersji 2. Zawiera edytor z podświetlaną składnią, zestawy poleceń \LaTeX a,
zestawy symboli matematycznych, kreatory tabel, macierzy, skrypty kompilujące i
konwertujące podpięte są do poleceń w menu aplikacji (i pasków narzędziowych),
dostępne jest sprawdzanie pisowni, edytor obsługuje projekty (tzn. dokumenty składające się z~wielu plików), umożliwia przygotowanie i~zarządzanie bibliografią, itp.

Na stronie \underline{\texttt{http://kile.sourceforge.net/screenshots.php}} zamieszczono kilkanaście zrzutów ekranu środowiska {\em Kile}, które warto przejrzeć, by wstępnie zapoznać się z~możliwościami programu.

\section{Przygotowanie pliku wynikowego}
\label{sec:przygotowaniePlikuWynikowego}

Załóżmy, że przygotowany przez nas dokument zapisany jest w pliku \texttt{test.tex}. Kolejno wykonane poniższe polecenia (pod warunkiem, że w pierwszym
przypadku nie wykryto błędów i kompilacja zakończyła się sukcesem) pozwalają
uzyskać nasz dokument w formacie pdf:

\texttt{latex test.tex\\
dvips test.dvi -o test.ps\\
ps2pdf test.ps}

lub za pomocą PDF\LaTeX:

\texttt{pdflatex test.tex}

W pierwszym przypadku rysunki powinny być przygotowane w~formacie eps, a~w~drugim w~formacie pdf. Ponadto, jeżeli używamy polecenia \texttt{pdflatex test.tex} można wstawiać grafikę bitową (np. w formacie jpg).


\section{Przygotowanie dokumentu}
\label{sec:przygotowanieDokumentu}

\subsection{Słowa, akapity}
\label{subsec:slowaAkapity}

Plik źródłowy \LaTeX a jest zwykłym plikiem tekstowym. Przygotowując plik
źródłowy warto wiedzieć o kilku szczegółach:

\begin{itemize}
\item
Poszczególne słowa oddzielamy spacjami, przy czym ilość spacji nie ma znaczenia.
Po kompilacji wielokrotne spacje i tak będą wyglądały jak pojedyncza spacja.
Aby uzyskać {\em twardą spację}, zamiast znaku spacji należy użyć znaku {\em
tyldy}.

\item
Znakiem końca akapitu jest pusta linia (ilość pusty linii nie ma znaczenia), a
nie znaki przejścia do nowej linii.

\item
\LaTeX~sam formatuje tekst. \textbf{Nie starajmy się go poprawiać}, chyba, że
naprawdę wiemy co robimy.
\end{itemize} 

\subsection{Formatowanie tekstu}
\label{subsec:formatowanieTekstu}

Poniżej pokazano różne efekty będące wynikiem formatowania tekstu. W~celu uzyskania tych efektów użyto polecenia:\\ \texttt{
\{$\backslash$em tak umieszczony tekst będzie wyróżniony\},\\ 
$\backslash$textbf\{ten tekst będzie pogrubiony\},\\ 
$\backslash$texttt\{ten tekst będzie pisany czcionką maszynową\},\\ 
$\backslash$textit\{ten tekst będzie pochylony\},\\ 
$\backslash$textsc\{ten tekst będzie pisany kapitalikami\}}.


Zwykły tekst, zwykły tekst, {\em tekst wyróżniony}, zwykły tekst, \textbf{tekst
pogrubiony}, zwykły tekst, \texttt{czcionka maszynowa}, \textit{kursywa, kursywa,
{\em wyróżnienie w tekście pisanym kursywą}, kursywa, kursywa}, \textsc{kapitaliki}\footnote{Więcej informacji w podręcznikach, dokumentacji, itp.}.

\subsection{Formatowanie akapitu}
\label{subsec:formatowanieAkapitu}

Aby uzyskać różne wersje wyrównania akapitu należy umieścić tekst akapitu pomiędzy poleceniami:\\ 
\texttt{
$\backslash$begin\{flushleft\}\\
$\backslash$end\{flushleft\}}\\ 
lub\\ 
\texttt{
$\backslash$begin\{center\}\\
$\backslash$end\{center\}}\\
lub\\ 
\texttt{
$\backslash$begin\{flushright\}\\
$\backslash$end\{flushright\}}.

\begin{flushleft}
Akapit wyrównany do lewej strony. 
\end{flushleft}

\begin{center}
Akapit wyśrodkowany. 
\end{center}

\begin{flushright}
Akapit wyrównany do prawej strony. 
\end{flushright}



\subsection{Tabele}
\label{sec:tabele}

Poniżej przedstawiono przykład tabeli zawierającej różne elementy jej
formatowania (zob. tab.~\ref{tab:stanySygnalizatora}).


\begin{table}
\caption{Stany sygnalizatora}
\label{tab:stanySygnalizatora}
\begin{center}
\begin{tabular}{|l||c|c|c|r|}
\hline Stan & Sygnalizator 1 & Sygnalizator 2 & Sygnalizator 3 & Sygnalizator 4 \\
\hline
\hline
 1 & zielone & zielone & czerwone & czerwone \\
 2 & czerwone & zielone & zielone & czerwone \\
 3 & czerwone & czerwone & czerwone & zielone \\
\hline
\end{tabular}
\end{center}
\end{table}


\subsection{Wzory matematyczne}
\label{sec:wzoryMatematyczne}

Przykłady wzorów matematycznych znajdujących się wewnątrz tekstu:
Funkcją kwadratową nazywamy funkcję postaci $f(x) = ax^2 + bx + c$, gdzie $a
\ne 0$.

$\sum_{i=1}^{\infty}\frac{1}{n}$

Ten wzór jest wyróżniony, został umieszczony w oddzielnej linii: 
$$f(x) = a_n x^n + a_{n-1} x^{n-1} + \dots + a_1 x + a_0.$$

Wzory matematyczne umieszczamy pomiędzy znakami dolara, np. \texttt{\$a $\backslash$ne 0\$}, jeżeli są one umieszczane w~tekście lub pomiędzy podwójnymi znakami dolara, jeżeli mają być wyróżnione.

\subsection{Wstawianie grafiki}
\label{sec:wstawianieGrafiki}

Grafika wstawiana do dokumentu powinna być w formacie eps (encapsulated postscript). W~Linuksie polecam programy takie jak \textbf{dia} lub \textbf{xfig}. Sieć przedstawioną na rys.~\ref{demo} narysowano w~\textbf{xfig'u}. 

\begin{figure}[h]
\centerline{\includegraphics[width=9.5cm]{siec.eps}}
\caption{Przykład rysunku}
\label{demo}
\end{figure}

\textbf{Uwaga:} Jeżeli ktoś używa takiego systemu operacyjnego na {\em W} i~będzie przygotowywał rysunki w~programach typu {\em Corel}, {\em Visio}, itp., to należy sprawdzić jakie eps'y one generują. Przede wszystkim ma być to grafika wektorowa, by można było skalować rysunki, po drugie eps'y, np. generowane przez {\em xfig'a} mają od kilku do kilkunastu (czasami kilkudziesięciu) kilobajtów. Jeżeli Państwa program generuje eps'y, które mają po kilkaset kilobajtów lub więcej, to nie jest to dobry program.

Informacje na temat wstawiania grafiki zawarto również w~sekcji~\ref{sec:przygotowaniePlikuWynikowego} (str.~\pageref{sec:przygotowaniePlikuWynikowego}).

\subsection{Wstawianie kodu źródłowego}
\label{sec:wstawianieKoduZrodlowego}

W oparciu o pakiet \texttt{listings} można łatwo umieszczać kod źródłowy w dokumencie. W~wstępie należy zaznaczyć z~jakich języków będziemy korzystać, na przykład C++, PHP, itd. Przed pierwszym użyciem środowiska {\em lstlisting} należy ustalić parametry formatowania kodu (zobacz plik źródłowy do tego dokumentu). Warto zwrócić uwagę, że kod źródłowy jest traktowany inaczej niż normalny tekst. W~tym przypadku każda spacja i~pusta linia ma znaczenie.

\lstset{language=C++,basicstyle=\ttfamily,keywordstyle=\bfseries}

\begin{lstlisting}
#include <iostream>

int main()
{
  std::cout << "C++\n";
}
\end{lstlisting}





\section{Podsumowanie}

To powinno wystarczyć, by przygotować samodzielnie dokumentację do projektu.
Przykładowe książki do \LaTeX a, to \cite{Lam}, \cite{Dil}.
Poza tym sporo dokumentacji do \TeX a i \LaTeX a dostępnej jest w sieci. Kilka
odnośników można znaleźć na mojej stronie www:

\underline{\texttt{home.agh.edu.pl/mszpyrka}}.

Warto również dokładnie przejrzeć plik źródłowy tego dokumentu!

\begin{thebibliography}{99}

\bibitem{Lam}
Lamport L., \textit{\LaTeX~System przygotowywania dokumentów}, Wydawnictwo
Ariel, Kraków, 1992.

\bibitem{Dil}
Diller A., \textit{\LaTeX~Wiersz po wierszu}, Wydawnictwo Helion, Gliwice, 2000.


\end{thebibliography}



\end{document}