% -- translate-file=il2-pl -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Things you need to know (LShort2e Introduction) % File: things.tex (Polish translation) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Podstawy, które warto znać} \begin{intro} W~pierwszej części tego rozdziału przedstawimy krótko filozofię oraz historię systemu \LaTeXe. W~części drugiej skoncentrujemy się na podstawowych elementach dokumentu \LaTeX{}owego. Po przeczytaniu tego rozdziału czytelnik powinien z~grubsza wiedzieć, jak działa {\LaTeX}, co jest niezbędne do rozumienia materiału prezentowanego w~następnych rozdziałach. \end{intro} \section{Nazwa programu} \subsection{\TeX} {\TeX} jest programem komputerowym stworzonym przez \index{Knuth Donald E.}Donalda E.~Knutha~\cite{texbook}. Jest przeznaczony do składu tekstów oraz wzorów matematycznych. Knuth rozpoczął pracę nad {\TeX}em w~1977 roku, aby wykorzystać potencjał składu cyfrowego, stosowanego wówczas na coraz szerszą skalę w~poligrafii. Miał też nadzieję, że uda się odwrócić tendencję do pogarszania się jakości typograficznej, co uwidaczniało się w~jego własnych książkach i~artykułach. W~używanej obecnie postaci {\TeX} został udostępniony w~roku 1982, a~niewielkie rozszerzenie, dotyczące ośmiobitowego kodowania znaków, pojawiło się w~roku 1989. {\TeX} ma renomę programu nadzwyczaj stabilnego, pracującego na różnego rodzaju sprzęcie oraz praktycznie wolnego od błędów. Numery wersji {\TeX}a zbiegają do liczby $\pi$, a~obecny wynosi 3{,}14159. Słowo {\TeX} należy wymawiać ,,tech''. Zgłoska ,,ch'' ma związek z~tym, że znak X przypomina grecką literę ,,chi''. \TeX{} jest też pierwszą sylabą greckiego słowa texnologia (technologia). W~sytuacjach, w~których nie można zapisywać nazwy {\TeX} z~charakterystycznym obniżeniem litery~E, należy zamiennie używać wersji \texttt{TeX}. \subsection{\LaTeX} {\LaTeX} jest zestawem instrukcji (poleceń, makrodefinicji, makr) umożliwiających autorom złożenie i~wydrukowanie ich prac na najwyższym poziomie typograficznym. %!%{\LaTeX} jest zestawem poleceń, tak zwanych makr, umożliwiających %!%autorom składanie i~drukowanie prac na bardzo wysokim poziomie %!%typograficznym, w~predefiniowanej profesjonalnej szacie graficznej. Pierwszą wersję {\LaTeX}a opracował \index{Lamport Leslie}Leslie Lamport~\cite{manual}. Do formatowania dokumentu {\LaTeX} używa programu {\TeX}. Pielęgnacją dzisiejszych wersji \LaTeX{}a zajmuje się Frank Mittelbach\index{Mittelbach Frank}. Kilka lat temu pakiet \LaTeX{} został rozszerzony przez zespół o~nazwie \index{LaTeX3@\LaTeX 3}\LaTeX 3 (\Elang{\LaTeX 3 team}), kierowany przez \index{Mittelbach Frank}Franka Mittelbacha. Celem tego rozszerzenia było wprowadzenie kilku od dawna postulowanych ulepszeń oraz unifikacja rozmaitych odmian \LaTeX{}a, które rozpowszechniły się od chwili powstania kilkanaście lat wcześniej \LaTeX{}a w~wersji 2.09\index{LaTeX 2.09@\LaTeX{}2.09}. Nową wersję pakietu nazwano \index{LaTeX 2e@\LaTeXe}\LaTeXe, w~celu odróżnienia jej od wersji poprzednich. Niniejszy dokument opisuje właśnie \LaTeXe. Słowo {\LaTeX} należy wymawiać ,,lej-tech'' albo ,,la-tech.'' Jeżeli nie można zapisać symbolu {\LaTeX}, to zamiennie należy użyć zapisu \texttt{LaTeX}. {\LaTeXe} wymawiamy ,,la-tech dwa i'', a~zamienną wersją zapisu jest \texttt{LaTeX2e}. \section{Podstawy} \subsection{Autor, redaktor i~zecer} Aby wydać książkę, autor dostarcza maszynopis do wydawnictwa. W~wydawnictwie redaktor decyduje o~układzie graficznym dokumentu (szerokość szpalty, krój pisma, odstępy przed i~po tytułach rozdziałów~itd.). Redaktor zapisuje swoje decyzje w~maszynopisie, w~formie odpowiednich instrukcji, i~przekazuje go zecerowi. Na podstawie maszynopisu oraz~instrukcji zecer wykonuje skład. Redaktor-człowiek odgaduje, co miał na myśli autor, gdy zapisywał maszynopis. Wykorzystując swoje doświadczenie zawodowe, ustala, które miejsca w~maszynopisie oznaczają tytuły rozdziałów, podrozdziałów, cytaty, przykłady, wzory matematyczne itd. {\LaTeX} gra rolę redaktora, a~{\TeX} -- zecera. Z~tym że {\LaTeX} jest ,,zaledwie'' programem komputerowym i~dlatego potrzebuje dodatkowej pomocy autora, który powinien dostarczyć niezbędnych do składu informacji o~strukturze logicznej dokumentu. Informacje te autor zapisuje w~pliku źródłowym dokumentu jako ,,polecenia dla {\LaTeX}a''. Praca z~{\LaTeX}em zdecydowanie różni się od podejścia stosowanego w~procesorach tekstu typu \wi{\WYSIWYG}\footnote{ang.~\textit{What you see is what you get} (dostaniesz to, co widzisz).}, takich jak {\MSWord} albo \prg{OpenOffice}. %% Corel WordPerfect. Pierwszy sposób można określić ,,formatowaniem logicznym''\index{formatowanie!logiczne} drugi -- ,,formatowaniem wizualnym''\index{formatowanie!wizualne}. Używając programów typu {\WYSIWYG}, autor decyduje interakcyjnie o~wyglądzie graficznym dokumentu, w~miarę dopisywania tekstu. Przez cały czas widzi na ekranie, jak tekst będzie wyglądał po wydrukowaniu. Używając {\LaTeX}a, nie można na ogół oglądać dokumentu w~jego ostatecznej postaci i~jednocześnie dopisywać tekstu. Można natomiast obejrzeć dokument na ekranie po przetworzeniu go {\LaTeX}em\footnote{Na szybkim komputerze przetworzenie trwa często zaledwie kilka sekund. Dysponując dużym ekranem, można jednocześnie wyświetlić okno z~plikiem źródłowym oraz okno podglądu, otrzymując w~ten sposób system prawie {\WYSIWYG}.}. Gdy jest już gotowy, można dokument wysłać na drukarkę. \subsection{Układ graficzny } Projektowanie książek jest sztuką. Amatorzy często popełniają poważny błąd, zakładając, że zaprojektowanie układu graficznego książki jest jedynie kwestią estetyki (jeżeli dokument ładnie wygląda, to jest dobrze złożony). Ponieważ dokumenty są przeznaczone do czytania, a~nie do powieszenia, jak obraz na ścianie w~galerii, to o~wiele większe znaczenie niż piękny wygląd ma łatwość czytania i~przyswajania tekstu. Przykłady: % \begin{itemize} \item stopień pisma oraz numerację rozdziałów, podrozdziałów i~punktów należy ustalić tak, by czytelnik mógł się szybko zorientować w~strukturze dokumentu; \item szerokość szpalty powinna być na tyle wąska, by czytelnik nie musiał wytężać wzroku, wystarczająco jednak duża, aby tekst elegancko wypełniał stronę. \end{itemize} % W~systemach wizualnych często powstają dokumenty przyjemne dla oka, chociaż pozbawione struktury albo wykazujące brak konsekwencji w~strukturze. {\LaTeX} zapobiega powstawaniu takich błędów, nakłaniając autora do określenia \emph{logicznej} struktury dokumentu. Do {\LaTeX}a należy dobór najodpowiedniejszego dla niej układu graficznego. \subsection{Zalety i~wady} Tematem często dyskutowanym, gdy użytkownicy programów typu \wi{\WYSIWYG} spotykają użytkowników {\LaTeX}a, są ,,\wi{zalety {\LaTeX}a} w~porównaniu ze zwykłym procesorem tekstu'' albo na odwrót. Najlepiej podczas takich dyskusji siedzieć cicho. Czasami jednak nie ma ucieczki\dots Na wszelki wypadek trochę amunicji. Oto najważniejsze zalety {\LaTeX}a w~porównaniu ze zwykłymi procesorami tekstu: \begin{itemize} \item Dostępne są gotowe, przygotowane przez zawodowców %!%układy graficzne, dzięki szablony, dzięki zastosowaniu których dokumenty wyglądają ,,jak z~drukarni''. \item Wygodnie składa się wzory matematyczne. \item Do rozpoczęcia pracy wystarczy poznać zaledwie kilkanaście łatwych do zrozumienia instrukcji, określających strukturę logiczną dokumentu. Nie trzeba zaprzątać sobie głowy formatowaniem dokumentu. \item Nawet takie elementy jak: przypisy, odnośniki, spisy treści, spisy tabel, skorowidze oraz spisy bibliograficzne przygotowuje się bardzo łatwo. \item Istnieje wiele bezpłatnych pakietów poszerzających typograficzne możliwości {\LaTeX}a. Dostępne są na przykład pakiety umożliwiające wstawianie do dokumentów grafiki w~formacie \PostScript, tworzenie hipertekstowej wersji dokumentów w~formacie \acro{PDF} czy też przygotowanie spisów bibliograficznych według ściśle określonych reguł, obowiązujących w~różnych wydawnictwach. Opis wielu z~tych pakietów można znaleźć w~podręczniku~\companion. \item {\LaTeX} zachęca autorów do tworzenia dokumentów o~dobrze określonej strukturze. \item {\TeX} --~program formatujący używany przez \LaTeXe{} --~jest bezpłatny i~w~najwyższym stopniu przenośny. Dzięki temu można działać na praktycznie dowolnej platformie systemowo{\dywiz}sprzętowej. % % Add examples ... % \end{itemize} \medskip \noindent {\LaTeX} ma także pewne wady, chociaż ciężko mi znaleźć jakąkolwiek istotną. Jestem jednak pewien, że inne osoby wskażą ci ich setki\texttt{;-)} \begin{itemize} \item {\LaTeX} nie działa u~tych, którzy zaprzedali swoje dusze\ldots \item Chociaż przez zmianę niektórych parametrów można dostosowywać predefiniowane układy graficzne do własnych potrzeb, to jednak zaprojektowanie całkowicie nowego układu jest pracochłonne\footnote{Plotki mówią, że jest to jeden z~ważniejszych problemów, nad jakim pracują twórcy systemu % \LaTeX3\index{LaTeX3@\LaTeX 3}.}. % Uwaga (TP) powyższy zapis spowoduje wygenerowanie hasła: % \indexentry{LaTeX3@\LaTeX 3}{4} (dwie spacje po LaTeX) % co spowoduje, że makeindex posortuje to jako osobną pozycję % to samo będzie jak wstawimy \index{} w \caption % Z tego co mi się wydaje to taki `feature' LaTeXa % \LaTeX3\index{LaTeX3@\protect\LaTeX 3}.}. \item Trudno jest tworzyć dokumenty o~nieokreślonej, bałaganiarskiej strukturze. \item Twój chomik może nie być w~stanie, mimo kilku obiecujących kroków wstępnych, w~pełni pojąć koncepcję znakowania logicznego. \end{itemize} \section{Plik źródłowy} Plik źródłowy {\LaTeX}a to zwykły plik tekstowy (plik \acro{ASCII}). Taki plik można utworzyć w~dowolnym edytorze tekstowym. Powinien on zawierać tekst dokumentu oraz instrukcje dla {\LaTeX}a określające, jak tekst ma zostać złożony. \subsection{Odstępy} Znaki \emph{niewidoczne}\index{odstęp}, takie jak odstępy (spacje) lub znaki tabulacji, są przez {\LaTeX}a traktowane jednakowo -- jako odstęp. \emph{Kolejno} po sobie występujące znaki odstępu {\LaTeX} traktuje jak \emph{pojedynczy} odstęp. Znaki odstępu znajdujące się na początku wiersza są prawie zawsze ignorowane\index{odstęp!na początku wiersza}. Pojedynczy koniec linii jest traktowany jak odstęp. Pusty wiersz pomiędzy dwoma wierszami tekstu oznacza koniec akapitu. Kolejno występujące puste wiersze {\LaTeX} traktuje jak jeden. Przykładem może być poniższy tekst. Po prawej stronie (w~ramce) przedstawiono wynik składu, a~po lewej -- zawartość pliku źródłowego. % \begin{example} Nie ma znaczenia, czy między słowami jest jedna czy więcej spacji. Pusty wiersz zakończył poprzedni akapit. \end{example} \subsection{Znaki specjalne} Niektóre znaki są zarezerwowane -- w~tym sensie, że albo mają dla \LaTeX{}a specjalne znaczenie, albo nie są dostępne we wszystkich standardowych krojach pisma. Użyte dosłownie w~pliku źródłowym nie pojawią się na wydruku, lecz (najczęściej) spowodują błąd podczas przetwarzania tekstu. Oto ich lista: % \begin{code} \verb.$ & % # _ { } ~ ^ \ . %$ \end{code} % \noindent Znaki te można umieścić w~dokumencie pod warunkiem, że w~pliku źródłowym zostaną poprzedzone znakiem w-tył-ciacha (ang. \UKemph{backslash}\index{backslash}): % \begin{example} \$ \& \% \# \_ \{ \} \end{example} % \noindent Samego znaku w-tył-ciach \emph{nie można} wstawić do tekstu metodą podwojenia, kombinacja \verb|\\| jest bowiem poleceniem {\LaTeX}a, opisanym w~punkcie~\ref{just-paragraphs}. Znak w-tył-ciach można wstawić poleceniem \verb|$\backslash$|\index{w-tył-ciach}. Uwaga: znaki dolara są tu niezbędne, a~ich opuszczenie spowoduje błąd podczas przetwarzania. \subsection{Polecenia {\LaTeX}a} Polecenia\index{polecenie} {\LaTeX}a mogą wystąpić w~dwóch następujących odmianach: \begin{enumerate} \item \label{control-seqs} Instrukcji rozpoczynających się znakiem \wi{w-tył-ciach} ,,\verb|\|'', po którym występuje ciąg liter. Końcem instrukcji jest wówczas odstęp lub inny znak niebędący literą. W~nazwach instrukcji {\LaTeX} rozróżnia litery małe i~duże, nie można też w~nich używać polskich liter diakrytycznych. \item \label{control-chars} Instrukcji składających się ze znaku w-tył-ciach oraz \emph{jednego\/} znaku niebędącego literą. \end{enumerate} %% \label{whitespace} %% \noindent {\LaTeX} ignoruje znaki niewidoczne po instrukcji typu~\ref{control-seqs}. Jeżeli po instrukcji ma występować w~dokumencie odstęp\index{odstęp!po instrukcji}, to należy bezpośrednio po niej umieścić kolejno: parę nawiasów klamrowych \verb|{}| i~odstęp. Para znaków \verb|{}| zapobiega zignorowaniu przez {\LaTeX}a odstępu po nazwie instrukcji. Innym sposobem jest wstawienie specjalnej instrukcji \verb|\ | (tj.~w-tył-ciach i~spacja). Niektórzy zapobiegają ,,połykaniu'' spacji w~jeszcze inny sposób, a~mianowicie otaczając nazwę instrukcji parą nawiasów \verb|{| i~\verb|}|. % \begin{example} Czytałem, że Knuth dzieli użytkowników systemu {\TeX} na \TeX{}ników oraz \TeX pertów.\\ Dzisiaj jest \today. \end{example} % \noindent Niektóre instrukcje {\LaTeX}owe mają argumenty\index{argument}. Podaje się je w~nawiasach klamrowych \verb|{ }|, każdy w~osobnej parze nawiasów. Liczba oraz kolejność argumentów jest istotna i~wynika z~definicji instrukcji. Instrukcje mogą mieć także argumenty opcjonalne\index{argument!opcjonalny}, podawane w~nawiasach kwadratowych \verb|[ ]|. W~wypadku większej liczby argumentów opcjonalnych oddziela się je przecinkami. Kolejność argumentów opcjonalnych \emph{nie odgrywa roli}. Poniższe przykłady ilustrują postać instrukcji {\LaTeX}owych. Ich znaczenie jest tu nieistotne i~zostanie opisane później. % \begin{example} Możesz na mnie \textsl{polegać}! Tu wstaw zmianę wiersza.\newline Dziękuję. \end{example} \subsection{Komentarze\index{komentarz}} Po napotkaniu znaku \verb|%|\index{\%} {\LaTeX} ignoruje resztę bieżącego wiersza (łącznie ze znakiem końca wiersza) oraz znaki odstępu na początku następnego. Znak \verb|%| jest używany do umieszczania komentarzy i~dodatkowych informacji w~pliku źródłowym. % \begin{example} Mao zmarł % sprawdzić! w~1975 roku. \end{example} \noindent Znaku \verb+%+ używa się niekiedy do dzielenia bardzo długich linii w~pliku wejściowym, gdy niedozwolone jest użycie spacji lub złamanie wiersza. %% Tego nie tłumaczymy bo jest niepotrzebne i mylące %% [ pojawia się pojęcie pakietu, otoczenia]: %%For longer comments you could use the \ei{comment} environment %%provided by the \pai{verbatim} package. This means, that you have to add the %%line \verb|\usepackage{verbatim}| to the preamble of your document as %%explained below before you can use this command. %% %%\begin{example} %%This is another %%\begin{comment} %%rather stupid, %%but helpful %%\end{comment} %%example for embedding %%comments in your document. %%\end{example} %% %%Note that this won't work inside complex environments, like math for example. %%Takie komentarze nie są jednak dozwolone wewnątrz niektórych %%otoczeń, na przykład \verb|math|. \section{Struktura pliku źródłowego } {\LaTeX} oczekuje, że plik źródłowy posiada określoną strukturę. W~szczególności, każdy plik źródłowy składa się z~dwóch części: preambuły\index{preambuła} oraz części głównej. Preambuła powinna się rozpoczynać od instrukcji~\ci{documentclass}: % \begin{code} \verb|\documentclass{...}| \end{code} % Instrukcja ta określa rodzaj tworzonego dokumentu. Po niej można umieścić polecenia dotyczące stylu całego dokumentu oraz dołączyć pakiety poszerzające możliwości {\LaTeX}a. Pakiety dołącza się poleceniem\ci{usepackage}: % \begin{code} \verb|\usepackage{...}| \end{code} % Tu potrzebny akapit Część główna dokumentu zaczyna się od instrukcji \verb|\begin{document}|. Za nią znajduje się tekst dokumentu, wzbogacony o~\LaTeX{}owe polecenia sterujące wyglądem. Na końcu dokumentu musi występować polecenie \verb|\end{document}|. Tekst znajdujący się za tym poleceniem jest przez {\LaTeX}a ignorowany. Rysunek~\ref{mini} pokazuje zawartość minimalnego dokumentu {\LaTeX}owego. Użyte w~nim instrukcje \verb|\usepackage{...}|, niezbędne do składania w~języku polskim, omawiamy w~punkcie~\ref{int-support}. \begin{figure}[!bth] \begin{lined}{7.5cm} \begin{verbatim} \documentclass{article} \usepackage[MeX]{polski} % kodowanie: latin2, utf8 lub cp1250 \usepackage[latin2]{inputenc} \begin{document} Małe jest piękne. \end{document} \end{verbatim} \end{lined} \caption{Zawartość minimalnego pliku źródłowego \label{mini}} \end{figure} Rysunek~\ref{document} przedstawia nieco bardziej rozbudowany plik źródłowy. \begin{figure}[!tbh] \begin{lined}{10.5cm} \begin{verbatim} \documentclass[a4paper,11pt]{article} \usepackage{latexsym} \usepackage[MeX]{polski} \usepackage[latin2]{inputenc}% ew. utf8 lub cp1250 % Zdefiniowanie autora i~tytułu: \author{H.~Szczególny} \title{Minimalizm} \frenchspacing \begin{document} % Wstawienie autora i~tytułu do składu: \maketitle % Wstawienie spisu treści: \tableofcontents \section{Kilka spostrzeżeń na wstępie} Właśnie tu zaczyna się mój cudowny artykuł. \section{Na pożegnanie} \ldots{} A~tu się on kończy. \end{document} \end{verbatim} \end{lined} \caption[Przykład artykułu do czasopisma]{Przykład artykułu do czasopisma. Użyte w~nim polecenia zostaną objaśnione w~dalszej części. \label{document}} \end{figure} \section{Typowa sesja pracy z~\LaTeX{}em} Na pewno chciałbyś już sprawdzić, jak będzie wyglądał na papierze dokument z~przykładu \ref{mini}. Szczegółowy sposób uruchomienia {\LaTeX}a zależy od systemu operacyjnego, wersji i~upodobań użytkownika\footnote{O tym, jak zainstalować {\LaTeX}a, można przeczytać na %stronie \url{http://www.gust.org.pl}.}. {\LaTeX} ,,jako taki'' nie jest wyposażony w~zintegrowane środowisko graficzne (\acro{IDE}). Praca z~takim systemem polega na wydawaniu odpowiednich poleceń z~wiersza poleceń systemu operacyjnego. Oczywiście posługiwanie się {\LaTeX}em w~ten sposób jest na dłuższą metę niewygodne, niemniej do stworzenia pierwszego dokumentu nic więcej nie potrzeba. Dzięki temu będziesz też wiedział, co kryje się za guzikami, gdy później zainstalujesz jedno z~istniejących zintegrowanych środowisk graficznych do pracy z~{\LaTeX}em. \begin{enumerate} \item\label{edit:doc} Uruchom edytor i~wpisz %%do niego tekst z~przykładu~\ref{mini}. Zapisz dokument jako %%zwykły tekstowy plik \acro{ASCII}. W~systemach typu Unix możesz do tego użyć praktycznie dowolnego edytora. %%(joe, vi, emacs, itp.). W~systemie {\MSWindows} musisz zapisać plik jako \emph{Zwykły tekst}, \emph{Dokument tekstowy} lub wybrać \emph{Wszystkie pliki} jako typ dokumentu. % Zmiana: % Jeżeli możesz określić \emph{kodowanie}, to wybierz % \acro{ANSI}; nie zapisuj dokumentu w~kodowaniu \emph{Unicode}, % ponieważ ,,standardowy'' {\LaTeX} nie potrafi go poprawnie % przetwarzać\footnote{Istnieją rozwiązania dla składania dokumentów % unikodowych. Najpełniejsze możliwości oferuje niedawno opublikowana % przez Jonathana Kew specjalna wersja \TeX{}a, o~nazwie XeTeX. % Potrafi ona przetwarzać dokumenty zakodowane w~unikodzie, a~także % generować skład z~użyciem unikodowych fontów OpenType.}. % W~różnych systemach obowiązują różne warianty kodowania polskich znaków. Najpopularniejsze z~tych wariantów, to: kodowanie wielobajtowe \emph{Unicode\/} (\MSWindows, nowe dystrybucje Linuksa), kodowanie \acro{CP}~1250 (\MSWindows) lub \acro{ISO}~8859-2 (Linux) albo jeszcze coś innego (np.~Mac). Dokładna postać wiersza \verb@\usepackage[...]{inputenc}@ zależy od wybranego kodowania; wewnątrz nawiasów kwadratowych należy wpisać albo \popti{utf8} jeżeli używamy \emph{Unicode\/}\index{Unicode}\footnote{% Uwaga: {\LaTeX} potrafi przetwarzać dokumenty Unicodowe w~ograniczonym zakresie, wystarczającym dla tekstów w~językach europejskich, ale dalekim od kompletności.}, albo \popti{latin2} jeżeli korzystamy z~\acro{ISO}~8859-2 lub też \popti{cp1250} jeżeli używamy \acro{CP}~1250\footnote{Wybierz kodowanie \acro{ANSI} aby zapisać dokument w~standardzie \acro{CP}~1250.}. Więcej informacji na temat kodowania znajdziesz w~punkcie~\ref{int-support}. % koniec zmian dot. unicode % Nie używaj odstępów w~nazwie pliku, przynajmniej na początku swojej przygody z~{\LaTeX}em, bo może ci to skomplikować życie. Wybierając nazwę dla pliku, podaj jako jej rozszerzenie \eei{.tex}. Poprawną nazwą byłoby na przykład \ee{foo.tex}. % \item Uruchom program \prg{latex} na pliku utworzonym w~punkcie~\ref{edit:doc}, wpisując w~wierszu poleceń\footnote{Ponieważ ten sposób pracy jest zwykle nieznany użytkownikom systemu {\MSWindows}, przypominamy, że wiersz poleceń możemy uruchomić na przykład tak: wywołujemy \emph{Start}/\emph{Uruchom}, wpisujemy \prgi{cmd} lub \prgi{command} i~naciskamy klawisz Enter.}: \begin{code} \begin{verbatim} latex foo.tex \end{verbatim} \end{code} %% W~wypadku sukcesu zakończy się to utworzeniem pliku o~rozszerzeniu \eei{.dvi}\footnote{W~większości współczesnych dystrybucji systemu {\TeX} dostępne jest polecenie %\texttt{pdflatex foo.tex} \prg{pdflatex} do generowania dokumentu w~formacie \acro{PDF}. Więcej na ten temat w~punkcie \ref{sec:pdftex}.}. Polecenie trzeba powtórzyć kilka razy, by \LaTeX{} mógł utworzyć spis treści i/lub odsyłacze do pozycji bibliograficznych, rysunków, wzorów matematycznych %%, rozdziałów i~śródtytułów. Napotkawszy błąd w~dokumencie, {\LaTeX} zakończy jego przetwarzanie i~przejdzie do trybu dialogu z~użytkownikiem. Wpisanie \texttt{Ctrl-D} (lub \texttt{Ctrl-Z} % sprawdzić w~{\MSWindows}) w~tym trybie powoduje powrót na poziom wiersza poleceń. \item Teraz możesz obejrzeć plik \acro{DVI}. Jest na to kilka sposobów. W~systemie typu Unix wyposażonym w~środowisko graficzne X~Windows możesz wywołać: % \begin{code} \begin{verbatim} xdvi foo.dvi & \end{verbatim} \end{code} % W~systemie {\MSWindows} możesz skorzystać z~programu \prgi{yap} bądź innej przeglądarki plików \acro{DVI}. Możesz też przetworzyć plik \acro{DVI} do formatu {\PSi}\prgih{dvips}: % \begin{code} \begin{verbatim} dvips -Pcmz foo.dvi -o foo.ps \end{verbatim} \end{code} % Pliki w~formacie {\PSi} można oglądać i~drukować za pomocą programu \prgi{ghostscript}. Jeśli twoja dystrybucja {\LaTeX}a zawiera program \prgi{dvipdf} do konwersji plików \acro{DVI} na format \acro{PDF}, to spróbuj go wywołać, wpisując: %%w~następujący sposób: %%\looseness-3 %% \begin{code} \begin{verbatim} dvipdf foo.dvi \end{verbatim} \end{code} Pliki \acro{PDF} można oglądać i~drukować, korzystając z~programu Acrobat lub wspomnianego już \prgi{ghostscript}a. \end{enumerate} \section{Układ graficzny dokumentu} \subsection {Klasy dokumentów\label{sec:documentclass}} Na samym początku przetwarzania pliku źródłowego {\LaTeX} musi się dowiedzieć, jakiego typu dokument autor chce uzyskać. Określone jest to w~instrukcji \ci{documentclass}: % \begin{command} \ci{documentclass}\verb|[|\emph{opcje}\verb|]{|\emph{klasa}\verb|}| \end{command} % \noindent gdzie \emph{klasa} oznacza typ dokumentu. %W~tabeli~\ref{documentclasses} %zestawiono klasy dokumentów opisane w~niniejszym wprowadzeniu. %W~dystrybucji {\LaTeXe} znajdują się także inne klasy, między innymi %listy oraz slajdy\footnote{Do prac w~języku polskim znakomicie nadają % się klasy Marcina Wolińskiego\index{Woliński Marcin} % \texttt{mwart}, \texttt{mwrep} % i~\texttt{mwbook}. Generują % one skład bardziej zgodny z~polską tradycją typograficzną niż % standardowe klasy {\LaTeX}a. Por.~punkt~\ref{polski}.}. W~niniejszym wprowadzeniu opisano następujące klasy ze standardowej dystrybucji \LaTeXe\footnote{% W~dystrybucji {\LaTeXe} znajdują się także inne, rzadziej wykorzystywane klasy, np. \texttt{slides}\index{klasa!slides} do przygotowywania przeźroczy. %%Przeźrocza składane są bezszeryfowym krojem pisma. %<- nieistotne Zamiast klasy standardowej można do tworzenia slajdów zastosować pakiet \pai{foiltex}, dostępny pod adresem \CTAN{macros/latex/packages/supported/foiltex}, bądź pakiet \pai{beamer}, spod adresu \CTAN{macros/latex/contrib/beamer} (krótkie wprowadzenie do pakietu \pai{beamer} zawiera punkt~\ref{sec:beamer}).}: \begin{description} \item [\normalfont\texttt{article}] artykuły, krótkie opracowania\index{klasa!article}\ldots \item [\normalfont\texttt{report}] dłuższe opracowania, dysertacje magisterskie i~doktorskie\index{klasa!report}\ldots \item [\normalfont\texttt{book}] książki\index{klasa!book}. \item [\normalfont\texttt{letter}] listy\index{klasa!letter}. \end{description} \medskip \noindent Opcje\index{opcje} pozwalają zmieniać sposób działania klas. Poszczególne opcje rozdziela się przecinkami. %W~tablicy~\ref{options} zestawiono najczęściej %wykorzystywane opcje dla klas standardowych. Najczęściej wykorzystywane opcje dla klas standardowych to: %\begin{table}[!tb] %\caption{Ważniejsze opcje klas dokumentów\label{options} } %\begin{lined}{12cm}% było 12cm % \begin{description} \item[\normalfont\popti{10pt}, \popti{11pt}, \popti{12pt}] \quad Ustalenie stopnia pisma dla tekstu zasadniczego dokumentu. Domyślną wartością jest 10 punktów. \item[\normalfont\popti{a4paper}, \popti{letterpaper}, \ldots] \quad Ustalenie wymiarów papieru. Wartością domyślną jest \popti{letterpaper}. Inne dopuszczalne wartości to: \popti{a5paper}, \popti{b5paper}, \popti{executivepaper} i~\popti{legalpaper}. \item[\normalfont\popti{fleqn}] \quad Składanie wyeksponowanych wzorów matematycznych od lewego marginesu zamiast domyślnego centrowania. \item[\normalfont\popti{leqno}] \quad Umieszczanie numerów wzorów matematycznych na lewym marginesie zamiast domyślnie na prawym. \item[\normalfont\popti{titlepage}, \popti{notitlepage}] \quad Pierwsza %z~wariantów z~opcji powoduje, że {\LaTeX} składa tytuł (instrukcja \texttt{maketitle}) oraz streszczenie (instrukcja \texttt{abstract}) na odzielnej stronie, %drugi druga -- że skład tekstu zaczyna się na stronie tytułowej. W~klasie \texttt{article} tytuł i~streszczenie nie są domyślnie składane na oddzielnych stronach, podczas gdy w~stylach \texttt{report} i~\texttt{book} -- są. \item[\normalfont\popti{onecolumn}, \normalfont\popti{twocolumn}] \quad Skład jedno- lub dwułamowy (dwukolumnowy). \item[\normalfont\popti{oneside}, \popti{twoside}] \quad Druk na jednej lub na dwóch stronach kartki papieru. W~klasach \texttt{article} i~\texttt{report} domyślną opcją jest \popti{oneside}, natomiast w~klasie \texttt{book} -- \popti{twoside}. Włączenie opcji \popti{oneside} powoduje przy okazji, że {\LaTeX} nie wyrównuje wysokości kolejnych stron, dopuszczając pewną ich zmienność. \item[\normalfont\popti{openright}, \popti{openany}] \quad Wybranie pierwszej opcji powoduje, że tytuły rozdziałów będą umieszczane na stronach nieparzystych. W~klasie \texttt{article} opcja nie ma znaczenia, gdyż w~tej klasie nie jest zdefiniowane pojęcie rozdziału. W~klasie \texttt{report} domyślną wartością jest \popti{openany}, a~w~klasie book -- \popti{openright}. \end{description} %\end{lined} %\end{table} \medskip \noindent Przykład. Plik źródłowy może się rozpoczynać od następującej instrukcji\cih{documentclass}: % \begin{code} \begin{verbatim} \documentclass[11pt,twoside,a4paper]{article} \end{verbatim} \end{code} % \noindent W tym wypadku dokument zostanie złożony w~klasie \emph{article}, pismem w~stopniu \emph{11~punktów}, i~zostanie przygotowany do wydruku po \emph{dwóch} stronach kartki papieru formatu \emph{A4}. \subsection{Pakiety\index{pakiet}} Pakiety rozszerzają możliwości \LaTeX{}a. Sam {\LaTeX} nie ma na przykład instrukcji do dołączania grafiki, kolorowania tekstu, łamania dużych tabel itp. Do wykonywania tych zadań służą właśnie pakiety. Dołącza się je poleceniem: % \begin{command} \ci{usepackage}\verb|[|\emph{opcje}\verb|]{|\emph{pakiet}\verb|}| \end{command} % \noindent gdzie \emph{pakiet\/} oznacza nazwę pakietu, a~\emph{opcje} -- listę rozdzielonych przecinkami opcji. Część pakietów znajduje się w~podstawowej dystrybucji {\LaTeXe} (zobacz tabela~\ref{packages}), kolejnych kilkanaście, m.in. tak użyteczne jak \pai{babel} czy \pai{graphicx}, jest do niej \emph{obowiązkowo\/} dodawanych; pozostałe są rozpowszechniane oddzielnie. Gdy używamy {\LaTeX}a w~systemie, którym zarządza (dobry) administrator, to informacja o~dostępnych pakietach powinna się znajdować w~\guide. Podstawowym źródłem informacji o~{\LaTeX}u jest \companion. Zawiera on opis setek pakietów, a~także informuje, jak można pisać własne rozszerzenia {\LaTeX}a. Wartościowym źródłem informacji o~istniejących pakietach {\LaTeX}a jest \emph{{\TeX} Catalogue Online\/} Grahama Williamsa\index{Williams Graham}~\cite{catalogue}, dostępny niestety tylko w~języku angielskim. Użytkownikom polskojęzycznym polecamy \emph{Wirtualną Akademię\/} Włodzimierza Macewicza\index{Macewicz Włodzimierz}~\cite{WAWM}. \begin{table}[!tb] \caption{Wybrane pakiety z~podstawowej dystrybucji \LaTeX{}a\label{packages} } \begin{lined}{11cm}% było 11cm \begin{description} \item[\normalfont\pai{doc}] Służy do drukowania dokumentacji pakietów oraz innych części składowych {\LaTeX}a. Opis znajduje się w~pliku \texttt{doc.dtx}% \footnote{Plik ten powinien być zainstalowany w~twoim systemie. Aby otrzymać z~niego plik \acro{DVI}, wystarczy w~katalogu z~prawem do zapisu napisać \texttt{latex doc.dtx}. To samo stosuje się do innych pakietów z~tej tabeli.}. \item[\normalfont\pai{exscale}] Umożliwia skalowanie fontów matematycznych, tak by optycznie były zgodne z~otaczającym tekstem, np.~w~tytułach rozdziałów. Opis w~\texttt{ltexscale.dtx}. \item[\normalfont\pai{fontenc}] Definiuje układ znaków, którego ma używać \LaTeX. Opis w~punkcie~\ref{int-support} i~w~\texttt{ltoutenc.dtx}. \item[\normalfont\pai{ifthen}] Umożliwia korzystanie z~poleceń typu \texttt{if... then do... otherwise do}. Opis w~\texttt{ifthen.dtx} i~\cite{companion}. \item[\normalfont\pai{latexsym}] Udostępnia specjalny font symboliczny (fonty \verb+lasy+). Opis w~\texttt{latexsym.dtx} i~\cite{companion}. \item[\normalfont\pai{makeidx}] Udostępnia polecenia do przygotowywania skorowidzów. Opis w~punkcie~\ref{sec:indexing} i~\cite{companion}. \item[\normalfont\pai{syntonly}] Powoduje, że dokument jest przetwarzany bez składania czegokolwiek. Przydatny do szybkiego sprawdzenia, czy dokument nie zawiera błędów. Opis w~\texttt{syntonly.dtx} i~\cite{companion}. \item[\normalfont\pai{inputenc}] Definiuje układ znaków w~pliku źródłowym, jak: \acro{ASCII}, \acro{ISO} Latin-1, \acro{ISO} Latin-2, 437/850 \acro{IBM}, Apple Macintosh, Next, \acro{ANSI}-Windows, itd. %albo układ zdefiniowany przez użytkownika. Opis w~\texttt{inputenc.dtx}. \end{description} \end{lined} \end{table} \subsection{Style strony} Typowa strona składa się z~trzech podstawowych części. Powyżej kolumny tekstu głównego znajduje się \emph{pagina górna} (główka), która może zawierać numer strony, tytuł rozdziału czy punktu. Poniżej kolumny tekstu znajduje się \emph{pagina dolna} (stopka). W~niniejszym wprowadzeniu pagina dolna jest pusta, górna natomiast zawiera numer strony oraz tytuł rozdziału na stronicach parzystych, a~tytuł punktu -- na nieparzystych\footnote{Paginę zawierającą oprócz kolejnego numeru kolumny (strony) także informację dotyczącą treści tej kolumny drukarze nazywają \emph{żywą paginą}\index{żywa pagina}.}. {\LaTeX} pozwala wybrać jeden z~trzech sposobów składania pagin. Służy do tego instrukcja: % \begin{command} \ci{pagestyle}\verb|{|\emph{styl}\verb|}| \end{command} %% \noindent Dopuszczalne wartości argumentu \emph{styl\/} %zestawiono w~tabeli~\ref{pagestyles}. są następujące: %\begin{table}[!tb] %\caption{Standardowe style strony w~\LaTeX{}u\label{pagestyles} } %\begin{lined}{12cm} %% było 12cm \begin{description} \item[\normalfont\texttt{plain}] pagina górna jest pusta, a~pagina dolna zawiera wycentrowany numer strony. Ten styl jest domyślny; \item[\normalfont\texttt{headings}] pagina górna zawiera numer strony oraz tytuł, pagina dolna jest pusta; \item[\normalfont\texttt{empty}] pagina górna i~dolna są puste. \end{description} %\end{lined} %\end{table} %% \noindent Możliwa jest także zmiana stylu \emph{bieżącej} strony. Służy do tego polecenie: %% \begin{command} \ci{thispagestyle}\verb|{|\emph{styl}\verb|}| \end{command} %% Punkt~\ref{sec:fancyhdr} na stronie \pageref{sec:fancyhdr} niniejszego \emph{Wprowadzenia} oraz podręcznik~\cite{companion} w~punkcie~4.4 na stronie~54 zawierają więcej informacji o~paginach, w~szczególności o~sposobach samodzielnego definiowania ich wyglądu. \section{Nazwy plików związanych z~\LaTeX{}em\label{sec:latex-files}} Pracując z~\LaTeX{}em, szybko zauważysz, że na dysku pojawia się mnóstwo plików o~różnych rozszerzeniach nazwy, a~ty nie wiesz, co to za jedne. W~poniższym wykazie objaśniono rozmaite typy plików, z~którymi możesz się zetknąć. Wykaz ten nie pretenduje do kompletnego, dlatego napisz do nas, gdy napotkasz jakieś nowe rozszerzenie, które uznasz za %ważne i~ warte opisania. %% \begin{description} \item[\eei{.tex}] Plik źródłowy z~dokumentem w~notacji \LaTeX{}a bądź zwykłego \TeX{}a. Można go kompilować programem \prg{latex} bądź, odpowiednio, \prg{tex}. \item[\eei{.sty}] Pakiet makr \LaTeX{}owych. Plik tego typu można dołączać do dokumentu \LaTeX{}owego, używając do tego celu instrukcji \ci{usepackage}. \item[\eei{.dtx}] Udokumentowany \TeX{}. Jest to podstawowy format, w~jakim dystrybuowane są style \LaTeX{}a. Skutkiem kompilacji pliku tego typu jest broszurka z~udokumentowanymi makrami. \item[\eei{.ins}] Instalator dla plików \eei{.dtx}. Ściągając z~sieci pakiet \LaTeX{}owy, otrzymasz na ogół pliki \eei{.dtx} i~\eei{.ins}. Uruchomienie \LaTeX{}a na pliku \eei{.ins} powoduje rozpakowanie pliku .dtx. \item[\eei{.cls}] Plik z~klasą \LaTeX{}a definiującą wygląd składanych w~\LaTeX{}u dokumentów. Właśnie do tych plików odnosi się występująca na początku dokumentu instrukcja \ci{documentclass}. \item[\eei{.fd}] Definicja niektórych właściwości fontów \LaTeX{}a. \end{description} \smallskip W~wyniku kompilacji dokumentu %{\LaTeX}owego powstają następujące pliki: % \begin{description} \item[\eei{.dvi}] \emph{Device Independent File\/} (plik niezależny od urządzenia), będący wynikiem kompilacji pliku źródłowego przez ,,tradycyjnego'' {\LaTeX}a\footnote{W~nowych wersjach systemu, {\LaTeX} potrafi także generować dokumenty bezpośrednio w~formacie \acro{PDF}. Więcej informacji na ten temat zawiera punkt~\ref{sec:pdftex}.}. Zawartość plików \acro{DVI} możesz zobaczyć w~przeglądarce plików \acro{DVI} albo posłać na drukarkę, korzystając z~programu \prgi{dvips} albo innego programu o~podobnych funkcjach. \item[\eei{.pdf}] Portable Document Format (przenośny format dokumentów). Zagadnienie generowania plików w~formacie \acro{PDF} jest omawiane w~punkcie \ref{sec:pdftex}, zaczynającym się na stronie \pageref{sec:pdftex}. \item[\eei{.log}] Zawiera szczegółowy raport z~tego, co się wydarzyło podczas kompilacji: które pliki były przetwarzane, co szczególnego i~ewentualnie jakie błędy \LaTeX{} w~nich znalazł, a~także -- jakie pliki powstały w~wyniku kompilacji. \item[\eei{.toc}] Zawiera nagłówki rozdziałów i~punktów dokumentu. Jest czytany przez {\LaTeX}a w~następnym przebiegu kompilacji, w~celu wygenerowania spisu treści. \item[\eei{.lof}] Podobny do pliku \eei{.toc}, z~tym że zawiera wykaz ilustracji. \item[\eei{.lot}] Tak samo, lecz dotyczy wykazu tabel. \item[\eei{.aux}] Inny plik pomocniczy, przenoszący informację z~jednego przebiegu kompilacji do następnego. Jest używany między innymi do magazynowania informacji związanej z~odsyłaczami występującymi w~dokumencie. \item[\eei{.idx}] Jeśli dokument zawiera skorowidz, to w~tym pliku {\LaTeX} zapisze wszystkie jego hasła. Do przetworzenia tego pliku służy program \prgi{makeindex} (lub \prgi{plmindex}, w~przypadku języka polskiego). Więcej o~tworzeniu skorowidzów przeczytasz w~punkcie \ref{sec:indexing} na stronie \pageref{sec:indexing}. \item[\eei{.ind}] Przetworzony plik \eei{.idx}, gotowy do włączenia do dokumentu w~następnym cyklu kompilacji. \item[\eei{.ilg}] Sprawozdanie z~tego, co zrobił program \prgi{makeindex}. \end{description} \section{Duże dokumenty \label{sec:duze-d}} Pracując nad dużym dokumentem, wygodnie jest podzielić plik źródłowy na mniejsze części. W~{\LaTeX}u mamy dwie instrukcje ułatwiające pracę z~tak podzielonymi dokumentami. Pierwszą z~nich jest: % \begin{command} \ci{include}\verb|{|\emph{plik}\verb|}| \end{command} % \noindent Włącza ona do dokumentu zawartość innego pliku. Przed przetworzeniem, a~także po przetworzeniu zawartości włączanego pliku {\LaTeX} rozpoczyna nową stronę. Drugiej instrukcji używa się w~preambule. Pozwala ona wstawiać do tekstu jedynie wybrane pliki. % \begin{command} \ci{includeonly}\verb|{|\emph{plik1,plik2,...}\verb|}| \end{command} % \noindent Spośród instrukcji \ci{include} zostaną wykonane tylko te, które dotyczą plików wymienionych w~argumencie \ci{includeonly}. Uwaga: w~wykazie plików nie wolno używać odstępów; poszczególne pliki nalezy oddzielać wyłącznie przecinkiem! Polecenie \ci{include} rozpoczyna skład dołączanego tekstu od nowej strony. W~połączeniu z~poleceniem \ci{includeonly} w~preambule instrukcja \ci{include} umożliwia przetwarzanie wybranych plików bez zmiany miejsc łamania poszczególnych stron i~z~zachowaniem prawidłowej numeracji stron, rozdziałów, tabel itp. Czasami jednak rozpoczynanie składu od nowej strony nie jest pożądane. W~takiej sytuacji zamiast \ci{include} należy posłużyć się instrukcją: % \begin{command} \ci{input}\verb|{|\emph{plik}\verb|}| \end{command} % \noindent Wstawia ona zawartość podanego pliku już bez żadnych dodatkowych efektów. Argument poleceń \ci{input} i~\ci{include} może zawierać pełną ścieżkę do pliku, ale w~imię wygody i~przenośności nie należy używać ścieżek bezwzględnych. Na przykład: % \begin{code} \begin{verbatim} \include{C:\Documents and Settings\elka\Moje dokumenty\r2.tex} \end{verbatim} \end{code} % jest koszmarnym błędem w~większości dystrybucji {\LaTeX}a. Nawet jeżeli nasz {\LaTeX} wie, co oznacza specyficzny dla {\MSWindows} zapis \verb@C:\@, oraz poradzi sobie z~odstępami w~nazwach katalogów i~ze znakami~\verb@\@ (które w~tym wypadku nie są początkiem żadnego polecenia), to taki dokument przesłany komuś, kto będzie go kompilował w~systemie Linux, sprawi mu~mnóstwo problemów. Pamiętajmy: bez względu na to, jakiego systemu operacyjnego używamy, katalogi powinniśmy oddzielać znakiem \verb@/@. \endinput %%% Local Variables: %%% mode: latex %%% TeX-master: "lshort2e" %%% coding: latin-2 %%% case-fold-search: nil %%% LocalWords: ghostscript acrobat makeindex plmindex %%% ispell-local-dictionary: "polish" %%% End: