From 2afee5e322fb0dfc2764c270803bc6381b65636e Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 14 May 2022 03:00:57 +0000 Subject: CTAN sync 202205140300 --- info/lshort/polish/src/typeset.tex | 2040 ------------------------------------ 1 file changed, 2040 deletions(-) delete mode 100644 info/lshort/polish/src/typeset.tex (limited to 'info/lshort/polish/src/typeset.tex') diff --git a/info/lshort/polish/src/typeset.tex b/info/lshort/polish/src/typeset.tex deleted file mode 100644 index c189faa90c..0000000000 --- a/info/lshort/polish/src/typeset.tex +++ /dev/null @@ -1,2040 +0,0 @@ -% -- translate-file=il2-pl -- -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Typesetting Part (LShort2e Introduction) -% File: typeset.tex (Polish translation) -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\chapter{Składanie tekstu} - -\begin{intro} - Po lekturze poprzedniego rozdziału znasz już podstawowe pojęcia - związane z~systemem \LaTeXe. W~tym rozdziale Twoja wiedza wzbogaci się - o~informacje niezbędne do tworzenia prawdziwych dokumentów. -\end{intro} - -\section{Struktura tekstu i języka} -\secby{Hanspeter Schmid}{hanspi@schmid-werren.ch} -\noindent -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 z~makroinstrukcjami. - -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 Słynne równanie Einsteina -\begin{equation} -e = m \cdot c^2 \; , -\end{equation} -jest najbardziej znanym, ale też -najmniej rozumianym równaniem w~fizyce. - -% Przykład 2 -\ldots którego wynikiem jest prądowe prawo Kirchhoffa: -\begin{equation} -\sum_{k=1}{n} I_k = 0 \; . -\end{equation} - -Napięciowe prawo Kirchhoffa ma zaś swój początek w\ldots - -% Przykład 3 -\ldots co ma określone zalety. - -\begin{equation} -I_D = I_F - I_R -\end{equation} -jest rdzeniem innego modelu tranzystora. \ldots -\end{verbatim} -\end{code} - %% -\noindent -Mniejszą od akapitu jednostką podziału tekstu jest zdanie. W~tekstach -angielskojęzycznych odstęp 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łek z~jego -strony powinniśmy mu wskazać nasze intencje. Jak to zrobić, wyjaśniamy -w~dalszej części tego rozdziału. - -Właściwa organizacja tekstu dotyczy 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. Dlatego -- jeśli nie -jesteśmy pewni, gdzie w~zdaniu należy go postawić -- przeczytajmy zdanie -na głos i~postawmy przecinki wszędzie tam, gdzie zrobiliśmy krótką -przerwę na wdech. Ale nie sugerujmy się wyłącznie tym! Jeśli w~danym -miejscu przecinek nie wygląda najlepiej, to go usuńmy; jeśli w~innym -miejscu odczuwamy potrzebę wzięcia powietrza do płuc (lub zrobienia -krótkiej przerwy), to postawmy tam przecinek. A~najlepiej w~celu -rozwiania wątpliwości sięgnąć do słownika ortograficzno\=interpunkcyjnego, -który zresztą zawsze warto mieć pod ręką. - -I na koniec: akapit nie jest największą logiczną jednostką podziału -tekstu. Można jeszcze wspomnieć o rozdziałach, punktach, podpunktach -itd. Jednakże od strony typograficznej już same nazwy poleceń w~rodzaju -\verb|\section{Struktura tekstu i języka}| są na tyle oczywiste (dla -znających język angielski), że sposób ich użycia jest łatwo zrozumiały. - -\section{Składanie akapitów i~łamanie stron} -\subsection{Składanie akapitów\label{just-paragraphs}} - -Książki najczęściej składa się tak, że wszystkie wiersze w~akapitach są -tej samej długości. Dążąc do optymalnej prezentacji akapitu, {\LaTeX} -ustala miejsca złamań 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}. - -%% -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. -%% - -Czasami przydaje się instrukcja nakazująca {\LaTeX}owi złamanie linii. -Polecenie: -\begin{command} -\ci{\bs} lub \ci{newline} -\end{command} -\par -\noindent -rozpoczyna nową linię bez rozpoczynania nowego akapitu. \\ -Natomiast instrukcja: -\begin{command} -\ci{\bs*} -\end{command} -% -\noindent -zakazuje dodatkowo złamania strony (w~miejscu złamania linii). -Z~kolei instrukcja: -\begin{command} -\ci{newpage} -\end{command} -% -\noindent -rozpoczyna nową stronę. - -\noindent -Instrukcje: -% -\begin{command} -\ci{linebreak}\verb|[|\emph{n}\verb|]|, -\ci{nolinebreak}\verb|[|\emph{n}\verb|]|, -\ci{pagebreak}\verb|[|\emph{n}\verb|]| oraz -\ci{nopagebreak}\verb|[|\emph{n}\verb|]| -\end{command} - % -\noindent -oznaczają, odpowiednio: -zachętę do złamania wiersza, niezgodę na złamanie -wiersza, zachętę do złamania strony i~niezgodę na złamanie strony -(w~miejscu ich wystąpienia w~dokumencie). -%%Ponadto -Opcjonalny argument \emph{n}, o~dopuszczalnej wartości -od $0$ do $4$, określa stopień tej zachęty (niezgody). -Domyślna wartość~$4$ to bezwarunkowy zakaz lub nakaz złamania -linii/strony. Wartość mniejsza od $4$ -pozostawia \LaTeX-owi swobodę zignorowania instrukcji, jeżeli -skład otrzymany w~jej rezultacie byłby 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}.}. - -%% -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. -%% - -{\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, wtedy niektóre wyrazy wystają na prawy margines. -Sytuacja taka jest sygnalizowana komunikatem podobnym do następującego: -% -\begin{code} -\begin{verbatim} -Overfull \hbox (5.5452pt too wide) in paragraph at lines 79--83 -\end{verbatim} -\end{code} -%% -W~komunikacie\index{overfull hbox} tym liczba -w~nawiasie okrągłym oznacza, że pewien fragment tekstu wystaje -o~5,5452 punktów drukarskich na prawy margines. Problem wystąpił -w~akapicie, który w~pliku źródłowym jest w~wierszach od~79 do~83. -Podobne ostrzeżenia pojawiają się najczęściej wówczas, gdy {\LaTeX} -nie potrafi przenieść wyrazów w~akapicie zgodnie z~zadanymi wzorcami -przenoszenia tak, by nie popsuć jakości składu. Komunikat typu -\emph{\wi{overfull hbox}\/} nie wystarcza na ogół do dokładnego -ustalenia przyczyny jego wystąpienia. Można wtedy jako argumentu -polecenia \ci{documentclass} użyć opcji \popti{draft}, na skutek -czego {\LaTeX} oznaczy wystające wiersze małą czarną sztabką na prawym -marginesie szpalty. - -Deklaracja \ci{sloppy} nakazuje {\LaTeX}owi nieco obniżyć jego domyślnie -wysokie standardy. Zapobiega to --~w~większości wypadków --~występowaniu -zbyt długich linijek, kosztem jednak zwiększenia odstępów -międzywyrazowych, czyli pogorszenia jakości składu. Mogą się pojawiać -ostrzeżenia typu \emph{\wi{underfull hbox}}, co w~większości wypadków -(zwłaszcza gdy podana miara kiepskości jest powyżej 5000) oznacza, że -skład nie jest zbyt udany. Instrukcja \ci{fussy} działa w~odwrotnym -kierunku, to znaczy przywraca domyślne, wysokie standardy {\LaTeX}a. - -\subsection{Przenoszenie wyrazów\label{hyph}} - -W~razie potrzeby {\LaTeX} przenosi (dzieli) wyrazy. Jeżeli -algorytm podziału przeniósł jakiś wyraz błędnie, to -właściwe miejsca przenoszenia można zadać instrukcją: -% -\begin{command} -\ci{hyphenation}\verb|{|\emph{słowo1 słowo2 słowo3...}\verb|}| -\end{command} -% -\noindent -Słowa z~listy argumentów można dzielić -wyłącznie w~miejscach oznaczonych znakiem \verb|-|. -Instrukcji tej wolno użyć jedynie w~preambule -dokumentu, a~wyrazy{\dywiz}argumenty mogą zawierać (oprócz znaku \verb|-|) -wyłącznie litery. -Nie ma natomiast znaczenia, czy w~tych wyrazach używa się liter wielkich czy -małych. Instrukcja \ci{hyphenation} z~przykładu poniżej pozwala -podzielić słowo ,,ćwierć-li-trówka'' jedynie w~dwóch zaznaczonych -miejscach i~w~ogóle zabrania dzielić słowa ,,szczypce''. -Wyrazy z~listy argumentów nie mogą zawierać żadnych -znaków specjalnych ani symboli. Przykład: -% -\begin{code} -\verb|\hyphenation{ćwierć-li-trówka szczypce}| -\end{code} - - -W~językach fleksyjnych, do jakich należy polski, instrukcja -\ci{hyphenation} jest dużo mniej przydatna niż w~angielskim. Aby dany -wyraz zawsze był dobrze przenoszony, należałoby wypisać wszystkie jego -formy. Opracowane przez Hannę Kołodziejską\index{Kołodziejska Hanna}, -Bogusława L.~Jackowskiego\index{Jackowski Bogusław} i~Marka -Ryćko\index{Ryćko Marek} wzorce przenoszenia wyrazów dla języka -polskiego sprawdzają się w~tak znacznej większości wypadków, że -praktycznie nie ma potrzeby stosowania tej konkretnej instrukcji. Co -więcej, próba użycia polecenia \ci{hyphenation} w~wypadku -stosowania również pakietu \pai{inputenc} (por. punkt~\ref{int-support}) -zakończy się błędem w~czasie przetwarzania dokumentu. - -Instrukcja \ci{-} wskazuje, w~których miejscach \emph{wolno} {\LaTeX}owi -przenieść wyraz do nowego wiersza; {\LaTeX} nie podzieli tego wyrazu -w~żadnym oprócz wskazanych miejsc. Instrukcja odnosi się do konkretnego -wystąpienia słowa w~dokumencie i~nie wpływa na miejsca podziału w~innych -jego wystąpieniach. Przydaje się ona szczególnie w~wypadku wyrazów ze -znakami specjalnymi, na przykład akcentowanymi, gdyż automatycznie -{\LaTeX} dzieli jedynie wyrazy złożone z~samych liter. -% -\begin{example} -Nie\-bie\-sko\-bia\-ło\-zie\-lo\-% -no\-nie\-bie\-ski -\end{example} - -Tekst będący argumentem polecenia: -% -\begin{command} -\ci{mbox}\verb|{|\emph{tekst}\verb|}| -\end{command} -% -\noindent -nigdy nie zostanie przeniesiony. -% -\begin{example} -Numer mojego telefonu wkrótce -się zmieni na \mbox{0116 291 2319}. - -Parametr \mbox{\emph{nazwa}} to -nazwa pliku. -\end{example} - -Polecenie \ci{fbox} jest podobne do \ci{mbox}, z~tym że dodatkowo -dookoła argumentu rysuje ramkę (por.~punkt~\ref{sec:boxes}). - -\section{Kilka gotowych oznaczeń napisów} - -W~przykładach na poprzednich stronach pojawiło się kilka -prostych instrukcji \LaTeX{}a do składania krótkich napisów. - -\vspace{1ex} - -\noindent -\begin{tabular}{@{}lll@{}} -Instrukcja&Przykład&Opis\\ -\hline -\ci{today} & \today & Bieżąca data\\ -\ci{TeX} & \TeX & Twój ulubiony system składu\\ -\ci{LaTeX} & \LaTeX & Nazwa tej gry\\ -\ci{LaTeXe} & \LaTeXe & Obecne jej wcielenie\\ -\end{tabular} - -\section{Znaki specjalne i~symbole } -\subsection{Cudzysłowy\label{subsec:quotation}} - -Znaku cudzysłowu \verb|"| używa się inaczej niż na maszynie do pisania. -W~publikacjach drukowanych różnie oznacza się początek i~koniec -cudzysłowu. Występują także różnice w sposobach oznaczania cudzysłowów -w~różnych językach. Dwa apostrofy \verb|`| otwierają, a~dwa apostrofy -\verb|'| zamykają {\LaTeX}owy cudzysłów według reguł języka -angielskiego: -\begin{example} -``Please press the `x' key.'' -\end{example} - -%% -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 <>'', oznaczane -w~pliku źródłowym znakami, odpowiednio, mniejszości \texttt{<<} -i~większości \texttt{>>}. -% -\begin{example} -,,Przechodź tylko po <>''! -\end{example} -%% - -\subsection{Pauzy i~myślniki\label{subsec:pauzy} } - -Zwyczajne maszyny do pisania posiadają tylko jeden znak w~kształcie -poziomej kreski ,,-''. W~składzie drukarskim występują -aż cztery rodzaje kresek poziomych. Są to: łącznik, -myślnik, półpauza i~minus, używany we wzorach matematycznych. - -%% -Łą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. -%% - -%% -\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. - -%% - -\subsection{Tylda \texorpdfstring{($\sim$)}{}} - -W~adresach internetowych\index{www@\acro{WWW}}% -\index{URL@\acro{URL}}\index{tilde} -często występuje znak tyldy. W~\LaTeX{}u można by 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} - % -A jeszcze lepiej dołączyć do preambuły dokumentu pakiet \pai{url} -i~korzystać z~polecenia \verb@\url{...}@. - -\subsection{Oznaczenie stopni \texorpdfstring{($\circ$)}{}} - -Poniższy przykład ilustruje, jak w~\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 -także jako \ci{textcelsius}. - - -\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{command} -\ci{usepackage}\verb|{textcomp}| -\end{command} -\noindent -można do uzyskania symbolu euro użyć oznaczenia: -\begin{command} -\ci{texteuro} -\end{command} - -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{command} -\ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}| -\end{command} - % -Jeśli wolimy znak euro zgodny optycznie z~fontem, to zastąpmy opcję -\popt{official} opcją \popt{gen}. - -% Komentarz z~oryginału (RK): -%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''). - -Pakiet \pai{marvosym} dostarcza wielu różnych symboli, w~tym -euro pod nazwą \ci{EURtm}. Jego wadą jest to, że nie udostępnia wersji -pochylonej i~wytłuszczonej euro. - -\begin{table}[!htbp] -\caption{Torba pełna symboli euro} \label{eurosymb} -\begin{lined}{10cm} -\begin{tabular}{llccc} -\acro{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 -%% <> -Dla dokumentów unikodowych -należy użyć opcji \popti{utf8}\index{Unicode}. - -Chociaż pakiety \pai{babel} oraz \pai{inputenc} umożliwiają skład -dokumentów w~języku polskim, to nie są pozbawione wad. Kłopoty mogą -sprawiać dokumenty o~rozbudowanej strukturze, na przykład zawierające -skorowidze. Inne podejście do sprawy języka polskiego w~\LaTeX{}u jest -przedstawione w~punkcie~\ref{polski}. - -% Ten akapit nic nie wnosi: [tp] -% Wykorzystując pakiet \pai{inputenc}, musimy sobie zdawać sprawę, że -% część użytkowników nie będzie w~stanie odczytać tak -% przygotowanych plików źródłowych. Przykładowo: znak \verb+ą+ ma numer 161 -% w~standardzie ISO-8859-2, podczas gdy w~kodowaniu zgodnym z~CP 1250 ta -% sama litera ma kod 169 (a znak o~kodzie 161 oznacza jakiś inny -% ,,krzaczek''). -% Dlatego, korzystając z~tej możliwości, powinniśmy -% informować innych użytkowników tego samego pliku -% źródłowego, jak zakodowano w~nim znaki diakrytyczne. - -Kodowanie znaków ma znaczenie nie tylko w~pliku źródłowym. Drugą stroną -medalu jest układ znaków w~foncie, czyli kodowanie -fontu\label{fonty-kodowanie}. Określa ono, w~których miejscach -\emph{fontu} znajdują się poszczególne znaki. Standardowo \LaTeX{} używa -kodowania o~nazwie \label{OT1}\fei{OT1}, przyjętego dla oryginalnych -\TeX{}owych fontów Computer Modern\index{fonty!CM@\acro{CM}} -(\acro{CM}). Są to fonty jedynie 128-znakowe, nie zawierają na przykład -charakterystycznych polskich liter. Znak diakrytyczny można w~nich -skonstruować metodą nałożenia dwóch innych: litery i~odpowiedniego -akcentu. Ta metoda ma wady, bo {\TeX} nie może poprawnie przenosić -wyrazów zawierających tak zapisane znaki diakrytyczne, kiepska jest też -jakość typograficzna takich diakrytyków. - -Na szczęście wszystkie współczesne dystrybucje {\TeX}a zawierają -komplet fontów \emph{European Computer Modern\/} -(\acro{EC})\index{fonty!EC@\acro{EC}}. -Są to fonty zawierające do 256 znaków -w~kodowaniu \fei{T1}. Pierwszych 128 znaków fontu \acro{EC} jest (prawie) -identycznych jak w~odpowiadającym mu foncie \acro{CM}. Pozostałe -128~znaków to znaki diakrytyczne występujące w~różnych językach -europejskich, w~tym też komplet znaków niezbędnych do składania -tekstów polskich. Fonty \acro{EC} umożliwiają -poprawne przenoszenie wyrazów, znacznie -lepsza jest też jakość typograficzna znaków diakrytycznych. - -Polscy użytkownicy mogą też korzystać z~rodziny fontów -\acro{PL}\index{fonty!PL@\acro{PL}}\index{fonty!PL@\acro{PL}} (autorzy -B.~Jackowski\index{Jackowski Bogusław}, M.~Ryćko\index{Ryćko Marek}, -J.~Nowacki\index{Nowacki Janusz}) oraz nowszych fontów -\acro{LM}\index{fonty!LM@\acro{LM}} (autorzy -B.~Jackowski\index{Jackowski Bogusław} -i~J.~Nowacki\index{Nowacki Janusz}). W~zakresie objętym przez rodzinę -\acro{CM} fonty \acro{PL}/\acro{LM} są całkowicie z~nią zgodne, -a~dodatkowo zawierają wszystkie polskie znaki diakrytyczne. Polskie -diakrytyki w~fontach \acro{EC} są kopią odpowiednich znaków z~fontów -\acro{PL}, czyli ,,ogonki'' wyglądają tak samo, niezależnie od tego, -z~której z~rodzin korzystamy. - -W~fontach \acro{EC}, \acro{PL} i~\acro{LM} dostępne są ponadto znaki -cudzysłowów francuskich i~polskiego otwierającego, których nie ma -w~fontach \acro{CM}. Opisany w~punkcie~\ref{subsec:quotation} sposób -wprowadzania tych znaków za pomocą par \verb+,,+$\,$, \verb+<<+ -i~\verb+>>+$\,$ działa jedynie wówczas, gdy używamy fontów \acro{EC}, -\acro{PL} bądź~\acro{LM}. - -% wszystkie już są w formacie PS: -% Zaletą fontów \acro{PL} w~porównaniu z~rodziną \acro{EC} jest to, że -% są dostępne także w~wersji obwiedniowej ({\PostScript}owej). - -Aby przełączyć się na fonty \acro{EC} lub \acro{PL}, trzeba do preambuły -dokumentu dołączyć pakiet \pai{fontenc}: - % -\begin{command} -\verb@\usepackage[T1]{fontenc}@ lub -\verb@\usepackage[OT4]{fontenc}@ -\end{command} - % -\noindent -Argument \fei{T1}, określający kodowanie, jest ,,odpowiedzialny'' za -przełączenie się na fonty \acro{EC}. Podobnie Argument \fei{OT4} -włącza fonty \acro{PL}. - -Uwaga: Powyższe dołączenie pakietu \pai{fontenc} jest jedynie -deklaracją. Jeżeli twoja dystrybucja {\LaTeX}a nie zawiera fontów, które -chcesz włączyć, to powyższe polecenia nie zostaną wykonane, a~{\LaTeX} -przełączy się na font domyślny, zwykle nie zawierający polskich znaków. - -% ten akapit musi się zmieścić w 2 wierszasz na wydruku! -Reasumując, oto przykładowa preambuła artykułu składanego w~języku polskim -przy wykorzystaniu pakietów \pai{babel}, \pai{inputenc} -oraz \pai{fontenc}: - %% -\begin{code} -\begin{verbatim} -\documenclass{article} -\usepackage[polish]{babel} -\usepackage[cp1250]{inputenc} -\usepackage[OT4]{fontenc} %% lub [T1] -\end{verbatim} -\end{code} - %% -Lepszy sposób polonizacji {\LaTeX}a opisano w~następnym punkcie. - -Rodzina fontów \acro{LH} zawiera litery potrzebne do składania -dokumentów w~cyrylicy. Ze względu na dużą liczbę znaków w~różnych -pismach cyrylickich są one zgrupowane w~czterech różnych kodowaniach: -\fei{T2A}, \fei{T2B}, \fei{T2C}, i~\fei{X2}\footnote{Listę języków - obsługiwanych w~tych kodowaniach można znaleźć w~\cite{cyrguide}.}. -Rodzina \acro{CB}, w~kodowaniu \fei{LGR}, zawiera fonty do składu greki. - -\subsection{Język polski w~dokumentach\label{polski}} - -Jak wspomniano w~punkcie~\ref{int-support}, poprawny skład w~języku -polskim wymaga trzech rzeczy: {\LaTeX}a z~wbudowanymi -w~format\index{format} polskimi regułami przenoszenia wyrazów, fontów -zawierających polskie znaki diakrytyczne oraz dodatkowego pakietu -obsługującego specyficzne dla języka polskiego reguły typograficzne. -W~tym punkcie zakładamy, że udało ci się skonfigurować {\LaTeX}a pod -kątem pierwszych dwóch punktów, tj. wygenerowania formatu -i~zainstalowania fontów \acro{PL} lub~\acro{EC}, i~koncentrujemy się na -szczegółowym opisie ostatniego aspektu polonizacji. - -W~każdej %kompletnej -dystrybucji {\LaTeX}a znajduje się wspomniany -w~punkcie~\ref{int-support} pakiet \pai{babel}. Mimo występujących -w~nim niedociągnięć można go polecić, szczególnie początkującym. -Bardziej wymagający użytkownicy piszący po polsku powinni korzystać -z~opisanego dalej zestawu polonizacyjnego~\pai{platex}. - -W~wypadku języka polskiego wiele kłopotów sprawia kodowanie znaków -diakrytycznych. Wynika to przede wszystkim z~braku standardu: różne -platformy systemowe promują w~tym zakresie różne -rozwiązania\footnote{Lekarstwem na tę bolączkę może być kodowanie - wielobajtowe, tj.~standard Unicode\index{Unicode} (\acro{UTF}). - Wprawdzie {\LaTeX} potrafi przetwarzać dokumenty unikodowe jedynie - w~ograniczonym zakresie, ale jest on wystarczający dla tekstów - w~językach europejskich. Specjalna wersja {\TeX}a, XeTeX autorstwa - Jonathana Kew\index{Kew Jonathan}\index{XeTeX}, potrafi przetwarzać - dokumenty zakodowane w~unikodzie\index{Unicode}, a~także generować - skład z~użyciem unikodowych fontów OpenType.\index{OpenType}}. Można -wyróżnić dwa sposoby zapisu diakrytyków w~{\LaTeX}u: polecenia -standardowe (opisane w~punkcie~\ref{acc:chars} oraz poniżej) i~notację -,,bezpośrednią'', posługującą się znakami o~kodach większych od -127\footnote{Jest jeszcze trzeci sposób: tak zwana notacja prefiksowa - (\texttt{/a} --~ą, \texttt{/n} --~ń, \texttt{/S} --~Ś itp.). Metoda ta - wyszła już w~zasadzie z~użytku, gdyż powszechnie dostępna jest metoda - bezpośredniego wprowadzania znaków z~polskimi ogonkami z~klawiatury.}. - -Standardowe polecenia akcentowe {\LaTeX}a umożliwiają zapis wszystkich -polskich znaków diakrytycznych w~następującej -postaci\footnote{Z~notacją tą wiąże się jednak pewien problem: - otoczenie \ei{tabbing} zmienia lokalnie definicję kilku makr, w~tym - \ci{'}. Dlatego w~jego obrębie do uzyskiwania znaków z~akcentem - \emph{acute} trzeba używać notacji typu \ci{a'o}. Konsekwencją jest - to, że zarówno w~implementacji notacji prefiksowej, jak i~,,stron - kodowych'' pakietu \pai{inputenc} trzeba się do akcentu \emph{acute} - dostawać nieco naokoło.}: - %% -\begin{example} -\k{a} \'c \k{e} \l{} \'n \'o \'s -\'z \.z \k{A} \'C \k{E} \L{} \'N -\'O \'S \'Z \.Z -\end{example} - %% -\noindent -Posługiwanie się powyższymi poleceniami do pisania tekstów po polsku -jest -%nad wyraz -uciążliwe, ale przydaje się na przykład do wstawienia -niewielkich fragmentów do dokumentu, który będzie przetwarzany przez -kogoś, kto języka polskiego nie zna i~nie ma dobrze skonfigurowanej pod -tym kątem instalacji (np. polskie wstawki w artykule konferencyjnym -pisanym po angielsku). - -Bezpośrednie wprowadzanie polskich znaków umożliwia mechanizm -przekodowywania, uruchamiany przez umieszczenie komentarza -strukturalnego w~pierwszym wierszu pliku\footnote{Komentarz -ten %% strukturalny -należy umieścić w~pierwszym wierszu pliku, -czyli jeszcze przed wierszem z~\ci{documentclass}, a~znak \texttt{\%} -musi być pierwszym znakiem tego wiersza.}: - % -\begin{code} -\begin{verbatim} -%& --translate-file=cp1250pl -\end{verbatim} -\end{code} -Wpis taki będzie poprawny w~wypadku redagowania plików -w~systemie \acro{MS}~Windows i~stosowania domyślnego w~nim kodowania -\acro{CP}~1250. W~wypadku systemu Unix/Linux należy zamiast \verb+cp1250pl+ -wpisać \verb+il2-pl+ (przy założeniu, że posługujemy się -kodowaniem \acro{ISO}~8859-2). - -% [tp] -% Zamiast komentarza strukturalnego można skorzystać z~pakietu -% \pai{inputenc}, opisanego w~punkcie \ref{int-support}. -Komentarz strukturalny jest alternatywą dla pakietu \pai{inputenc}, -opisanego w~punkcie \ref{int-support}\footnote{% - Oznacza to, że jednoczesne użycie komentarza strukturalnego - \texttt{translate-file} i~dołączanie pakietu \protect\pai{inputenc} - jest błędem} -%, -% bo \LaTeX{} nie potrafi wówczas poprawnie przetwarzać znaków z~ogonkami. -Mechanizm komentarza strukturalnego nie umożliwia poprawnego -przetwarzania dokumentów unikodowych\index{Unicode}. Jeżeli upierasz -się przy unikodzie to pozostaje ci tylko pakiet \pai{inputenc}. - -Zamiast pakietu \pkg{babel} można zastosować pakiet \pai{polski} -z~zestawu \pai{platex} (autorzy -Mariusz Olko\index{Olko Mariusz} -i~Marcin Woliński)\index{Woliński Marcin}. -Jego niewątpliwą zaletą jest staranniejsza polonizacja, np.~pakiet -\pkg{polski} domyślnie przełącza się na fonty \acro{PL} bez potrzeby -dołączania %do preambuły dokumentu -pakietu \pai{fontenc}. -W~wypadku przejścia z~pakietu \pai{babel} na \pai{polski} dokumenty nie -wymagają modyfikacji, oprócz oczywistej wymiany nazwy ładowanego pakietu -w~preambule. - -Pakiet \pkg{polski} dołączamy w~preambule dokumentu poleceniem: -% -\begin{command} -\verb+\usepackage[+\emph{opcje}\verb+]{polski}+ -\end{command} -% - -Lista ważniejszych opcji obejmuje: -% -\begin{description} -\item{\popti{OT4}} wybranie kodowania \texttt{OT4} fontów, -co w~praktyce oznacza skład fontami~\acro{PL}; -\item{\popti{T1} } wybranie kodowania \texttt{T1} fontów, -co oznacza skład fontami~\acro{EC}; -\item{\popti{OT1}} wybranie kodowania \texttt{OT1} fontów, -co oznacza skład fontami \acro{CM} (niezalecane); -\item{\popti{plmath}} włączenie polskich oznaczeń dla standardowych - poleceń trygonometrycznych oraz symboli relacji - mniejszy-lub{\dywiz}równy i~większy-lub{\dywiz}równy (zalecane); -\item{\popti{nomathsymbols}} blokada zmiany znaczenia standardowych - poleceń trygonometrycznych oraz symboli relacji - mniejszy-lub{\dywiz}równy i~większy-lub{\dywiz}równy - (por.~punkt~\ref{symbols}, - str.~\pageref{mniejszy-lub-rowny}); -\item{\popti{MeX}} tryb pełnej polonizacji (zalecane). -\end{description} -% -Jeżeli opcję układu kodowania w~foncie pominięto, to pakiet \pai{polski} -używa fontów \acro{PL} (w~wypadku ich braku {\LaTeX} będzie sygnalizował -błędy). Dotyczy to zarówno fontów tekstowych, jak i~zawierających znaki -matematyczne. W~instalacji zawierającej fonty \acro{PL} dołączenie -pakietu \pai{polski} bez opcji jest równoważne poleceniu: -% -\begin{code} -\verb+\usepackage[OT4,plmath]{polski}+ -\end{code} -% -Polecenie \ci{selecthyphenation} pozwala przełączyć się na dany zestaw -wzorców dzielenia wyrazów. Jest to odpowiednik polecenia -\ci{selectlanguage} z~pakietu \pkg{babel}. Argumentem jest nazwa języka. - -Polonizacyjnym uzupełnieniem pakietu \pai{polski} jest zestaw klas -Marcina Wolińskiego\index{Woliński Marcin} -\texttt{mwart}\index{klasa!mwart}, \texttt{mwrep}\index{klasa!mwrep} -i~\texttt{mwbook}\index{klasa!mwbook}, dostępny pod adresem -\urlMWclasses. W~klasach tych zostały uwzględnione m.in.\ takie -zwyczaje jak: umieszczanie kropek po numerach śródtytułów, sposób -formatowania przypisów oraz pagin, zakaz przenoszenia słów -w~śródtytułach, reguły umieszczania/pomijania paginacji. -Uzyskano to za cenę znacznej ingerencji w~sposób działania klas -standardowych, czego skutkiem jest niekompatybilność z~częścią -pakietów {\LaTeX}a. - -Oto przykładowa preambuła artykułu składanego w~klasie \texttt{mwart}: -\begin{code} -\begin{verbatim} -%& --translate-file=cp1250pl -\documentclass{mwart} -\usepackage[MeX]{polski} -\begin{document} ... -\end{verbatim} -\end{code} - %% -Jest to zalecany sposób rozpoczynania dokumentów w~języku polskim. Warto -z~niego korzystać, zaopatrzywszy się w~niezbędne -elementy: fonty \acro{PL}, pakiet \pai{polski} i~klasy Marcina -Wolińskiego. W~standardowej dystrybucji \LaTeX{}a, w~której na ogół -znajdują się obecnie fonty \acro{PL}, zadziała natomiast taka preambuła: - %% -\begin{code} -\begin{verbatim} -%& --translate-file=cp1250pl -\documentclass{article} -\usepackage{polski} -\end{verbatim} -\end{code} - -\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. {\LaTeX} -zakłada, że zdania mogą się kończyć kropką, znakiem zapytania -lub wykrzyknikiem. Jeżeli bezpośrednio przed kropką znajduje się -duża litera, to {\LaTeX} nie traktuje 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. %W-tył-ciach -Znak \verb|\| poprzedzający spację oznacza odstęp normalnej wielkości. -Tylda \verb|~| również wstawia - %odstęp normalnej wielkości, - 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 po dużej literze. \cih{"@} \index{~@ \verb.~.} -zdanie, nawet jeśli następuje po dużej literze. -\cih{"@}% see. lamport 154 -\index{~@\verb.~.}% -\index{tylda@tylda (\verb.~.)}% -%\index{., odstęp po} % ten wpis jest niejasny - % -\begin{example} -Pan~Kowalski ucieszył się\\ -na jej widok (zob.~Rys.~5).\\ -Podoba mi się JAVA\@. A~tobie? -\end{example} - % -\noindent -Jak wspomniano, wstawianie większych odstępów na końcu zdań to zwyczaj -anglosaski. W~Europie kontynentalnej tradycyjnie się tego nie robi. -Wstawianie większych odstępów na końcu zdań można wyłączyć -poleceniem: - % -\begin{command} -\ci{frenchspacing} -\end{command} - -Pakiet \pai{polski} domyślnie wykonuje instrukcję \ci{frenchspacing} -za nas, czyli włącza odstępy ,,kontynentalne''. - -\section{Tytuły, śródtytuły i~punkty } - %% -Podzielenie dokumentu na rozdziały, punkty, podpunkty itd.\ pomaga -czytelnikom lepiej orientować się w~tekście. Do dzielenia dokumentu na -hierarchiczne części służą odpowiednie instrukcje {\LaTeX}owe. -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{code} -\ci{section}\verb|{...} |\ci{paragraph}\verb|{...}|\\ -\ci{subsection}\verb|{...} |\ci{subparagraph}\verb|{...} |\\ -\ci{subsubsection}\verb|{...} |\ci{appendix} -\end{code} - -W~klasach \texttt{report} (raport) i~\texttt{book} (książka) -mogą występować rozdziały: -\begin{code} -\ci{chapter}\verb|{...}| -\end{code} - %% -Jeśli raport bądź książkę trzeba podzielić na części bez naruszania numeracji -punktów i~rozdziałów, to można użyć polecenia: -\begin{command} -\ci{part}\verb|{...}| -\end{command} - -Ponieważ w~klasie \texttt{article} najwyższą jednostką w~hierarchii -podziału jest \ci{section} (czyli \emph{punkt\/}), łatwo tworzy się -książki (klasa \verb+book+), w~których rozdziałami są poszczególne -artykuły. {\LaTeX} dobierze za nas odpowiednie odstępy między -rozdziałami oraz wielkość i~krój pisma w~śródtytułach. - -%\pagebreak[3] -Dwie z~wymienionych instrukcji działają nieco inaczej niż pozostałe: -% -\begin{itemize} -\item instrukcja \ci{part} nie ma wpływu na numerację rozdziałów; -\item instrukcja \ci{appendix} nie 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+, a~punktów w~klasie - \verb+article+. -\end{itemize} - %% -\noindent -Argumentu instrukcji podziału dokumentu {\LaTeX} używa do przygotowania -spisu treści. Instrukcja: -% -\begin{command} -\ci{tableofcontents} -\end{command} - % -\noindent -wstawia spis treści w~miejscu jej użycia. Aby w~spisie treści otrzymać -poprawne numery stron, trzeba dokument przetworzyć (,,zlatechować'') -dwukrotnie. Czasami niezbędna jest nawet trzecia kompilacja. Kolejny -przebieg jest potrzebny, gdy pod koniec przetwarzania dokumentu {\LaTeX} -pokazuje komunikat: -% -\begin{code} -\begin{verbatim} -LaTeX Warning: Label(s) may have changed. -Rerun to get cross-references right. -\end{verbatim} -\end{code} -% - -%% -{\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}. -%% - -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}|. - -%% -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} -%% - -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 \emph{opcjonalny} argument instrukcji podziału -hierarchicznego, na przykład tak: -% -\begin{code} -\verb|\chapter[Krótki i~ekscytujący rozdział]{To jest|\\ -\verb| bardzo długi i~wyjątkowo nudny rozdział}| -\end{code} -% -W~wyniku wykonania tej instrukcji w~spisie treści pojawi się -,,Krótki i~ekscytujący rozdział'', natomiast w~tytule rozdziału -,,To jest bardzo długi i~wyjątkowo nudny rozdział''. - - -{\LaTeX} składa część tytułową dokumentu, napotkawszy instrukcję: -% -\begin{command} -\ci{maketitle} -\end{command} -% -\noindent -Należy ją umieścić po \verb+\begin{document}+, czyli nie w~preambule. - -Zawartość części tytułowej ustalają polecenia: -% -\begin{command} -\ci{title}\verb|{...}|, \ci{author}\verb|{...}| -oraz opcjonalnie \ci{date}\verb|{...}| -\end{command} -% -\noindent -Należy je umieścić w~preambule. Jeżeli dokument ma kilku autorów, to ich -nazwiska i~imiona rozdzielamy instrukcją \ci{and}. Sposób użycia -powyższych instrukcji demonstruje rysunek~\ref{document} ze -strony~\pageref{document}. - -W~{\LaTeXe} istnieją trzy dodatkowe instrukcje dotyczące struktury -dokumentu, dostępne jednak wyłącznie w~klasie \verb|book|. Oto ich nazwy, -sposób użycia i~przeznaczenie: -% -\begin{description} -\item[\ci{frontmatter}] powinna być pierwszą instrukcją w~treści - dokumentu, czyli powinna wystąpić tuż po \verb|\begin{document}|. Włącza ona - rzymski zapis numerów stron, wyłączając jednocześnie numerowanie - punktów podziału. To tak, jakby się używało instrukcji - ,,gwiazdkowanych'', w~rodzaju \verb|\chapter*{Preface}|. Punkty - podziału trafią jednak do spisu treści. -\item[\ci{mainmatter}] należy umieścić tuż przed pierwszym rozdziałem - książki. Przełącza ona sposób oznaczania numerów stron na arabski, - zerując zarazem licznik stron. -\item[\ci{backmatter}] powinna wystąpić przed ostatnimi fragmentami - książki, takim jak spis literatury albo skorowidz. -\end{description} -% -\noindent -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\label{sec:odsylacze}} - -Książki, raporty i~artykuły często zawierają 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{command} -\ci{label}\verb|{|\emph{etykieta}\verb|}|, -\ci{ref}\verb|{|\emph{etykieta}\verb|}| -i \ci{pageref}\verb|{|\emph{etykieta}\verb|}| -\end{command} -% *** Przypis JG -\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, \emph{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.}. Oto przykład: -% -\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 } - -Do składania przypisów u~dołu strony służy instrukcja: -% -\begin{command} -\ci{footnote}\verb|{|\emph{tekst przypisu}\verb|}| -\end{command} - % -\noindent -Należy ją wstawić bezpośrednio po słowie lub zdaniu, do którego się -odnosi. W~krajach anglosaskich przypisy odnoszące się do całego zdania -lub jego części umieszcza się natychmiast po kropce lub przecinku. -W~Polsce najczęściej umieszcza się je \emph{przed} znakiem przestankowym -(zasadę tę stosujemy w~niniejszym tłumaczeniu). - -%% -{\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. -%% - -\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ć -wyróżnione, $\underline{\mbox{podkreśla się}}$. -W~dokumentach drukowanych wyróżnienie fragmentu odbywa się przez -złożenie go \textit{kursywą}. Służy do tego \LaTeX{}owa instrukcja: -% -\begin{command} -\ci{emph}\verb|{|\emph{tekst}\verb|}| -\end{command} -% -\noindent -Argumentem tej instrukcji jest tekst, który ma zostać wyróżniony. -% -\begin{example} -\emph{\emph{Wyróżnienia} w~tekście -już wyróżnionym są składane -\emph{zwykłym} krojem pisma.} -\end{example} - -Zwróćmy uwagę, że istnieje różnica między wyróżnieniem części tekstu -a~złożeniem go inną czcionką: -% -\begin{example} -\textit{Tekst można \emph{wyróżnić}, - składając go kursywą,} -\textsf{czcionką \emph{szeryfową},} -\texttt{a nawet \emph{maszynowo}.} -\end{example} - - -\section{Otoczenia\label{env} } - -Do instrukcji formatujących zaliczają się -\emph{otoczenia}\index{otoczenie} (zwane -też \emph{środowiskami}\index{środowisko|see{otoczenie}}), -czyli instrukcje postaci: -% -\begin{command} -\cmd{begin}\verb|{|\emph{nazwa}\verb|}|\quad -\emph{tekst}\quad -\cmd{end}\verb|{|\emph{nazwa}\verb|}| -\end{command} -% -\noindent -gdzie \emph{nazwa} jest nazwą otoczenia, a~\emph{tekst} jest fragmentem -dokumentu, który ma zostać złożony inaczej niż poza otoczeniem. - -Otoczenia można zagnieżdżać jedne w~drugich: -% -\begin{code} -\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}| -\end{code} -% -\noindent -Niedopuszczalne jest natomiast ,,przeplatanie'' otoczeń: -% -\begin{code} -\verb|\begin{aaa}...\begin{bbb}...\end{aaa}...\end{bbb}| -\end{code} -% -% 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}+. - -W~kolejnych punktach przedstawiamy częściej używane otoczenia. - -\subsection{Otoczenia \ei{itemize}, \ei{enumerate} i~\ei{description}} - -Otoczenia \ei{itemize} oraz \ei{description} służą do tworzenia -wyszczególnień, zaś \ei{enumerate} do tworzenia wyliczeń. W~każdym -z~nich element wyliczenia zaczyna się od instrukcji \ci{item}. - -\begin{example} -\begin{enumerate} -\item Taka lista: -\begin{itemize} -\item wygląda -\item[--] śmiesznie. -\end{itemize} -\item Pamiętaj: -\begin{description} -\item[Głupoty] nie 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{Otoczenia \ei{flushleft}, \ei{flushright} i~\ei{center}} - -W~otoczeniach \ei{flushleft} i~\ei{flushright} akapity są składane -z~wyrównaniem, odpowiednio, do lewego bądź prawego marginesu. Wewnątrz -otoczenia \ei{center} każdy wiersz akapitu jest wyśrodkowany w~osi -szpalty. 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{Otoczenia \ei{quote}, \ei{quotation} i~\ei{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. - -Dlatego w~{\LaTeX}u standardowe -strony mają szerokie marginesy. -\end{quote} -Dlatego też w~gazetach stosuje -się druk wielołamowy. -\end{example} - -\noindent -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 angielski -wiersz. Ten o~Humptym Dumptym. -\begin{flushleft} -\begin{verse} -Humpty Dumpty sat on a wall:\\ -Humpty Dumpty had a great fall.\\ -All the King's horses and all -the King's men\\ -Couldn't put Humpty together again. -\end{verse} -\end{flushleft} -\end{example} - -\subsection{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{Symulacja maszynopisu\label{verb-envir} } - -Tekst zawarty między \verb|\begin{|\ei{verbatim}\verb|}| - a~\verb|\end{verbatim}| jest przez \LaTeX{}a składany dosłownie, czyli -tak, by wyglądał jak napisany na maszynie, z~zachowaniem zmian wiersza -i~odstępów z~pliku źródłowego. - -Aby uzyskać ten efekt, krój pisma zmienia się na imitujący pismo -maszynowe (grotesk). Wszystkie znaki w~tym kroju, włączając spację, -mają jednakową szerokość. Zakończenie linii wewnątrz otoczenia -\ei{verbatim} prowadzi do rozpoczęcia nowego wiersza w~wydruku, -a~\emph{każda\/} spacja zamienia się na odstęp. Wewnątrz otoczenia -\ei{verbatim} \emph{nie\/} są wykonywane instrukcje. - -Wewnątrz akapitów imitację maszynopisu uzyskuje się -za pomocą instrukcji: -% -\begin{command} -\ci{verb}\verb|+|\emph{tekst}\verb|+| -\end{command} -% -\noindent -Znak \verb|+| ogranicza %tu -tekst, który ma zostać wydrukowany -dosłownie. Zamiast \verb|+| można użyć innego znaku, byle to nie była -litera, gwiazdka, spacja ani żaden znak, który występuje w~\emph{tekście}. -Instrukcję \ci{verb} oraz otoczenie -\pai{verbatim} wykorzystujemy często w~tej -książce do składania przykładów {\LaTeX}owych. -% -\begin{example} -Rozważmy przykład\ldots - -\begin{verbatim} -{ for (i=1;i<=NF;i++) {l[$i]++; } -END {for (i in l) {print l[i]} -\end{verbatim} -\end{example} -%$ % -\noindent -Otoczenie \ei{verbatim} oraz instrukcja \ci{verb} mają także wersje -,,z~gwiazdką'', w~których spacja z~pliku źródłowego jest zamieniana na -znak \verb*+ +. Jest to jedyna różnica działania w~porównaniu do -wersji bezgwiazdkowych: -% -\begin{example} -\begin{verbatim*} -gwiazdkowa wersja -otoczenia verbatim -wyróżnia spacje -w tekście -\end{verbatim*} -\end{example} -% -\noindent -Otoczenia \ei{verbatim} ani instrukcji \ci{verb} -nie wolno używać wewnątrz argumentów innych instrukcji -(więcej na ten temat w~punkcie~\ref{fragile:commands}). - -\subsection{Otoczenie \ei{tabular}\label{sec:tabular} } - -Do składania tabel służy otoczenie \ei{tabular}. {\LaTeX} automatycznie -ustala szerokość poszczególnych rubryk tabeli. Otoczenie ma jeden -parametr obowiązkowy, \emph{spec-kolumn}, który określa liczbę kolumn -tabeli oraz sposób ich justowania: -% -\begin{command} -\verb|\begin{tabular}{|\emph{spec-kolumn}\verb|}| -\end{command} -% -\noindent -Dla każdej kolumny należy w~argumencie wstawić jedną z~liter: \verb+l+, -\verb+r+ lub \verb+c+, określając w~ten sposób justowania -zawartości kolumny. Dosunięcie zawartości kolumny do lewej -oznaczamy literą \verb+l+, do prawej -- znakiem \verb+r+, -a~wyśrodkowanie -- znakiem \verb+c+. -Zapisu \verb|p{|\emph{szer-kolumn}\verb|}| można użyć do zaznaczenia, że -kolumna ma mieć szerokość \emph{szer-kolumn}. Wewnątrz -takiej kolumny tekst jest składany w~prostokąt o~zadanej szerokości, -z~wyrównywaniem obu marginesów. -Znak \verb+|+ instruuje \LaTeX{}a, by kolumny tabeli -rozdzielił pionową kreską. - -Wewnątrz otoczenia \ei{tabular} poszczególne wiersze oddzielamy -instrukcją \ci{\bs}, a~rubryki w~wierszu -- znakiem \verb+&+. -Instrukcja \ci{hline} wstawia poziomą kreskę na całą szerokość tabeli. - % -\index{"|@ \verb."|.} -\begin{example} -\begin{tabular}{|r|l|} \hline -7C0 & heksadecymalnie \\ -3700 & oktalnie \\ -11111000000 & binarnie \\ -\hline \hline -1984 & dziesiętnie \\ \hline -\end{tabular} -\end{example} - %% -\vspace*{-.45ex} - %% -\begin{example} -\begin{tabular}{|p{4.7cm}|} \hline -Ten akapit jest wewnątrz pudełka. -Mamy nadzieję, że uzyskany -efekt się podoba.\\ \hline -\end{tabular} -\end{example} - % -\noindent -Instrukcją \verb|@{...}| określamy odstęp między kolumnami. -Zastępuje ona domyślny odstęp międzykolumnowy -treścią umieszczoną między \verb+{+ a~\verb+}+. -Stosuje się ją często do wyrównywania zestawień -liczbowych według cyfr znaczących. -Można ją także wykorzystać do usunięcia odstępów -w~pierwszej i~ostatniej kolumnie tabeli, co ilustruje -poniższy przykład: -% -\label{sec:tabular-et} -\begin{example} -\begin{tabular}{@{} l @{}} \hline -bez odstępów na brzegach\\ \hline -\end{tabular} -\end{example} -\vspace*{-.45ex} -\begin{example} -\begin{tabular}{l} \hline -odstępy na brzegach tabeli\\ \hline -\end{tabular} -\end{example} - -\noindent -W~{\LaTeX}u nie ma mechanizmu pozwalającego wyrównywać zestawienia -liczbowe według cyfr znaczących\footnote{% - Do wyrównywania cyfr można skorzystać %z~możliwości - z~pakietu - \pai{dcolumn} z~zestawu ,,tools''.}, ale efekt ten można -%%osiągnąć, %% źle się składa -uzyskać, %% dzięki temu akapit skraca się o 1 wiersz -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}: - -\begin{example} -\begin{tabular}{c r @{,} l} -Wyrażenie & -\multicolumn{2}{c}{Wartość}\\\hline -$\pi$ & 3&1416 \\ -$\pi^{\pi}$ & 36&46 \\ -$(\pi^{\pi})^{\pi}$ & 80662&7 \\ -\end{tabular} -\end{example} - % -\noindent -Polecenie \ci{cline}\verb+{+\emph{m}\verb+-+\emph{n}\verb+}+ -wstawia poziomą kreskę -ciągnącą się od kolumy \emph{m}~do kolumny~\emph{n}: - -\begin{example} -\begin{tabular}{|c|c|c|c|l|}\hline -1 &\multicolumn{4}{c|}{0}\\ -\cline{2-5} -1 & 2 & 3 & 4 &5 \\ \cline{2-4} -1 & 2 & 3 & 4 &5 \\ \hline -\end{tabular} -\end{example} - %% -W~punkcie~\ref{more:tables} opisano, -jak sobie radzić ze składem bardziej skomplikowanych tabel. - -\section{Wstawki } - -Współczesne publikacje zawierają dużo rysunków i~tabel. Elementów tych -nie należy dzielić między strony i~dlatego wymagają specjalnego -potraktowania. W~sytuacji gdy nie mieszczą -się one na bieżącej stronie, na ogół przenosi się je i~wstawia na -początku strony następnej. W~wypadku przeniesienia rysunku lub -tabeli miejsce pozostałe na stronie wypełniane jest tekstem. Tego -typu elementy będziemy nazywać \emph{wstawkami}\index{wstawka}. - -Aby w~pełni skorzystać z~{\LaTeX}owego mechanizmu wstawek, -trzeba choćby powierzchownie rozumieć, jak {\LaTeX} -manipuluje takimi obiektami. W~przeciwnym razie -wstawki mogą się stać źródłem irytacji, gdyż {\LaTeX} -będzie je umieszczał wszędzie, tylko nie w~miejscach, w~którym byśmy -sobie tego życzyli. - -Do tworzenia wstawek mamy w~{\LaTeX}u dwa otoczenia. Otoczenie -\ei{figure} służy do tworzenia rysunków, a~otoczenie \ei{table} --- do tabel. Oba mają jeden parametr opcjonalny: -% -\begin{command} -\verb|\begin{figure}[|\emph{miejsce}\verb|]| albo -\verb|\begin{table}[|\emph{miejsce}\verb|]| -\end{command} -% -\noindent -Argument \emph{miejsce} określa, gdzie na stronie -można umieścić wstaw\-kę. Powinna to być sekwencja od jednego -do pięciu znaków: \verb+h+, \verb+t+, \verb+b+, \verb+p+ oraz \verb+!+. -Każdy znak określa dopuszczalny sposób umieszczenia wstawki; -szczegółowe informacje na ten temat zestawiono w~tabeli~\ref{tab:permiss}. - -\begin{table}[!tbp] -\caption{Opcjonalny argument otoczeń \ei{table} i~\ei{figure} -\label{tab:permiss} } -\noindent \begin{minipage}{\textwidth} -\medskip -\begin{center} -\begin{tabular}{@{}cp{10cm}@{}} -Znak & Dopuszczalne miejsce umieszczenia wstawki \\ \hline -\rule{0pt}{1.05em} -\texttt{h} & bez przemieszczenia, dokładnie w~miejscu użycia \\[0.3ex] -% poniższe nie jest prawdą: [tp] -% (użyteczne w~wypadku niewielkich wstawek); -\texttt{t} & na górze strony \\[0.3ex] -\texttt{b} & na dole strony \\[0.3ex] -\texttt{p} & na stronie zawierającej wyłącznie wstawki \\[0.3ex] -\texttt{!} & ignorując większość parametrów kontrolujących -umieszczanie wstawek\footnote{Są to parametry takie jak -np.~maksymalna dopuszczalna liczba wstawek na stronie}, -przekroczenie wartości, które mogą nie pozwolić na -umieszczanie następnych wstawek na stronie. -\end{tabular} -\end{center} -\end{minipage} -\end{table} - -Przykładowa tabela może się zaczynać tak: -% -\begin{code} -\verb|\begin{table}[!hbp]| -\end{code} -% -\noindent -Argument \verb|[!hbp]| oznacza, że tabelę można umieścić w~miejscu, -w~którym pojawia się w~pliku źródłowym (\texttt{h}), albo na dole strony -(\texttt{b}), albo wreszcie na osobnej stronie zawierającej wyłącznie -wstawki (\texttt{p}). Ponadto ,,\texttt{!}'' oznacza, że {\LaTeX} ma -pominąć większość parametrów sterujących umieszczaniem wstawek. Jeżeli -%%instrukcji \ci{table} %% błąd [tp] -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{miejsce}. 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 \acro{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{miejsce} (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 zgodnie z~oczekiwaniami, -to z~reguły któraś z~nich blokuje całą kolejkę, -a~być może nawet wszystkie kolejki wstawek. -\end{quote} - -%%\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{command} -\ci{caption}\verb|{|\emph{tekst}\verb|}| -\end{command} -% -\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. - -Następujące instrukcje: -% -\begin{command} -\ci{listoffigures} oraz \ci{listoftables} -\end{command} -% -\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[Short]{LLLLLoooooonnnnnggggg}| -\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}. Dobrym pomysłem jest też umieszczenie jej -wewnątrz argumentu instrukcji \ci{caption} (na przykład -na końcu tytułu rysunku czy tabeli). -Niektórzy użytkownicy błędnie sądzą, że wystarczy umieścić instrukcję -\ci{label} wewnątrz otoczenia \ei{figure} czy \ei{table}, gdy -tymczasem umieszczenie jej przed poleceniem \ci{caption} -prowadzi do błędów w~numerach odsyłaczy. - -W~poniższym przykładzie wstawka zawiera prostokąt o~wymiarach 5~cm -$\times$ 5~cm. Ten sposób postępowania można wykorzystać w~celu -zarezerwowania miejsca na rysunki, które zostaną wklejone później -- do -gotowego, wydrukowanego dokumentu. -% to nie to samo co: [tp] -% Tym sposobem można -% zarezerwować miejsce na rysunki, które zostaną wklejone później -- -% dopiero do gotowego, przeznaczonego do druku dokumentu. -% -\begin{code} -\begin{verbatim} -Rysunek~\ref{white} jest przykładem Pop-Artu. -\begin{figure}[!htp] -\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} -\caption{Pięć na pięć centymetrów\label{white} } -\end{figure} -\end{verbatim} -\end{code} - % -\noindent -Zakładając w~tym przykładzie, że kolejka rysunków jest pusta, {\LaTeX} -najpierw spróbuje umieścić rysunek bez przesuwania go dokądkolwiek -(\texttt{h}). Jeżeli okaże się to niemożliwe, to spróbuje go umieścić na -górze strony (\texttt{t}). 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{command} -\ci{clearpage} albo nawet \ci{cleardoublepage} -\end{command} - % -\noindent -W~wyniku jej zadziałania {\LaTeX} umieszcza w~dokumencie wszystkie -oczekujące w~kolejkach wstawki, a~następnie rozpoczyna skład od nowej -strony. W~wypadku użycia instrukcji \ci{cleardoublepage} {\LaTeX} -rozpoczyna skład od strony -nieparzystej (por. przypis~\ref{fnt:clrdblpg} na str.~\pageref{fnt:clrdblpg}). - -W~dalszej części książki przedstawimy, jak można do dokumentu dołączać -rysunki w~formacie {\PSi} (por.~\ref{eps:incl}). - -\section{Ochrona poleceń kruchych\label{fragile:commands}} - -Niektórych poleceń nie można umieszczać wewnątrz argumentów innych -poleceń, na przykład polecenie \ci{footnote} albo \ci{verb} nie może się pojawić -w~argumencie polecenia \ci{section} czy \ci{caption}. Kompilacja -dokumentu zakończy się w~takiej sytuacji błędem, a~takie polecenia -nazywamy \emph{kruchymi}\index{polecenie!kruche} (ang.~\UKemph{fragile - command\/}). - -Polecenia kruche wymagają ,,ochrony''. Możemy je chronić, -umieszczając przed nimi polecenie \ci{protect}. -Polecenie \ci{protect} odnosi się wyłącznie do instrukcji znajdującej -się tuż za nim, nie obejmuje swym działaniem nawet argumentów tej -instrukcji. W~większości wypadków nadmiarowe użycie \ci{protect} nie -powoduje szkód. - %% -\begin{code} -\begin{verbatim} -\section{Jestem przezorny% - \protect\footnote{i~chronię przypisy}} -\end{verbatim} -\end{code} - %% -Uwaga: wiele osób lubi dodawać przypisy do śródtytułów. Naszym zdaniem -jest to zły i~komplikujący życie zwyczaj; ostatecznie zawsze można -umieścić przypis w~pierwszym akapicie pod śródtytułem. Rób jak -uważasz, ale czy wiesz, jak usunąć numer przypisu ze spisu treści? - -\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: -%%% mode: latex -%%% TeX-master: "lshort2e" -%%% coding: latin-2 -%%% case-fold-search: nil -%%% LocalWords: ghostscript acrobat makeindex plmindex kiepskości -%%% LocalWords: Johannesa Braamsa -%%% ispell-local-dictionary: "polish" -%%% End -- cgit v1.2.3