Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac...

141
Nie za krótkie wprowadzenie do systemu L A T E X2 ε Albo L A T E X2 ε w 129 minut Tobias Oetiker Hubert Partl, Irene Hyna, Elisabeth Schlegl Tomasz Przechlewski i Ryszard Kubiak Janusz Goldasz Wydanie drugie, poprawione, uaktualnione i rozszerzone Oparte na wersji 4.20 The Not So Short Introduction to L A T E X2 ε z 31 maja 2006 Styczeń 2007

Transcript of Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac...

Page 1: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Nie za krótkie wprowadzeniedo systemu LATEX2!

Albo LATEX2! w 129 minut

Tobias Oetiker

Hubert Partl, Irene Hyna, Elisabeth Schlegl

Tomasz Przechlewski i Ryszard Kubiak

Janusz Go!dasz

Wydanie drugie, poprawione, uaktualnione i rozszerzoneOparte na wersji 4.20 The Not So Short Introduction to LATEX2!

z 31 maja 2006

Stycze! 2007

Page 2: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

ii

Copyright©1995–2005 Tobias Oetiker and Contributers. All rights reserved.Copyright© 1999, 2007 for the Polish translation and extension JG, RK and TPAll rights reserved.

This document is free; you can redistribute it and/or modify it under the termsof the GNU General Public License as published by the Free Software Foundation;either version 2 of the License, or (at your option) any later version.

This document is distributed in the hope that it will be useful, but WITHOUTANY WARRANTY; without even the implied warranty of MERCHANTABILITYor FITNESS FOR A PARTICULAR PURPOSE. See the GNU General PublicLicense for more details.

You should have received a copy of the GNU General Public License along withthis document; if not, write to the Free Software Foundation, Inc., 675 Mass Ave,Cambridge, MA 02139, USA.

Copyright© 1995–2005 Tobias Oetiker i wszyscy wspó!autorzy Wprowadzenia.Copyright© 1998, 2007 polskiego t!umaczenia i opracowania JG, RK i TP.

Niniejszy dokument jest wolno dost"pny; mo#na go rozpowszechnia$ i/lub zmienia$zgodnie z postanowieniami Ogólnej Licencji Publicznej GNU – takiej, jak% opubli-kowa!a fundacja Free Software Foundation w wersji 2 tej#e Licencji, albo (Waszwybór) w dowolnej pó&niejszej.

Dokument jest rozpowszechniany w nadziei, #e b"dzie u#yteczny, jednak#e BEZ'ADNEJ GWARANCJI, nawet bez jakiejkolwiek domy(lnej gwarancji WYNIKA-J)CEJ Z NABYCIA lub ODPOWIADANIA KONKRETNEMU CELOWI. Wi"cejszczegó!ów znajdziecie w Ogólnej Licencji Publicznej GNU.

Do dokumentu powinna by$ do!%czona kopia Ogólnej Licencji Publicznej GNU;je(li jej nie ma, to napiszcie do: the Free Software Foundation, Inc., 675 Mass Ave,Cambridge, MA 02139, USA.

Najnowsz% polskoj"zyczna wersja Wprowadzenia znajduje si" pod adresem:http://www.ctan.org/tex-archive/info/lshort/polish/

Najnowsza angloj"zyczna wersja Wprowadzenia znajduje si" w katalogu:http://www.ctan.org/tex-archive/info/lshort

Page 3: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Podzi!kowania

Wi"kszo($ materia!u w niniejszej ksi%#ce pochodzi z napisanego w j"zykuniemieckim austriackiego Wprowadzenia do LATEXa 2.09, którego auto-rami s%:

Hubert Partl <[email protected]>Zentraler Informatikdienst der Universitat fur Bodenkultur Wien

Irene Hyna <[email protected]>Bundesministerium fur Wissenschaft und Forschung Wien

Elisabeth Schlegl <no email>in Graz

Osoby zainteresowane wersj% niemieck%, opracowan% przez Jorga Knappenado LATEX2!, mog% j% znale&$ pod adresem CTAN://info/lshort/german.

Ni#ej wymienione osoby pomog!y w tworzeniu Wprowadzenia swoimi po-prawkami, sugestiami i propozycjami ulepsze*. Przyczyni!y si" one bardzodo nadania niniejszej ksi%#ce jej obecnego kszta!tu. Chcia!bym im za toserdecznie podzi"kowa$. Za wszelkie b!"dy, które nieuchronnie pozosta!yw tek(cie, ponosz" oczywi(cie odpowiedzialno($ wy!%cznie ja sam. Wszyst-kie natomiast s!owa zapisane bez b!"du s% w ksi%#ce wy!%czn% zas!ug% osóbz poni#szej listy:

Rosemary Bailey, Marc Bevand, Friedemann Brauer, Jan Busa,Markus Bruhwiler, Pietro Braione, David Carlisle, Jose Carlos Santos,Neil Carter, Mike Chapman, Pierre Chardaire, Christopher Chin, Carl Cerecke,Chris McCormack, Wim van Dam, Jan Dittberner, Michael John Downes,Matthias Dreier, David Dureisseix, Elliot, Hans Ehrbar, Daniel Flipo, David Frey,Hans Fugal, Robin Fairbairns, Jorg Fischer, Erik Frisk, Mic Milic Frederickx,Frank, Kasper B. Graversen, Arlo Gri+ths, Alexandre Guimond, Andy Goth,Cyril Goutte, Greg Gamble, Frank Fischli, Morten Hgholm, Neil Hammond,Rasmus Borup Hansen, Joseph Hilferty, Bjorn Hvittfeldt, Martien Hulsen,Werner Icking, Jakob, Eric Jacoboni, Alan Je,rey, Byron Jones, David Jones,Johannes-Maria Kaltenbach, Michael Koundouros, Andrzej Kawalec,Sander de Kievit, Alain Kessi, Christian Kern, Tobias Klauser, Jorg Knappen,Kjetil Kjernsmo, Maik Lehradt, Remi Letot, Flori Lambrechts, Axel Liljencrantz,Johan Lundberg, Alexander Mai, Hendrik Maryns, Martin Maechler,Aleksandar S Milosevic, Henrik Mitsch, Claus Malten, Kevin Van Maren,

Page 4: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

iv Podzi!kowania

Richard Nagy, Philipp Nagele, Lenimar Nunes de Andrade, Manuel Oetiker,Urs Oswald, Martin Pfister, Demerson Andre Polli, Nikos Pothitos,Maksym Polyakov Hubert Partl, John Refling, Mike Ressler, Brian Ripley,Young U. Ryu, Bernd Rosenlecher, Chris Rowley, Risto Saarelma,Hanspeter Schmid, Craig Schlenter, Gilles Schintgen, Baron Schwartz,Christopher Sawtell, Miles Spielberg, Geo,rey Swindale, Laszlo Szathmary,Boris Tobotras, Josef Tkadlec, Scott Veirs, Didier Verna, Fabian Wernli,Carl-Gustav Werner, David Woodhouse, Chris York, Fritz Zaucker, Rick Zaccone,oraz Mikhail Zotov.

Od autorów polskiej wersji

Za pomoc redakcyjn% dzi"kujemy Staszkowi Wawrykiewiczowi i W!odkowiMacewiczowi.

Page 5: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Przedmowa

LATEX [12] jest systemem sk!adu znakomicie nadaj%cym si" do tworzenia pu-blikacji naukowych i technicznych o wysokiej jako(ci typograficznej. LATEXnadaje si" równie# do przygotowywania dowolnego rodzaju dokumentów,poczynaj%c od prostych listów, a ko*cz%c na grubych ksi%#kach. Do forma-towania dokumentów LATEX wykorzystuje program TEX [11, 5].Niniejsze krótkie Wprowadzenie opisuje LATEXa w zakresie wystarczaj%-

cym do wi"kszo(ci zastosowa*. Pe!ny opis LATEXa mo#na znale&$ w [12, 6, 4].Wprowadzenie zawiera sze($ nast"puj%cych rozdzia!ów:

Rozdzia" 1 przedstawia ogóln% struktur" dokumentów LATEXowych i krótkoomawia histori" systemu LATEX. Po przeczytaniu tego rozdzia!u powi-niene( mie$ ju# zgrubne wyobra#enie o tym, czym jest LATEX.

Rozdzia" 2 podaje szczegó!y dotycz%ce sk!adania dokumentów. Omówionow nim najwa#niejsze instrukcje i otoczenia. Po przeczytaniu tego roz-dzia!u b"dziesz ju# umia! tworzy$ proste dokumenty LATEXowe.

Rozdzia" 3 po(wi"cono sk!adaniu wzorów matematycznych. Wiele zamiesz-czonych w nim przyk!adów nauczy Ci" wykorzystywa$ jedn% z najwa#-niejszych umiej"tno(ci TEXa, jak% jest elegancki sk!ad matematyki. Nako*cu rozdzia!u zamieszczono zestawienie dost"pnych w LATEXu sym-boli matematycznych.

Rozdzia" 4 wyja(nia, jak tworzy$ skorowidze i spisy bibliograficzne orazjak do!%cza$ rysunki w formacie eps. Znajdziesz tu równie# informacjeo tworzeniu plików w formacie pdf za pomoc% programu pdflatexoraz o kilku u#ytecznych pakietach LATEXowych.

Rozdzia" 5 pokazuje, jak u#ywa$ LATEXa do tworzenia grafiki. Zamiastprzygotowywa$ rysunek w jakim( programie graficznym, zachowa$go w pliku, po czym w!%czy$ do dokumentu LATEXowego, opisujeszrysunek w dokumencie, a do jego narysowania u#ywasz samego LATEXa.

Rozdzia" 6 zawiera informacje, których wykorzystanie jest potencjalnieniebezpieczne, bo mówi% o tym, jak mo#na zmieni$ standardowy uk!adgraficzny dokumentów LATEXowych. Niew!a(ciwe ich u#ycie mo#e spo-wodowa$ pogorszenie !adnego na ogó! sk!adu LATEX-owego.

S%dzimy, #e powiniene( przeczyta$ wszystkie rozdzia!y, w powy#szej kolej-no(ci. Ostatecznie, ksi%#ka nie jest zbyt gruba. Szczególn% uwag" zwró$ naprzyk!ady, gdy# w!a(nie w nich zawarto sporo warto(ciowych informacji.

Page 6: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

vi Przedmowa

LATEX jest dost"pny na wi"kszo(ci platform sprz"towych, pocz%wszy odpc i Macintosh, a sko*czywszy na du#ych systemach wyposa#onych w sys-tem unix czy vms. W wielu sieciach uniwersyteckich mo#na spotka$ gotowedo u#ytku instalacje LATEXa. Informacje, jak rozpocz%$ prac" w lokalnej in-stalacji LATEXa, mo#na znale&$ w [16]. Je#eli nie wiesz, jak zacz%$ prac"z LATEXem, to zapytaj si" osoby, od której otrzyma!e( niniejsze Wprowadze-nie. W tym dokumencie nie poruszamy spraw zwi%zanych z instalowaniemi konfigurowaniem systemu LATEX. Mówimy wy!%cznie o tym, jak pisa$ do-kumenty, aby mog!y by$ przetwarzane przez LATEXa.Gdyby( potrzebowa! jakichkolwiek materia!ów dotycz%cych LATEXa, to

zajrzyj do jednego z archiwów sieci ctan. G!ówny w"ze! ctan ma adreshttp://www.ctan.org. Mo#na te# korzysta$ z innych w"z!ów, takich jakhttp://www.dante.de lub ftp://ftp.dante.de albo dowolnego z wieluarchiwów lustrzanych, na przyk!ad polskiego ftp://ftp.gust.org.pl.Wszystkie zasoby w ka#dym archiwum ctan znajduj% si" w kata-

logu tex-archive. W dalszej cz"(ci ksi%#ki b"dziemy wielokrotnie u#y-wa$ odsy!aczy do zasobów ctanu, ale b"dziemy w nich pomija$ pro-tokó!, adres konkretnego w"z!a oraz pocz%tkowy katalog tex-archive,to znaczy b"dziemy u#ywa$ zapisu CTAN://!cie"ka-do-zasobu zamiasthttp://www.ctan.org/tex-archive/!cie"ka-do-zasobu.W katalogu CTAN://systems znajdziesz oprogramowanie niezb"dne do

uruchomienia LATEXa na twoim komputerze.

Od autorów polskiej wersji

Poniewa# uznali(my, #e niektóre tematy autorzyWprowadzenia przedstawilizbyt lakonicznie, zdecydowali(my si" na ich poszerzenie. Zmiany w stosunkudo orygina!u dotycz% w szczególno(ci: zagadnie* przygotowywania doku-mentów w j"zyku polskim (punkt 2.5 i wiele uzupe!nie* w innych punktach),opisu klasy letter (punkt 2.14) oraz informacji dotycz%cych tworzenia pli-ków pdf (punkt 4.7). Poniewa# w naszej opinii w oryginale Wprowadzeniazdecydowanie za ma!o miejsca zajmuje wa#ne zagadnienie sk!adania tabel,dodali(my po(wi"cony w ca!o(ci temu tematowi obszerny punkt 6.8.Je#eli masz pomys!, co nale#a!oby doda$, usun%$ lub zmieni$ w tym

dokumencie b%d& jego t!umaczeniu – napisz. Jeste(my szczególnie zaintereso-wani opiniami pocz%tkuj%cych u#ytkowników LATEXa o tym, które fragmentytrudno zrozumie$ i wymagaj% lepszego przedstawienia.Ryszard Kubiak, [email protected] Przechlewski, [email protected] autorem oryginalnej wersji angielskiej mo#esz si" skontaktowa$, pisz%c podadresem: Tobias Oetiker ([email protected]).Polecamy stron" http://www.gust.org.pl Polskiej Grupy U!ytkowni-

ków Systemu TEX GUST jako dodatkowe, bogate &ród!o informacji o TEXu.

Page 7: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Spis tre"ci

Podzi!kowania iii

Przedmowa v

1. Podstawy, które warto zna# 11.1. Nazwa programu . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2. LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Podstawy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.1. Autor, redaktor i zecer . . . . . . . . . . . . . . . . . . 21.2.2. Uk!ad graficzny . . . . . . . . . . . . . . . . . . . . . 31.2.3. Zalety i wady . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Plik &ród!owy . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.1. Odst"py . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.2. Znaki specjalne . . . . . . . . . . . . . . . . . . . . . . 51.3.3. Polecenia LATEXa . . . . . . . . . . . . . . . . . . . . . 51.3.4. Komentarze . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4. Struktura pliku &ród!owego . . . . . . . . . . . . . . . . . . . 61.5. Typowa sesja pracy z LATEXem . . . . . . . . . . . . . . . . . 71.6. Uk!ad graficzny dokumentu . . . . . . . . . . . . . . . . . . . 9

1.6.1. Klasy dokumentów . . . . . . . . . . . . . . . . . . . . 91.6.2. Pakiety . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6.3. Style strony . . . . . . . . . . . . . . . . . . . . . . . . 11

1.7. Nazwy plików zwi%zanych z LATEXem . . . . . . . . . . . . . . 121.8. Du#e dokumenty . . . . . . . . . . . . . . . . . . . . . . . . . 14

2. Sk"adanie tekstu 152.1. Struktura tekstu i j"zyka . . . . . . . . . . . . . . . . . . . . . 152.2. Sk!adanie akapitów i !amanie stron . . . . . . . . . . . . . . . 17

2.2.1. Sk!adanie akapitów . . . . . . . . . . . . . . . . . . . . 172.2.2. Przenoszenie wyrazów . . . . . . . . . . . . . . . . . . 19

2.3. Kilka gotowych oznacze* napisów . . . . . . . . . . . . . . . . 202.4. Znaki specjalne i symbole . . . . . . . . . . . . . . . . . . . . 21

Page 8: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

viii Spis tre$ci

2.4.1. Cudzys!owy . . . . . . . . . . . . . . . . . . . . . . . . 212.4.2. Pauzy i my(lniki . . . . . . . . . . . . . . . . . . . . . 212.4.3. Odst"py nie!amliwe . . . . . . . . . . . . . . . . . . . 222.4.4. Tylda (!) . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.5. Oznaczenie stopni (") . . . . . . . . . . . . . . . . . . 232.4.6. Symbol waluty euro (e) . . . . . . . . . . . . . . . . . 232.4.7. Wielokropek (. . . ) . . . . . . . . . . . . . . . . . . . . 242.4.8. Ligatury . . . . . . . . . . . . . . . . . . . . . . . . . 242.4.9. Akcenty i znaki specjalne . . . . . . . . . . . . . . . . 25

2.5. LATEX wieloj"zyczny . . . . . . . . . . . . . . . . . . . . . . . 252.5.1. J"zyk polski w dokumentach . . . . . . . . . . . . . . 28

2.6. Odst"py mi"dzy wyrazami . . . . . . . . . . . . . . . . . . . 302.7. Tytu!y, (ródtytu!y i punkty . . . . . . . . . . . . . . . . . . . 312.8. Odsy!acze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.9. Przypisy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.10. Wyró#nienia . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.11. Otoczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.11.1. Otoczenia itemize, enumerate i description . . . . 362.11.2. Otoczenia flushleft, flushright i center . . . . . . 362.11.3. Otoczenia quote, quotation i verse . . . . . . . . . . 372.11.4. Streszczenie . . . . . . . . . . . . . . . . . . . . . . . . 372.11.5. Symulacja maszynopisu . . . . . . . . . . . . . . . . . 382.11.6. Otoczenie tabular . . . . . . . . . . . . . . . . . . . 38

2.12. Wstawki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.13. Ochrona polece* kruchych . . . . . . . . . . . . . . . . . . . . 432.14. Listy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3. Wyra%enia matematyczne 453.1. Wst"p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.2. Grupowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.3. Cz"(ci sk!adowe wyra#e* matematycznych . . . . . . . . . . 473.4. Odst"py w trybie matematycznym . . . . . . . . . . . . . . . 513.5. Wyrównywanie w pionie . . . . . . . . . . . . . . . . . . . . 523.6. Fantomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.7. Stopie* pisma . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.8. Twierdzenia, definicje, itp. . . . . . . . . . . . . . . . . . . . . 563.9. Symbole pó!grube . . . . . . . . . . . . . . . . . . . . . . . . 573.10. Zestawienie symboli matematycznych . . . . . . . . . . . . . 58

4. Rysunki, skorowidze, generowanie plików PDF. . . 654.1. W!%czanie grafiki w formacie EPS . . . . . . . . . . . . . . . 654.2. Spis literatury . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.3. Skorowidze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.4. Paginy górne i dolne . . . . . . . . . . . . . . . . . . . . . . . 71

Page 9: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Spis tre$ci ix

4.5. Pakiet verbatim . . . . . . . . . . . . . . . . . . . . . . . . . 724.6. Instalowanie dodatkowych pakietów . . . . . . . . . . . . . . 724.7. Tworzenie plików PDF: pdfLATEX i hyperref . . . . . . . . . 74

4.7.1. Tworzenie dokumentów PDF w LATEXu . . . . . . . . 744.7.2. Fonty bitmapowe i obwiedniowe . . . . . . . . . . . . . 754.7.3. Do!%czanie grafiki . . . . . . . . . . . . . . . . . . . . 764.7.4. -%cza hipertekstowe . . . . . . . . . . . . . . . . . . . 774.7.5. Problemy z !%czami . . . . . . . . . . . . . . . . . . . 794.7.6. Problemy z zak!adkami . . . . . . . . . . . . . . . . . 794.7.7. Interpretacja pliku &ród!owego przez LATEXa i pdfLATEXa 804.7.8. Wymiary kartki papieru . . . . . . . . . . . . . . . . . 81

4.8. Tworzenie prezentacji . . . . . . . . . . . . . . . . . . . . . . 814.9. Pakiet pdfscreen . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5. Tworzenie grafiki matematycznej 845.1. Przegl%d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.2. Otoczenie picture . . . . . . . . . . . . . . . . . . . . . . . . 85

5.2.1. Podstawowe polecenia . . . . . . . . . . . . . . . . . . 855.2.2. Odcinki . . . . . . . . . . . . . . . . . . . . . . . . . . 865.2.3. Strza!ki . . . . . . . . . . . . . . . . . . . . . . . . . . 875.2.4. Okr"gi . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.2.5. Tekst i wzory . . . . . . . . . . . . . . . . . . . . . . . 895.2.6. Polecenia \multiput i \linethickness . . . . . . . . 895.2.7. Owale . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.2.8. Wielokrotne u#ycie pude!ek z rysunkami . . . . . . . . 915.2.9. Krzywe Beziera drugiego stopnia . . . . . . . . . . . . 925.2.10. Krzywe !a*cuchowe . . . . . . . . . . . . . . . . . . . 935.2.11. Pr"dko($ w Szczególnej Teorii Wzgl"dno(ci . . . . . . 94

5.3. XY-pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6. Adaptowanie LATEXa 986.1. Definiowane instrukcji i otocze* . . . . . . . . . . . . . . . . . 98

6.1.1. Instrukcje definiowane przez u#ytkownika . . . . . . . 996.1.2. Otoczenia definiowane przez u#ytkownika . . . . . . . 1006.1.3. Nadmiarowe odst"py . . . . . . . . . . . . . . . . . . . 1016.1.4. W!asne pakiety . . . . . . . . . . . . . . . . . . . . . . 101

6.2. Fonty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.2.1. Instrukcje prze!%czaj%ce stopie* pisma . . . . . . . . 1026.2.2. Uwaga, niebezpiecze*stwo! . . . . . . . . . . . . . . . 1056.2.3. U#ycie alternatywnych krojów pisma . . . . . . . . . . 105

6.3. Odst"py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.3.1. Zmiana wielko(ci interlinii . . . . . . . . . . . . . . . 1076.3.2. Odst"py wokó! akapitów . . . . . . . . . . . . . . . . 1086.3.3. Odst"py poziome . . . . . . . . . . . . . . . . . . . . 108

Page 10: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

x Spis tre$ci

6.3.4. Odst"py pionowe . . . . . . . . . . . . . . . . . . . . . 1106.4. Uk!ad graficzny strony . . . . . . . . . . . . . . . . . . . . . . 1116.5. Wi"cej o odleg!o(ciach . . . . . . . . . . . . . . . . . . . . . . 1136.6. Pude!ka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.7. Kreski i podpory . . . . . . . . . . . . . . . . . . . . . . . . . 1156.8. Wi"cej o sk!adaniu tabel . . . . . . . . . . . . . . . . . . . . 116

6.8.1. Tabele o zadanej szeroko(ci . . . . . . . . . . . . . . . 1166.8.2. Pakiet longtable . . . . . . . . . . . . . . . . . . . . . 1196.8.3. Pakiet array . . . . . . . . . . . . . . . . . . . . . . . . 1206.8.4. Pakiet tap . . . . . . . . . . . . . . . . . . . . . . . . . 122

Bibliografia 123

Skorowidz 125

Page 11: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Spis rysunków

1.1. Zawarto($ minimalnego pliku &ród!owego . . . . . . . . . . . 71.2. Przyk!ad artyku!u do czasopisma . . . . . . . . . . . . . . . . 84.1. Przyk!ad wykorzystania pakietu fancyhdr . . . . . . . . . . . 714.2. Prosty kod dla klasy beamer . . . . . . . . . . . . . . . . . . . 826.1. Przyk!adowy pakiet . . . . . . . . . . . . . . . . . . . . . . . 1026.2. Parametry uk!adu graficznego strony . . . . . . . . . . . . . 112

Page 12: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Spis tabel

1.1. Wybrane pakiety z podstawowej dystrybucji LATEXa . . . . . 122.1. Torba pe!na symboli euro . . . . . . . . . . . . . . . . . . . . 242.2. Akcenty i znaki specjalne . . . . . . . . . . . . . . . . . . . . 252.3. Opcjonalny argument otocze* table i figure . . . . . . . . 413.1. Akcenty matematyczne . . . . . . . . . . . . . . . . . . . . . 583.2. Litery alfabetu greckiego . . . . . . . . . . . . . . . . . . . . 583.3. Symbole relacji . . . . . . . . . . . . . . . . . . . . . . . . . . 593.4. Symbole operacji dwuargumentowych . . . . . . . . . . . . . 603.5. Symbole zmiennej wielko(ci . . . . . . . . . . . . . . . . . . . 603.6. Strza!ki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.7. Ograniczniki . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.8. Du#e ograniczniki . . . . . . . . . . . . . . . . . . . . . . . . 613.9. Ró#ne symbole . . . . . . . . . . . . . . . . . . . . . . . . . . 613.10. Symbole niematematyczne . . . . . . . . . . . . . . . . . . . . 613.11. Ograniczniki (pakiet AMS) . . . . . . . . . . . . . . . . . . . 613.12. Symbole Greckie i Hebrajskie (pakiet AMS) . . . . . . . . . . 613.13. Symbole relacji (pakiet AMS) . . . . . . . . . . . . . . . . . . 623.14. Strza!ki (pakiet AMS) . . . . . . . . . . . . . . . . . . . . . . 623.15. Negacje symbolów relacji i strza!ek (pakiet AMS) . . . . . . 633.16. Relacje dwuargumentowe (pakiet AMS) . . . . . . . . . . . . 633.17. Ró#ne symbole (pakiet AMS) . . . . . . . . . . . . . . . . . . 643.18. Kroje pisma dost"pne w trybie matematycznym . . . . . . . . 644.1. Znaczenie wa#niejszych kluczy polecenia \includegraphics . 664.2. Przyk!ady sk!adni polecenia \index . . . . . . . . . . . . . . 706.1. Polecenia wyboru krojów i odmian . . . . . . . . . . . . . . . 1036.2. Polecenia jednoczesnego wyboru stopnia pisma i interlinii . . 1036.3. Wielko($ stopnia pisma w klasach standardowych . . . . . . . 1046.4. Polecenia wyboru fontów w trybie matematycznym . . . . . 1056.5. LATEXowe jednostki miary . . . . . . . . . . . . . . . . . . . . 1096.6. Tytu! tabeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Page 13: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Rozdzia# 1

Podstawy, które warto zna$

W pierwszej cz!"ci tego rozdzia#u przedstawimy krótko filozofi! oraz histori! sys-temu LATEX2!. W cz!"ci drugiej skoncentrujemy si! na podstawowych elementachdokumentu LATEXowego. Po przeczytaniu tego rozdzia#u czytelnik powinien z grub-sza wiedzie$, jak dzia#a LATEX, co jest niezb!dne do rozumienia materia#u prezen-towanego w nast!pnych rozdzia#ach.

1.1. Nazwa programu

1.1.1. TEX

TEX jest programem komputerowym stworzonym przez Donalda E. Knu-tha [11]. Jest przeznaczony do sk!adu tekstów oraz wzorów matematycznych.Knuth rozpocz%! prac" nad TEXem 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(citypograficznej, 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 nie-wielkie rozszerzenie, dotycz%ce o(miobitowego kodowania znaków, pojawi!osi" w roku 1989. TEX ma renom" programu nadzwyczaj stabilnego, pra-cuj%cego na ró#nego rodzaju sprz"cie oraz praktycznie wolnego od b!"dów.Numery wersji TEXa zbiegaj% do liczby ", 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% grec-kiego s!owa texnologia (technologia). W sytuacjach, w których nie mo#nazapisywa$ nazwy TEX z charakterystycznym obni#eniem litery E, nale#yzamiennie u#ywa$ wersji TeX.

1.1.2. LATEX

LATEX jest zestawem instrukcji (polece*, makrodefinicji, makr) umo#liwia-j%cych autorom z!o#enie i wydrukowanie ich prac na najwy#szym poziomie

Page 14: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2 Podstawy, które warto zna#

typograficznym. Pierwsz% wersj" LATEXa opracowa! Leslie Lamport [12]. Doformatowania dokumentu LATEX u#ywa programu TEX. Piel"gnacj% dzisiej-szych wersji LATEXa zajmuje si" Frank Mittelbach.Kilka lat temu pakiet LATEX zosta! rozszerzony przez zespó! o nazwie

LATEX3 (LATEX3 team), kierowany przez Franka Mittelbacha. Celem tegorozszerzenia by!o wprowadzenie kilku od dawna postulowanych ulepsze*oraz unifikacja rozmaitych odmian LATEXa, które rozpowszechni!y si" odchwili powstania kilkana(cie lat wcze(niej LATEXa w wersji 2.09. Now% wersj"pakietu nazwano LATEX2!, w celu odró#nienia jej od wersji poprzednich.Niniejszy dokument opisuje w!a(nie LATEX2!.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 LaTeX. LATEX2!wymawiamy „la-tech dwa i”, a zamienn% wersj% zapisu jest LaTeX2e.

1.2. Podstawy

1.2.1. Autor, redaktor i zecer

Aby wyda$ ksi%#k", autor dostarcza maszynopis do wydawnictwa. W wy-dawnictwie redaktor decyduje o uk!adzie graficznym dokumentu (szeroko($szpalty, krój pisma, odst"py przed i po tytu!ach rozdzia!ów itd.). Redaktorzapisuje swoje decyzje w maszynopisie, w formie odpowiednich instrukcji,i przekazuje go zecerowi. Na podstawie maszynopisu oraz instrukcji zecerwykonuje sk!ad.Redaktor-cz!owiek odgaduje, co mia! na my(li autor, gdy zapisywa!

maszynopis. Wykorzystuj%c swoje do(wiadczenie zawodowe, ustala, któremiejsca 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 „zaled-

wie” programem komputerowym i dlatego potrzebuje dodatkowej pomocyautora, który powinien dostarczy$ niezb"dnych do sk!adu informacji o struk-turze logicznej dokumentu. Informacje te autor zapisuje w pliku &ród!owymdokumentu jako „polecenia dla LATEXa”.Praca z LATEXem zdecydowanie ró#ni si" od podej(cia stosowanego w pro-

cesorach tekstu typu wysiwyg1, takich jak MS Word albo OpenO+ce.Pierwszy sposób mo#na okre(li$ „formatowaniem logicznym” drugi – „for-matowaniem wizualnym”. U#ywaj%c programów typuwysiwyg, autor decy-duje interakcyjnie o wygl%dzie graficznym dokumentu, w miar" dopisywaniatekstu. Przez ca!y czas widzi na ekranie, jak tekst b"dzie wygl%da! po wy-drukowaniu.U#ywaj%c LATEXa, nie mo#na na ogó! ogl%da$ dokumentu w jego osta-

tecznej postaci i jednocze(nie dopisywa$ tekstu. Mo#na natomiast obejrze$

1ang. What you see is what you get (dostaniesz to, co widzisz).

Page 15: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

1.2. Podstawy 3

dokument na ekranie po przetworzeniu go LATEXem2. Gdy jest ju# gotowy,mo#na dokument wys!a$ na drukark".

1.2.2. Uk#ad graficzny

Projektowanie ksi%#ek jest sztuk%. Amatorzy cz"sto pope!niaj% powa#nyb!%d, zak!adaj%c, #e zaprojektowanie uk!adu graficznego ksi%#ki jest jedyniekwesti% estetyki (je#eli dokument !adnie wygl%da, to jest dobrze z!o#ony).Poniewa# dokumenty s% przeznaczone do czytania, a nie do powieszenia, jakobraz na (cianie w galerii, to o wiele wi"ksze znaczenie ni# pi"kny wygl%dma !atwo($ czytania i przyswajania tekstu. Przyk!ady:

– stopie* pisma oraz numeracj" rozdzia!ów, podrozdzia!ów i punktównale#y ustali$ tak, by czytelnik móg! si" szybko zorientowa$ w struk-turze dokumentu;– szeroko($ szpalty powinna by$ na tyle w%ska, by czytelnik nie mu-sia! wyt"#a$ wzroku, wystarczaj%co jednak du#a, aby tekst eleganckowype!nia! stron".

W systemach wizualnych cz"sto powstaj% dokumenty przyjemne dla oka,chocia# pozbawione struktury albo wykazuj%ce brak konsekwencji w struk-turze. LATEX zapobiega powstawaniu takich b!"dów, nak!aniaj%c autora dookre(lenia logicznej struktury dokumentu. Do LATEXa nale#y dobór najod-powiedniejszego dla niej uk!adu graficznego.

1.2.3. Zalety i wady

Tematem cz"sto dyskutowanym, gdy u#ytkownicy programów typu wysi-wyg spotykaj% u#ytkowników LATEXa, s% „zalety LATEXa w porównaniu zezwyk!ym procesorem tekstu” albo na odwrót. Najlepiej podczas takich dys-kusji siedzie$ cicho. Czasami jednak nie ma ucieczki. . .Na wszelki wypadek troch" amunicji. Oto najwa#niejsze zalety LATEXa

w porównaniu ze zwyk!ymi procesorami tekstu:

– Dost"pne s% gotowe, przygotowane przez zawodowców szablony, dzi"kizastosowaniu których dokumenty wygl%daj% „jak z drukarni”.– Wygodnie sk!ada si" wzory matematyczne.– Do rozpocz"cia pracy wystarczy pozna$ zaledwie kilkana(cie !atwychdo zrozumienia instrukcji, okre(laj%cych struktur" logiczn% dokumentu.Nie trzeba zaprz%ta$ sobie g!owy formatowaniem dokumentu.– Nawet takie elementy jak: przypisy, odno(niki, spisy tre(ci, spisy tabel,skorowidze oraz spisy bibliograficzne przygotowuje si" bardzo !atwo.

2Na szybkim komputerze przetworzenie trwa cz!sto zaledwie kilka sekund. Dysponuj"cdu#ym ekranem, mo#na jednocze$nie wy$wietli% okno z plikiem &ród'owym oraz oknopodgl"du, otrzymuj"c w ten sposób system prawie wysiwyg.

Page 16: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

4 Podstawy, które warto zna#

– Istnieje wiele bezp!atnych pakietów poszerzaj%cych typograficzne mo#-liwo(ci LATEXa. Dost"pne s% na przyk!ad pakiety umo#liwiaj%ce wsta-wianie do dokumentów grafiki w formacie Postscript, tworzenie hiper-tekstowej wersji dokumentów w formacie pdf czy te# przygotowaniespisów bibliograficznych wed!ug (ci(le okre(lonych regu!, obowi%zuj%-cych w ró#nych wydawnictwach. Opis wielu z tych pakietów mo#naznale&$ w podr"czniku [6].– LATEX zach"ca autorów do tworzenia dokumentów o dobrze okre(lonejstrukturze.– TEX – program formatuj%cy u#ywany przez LATEX2! – jest bezp!atnyi w najwy#szym stopniu przeno(ny. Dzi"ki temu mo#na dzia!a$ napraktycznie dowolnej platformie systemowo-sprz"towej.

LATEX ma tak#e pewne wady, chocia# ci"#ko mi znale&$ jak%kolwiek istotn%.Jestem jednak pewien, #e inne osoby wska#% ci ich setki;-)

– LATEX nie dzia!a u tych, którzy zaprzedali swoje dusze. . .– Chocia# przez zmian" niektórych parametrów mo#na dostosowywa$predefiniowane uk!ady graficzne do w!asnych potrzeb, to jednak za-projektowanie ca!kowicie nowego uk!adu jest pracoch!onne3.– Trudno jest tworzy$ dokumenty o nieokre(lonej, ba!aganiarskiej struk-turze.– Twój chomik mo#e nie by$ w stanie, mimo kilku obiecuj%cych krokówwst"pnych, w pe!ni poj%$ koncepcj" znakowania logicznego.

1.3. Plik %ród#owy

Plik &ród!owy LATEXa to zwyk!y plik tekstowy (plik ascii). Taki plik mo#nautworzy$ w dowolnym edytorze tekstowym. Powinien on zawiera$ tekstdokumentu oraz instrukcje dla LATEXa okre(laj%ce, jak tekst ma zosta$z!o#ony.

1.3.1. Odst!py

Znaki niewidoczne, takie jak odst"py (spacje) lub znaki tabulacji, s% przezLATEXa traktowane jednakowo – jako odst"p. Kolejno po sobie wyst"puj%ceznaki odst"pu LATEX traktuje jak pojedynczy odst"p. Znaki odst"pu znaj-duj%ce si" na pocz%tku wiersza s% prawie zawsze ignorowane. Pojedynczykoniec 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!ademmo#e by$ poni#szy tekst. Po prawej stronie (w ramce) przedstawiono wyniksk!adu, a po lewej – zawarto($ pliku &ród!owego.3Plotki mówi", #e jest to jeden z wa#niejszych problemów, nad jakim pracuj" twórcy

systemu LATEX3.

Page 17: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

1.3. Plik &ród"owy 5

Nie ma znaczenia, czy mi#dzy s$owamijest jedna czy wi#cej spacji.

Pusty wiersz zako%czy$ poprzedniakapit.

Nie ma znaczenia, czy mi"dzy s!owami jestjedna czy wi"cej spacji.Pusty wiersz zako*czy! poprzedni akapit.

1.3.2. Znaki specjalne

Niektóre znaki s% zarezerwowane – w tym sensie, #e albo maj% dla LATEXaspecjalne znaczenie, albo nie s% dost"pne we wszystkich standardowychkrojach pisma. U#yte dos!ownie w pliku &ród!owym nie pojawi% si" nawydruku, lecz (najcz"(ciej) spowoduj% b!%d podczas przetwarzania tekstu.Oto ich lista:

$ & % # _ { } ~ ^ \

Znaki te mo#na umie(ci$ w dokumencie pod warunkiem, #e w pliku &ród!o-wym zostan% poprzedzone znakiem w-ty!-ciacha (ang. backslash):

\$ \& \% \# \_ \{ \}$ & % # { }

Samego znaku w-ty!-ciach nie mo!na wstawi$ do tekstu metod% podwojenia,kombinacja \\ jest bowiem poleceniem LATEXa, opisanym w punkcie 2.2.1.Znak w-ty!-ciach mo#na wstawi$ poleceniem $\backslash$. Uwaga: znakidolara s% tu niezb"dne, a ich opuszczenie spowoduje b!%d podczas przetwa-rzania.

1.3.3. Polecenia LATEXa

Polecenia LATEXa mog% wyst%pi$ w dwóch nast"puj%cych odmianach:

1. Instrukcji rozpoczynaj%cych si" znakiem w-ty!-ciach „\”, po którymwyst"puje ci%g liter. Ko*cem instrukcji jest wówczas odst"p lub innyznak nieb"d%cy liter%. W nazwach instrukcji LATEX rozró#nia literyma!e i du#e, nie mo#na te# w nich u#ywa$ polskich liter diakrytycznych.

2. Instrukcji sk!adaj%cych si" ze znaku w-ty!-ciach oraz jednego znakunieb"d%cego liter%.

LATEX ignoruje znaki niewidoczne po instrukcji typu 1. Je#eli po instruk-cji ma wyst"powa$ w dokumencie odst"p, to nale#y bezpo(rednio po niejumie(ci$ kolejno: par" nawiasów klamrowych {} i odst"p. Para znaków {}zapobiega zignorowaniu przez LATEXa odst"pu po nazwie instrukcji. Innymsposobem jest wstawienie specjalnej instrukcji \ (tj. w-ty!-ciach i spacja).Niektórzy zapobiegaj% „po!ykaniu” spacji w jeszcze inny sposób, a miano-wicie otaczaj%c nazw" instrukcji par% nawiasów { i }.

Page 18: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6 Podstawy, które warto zna#

Czyta$em, "e Knuth dzieliu"ytkowników systemu {\TeX} na\TeX{}ników oraz \TeX pertów.\\Dzisiaj jest \today.

Czyta!em, #e Knuth dzieli u#ytkowników sys-temu TEX na TEXników oraz TEXpertów.Dzisiaj jest 15 stycznia 2007.

Niektóre instrukcje LATEXowe maj% argumenty. Podaje si" je w nawiasachklamrowych { }, 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, podawane w nawiasach kwadratowych[ ]. W wypadku wi"kszej liczby argumentów opcjonalnych oddziela si" jeprzecinkami. Kolejno($ argumentów opcjonalnych nie odgrywa roli.Poni#sze przyk!ady ilustruj% posta$ instrukcji LATEXowych. Ich znaczenie

jest tu nieistotne i zostanie opisane pó&niej.

Mo"esz na mnie \textsl{polega&}!

Tu wstaw zmian# wiersza.\newlineDzi#kuj#.

Mo#esz na mnie polega$!Tu wstaw zmian" wiersza.Dzi"kuj".

1.3.4. Komentarze

Po napotkaniu znaku % LATEX ignoruje reszt" bie#%cego wiersza (!%cznie zeznakiem ko*ca wiersza) oraz znaki odst"pu na pocz%tku nast"pnego. Znak %jest u#ywany do umieszczania komentarzy i dodatkowych informacji w pliku&ród!owym.

Mao zmar$ % sprawdzi&!w~1975 roku. Mao zmar! w 1975 roku.

Znaku % u#ywa si" niekiedy do dzielenia bardzo d!ugich linii w pliku wej-(ciowym, gdy niedozwolone jest u#ycie spacji lub z!amanie wiersza.

1.4. Struktura pliku %ród#owego

LATEX oczekuje, #e plik &ród!owy posiada okre(lon% struktur". W szczegól-no(ci, ka#dy plik &ród!owy sk!ada si" z dwóch cz"(ci: preambu!y oraz cz"(cig!ównej. Preambu!a powinna si" rozpoczyna$ od instrukcji \documentclass:

\documentclass{...}

Instrukcja ta okre(la rodzaj tworzonego dokumentu. Po niej mo#na umie(ci$polecenia dotycz%ce stylu ca!ego dokumentu oraz do!%czy$ pakiety poszerza-j%ce mo#liwo(ci LATEXa. Pakiety do!%cza si" poleceniem\usepackage:

\usepackage{...}

Page 19: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

1.5. Typowa sesja pracy z LATEXem 7

Cz"($ g!ówna dokumentu zaczyna si" od instrukcji \begin{document}.Za ni% znajduje si" tekst dokumentu, wzbogacony o LATEXowe polece-nia steruj%ce wygl%dem. Na ko*cu dokumentu musi wyst"powa$ polecenie\end{document}. Tekst znajduj%cy si" za tym poleceniem jest przez LATEXaignorowany.Rysunek 1.1 pokazuje zawarto($ minimalnego dokumentu LATEXowego.

U#yte w nim instrukcje \usepackage{...}, niezb"dne do sk!adania w j"-zyku polskim, omawiamy w punkcie 2.5.

\documentclass{article}\usepackage[MeX]{polski}% kodowanie: latin2, utf8 lub cp1250\usepackage[latin2]{inputenc}\begin{document}Ma$e jest pi#kne.\end{document}

Rysunek 1.1: Zawarto($ minimalnego pliku &ród!owego

Rysunek 1.2 przedstawia nieco bardziej rozbudowany plik &ród!owy.

1.5. Typowa sesja pracy z LATEXem

Na pewno chcia!by( ju# sprawdzi$, jak b"dzie wygl%da! na papierze doku-ment z przyk!adu 1.1. Szczegó!owy sposób uruchomienia LATEXa zale#y odsystemu operacyjnego, wersji i upodoba* u#ytkownika4. LATEX „jako taki”nie jest wyposa#ony w zintegrowane (rodowisko graficzne (ide). Praca z ta-kim systemem polega na wydawaniu odpowiednich polece* z wiersza polece*systemu operacyjnego. Oczywi(cie pos!ugiwanie si" LATEXem w ten sposóbjest na d!u#sz% met" niewygodne, niemniej do stworzenia pierwszego doku-mentu 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 LATEXem.

1. Uruchom edytor i wpisz tekst z przyk!adu 1.1. Zapisz dokumentjako tekstowy plik ascii. W systemach typu Unix mo#esz do tegou#y$ praktycznie dowolnego edytora. W systemie MS Windows mu-sisz zapisa$ plik jako Zwyk"y tekst, Dokument tekstowy lub wybra$Wszystkie pliki jako typ dokumentu. W ró#nych systemach obowi%-zuj% ró#ne warianty kodowania polskich znaków. Najpopularniejszez tych wariantów, to: kodowanie wielobajtowe Unicode (MS Windows,

4O tym, jak zainstalowa% LATEXa, mo#na przeczyta% na http://www.gust.org.pl.

Page 20: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

8 Podstawy, które warto zna#

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

Rysunek 1.2: Przyk!ad artyku!u do czasopisma. U#yte w nim poleceniazostan% obja(nione w dalszej cz"(ci.

nowe dystrybucje Linuksa), kodowanie cp 1250 (MS Windows) lubiso 8859-2 (Linux) albo jeszcze co( innego (np. Mac). Dok!adna posta$wiersza \usepackage[...]{inputenc} zale#y od wybranego kodowa-nia; wewn%trz nawiasów kwadratowych nale#y wpisa$ albo utf8 je#eliu#ywamy Unicode5, albo latin2 je#eli korzystamy z iso 8859-2 lub te#cp1250 je#eli u#ywamy cp 12506. Wi"cej informacji na temat kodo-wania znajdziesz w punkcie 2.5. Nie u#ywaj odst"pów w nazwie pliku,przynajmniej na pocz%tku swojej przygody z LATEXem, bo mo#e ci toskomplikowa$ #ycie. Wybieraj%c nazw" dla pliku, podaj jako jej roz-szerzenie .tex. Poprawn% nazw% by!oby na przyk!ad foo.tex.

2. Uruchom program latex na pliku utworzonym w punkcie 1, wpisuj%cw wierszu polece*7:

latex foo.tex

5Uwaga: LATEX potrafi przetwarza% dokumenty Unicodowe w ograniczonym zakresie,wystarczaj"cym dla tekstów w j!zykach europejskich, ale dalekim od kompletno$ci.6Wybierz kodowanie ansi aby zapisa% dokument w standardzie cp 1250.7Poniewa# ten sposób pracy jest zwykle nieznany u#ytkownikom systemu MS Win-

dows, przypominamy, #e wiersz polece( mo#emy uruchomi% na przyk'ad tak: wywo'ujemyStart/Uruchom, wpisujemy cmd lub command i naciskamy klawisz Enter.

Page 21: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

1.6. Uk"ad graficzny dokumentu 9

W wypadku sukcesu zako*czy si" to utworzeniem pliku o rozszerzeniu.dvi8. Polecenie trzeba powtórzy$ kilka razy, by LATEX móg! utworzy$spis tre(ci i/lub odsy!acze do pozycji bibliograficznych, rysunków, wzo-rów matematycznych i (ródtytu!ów. Napotkawszy b!%d w dokumencie,LATEX zako*czy jego przetwarzanie i przejdzie do trybu dialogu z u#yt-kownikiem. Wpisanie Ctrl-D (lub Ctrl-Z w MS Windows) w tymtrybie powoduje powrót na poziom wiersza polece*.

3. Teraz mo#esz obejrze$ plik dvi. Jest na to kilka sposobów. W systemietypu Unix wyposa#onym w (rodowisko graficzne X Windows mo#eszwywo!a$:

xdvi foo.dvi &

W systemie MSWindows mo#esz skorzysta$ z programu yap b%d& innejprzegl%darki plików dvi. Mo#esz te# przetworzy$ plik dvi do formatuPostscript:

dvips -Pcmz foo.dvi -o foo.ps

Pliki w formacie Postscript mo#na ogl%da$ i drukowa$ za pomoc%programu ghostscript.Je(li twoja dystrybucja LATEXa zawiera program dvipdf do konwersjiplików dvi na format pdf, to spróbuj go wywo!a$, wpisuj%c:

dvipdf foo.dvi

Pliki pdf mo#na ogl%da$ i drukowa$, korzystaj%c z programu Acrobatlub wspomnianego ju# ghostscripta.

1.6. Uk#ad graficzny dokumentu

1.6.1. Klasy dokumentów

Na samym pocz%tku przetwarzania pliku &ród!owego LATEX musi si" do-wiedzie$, jakiego typu dokument autor chce uzyska$. Okre(lone jest tow instrukcji \documentclass:

\documentclass[opcje]{klasa}

gdzie klasa oznacza typ dokumentu. W niniejszym wprowadzeniu opisanonast"puj%ce klasy ze standardowej dystrybucji LATEX2!9:article artyku!y, krótkie opracowania. . .8Wwi!kszo$ci wspó'czesnych dystrybucji systemu TEX dost!pne jest polecenie pdflatex

do generowania dokumentu w formacie pdf. Wi!cej na ten temat w punkcie 4.7.9W dystrybucji LATEX2! znajduj" si! tak#e inne, rzadziej wykorzystywane klasy, np.

slides do przygotowywania prze&roczy. Zamiast klasy standardowej mo#na do two-rzenia slajdów zastosowa% pakiet foiltex, dost!pny pod adresem CTAN://macros/latex/packages/supported/foiltex, b"d& pakiet beamer, spod adresu CTAN://macros/latex/contrib/beamer (krótkie wprowadzenie do pakietu beamer zawiera punkt 4.8).

Page 22: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

10 Podstawy, które warto zna#

report d!u#sze opracowania, dysertacje magisterskie i doktorskie. . .book ksi%#ki.letter listy.

Opcje pozwalaj% zmienia$ sposób dzia!ania klas. Poszczególne opcje roz-dziela si" przecinkami. Najcz"(ciej wykorzystywane opcje dla klas standar-dowych to:

10pt, 11pt, 12pt Ustalenie stopnia pisma dla tekstu zasadniczego doku-mentu. Domy(ln% warto(ci% jest 10 punktów.

a4paper, letterpaper, . . . Ustalenie wymiarów papieru. Warto(ci% do-my(ln% jest letterpaper. Inne dopuszczalne warto(ci to: a5paper,b5paper, executivepaper i legalpaper.

fleqn Sk!adanie wyeksponowanych wzorów matematycznych od lewegomarginesu zamiast domy(lnego centrowania.

leqno Umieszczanie numerów wzorów matematycznych na lewym margi-nesie zamiast domy(lnie na prawym.

titlepage, notitlepage Pierwsza z opcji powoduje, #e LATEX sk!adatytu! (instrukcja maketitle) oraz streszczenie (instrukcja abstract)na odzielnej stronie, druga – #e sk!ad tekstu zaczyna si" na stronietytu!owej. W klasie article tytu! i streszczenie nie s% domy(lniesk!adane na oddzielnych stronach, podczas gdy w stylach reporti book – s%.

onecolumn, twocolumn Sk!ad jedno- lub dwu!amowy (dwukolumnowy).oneside, twoside Druk na jednej lub na dwóch stronach kartki papieru.

W klasach article i report domy(ln% opcj% jest oneside, natomiastw klasie book – twoside. W!%czenie opcji oneside powoduje przy oka-zji, #e LATEX nie wyrównuje wysoko(ci kolejnych stron, dopuszczaj%cpewn% ich zmienno($.

openright, openany Wybranie pierwszej opcji powoduje, #e tytu!y roz-dzia!ów b"d% umieszczane na stronach nieparzystych. W klasie articleopcja nie ma znaczenia, gdy# w tej klasie nie jest zdefiniowane poj"cierozdzia!u. W klasie report domy(ln% warto(ci% jest openany, a w kla-sie book – openright.

Przyk!ad. Plik &ród!owy mo#e si" rozpoczyna$ od nast"puj%cej instrukcji:

\documentclass[11pt,twoside,a4paper]{article}

W tym wypadku dokument zostanie z!o#ony w klasie article, pismem w stop-niu 11 punktów, i zostanie przygotowany do wydruku po dwóch stronachkartki papieru formatu A4.

1.6.2. Pakiety

Pakiety rozszerzaj% mo#liwo(ci LATEXa. Sam LATEX nie ma na przyk!adinstrukcji do do!%czania grafiki, kolorowania tekstu, !amania du#ych tabel

Page 23: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

1.6. Uk"ad graficzny dokumentu 11

itp. Do wykonywania tych zada* s!u#% w!a(nie pakiety. Do!%cza si" jepoleceniem:

\usepackage[opcje]{pakiet}

gdzie pakiet oznacza nazw" pakietu, a opcje – list" rozdzielonych przecin-kami opcji. Cz"($ pakietów znajduje si" w podstawowej dystrybucji LATEX2!(zobacz tabela 1.1), kolejnych kilkana(cie, m.in. tak u#yteczne jak babelczy graphicx, jest do niej obowi#zkowo dodawanych; pozosta!e s% rozpo-wszechniane oddzielnie. Gdy u#ywamy LATEXa w systemie, którym zarz%dza(dobry) administrator, to informacja o dost"pnych pakietach powinna si"znajdowa$ w [16]. Podstawowym &ród!em informacji o LATEXu jest [6]. Za-wiera on opis setek pakietów, a tak#e informuje, jak mo#na pisa$ w!asnerozszerzenia LATEXa.Warto(ciowym &ród!em informacji o istniej%cych pakietach LATEXa jest

TEX Catalogue Online Grahama Williamsa [27], dost"pny niestety tylkow j"zyku angielskim. U#ytkownikom polskoj"zycznym polecamy Wirtualn#Akademi$ W!odzimierza Macewicza [18].

1.6.3. Style strony

Typowa strona sk!ada si" z trzech podstawowych cz"(ci. Powy#ej kolumnytekstu g!ównego znajduje si" pagina górna (g!ówka), która mo#e zawiera$numer strony, tytu! rozdzia!u czy punktu. Poni#ej kolumny tekstu znajdujesi" pagina dolna (stopka). W niniejszym wprowadzeniu pagina dolna jestpusta, górna natomiast zawiera numer strony oraz tytu! rozdzia!u na stro-nicach parzystych, a tytu! punktu – na nieparzystych10.LATEX pozwala wybra$ jeden z trzech sposobów sk!adania pagin. S!u#y

do tego instrukcja:

\pagestyle{styl}

Dopuszczalne warto(ci argumentu styl s% nast"puj%ce:

plain pagina górna jest pusta, a pagina dolna zawiera wycentrowany numerstrony. Ten styl jest domy(lny;

headings pagina górna zawiera numer strony oraz tytu!, pagina dolna jestpusta;

empty pagina górna i dolna s% puste.

Mo#liwa jest tak#e zmiana stylu bie!#cej strony. S!u#y do tego polecenie:

\thispagestyle{styl}

10Pagin! zawieraj"c" oprócz kolejnego numeru kolumny (strony) tak#e informacj! do-tycz"c" tre$ci tej kolumny drukarze nazywaj" !yw" pagin".

Page 24: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

12 Podstawy, które warto zna#

Tabela 1.1: Wybrane pakiety z podstawowej dystrybucji LATEXa

doc S!u#y do drukowania dokumentacji pakietów oraz innych cz"-(ci sk!adowych LATEXa. Opis znajduje si" w pliku doc.dtxa.

exscale Umo#liwia skalowanie fontów matematycznych, tak byoptycznie by!y zgodne z otaczaj%cym tekstem, np. w tytu-!ach rozdzia!ów. Opis w ltexscale.dtx.

fontenc Definiuje uk!ad znaków, którego ma u#ywa$ LATEX. Opisw punkcie 2.5 i w ltoutenc.dtx.

ifthen Umo#liwia korzystanie z polece* typu if... then do...otherwise do. Opis w ifthen.dtx i [6].

latexsym Udost"pnia specjalny font symboliczny (fonty lasy).Opis w latexsym.dtx i [6].

makeidx Udost"pnia polecenia do przygotowywania skorowidzów.Opis w punkcie 4.3 i [6].

syntonly Powoduje, #e dokument jest przetwarzany bez sk!adaniaczegokolwiek. Przydatny do szybkiego sprawdzenia, czy do-kument nie zawiera b!"dów. Opis w syntonly.dtx i [6].

inputenc Definiuje uk!ad znaków w pliku &ród!owym, jak: ascii,iso Latin-1, iso Latin-2, 437/850 ibm, Apple Macintosh,Next, ansi-Windows, itd. Opis w inputenc.dtx.

aPlik ten powinien by% zainstalowany w twoim systemie. Aby otrzyma%z niego plik dvi, wystarczy w katalogu z prawem do zapisu napisa% latexdoc.dtx. To samo stosuje si! do innych pakietów z tej tabeli.

Punkt 4.4 na stronie 71 niniejszego Wprowadzenia oraz podr"cznik [6]w punkcie 4.4 na stronie 54 zawieraj% wi"cej informacji o paginach, w szcze-gólno(ci o sposobach samodzielnego definiowania ich wygl%du.

1.7. Nazwy plików zwi&zanych z LATEXem

Pracuj%c z LATEXem, szybko zauwa#ysz, #e na dysku pojawia si" mnóstwoplikó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#eszsi" zetkn%$. Wykaz ten nie pretenduje do kompletnego, dlatego napisz donas, gdy napotkasz jakie( nowe rozszerzenie, które uznasz za warte opisania.

.tex Plik &ród!owy z dokumentem w notacji LATEXa b%d& zwyk!ego TEXa.Mo#na go kompilowa$ programem latex b%d&, odpowiednio, tex.

.sty Pakiet makr LATEXowych. Plik tego typu mo#na do!%cza$ do doku-mentu LATEXowego, u#ywaj%c do tego celu instrukcji \usepackage.

Page 25: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

1.7. Nazwy plików zwi'zanych z LATEXem 13

.dtx Udokumentowany TEX. Jest to podstawowy format, w jakim dystry-buowane s% style LATEXa. Skutkiem kompilacji pliku tego typu jestbroszurka z udokumentowanymi makrami.

.ins Instalator dla plików .dtx. .ci%gaj%c z sieci pakiet LATEXowy, otrzy-masz na ogó! pliki .dtx i .ins. Uruchomienie LATEXa na pliku .inspowoduje rozpakowanie pliku .dtx.

.cls Plik z klas% LATEXa definiuj%c% wygl%d sk!adanych w LATEXu doku-mentów. W!a(nie do tych plików odnosi si" wyst"puj%ca na pocz%tkudokumentu instrukcja \documentclass.

.fd Definicja niektórych w!a(ciwo(ci fontów LATEXa.

W wyniku kompilacji dokumentu powstaj% nast"puj%ce pliki:

.dvi Device Independent File (plik niezale#ny od urz%dzenia), b"d%cy wy-nikiem kompilacji pliku &ród!owego przez „tradycyjnego” LATEXa11.Zawarto($ plików dvi mo#esz zobaczy$ w przegl%darce plików dvialbo pos!a$ na drukark", korzystaj%c z programu dvips albo innegoprogramu o podobnych funkcjach.

.pdf Portable Document Format (przeno(ny format dokumentów). Zagad-nienie generowania plików w formacie pdf jest omawiane w punkcie4.7, zaczynaj%cym si" na stronie 74.

.log Zawiera szczegó!owy raport z tego, co si" wydarzy!o podczas kompila-cji: które pliki by!y przetwarzane, co szczególnego i ewentualnie jakieb!"dy LATEX w nich znalaz!, a tak#e – jakie pliki powsta!y w wynikukompilacji.

.toc Zawiera nag!ówki rozdzia!ów i punktów dokumentu. Jest czytanyprzez LATEXa w nast"pnym przebiegu kompilacji, w celu wygenero-wania spisu tre(ci.

.lof Podobny do pliku .toc, z tym #e zawiera wykaz ilustracji.

.lot Tak samo, lecz dotyczy wykazu tabel.

.aux Inny plik pomocniczy, przenosz%cy informacj" z jednego przebiegukompilacji do nast"pnego. Jest u#ywany mi"dzy innymi do magazy-nowania informacji zwi%zanej z odsy!aczami wyst"puj%cymi w doku-mencie.

.idx Je(li dokument zawiera skorowidz, to w tym pliku LATEX zapiszewszystkie jego has!a. Do przetworzenia tego pliku s!u#y program ma-keindex (lub plmindex, w przypadku j"zyka polskiego). Wi"cej o two-rzeniu skorowidzów przeczytasz w punkcie 4.3 na stronie 69.

.ind Przetworzony plik .idx, gotowy do w!%czenia do dokumentu w na-st"pnym cyklu kompilacji.

.ilg Sprawozdanie z tego, co zrobi! program makeindex.

11W nowych wersjach systemu, LATEX potrafi tak#e generowa% dokumenty bezpo$redniow formacie pdf. Wi!cej informacji na ten temat zawiera punkt 4.7.

Page 26: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

14 Podstawy, które warto zna#

1.8. Du'e dokumenty

Pracuj%c nad du#ym dokumentem, wygodnie jest podzieli$ plik &ród!owyna mniejsze cz"(ci. W LATEXu mamy dwie instrukcje u!atwiaj%ce prac" z takpodzielonymi dokumentami. Pierwsz% z nich jest:

\include{plik}

W!%cza ona do dokumentu zawarto($ innego pliku. Przed przetworzeniem,a tak#e po przetworzeniu zawarto(ci w!%czanego pliku LATEX rozpoczynanow% stron".Drugiej instrukcji u#ywa si" w preambule. Pozwala ona wstawia$ do

tekstu jedynie wybrane pliki.

\includeonly{plik1,plik2,...}

Spo(ród instrukcji \include zostan% wykonane tylko te, które dotycz% pli-ków wymienionych w argumencie \includeonly. Uwaga: w wykazie plikównie wolno u#ywa$ odst"pów; poszczególne pliki nalezy oddziela$ wy!%cznieprzecinkiem!Polecenie \include rozpoczyna sk!ad do!%czanego tekstu od nowej

strony. W po!%czeniu z poleceniem \includeonly w preambule instrukcja\include umo#liwia przetwarzanie wybranych plików bez zmiany miejsc !a-mania poszczególnych stron i z zachowaniem prawid!owej numeracji stron,rozdzia!ów, tabel itp. Czasami jednak rozpoczynanie sk!adu od nowej stronynie jest po#%dane. W takiej sytuacji zamiast \include nale#y pos!u#y$ si"instrukcj%:

\input{plik}

Wstawia ona zawarto($ podanego pliku ju# bez #adnych dodatkowych efek-tów.Argument polece* \input i \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"d-nych. Na przyk!ad:\include{C:\Documents and Settings\elka\Moje dokumenty\r2.tex}

jest koszmarnym b!"dem w wi"kszo(ci dystrybucji LATEXa. Nawet je#elinasz LATEX wie, co oznacza specyficzny dla MS Windows zapis C:\, orazporadzi sobie z odst"pami w nazwach katalogów i ze znakami \ (które w tymwypadku nie s% pocz%tkiem #adnego polecenia), to taki dokument przes!anykomu(, kto b"dzie go kompilowa! w systemie Linux, sprawi mu mnóstwoproblemów. Pami"tajmy: bez wzgl"du na to, jakiego systemu operacyjnegou#ywamy, katalogi powinni(my oddziela$ znakiem /.

Page 27: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Rozdzia# 2

Sk#adanie tekstu

Po lekturze poprzedniego rozdzia#u znasz ju% podstawowe poj!cia zwi&zane z syste-mem LATEX2!. W tym rozdziale Twoja wiedza wzbogaci si! o informacje niezb!dnedo tworzenia prawdziwych dokumentów.

2.1. Struktura tekstu i j!zykaHanspeter Schmid <[email protected]>

G!ównym zadaniem s!owa pisanego jest przekaz my(li, informacji lub wie-dzy. Nadanie zapisowi odpowiedniej struktury pomaga czytelnikowi lepiejzrozumie$ 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 klasiedokumentu i plikach z makroinstrukcjami.Najwa#niejsz% jednostk% podzia!u tekstu w LATEXu (a tak#e w typogra-

fii) jest akapit. Jest to „jednostka podzia!u” g!ównie dlatego, #e wed!ugwszelkich 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 no-wym akapicie jest b!"dem. Niezgodne z regu!ami sztuki jest te# pojawieniesi" w tym samym akapicie ca!kowicie nowej my(li. W nast"pnym punkcieomówimy instrukcje nakazuj%ce LATEXowi z!amanie linii bez rozpoczynanianowego akapitu, na przyk!ad poleceniem \\, a tak#e sposób rozpocz"cia no-wego akapitu, na przyk!ad przez umieszczenie w kodzie &ród!owym pustejlinii.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 aka-pit naprawd" jest, i (szczególnie w LATEXu) ko*czy akapit, nawet o tymnie wiedz%c. B!%d taki !atwo pope!ni$ zw!aszcza w tek(cie z równaniami.

Page 28: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

16 Sk"adanie tekstu

Zobaczmy, dlaczego w poni#szych przyk!adach w jednej z takich sytuacjinale#y przej($ do nowego akapitu, a w innej – nie. Czytelnik, który nie znajeszcze wszystkich polece* u#ytych w tych przyk!adach, powinien dok!ad-nie przeczyta$ ten i nast"pny rozdzia!, a nast"pnie wróci$ do tego punktui przeczyta$ go jeszcze raz.

% 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

Mniejsz% od akapitu jednostk% podzia!u tekstu jest zdanie. W tekstachangielskoj"zycznych odst"p po kropce ko*cz%cej zdanie jest wi"kszy ododst"pu po kropce oznaczaj%cej skrót. Zale#nie od kontekstu LATEX starasi" u#y$ krótszego lub d!u#szego odst"pu. W razie pomy!ek z jego stronypowinni(my mu wskaza$ nasze intencje. Jak to zrobi$, wyja(niamy w dalszejcz"(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 miejscuw zdaniu, nie pope!nimy na ogó! b!"du, pami"taj%c o zasadzie, #e przecinekoznacza 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 postawmyprzecinki wsz"dzie tam, gdzie zrobili(my krótk% przerw" na wdech. Alenie sugerujmy si" wy!%cznie tym! Je(li w danym miejscu przecinek niewygl%da najlepiej, to go usu*my; je(li w innym miejscu odczuwamy potrzeb"

Page 29: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.2. Sk"adanie akapitów i "amanie stron 17

wzi"cia powietrza do p!uc (lub zrobienia krótkiej przerwy), to postawmytam przecinek. A najlepiej w celu rozwiania w%tpliwo(ci si"gn%$ do s!ownikaortograficzno-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, podpunktachitd. Jednak#e od strony typograficznej ju# same nazwy polece* w rodzaju\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.

2.2. Sk#adanie akapitów i #amanie stron

2.2.1. Sk#adanie akapitów

Ksi%#ki najcz"(ciej sk!ada si" tak, #e wszystkie wiersze w akapitach s% tej sa-mej d!ugo(ci. D%#%c do optymalnej prezentacji akapitu, LATEX ustala miejscaz!ama* linii oraz wielko($ odst"pów mi"dzy s!owami. W razie potrzeby prze-nosi wyrazy, których nie jest w stanie zmie(ci$ w wierszu. Sposób sk!adaniaakapitów zale#y od u#ytej klasy dokumentu. Najcz"(ciej pierwszy wiersz aka-pitu jest wci"ty, a mi"dzy akapitami nie ma dodatkowych odst"pów. Wi"cejna ten temat mo#na przeczyta$ w punkcie 6.3.2.Zgodnie z anglo-ameryka*skimi zwyczajami typograficznymi LATEX nie

wstawia wci"cia akapitowego bezpo(rednio po tytu!ach rozdzia!ów, punktówitd. Polskie zwyczaje nakazuj% jednak rozpoczynanie tak#e pocz%tkowychakapitów wci"ciem. Efekt ten mo#na osi%gn%$ przez do!%czenie w preambulepakietu indentfirst. W niniejszym t!umaczeniu nie stosujemy wci"$ w po-cz%tkowych akapitach, gdy# akurat pod tym wzgl"dem bardziej nam si"podobaj% zwyczaje anglosaskie.Czasami przydaje si" instrukcja nakazuj%ca LATEXowi z!amanie linii.

Polecenie:

\\ lub \newline

rozpoczyna now% lini" bez rozpoczynania nowego akapitu.Natomiast instrukcja:

\\*

zakazuje dodatkowo z!amania strony (w miejscu z!amania linii). Z koleiinstrukcja:

\newpage

rozpoczyna now% stron".Instrukcje:

\linebreak[n], \nolinebreak[n], \pagebreak[n] oraz \nopagebreak[n]

Page 30: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

18 Sk"adanie tekstu

oznaczaj%, odpowiednio: zach"t" do z!amania wiersza, niezgod" na z!amaniewiersza, zach"t" do z!amania strony i niezgod" na z!amanie strony (w miej-scu ich wyst%pienia w dokumencie). Opcjonalny argument n, o dopuszczalnejwarto(ci od 0 do 4, okre(la stopie* tej zach"ty (niezgody). Domy(lna war-to($ 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 break nie nale#y myli$ z tymi z grupy new. Mimo otrzy-

mania polecenia typu break LATEX stara si" wyrówna$ wiersz do prawegomarginesu czy te# wype!ni$ stron" do ca!ej jej wysoko(ci. Nietrudno zgad-n%$, jakiej instrukcji nale#y u#y$, gdy naprawd" zale#y nam na rozpocz"ciunowego wiersza1.Je#eli w wierszu zako*czonym instrukcj% \newline jest zbyt ma!o tekstu,

to LATEX nie wyrówna tego wiersza do prawego marginesu, lecz wstawi potek(cie odpowiedni odst"p. Je#eli zamiast \newline u#yjemy \linebreak, toLATEX postara si" wyrówna$ zawarto($ ko*czonej linijki do prawego margi-nesu. Zbyt ma!e wype!nienie wiersza tekstem zmusi LATEXa do umieszczeniami"dzy wyrazami zbyt du#ych odst"pów. Efekt ten LATEX sygnalizuje pod-czas przetwarzania dokumentu, wy(wietlaj%c komunikat:

Underfull \hbox (badness 10000) in paragraph at lines 4--5

Liczba po s!owie badness w tym komunikacie wskazuje, jak bardzo LATEXowi„nie podoba si"” z!o#ony wiersz. Tutaj jest to maksymalna negatywna ocena10000. Liczby na ko*cu komunikatu to numery pierwszej i ostatniej liniiakapitu, w którym LATEX musia! z!o#y$ wiersz z nadmiernymi odst"pamimi"dzy wyrazami. Chocia# wielu u#ytkowników LATEXa nie zwraca uwagi napodobne ostrze#enia, warto sobie zdawa$ spraw", co one oznaczaj%.Oprócz wy#ej wymienionych istniej% jeszcze w LATEXu instrukcje:

\clearpage, \cleardoublepage

Obydwie rozpoczynaj% sk!ad nowej strony. Instrukcja \cleardoublepagedzia!a tak jak \clearpage, z tym #e rozpoczynana strona ma numer niepa-rzysty; w razie potrzeby tworzona jest strona pusta (wakatowa)2. W trybiesk!adu dwu!amowego (opcja twocolumn) instrukcja \newpage ko*czy !am,natomiast \clearpage oraz \cleardoublepage ko*cz% stron", pozostawia-j%c w razie potrzeby pusty prawy !am.Je#eli na stronie zako*czonej instrukcj% \newpage albo \clearpage jest

zbyt ma!o tekstu, to LATEX wstawia odpowiedni odst"p u do!u strony, wy-pe!niaj%cy pozosta!% cze($ kolumny. W wypadku polecenia \pagebreakLATEX wyrównuje zawarto($ kolumny do dolnego brzegu, wstawiaj%c odst"py

1Zagadka ta jest 'atwa dla znaj"cych j!zyk angielski – jest to polecenie \newline.2Mówi"c precyzyjnie zale#y to od stanu opcji openright/openany, w szczególno$ci

w klasie „article” \cleardoublepage domy$lnie dzia'a tak jak \clearpage.

Page 31: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.2. Sk"adanie akapitów i "amanie stron 19

pomi"dzy akapitami lub innymi elementami na stronie. Je#eli wstawione od-st"py okazuj% si" za du#e, co zdarza si" do($ cz"sto, to podczas przetwarzaniadokumentu generowane jest odpowiednie ostrze#enie, na przyk!ad:Underfull \vbox (badness 10000) has occurredwhile \output is active [7]

W powy#szym komunikacie (z uwagi na w%sko($ szpalty prze!amanym nadwie linijki) liczba po s!owie badness wskazuje, jak bardzo LATEXowi nie po-doba si" z!o#ona strona. Tutaj jest to 10000 – maksymalna w TEXu ujemnaocena jako(ci sk!adu. Liczba w nawiasach prostok%tnych na ko*cu komuni-katu 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 wymaganiajako(ciowe, wtedy niektóre wyrazy wystaj% na prawy margines. Sytuacjataka jest sygnalizowana komunikatem podobnym do nast"puj%cego:Overfull \hbox (5.5452pt too wide) in paragraph at lines 79--83

Wkomunikacie tym liczba w nawiasie okr%g!ym oznacza, #e pewien fragmenttekstu wystaje o 5,5452 punktów drukarskich na prawy margines. Problemwyst%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 potrafiprzenie($ wyrazów w akapicie zgodnie z zadanymi wzorcami przenoszeniatak, by nie popsu$ jako(ci sk!adu. Komunikat typu overfull hbox nie wystar-cza na ogó! do dok!adnego ustalenia przyczyny jego wyst%pienia. Mo#nawtedy jako argumentu polecenia \documentclass u#y$ opcji draft, na sku-tek czego LATEX oznaczy wystaj%ce wiersze ma!% czarn% sztabk% na prawymmarginesie szpalty.Deklaracja \sloppy nakazuje LATEXowi nieco obni#y$ jego domy(lnie wy-

sokie standardy. Zapobiega to – w wi"kszo(ci wypadków – wyst"powaniuzbyt d!ugich linijek, kosztem jednak zwi"kszenia odst"pów mi"dzywyrazo-wych, czyli pogorszenia jako(ci sk!adu. Mog% si" pojawia$ ostrze#enia typuunderfull hbox, co w wi"kszo(ci wypadków (zw!aszcza gdy podana miarakiepsko(ci jest powy#ej 5000) oznacza, #e sk!ad nie jest zbyt udany. Instruk-cja \fussy dzia!a w odwrotnym kierunku, to znaczy przywraca domy(lne,wysokie standardy LATEXa.

2.2.2. Przenoszenie wyrazów

W razie potrzeby LATEX przenosi (dzieli) wyrazy. Je#eli algorytm podzia!uprzeniós! jaki( wyraz b!"dnie, to w!a(ciwe miejsca przenoszenia mo#na zada$instrukcj%:

\hyphenation{s"owo1 s"owo2 s"owo3...}

S!owa z listy argumentów mo#na dzieli$ wy!%cznie w miejscach oznaczonychznakiem -. Instrukcji tej wolno u#y$ jedynie w preambule dokumentu,

Page 32: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

20 Sk"adanie tekstu

a wyrazy-argumenty mog% zawiera$ (oprócz znaku -) wy!%cznie litery. Niema natomiast znaczenia, czy w tych wyrazach u#ywa si" liter wielkich czyma!ych. Instrukcja \hyphenation z przyk!adu poni#ej pozwala podzieli$s!owo „$wier$-li-trówka” jedynie w dwóch zaznaczonych miejscach i w ogólezabrania dzieli$ s!owa „szczypce”. Wyrazy z listy argumentów nie mog%zawiera$ #adnych znaków specjalnych ani symboli. Przyk!ad:\hyphenation{&wier&-li-trówka szczypce}

W j"zykach fleksyjnych, do jakich nale#y polski, instrukcja \hyphenationjest du#o mniej przydatna ni# w angielskim. Aby dany wyraz zawsze by!dobrze przenoszony, nale#a!oby wypisa$ wszystkie jego formy. Opracowaneprzez Hann" Ko!odziejsk%, Bogus!awa L. Jackowskiego i Marka Ry$kowzorce przenoszenia wyrazów dla j"zyka polskiego sprawdzaj% si" w takznacznej wi"kszo(ci wypadków, #e praktycznie nie ma potrzeby stosowaniatej konkretnej instrukcji. Co wi"cej, próba u#ycia polecenia \hyphenationw wypadku stosowania równie# pakietu inputenc (por. punkt 2.5) zako*czysi" b!"dem w czasie przetwarzania dokumentu.Instrukcja \- wskazuje, w których miejscach wolno LATEXowi przenie($

wyraz do nowego wiersza; LATEX nie podzieli tego wyrazu w #adnym opróczwskazanych miejsc. Instrukcja odnosi si" do konkretnego wyst%pienia s!owaw dokumencie i nie wp!ywa na miejsca podzia!u w innych jego wyst%-pieniach. Przydaje si" ona szczególnie w wypadku wyrazów ze znakamispecjalnymi, na przyk!ad akcentowanymi, gdy# automatycznie LATEX dzielijedynie wyrazy z!o#one z samych liter.

Nie\-bie\-sko\-bia\-$o\-zie\-lo\-%no\-nie\-bie\-ski Niebieskobia!ozielononiebieski

Tekst b"d%cy argumentem polecenia:

\mbox{tekst}

nigdy nie zostanie przeniesiony.

Numer mojego telefonu wkrótcesi# zmieni na \mbox{0116 291 2319}.

Parametr \mbox{\emph{nazwa}} tonazwa pliku.

Numer mojego telefonu wkrótce si" zmieni na0116 291 2319.Parametr nazwa to nazwa pliku.

Polecenie \fbox jest podobne do \mbox, z tym #e dodatkowo dooko!aargumentu rysuje ramk" (por. punkt 6.6).

2.3. Kilka gotowych oznacze( napisów

W przyk!adach na poprzednich stronach pojawi!o si" kilka prostych instruk-cji LATEXa do sk!adania krótkich napisów.

Page 33: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.4. Znaki specjalne i symbole 21

Instrukcja Przyk!ad Opis\today 15 stycznia 2007 Bie#%ca data\TeX TEX Twój ulubiony system sk!adu\LaTeX LATEX Nazwa tej gry\LaTeXe LATEX2! Obecne jej wcielenie

2.4. Znaki specjalne i symbole

2.4.1. Cudzys#owy

Znaku cudzys!owu " u#ywa si" inaczej ni# na maszynie do pisania. W pu-blikacjach 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ó#nychj"zykach. Dwa apostrofy ‘ otwieraj%, a dwa apostrofy ’ zamykaj% LATEXowycudzys!ów wed!ug regu! j"zyka angielskiego:

‘‘Please press the ‘x’ key.’’“Please press the ‘x’ key.”

W j"zyku polskim cudzys!ów otwieraj%cy oznacza si" dwoma przecin-kami ,, , natomiast zamykaj%cy – dwoma apostrofami ’’3. Gdy zachodzikonieczno($ u#ycia cudzys!owu w tek(cie ju# obj"tym cudzys!owem, to sto-suje si" „cudzys!owy «francuskie»”, oznaczane w pliku &ród!owym znakami,odpowiednio, mniejszo(ci << i wi"kszo(ci >>.

,,Przechod( tylko po <<zebrach>>’’!„Przechod& tylko po «zebrach»”!

2.4.2. Pauzy i my"lniki

Zwyczajne maszyny do pisania posiadaj% tylko jeden znak w kszta!cie pozio-mej kreski „-”. W sk!adzie drukarskim wyst"puj% a# cztery rodzaje kresekpoziomych. S% to: !%cznik, my(lnik, pó!pauza i minus, u#ywany we wzorachmatematycznych.-%cznik (dywiz) jest najkrótsz% z kresek. Stosuje si" go do dziele-

nia i przenoszenia wyrazów oraz do !%czenia wyrazów wielocz!onowych(np. „niebiesko-czarny”). Zgodnie z polskimi regu!ami wyraz wielocz!onowymo#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 znaczypowinien si" on znale&$ zarówno na ko*cu pierwszego wiersza, jak te# napocz%tku drugiego. Oto mo#liwe miejsca podzia!u wyrazu niebiesko-czarny:

3Porównaj uwagi o tym sposobie oznaczania cudzys'owów z punktu 2.5 w cz!$cidotycz"cej fontów i ich kodowania (str. 27). Dotyczy to równie# cudzys'owów francuskich.

Page 34: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

22 Sk"adanie tekstu

nie- niebie- niebiesko- niebiesko-czar-biesko-czarny sko-czarny -czarny ny

Standardowy LATEX nie zna polskich norm i dlatego dzieli wyrazy wielo-cz!onowe w miejscu po!%czenia, bez powielania !%cznika. Je#eli do sk!aduw j"zyku polskim korzystamy z zestawu platex, to w pliku &ród!owym w miej-sce !%cznika w wyrazach wielocz!onowych powinni(my zastosowa$ instrukcj"\dywiz (np. niebiesko{\dywiz}czarny).W pewnych sytuacjach lepiej nie dzieli$ wyrazów po!%czonych !%czni-

kiem. Je#eli na przyk!ad mówimy o wydziale K-2, kodzie pocztowym czynumerze 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 LATEXu odbywa si" to automatycznie i nie wymaga r"cznych ingerencjiu#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 latach1960–1963”. Przed i po pó!pauzie nie dodaje si" odst"pów. Odst"py takiemusz% 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 --.My(lnik „—” to d!u#sza kreska, u#ywana jako znak przestankowy. Za-

pisujemy go za pomoc% trzech nast"puj%cych po sobie znaków -, czyli --- .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óbuwa#a konstrukcj" z!o#on% z odst"pu, my(lnika i kolejnego odst"pu za zbytwybijaj%c% si" w sk!adzie. Z tych#e estetycznych powodów cz"sto w rolimy(lnika u#ywa si" „dwukreskowej” pó!pauzy, i takie w!a(nie podej(cie za-stosowano w niniejszym t!umaczeniu.We wzorach matematycznych, czyli wewn%trz trybu matematycznego,

znak minusa uzyskujemy, pisz%c zwyczajnie - . Przyk!adowo, zapis $-2$daje w sk!adzie #2, podczas gdy -2 daje -2.

2.4.3. Odst!py nie#amliwe

Polskie zasady typograficzne nie pozwalaj% !ama$ akapitów z pozostawia-niem na ko*cu wierszy jednoliterowych spójników b%d& przyimków. Przy-k!adowo, w zdaniu „Jan Kochanowski urodzi! si" w Czernolesie” nie!adniena 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 „~” 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: 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 takprosta jak w wypadku wspomnianych spójników. Oto gar($ przyk!adów:

Page 35: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.4. Znaki specjalne i symbole 23

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.

Ze wzgl"du na zale#no($ od kontekstu obowi%zek decydowania o u#yciu tyldyspada na u#ytkownika LATEXa.

2.4.4. Tylda (!)

W adresach internetowych cz"sto wyst"puje znak tyldy. W LATEXu mo#naby do jego uzyskania u#y$ instrukcji \~, ale wynik: ˜ nie jest chyba tym,czego oczekujemy. Lepiej zrobi$ tak:

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

http://www.clever.edu/!demo

A jeszcze lepiej do!%czy$ do preambu!y dokumentu pakiet url i korzysta$z polecenia \url{...}.

2.4.5. Oznaczenie stopni (")

Poni#szy przyk!ad ilustruje, jak w LATEXu uzyskuje si" symbol stopni:

Jest $-30\,^{\circ}\mathrm{C}$.Nied$ugo zaczn# nadprzewodzi&. Jest #30 !C. Nied!ugo zaczn" nadprzewodzi$.

Pakiet textcomp udost"pnia symbol stopni tak#e jako \textcelsius.

2.4.6. Symbol waluty euro (e)

Pisz%c dzi( o pieni%dzach, nie mo#na si" obej($ bez symbolu euro. Znak tenwyst"puje w wielu wspó!czesnych fontach. Po za!adowaniu pakietu textcompw preambule:

\usepackage{textcomp}

mo#na do uzyskania symbolu euro u#y$ oznaczenia:

\texteuro

Je(li u#ywany font nie zawiera w!asnego symbolu euro albo nam si" on niepodoba, to mamy dwie dodatkowe mo#liwo(ci: Pierwsz% jest pakiet eurosym.Udost"pnia on oficjalny znak euro:

\usepackage[o%cial]{eurosym}

Je(li wolimy znak euro zgodny optycznie z fontem, to zast%pmy opcj"official opcj% gen.

Page 36: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

24 Sk"adanie tekstu

Pakietmarvosym dostarcza wielu ró#nych symboli, w tym euro pod nazw%\EURtm. Jego wad% jest to, #e nie udost"pnia wersji pochylonej i wyt!usz-czonej euro.

Tabela 2.1: Torba pe!na symboli euro

lm+textcomp \texteuro ! ! !eurosym \euro e e e[gen]eurosym \euro AC AC ACmarvosym \EURtm e e e

2.4.7. Wielokropek (. . . )

W typowym pi(mie maszynowym przecinek oraz kropka zajmuj% tyle samomiejsca co ka#dy inny znak. W pi(mie drukarskim szeroko($ tych znaków jestz regu!y bardzo ma!a i dlatego, je#eli umie(cimy je obok siebie, to odst"pymi"dzy nimi b"d% zbyt ma!e. Do uzyskiwania wielokropka (trzech kropek)u#ywamy instrukcji \ldots. Przyk!ad:

\ldots

Nie tak ..., lecz raczej tak:\\Nowy Jork, Tokio, Budapeszt, \ldots Nie tak ..., lecz raczej tak:

Nowy Jork, Tokio, Budapeszt, . . .

2.4.8. Ligatury

Ligatury (spójki) to znaki graficzne, w których po!%czono dwie lub trzylitery. W niektórych j"zykach ligatury wyst"puj% jako w!a(ciwe danej orto-grafii znaki pisma, np. œ w j"zyku francuskim. Wi"kszo($ ligatur tworzy si"ze wzgl"dów estetycznych lub zwyczajowych. LATEX zna pi"$ nast"puj%cychligatur:! fi fl " # zamiast ff fi fl ffi fflTEX u#ywa ligatur automatycznie. Mo#na temu zapobiec, mi"dzy znakamitworz%cymi ligatur" wstawiaj%c instrukcj" \mbox{}:

Jak lepiej: geografii czygeograf\mbox{}ii? Jak lepiej: geografii czy geografii?

Page 37: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.5. LATEX wieloj!zyczny 25

2.4.9. Akcenty i znaki specjalne

W LATEXu istniej% metody wstawiania znaków akcentowanych oraz spoty-kanych w ró#nych j"zykach znaków specjalnych. W tabeli 2.2 zestawionoinstrukcje akcentów. U#yto ich do litery „o”, ale mo#na je równie# stosowa$do dowolnej innej litery.W wypadku akcentów nad literami „i” oraz „j” nale#y znad tych liter

usun%$ kropk". S!u#% do tego instrukcje \i i \j, wstawiaj%ce do sk!aduspecjalne wersje liter „ı” oraz „/”.

H\^otel, na\"\i ve, \’el\‘eve,\\sm\o rrebr\o d, !‘Se\~norita!,\\Sch\"onbrunner Schlo\ss{}Stra\ss e

Hotel, naıve, eleve,smørrebrød, ¡Senorita!,Schonbrunner Schloß Straße

Tabela 2.2: Akcenty i znaki specjalne

o \‘o ó \’o o \^o o \~o-o \=o o \.o o \"o

o \u o o \v o o \H o o \c oo. \d o o

¯\b o !oo \t oo

œ \oe Œ \OE æ \ae Æ \AEa \aa A \AA % \k{a}

ø \o Ø \O ! \l - \Lı \i / \j ¡ !‘ ¿ ?‘

2.5. LATEX wieloj!zyczny

Je#eli LATEX ma sk!ada$ tekst w j"zykach innych ni# angielski, to zasadniczonale#y go dostosowa$ w trzech nast"puj%cych obszarach:

1. LATEX musi pozna$ regu!y dzielenia wyrazów dla danego j"zyka, cowi%#e si" z konieczno(ci% stworzenia tak zwanego formatu LATEXa –z nowymi wbudowanymi we* regu!ami. Nie jest to zbyt trudne zadanie,ale szczegó!owy sposób post"powania zale#y od u#ywanej dystrybucji.Wi"cej informacji na ten temat mo#na znale&$ w tej cz"(ci dokumen-tacji ka#dej dystrybucji LATEXa, która dotyczy instalowania systemu.

2. Wszystkie teksty generowane przez LATEXa automatycznie trzeba przy-stosowa$ do danego j"zyka. Dotyczy to: tytu!ów rozdzia!ów, spisutre(ci, spisu rysunków, tabel, dat, itp. Zmiany te umo#liwia pakietbabel Johannesa Braamsa.

Page 38: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

26 Sk"adanie tekstu

3. Nale#y w!%czy$ specyficzne dla danego j"zyka regu!y typograficzne. Naprzyk!ad w j"zyku francuskim ka#dy dwukropek i wykrzyknik trzebapoprzedzi$ odst"pem, a w j"zyku polskim po numerach w tytu!achrozdzia!ów i punktów stawia si" kropk".

Je#eli dysponujemy dobrze skonfigurowanym LATEXem, czyli LATEXem z wy-generowanym formatem zawieraj%cym odpowiednie regu!y przenoszenia wy-razów, to reszt" zada* polonizacyjnych za!atwi pakiet babel. Wystarczyw tym celu do preambu!y dokumentu wpisa$ instrukcj":\usepackage{polish}

Jej ogóln% postaci% jest:

\usepackage[lista-j$zyków]{babel}

Argument lista-j$zyków to oddzielone przecinkami nazwy j"zyków, które ob-s!uguje zainstalowana wersja LATEXa. Ostatni na li(cie jest j"zykiem domy(l-nym. Do prze!%czenia si" w tre(ci dokumentu na inny j"zyk s!u#y polecenie:

\selectlanguage{j$zyk}

Je(li u#ywana wersja LATEXa nie obs!uguje j"zyka z listy, to babel zadzia!az wy!%czonym przenoszeniem wyrazów, co znacznie pogorszy jako($ sk!adu.Pakiet babel dla ka#dego j"zyka definiuje elementy wpisywane automa-

tycznie przez program (np. dla j"zyka polskiego „Spis tre(ci” zamiast „Tableof contents”) oraz udost"pnia polecenia u!atwiaj%ce przygotowanie doku-mentów w tym j"zyku.Dla niektórych j"zyków babel udost"pnia specjalne instrukcje, u!atwia-

j%ce wprowadzanie znaków diakrytycznych i specjalnych. Teksty w j"zykuniemieckim zawieraj% na przyk!ad sporo liter z umlautami: (aou). Wykorzy-stuj%c pakiet babel, mo#na wprowadzi$ liter" o, wpisuj%c "o zamiast \"o.W wi"kszo(ci systemów komputerowych znaki akcentowane i specjalne

(czyli znaki o kodach ascii wi"kszych ni# 127) mo#na wprowadza$ bez-po(rednio z klawiatury. Przyk!adowo, polskie znaki diakrytyczne mo#nawprowadza$, naciskaj%c klawisz prawy-Alt i jednocze(nie klawisz z odpo-wiedni% liter%. LATEX radzi sobie z takimi znakami. Pocz%wszy od grudnia1994 r. dystrybucje LATEXa zawieraj% pakiet inputenc, pozwalaj%cy kodowa$znaki diakrytyczne w ró#nych wariantach. Przyk!adowo, je(li dokument jestkodowany w standardzie iso 8859-2 (system operacyjny Unix/Linux), topakiet inputenc nale#y do!%czy$ do dokumentu w nast"puj%cy sposób:\usepackage[latin2]{inputenc}

W wypadku dokumentu kodowanego w standardzie cp 1250 (system opera-cyjny MS Windows) powinni(my zamiast opcji latin2 wpisa$ cp1250. Dladokumentów unikodowych nale#y u#y$ opcji utf8.Chocia# pakiety babel oraz inputenc umo#liwiaj% sk!ad dokumentów w j"-

zyku polskim, to nie s% pozbawione wad. K!opoty mog% sprawia$ dokumenty

Page 39: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.5. LATEX wieloj!zyczny 27

o rozbudowanej strukturze, na przyk!ad zawieraj%ce skorowidze. Inne podej-(cie do sprawy j"zyka polskiego w LATEXu jest przedstawione w punkcie 2.5.1.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. Okre(laono, w których miejscach fontu znajduj% si" poszczególne znaki. Standar-dowo LATEX u#ywa kodowania o nazwie OT1, przyj"tego dla oryginalnychTEXowych fontów Computer Modern (cm). S% to fonty jedynie 128-znakowe,nie zawieraj% na przyk!ad charakterystycznych polskich liter. Znak diakry-tyczny mo#na w nich skonstruowa$ metod% na!o#enia dwóch innych: literyi odpowiedniego akcentu. Ta metoda ma wady, bo TEX nie mo#e poprawnieprzenosi$ wyrazów zawieraj%cych tak zapisane znaki diakrytyczne, kiepskajest te# jako($ typograficzna takich diakrytyków.Na szcz"(cie wszystkie wspó!czesne dystrybucje TEXa zawieraj% komplet

fontów European Computer Modern (ec). S% to fonty zawieraj%ce do 256znaków w kodowaniu T1. Pierwszych 128 znaków fontu ec jest (prawie)identycznych jak w odpowiadaj%cym mu foncie cm. Pozosta!e 128 znakówto znaki diakrytyczne wyst"puj%ce w ró#nych j"zykach europejskich, w tymte# komplet znaków niezb"dnych do sk!adania tekstów polskich. Fonty ecumo#liwiaj% poprawne przenoszenie wyrazów, znacznie lepsza jest te# jako($typograficzna znaków diakrytycznych.Polscy u#ytkownicy mog% te# korzysta$ z rodziny fontów pl (autorzy

B. Jackowski, M. Ry$ko, J. Nowacki) oraz nowszych fontów lm (autorzyB. Jackowski i J. Nowacki). W zakresie obj"tym przez rodzin" cm fontypl/lm s% ca!kowicie z ni% zgodne, a dodatkowo zawieraj% wszystkie polskieznaki diakrytyczne. Polskie diakrytyki w fontach ec s% kopi% odpowiednichznaków z fontów pl, czyli „ogonki” wygl%daj% tak samo, niezale#nie od tego,z której z rodzin korzystamy.W fontach ec, pl i lm dost"pne s% ponadto znaki cudzys!owów fran-

cuskich i polskiego otwieraj%cego, których nie ma w fontach cm. Opisanyw punkcie 2.4.1 sposób wprowadzania tych znaków za pomoc% par ,, , <<i >> dzia!a jedynie wówczas, gdy u#ywamy fontów ec, pl b%d& lm.Aby prze!%czy$ si" na fonty ec lub pl, trzeba do preambu!y dokumentu

do!%czy$ pakiet fontenc:

\usepackage[T1]{fontenc} lub \usepackage[OT4]{fontenc}

Argument T1, okre(laj%cy kodowanie, jest „odpowiedzialny” za prze!%czeniesi" na fonty ec. Podobnie Argument OT4 w!%cza fonty pl.Uwaga: Powy#sze do!%czenie pakietu fontenc jest jedynie deklaracj%.

Je#eli twoja dystrybucja LATEXa nie zawiera fontów, które chcesz w!%czy$,to powy#sze polecenia nie zostan% wykonane, a LATEX prze!%czy si" na fontdomy(lny, zwykle nie zawieraj%cy polskich znaków.Reasumuj%c, oto przyk!adowa preambu!a artyku!u sk!adanego w j"zyku

polskim przy wykorzystaniu pakietów babel, inputenc oraz fontenc:

Page 40: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

28 Sk"adanie tekstu

\documenclass{article}\usepackage[polish]{babel}\usepackage[cp1250]{inputenc}\usepackage[OT4]{fontenc} %% lub [T1]

Lepszy sposób polonizacji LATEXa opisano w nast"pnym punkcie.Rodzina fontów lh zawiera litery potrzebne do sk!adania dokumentów

w cyrylicy. Ze wzgl"du na du#% liczb" znaków w ró#nych pismach cyrylickichs% one zgrupowane w czterech ró#nych kodowaniach: T2A, T2B, T2C, i X24.Rodzina cb, w kodowaniu LGR, zawiera fonty do sk!adu greki.

2.5.1. J!zyk polski w dokumentach

Jak wspomniano w punkcie 2.5, poprawny sk!ad w j"zyku polskim wymagatrzech rzeczy: LATEXa z wbudowanymi w format polskimi regu!ami prze-noszenia wyrazów, fontów zawieraj%cych polskie znaki diakrytyczne orazdodatkowego pakietu obs!uguj%cego specyficzne dla j"zyka polskiego regu!ytypograficzne. W tym punkcie zak!adamy, #e uda!o ci si" skonfigurowa$LATEXa pod k%tem pierwszych dwóch punktów, tj. wygenerowania formatui zainstalowania fontów pl lub ec, i koncentrujemy si" na szczegó!owymopisie ostatniego aspektu polonizacji.W ka#dej dystrybucji LATEXa znajduje si" wspomniany w punkcie 2.5

pakiet 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 popolsku powinni korzysta$ z opisanego dalej zestawu polonizacyjnego platex.W wypadku j"zyka polskiego wiele k!opotów sprawia kodowanie znaków

diakrytycznych. Wynika to przede wszystkim z braku standardu: ró#neplatformy systemowe promuj% w tym zakresie ró#ne rozwi%zania5. Mo#nawyró#ni$ dwa sposoby zapisu diakrytyków w LATEXu: polecenia standardowe(opisane w punkcie 2.4.9 oraz poni#ej) i notacj" „bezpo(redni%”, pos!uguj%c%si" znakami o kodach wi"kszych od 1276.Standardowe polecenia akcentowe LATEXa umo#liwiaj% zapis wszystkich

polskich znaków diakrytycznych w nast"puj%cej postaci7:4List! j!zyków obs'ugiwanych w tych kodowaniach mo#na znale&% w [26].5Lekarstwem na t! bol"czk! mo#e by% kodowanie wielobajtowe, tj. standard Unicode

(utf). Wprawdzie LATEX potrafi przetwarza% dokumenty unikodowe jedynie w ograniczo-nym zakresie, ale jest on wystarczaj"cy dla tekstów w j!zykach europejskich. Specjalnawersja TEXa, XeTeX autorstwa Jonathana Kew, potrafi przetwarza% dokumenty zakodo-wane w unikodzie, a tak#e generowa% sk'ad z u#yciem unikodowych fontów OpenType.6Jest jeszcze trzeci sposób: tak zwana notacja prefiksowa (/a – ", /n – (, /S – )

itp.). Metoda ta wysz'a ju# w zasadzie z u#ytku, gdy# powszechnie dost!pna jest metodabezpo$redniego wprowadzania znaków z polskimi ogonkami z klawiatury.7Z notacj" t" wi"#e si! jednak pewien problem: otoczenie tabbing zmienia lokalnie

definicj! kilku makr, w tym \’. Dlatego w jego obr!bie do uzyskiwania znaków z akcentemacute trzeba u#ywa% notacji typu \a’o. Konsekwencj" jest to, #e zarówno w implementacjinotacji prefiksowej, jak i „stron kodowych” pakietu inputenc trzeba si! do akcentu acutedostawa% nieco naoko'o.

Page 41: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.5. LATEX wieloj!zyczny 29

\k{a} \’c \k{e} \l{} \’n \’o \’s\’z \.z \k{A} \’C \k{E} \L{} \’N\’O \’S \’Z \.Z

% $ " ! * ó ( & # ) 0 1 - 2 Ó . 3 '

Pos!ugiwanie si" powy#szymi poleceniami do pisania tekstów po polskujest uci%#liwe, ale przydaje si" na przyk!ad do wstawienia niewielkich frag-mentów do dokumentu, który b"dzie przetwarzany przez kogo(, kto j"zykapolskiego 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 prze-

kodowywania, uruchamiany przez umieszczenie komentarza strukturalnegow pierwszym wierszu pliku8:%& --translate-file=cp1250pl

Wpis taki b"dzie poprawny w wypadku redagowania plików w systemiems Windows i stosowania domy(lnego w nim kodowania cp 1250. W wy-padku systemu Unix/Linux nale#y zamiast cp1250pl wpisa$ il2-pl (przyza!o#eniu, #e pos!ugujemy si" kodowaniem iso 8859-2).Komentarz strukturalny jest alternatyw% dla pakietu inputenc, opisanego

w punkcie 2.59 Mechanizm komentarza strukturalnego nie umo#liwia po-prawnego przetwarzania dokumentów unikodowych. Je#eli upierasz si" przyunikodzie to pozostaje ci tylko pakiet inputenc.Zamiast pakietu babel mo#na zastosowa$ pakiet polski z zestawu platex

(autorzy Mariusz Olko i Marcin Woli*ski). Jego niew%tpliw% zalet% jeststaranniejsza polonizacja, np. pakiet polski domy(lnie prze!%cza si" na fontypl bez potrzeby do!%czania pakietu fontenc. W wypadku przej(cia z pakietubabel na polski dokumenty nie wymagaj% modyfikacji, oprócz oczywistejwymiany nazwy !adowanego pakietu w preambule.Pakiet polski do!%czamy w preambule dokumentu poleceniem:

\usepackage[opcje]{polski}

Lista wa#niejszych opcji obejmuje:OT4 wybranie kodowania OT4 fontów, co w praktyce oznacza sk!ad fon-tami pl;

T1 wybranie kodowania T1 fontów, co oznacza sk!ad fontami ec;OT1 wybranie kodowania OT1 fontów, co oznacza sk!ad fontami cm (nieza-lecane);

plmath w!%czenie polskich oznacze* dla standardowych polece* trygono-metrycznych oraz symboli relacji mniejszy-lub-równy i wi"kszy-lub--równy (zalecane);

8Komentarz ten nale#y umie$ci% w pierwszym wierszu pliku, czyli jeszcze przed wier-szem z \documentclass, a znak % musi by% pierwszym znakiem tego wiersza.9Oznacza to, #e jednoczesne u#ycie komentarza strukturalnego translate-file i do-

'"czanie pakietu inputenc jest b'!dem

Page 42: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

30 Sk"adanie tekstu

nomathsymbols blokada zmiany znaczenia standardowych polece* trygo-nometrycznych oraz symboli relacji mniejszy-lub-równy i wi"kszy-lub--równy (por. punkt 3.10, str. 59);

MeX tryb pe!nej polonizacji (zalecane).

Je#eli opcj" uk!adu kodowania w foncie pomini"to, to pakiet polski u#ywafontów pl (w wypadku ich braku LATEX b"dzie sygnalizowa! b!"dy). Dotyczyto zarówno fontów tekstowych, jak i zawieraj%cych znaki matematyczne.W instalacji zawieraj%cej fonty pl do!%czenie pakietu polski bez opcji jestrównowa#ne poleceniu:

\usepackage[OT4,plmath]{polski}

Polecenie \selecthyphenation pozwala prze!%czy$ si" na dany zestaw wzor-ców dzielenia wyrazów. Jest to odpowiednik polecenia \selectlanguagez pakietu babel. Argumentem jest nazwa j"zyka.Polonizacyjnym uzupe!nieniem pakietu polski jest zestaw klas Marcina

Woli*skiego mwart, mwrep i mwbook, dost"pny pod adresem http://www.mimuw.edu.pl/~wolinski/mwcls.html. W klasach tych zosta!y uwzgl"d-nione m.in. takie zwyczaje jak: umieszczanie kropek po numerach (ródty-tu!ów, sposób formatowania przypisów oraz pagin, zakaz przenoszenia s!óww (ródtytu!ach, regu!y umieszczania/pomijania paginacji. Uzyskano to zacen" znacznej ingerencji w sposób dzia!ania klas standardowych, czego skut-kiem jest niekompatybilno($ z cz"(ci% pakietów LATEXa.Oto przyk!adowa preambu!a artyku!u sk!adanego w klasie mwart:

%& --translate-file=cp1250pl\documentclass{mwart}\usepackage[MeX]{polski}\begin{document} ...

Jest to zalecany sposób rozpoczynania dokumentów w j"zyku polskim.Warto z niego korzysta$, zaopatrzywszy si" w niezb"dne elementy: fontypl, pakiet polski i klasy Marcina Woli*skiego. W standardowej dystrybucjiLATEXa, w której na ogó! znajduj% si" obecnie fonty pl, zadzia!a natomiasttaka preambu!a:

%& --translate-file=cp1250pl\documentclass{article}\usepackage{polski}

2.6. Odst!py mi!dzy wyrazami

Aby wyrówna$ prawy margines, LATEX wstawia mi"dzy s!owami odst"pyró#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, #ezdania mog% si" ko*czy$ kropk%, znakiem zapytania lub wykrzyknikiem.

Page 43: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.7. Tytu"y, $ródtytu"y i punkty 31

Je#eli bezpo(rednio przed kropk% znajduje si" du#a litera, to LATEX nietraktuje takiego miejsca jako ko*ca zdania, lecz jako kropk" po skrócie.Wyj%tki od powy#szych zasad trzeba wyra&nie zaznaczy$ w tek(cie. Znak

\ poprzedzaj%cy spacj" oznacza odst"p normalnej wielko(ci. Tylda ~ równie#wstawia taki odst"p, z tym #e LATEXowi nie wolno na nim z!ama$ wiersza.Umieszczenie instrukcji \@ przed kropk% jest dla LATEXa wskazówk%, #e takropka ko*czy zdanie, nawet je(li nast"puje po du#ej literze.

Pan~Kowalski ucieszy$ si#\\na jej widok (zob.~Rys.~5).\\Podoba mi si# JAVA\@. A~tobie?

Pan Kowalski ucieszy! si"na jej widok (zob. Rys. 5).Podoba mi si" JAVA. A tobie?

Jak wspomniano, wstawianie wi"kszych odst"pów na ko*cu zda* to zwyczajanglosaski. W Europie kontynentalnej tradycyjnie si" tego nie robi. Wsta-wianie wi"kszych odst"pów na ko*cu zda* mo#na wy!%czy$ poleceniem:

\frenchspacing

Pakiet polski domy(lnie wykonuje instrukcj" \frenchspacing za nas,czyli w!%cza odst"py „kontynentalne”.

2.7. Tytu#y, "ródtytu#y i punkty

Podzielenie dokumentu na rozdzia!y, punkty, podpunkty itd. pomaga czy-telnikom lepiej orientowa$ si" w tek(cie. Do dzielenia dokumentu na hie-rarchiczne cz"(ci s!u#% odpowiednie instrukcje LATEXowe. Do autora nale#yu#ywanie tych polece* w odpowiednim porz%dku.W klasie article mamy do dyspozycji nast"puj%ce instrukcje podzia!u

hierarchicznego:\section{...} \paragraph{...}\subsection{...} \subparagraph{...}\subsubsection{...} \appendix

W klasach report (raport) i book (ksi%#ka) mog% wyst"powa$ rozdzia!y:\chapter{...}

Je(li raport b%d& ksi%#k" trzeba podzieli$ na cz"(ci bez naruszania numeracjipunktów i rozdzia!ów, to mo#na u#y$ polecenia:

\part{...}

Poniewa# w klasie article najwy#sz% jednostk% w hierarchii podzia!ujest \section (czyli punkt), !atwo tworzy si" ksi%#ki (klasa book), w którychrozdzia!ami s% poszczególne artyku!y. LATEX dobierze za nas odpowiednieodst"py mi"dzy rozdzia!ami oraz wielko($ i krój pisma w (ródtytu!ach.Dwie z wymienionych instrukcji dzia!aj% nieco inaczej ni# pozosta!e:

Page 44: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

32 Sk"adanie tekstu

– instrukcja \part nie ma wp!ywu na numeracj" rozdzia!ów;– instrukcja \appendix nie ma argumentów. Jest to deklaracja zmie-niaj%ca sposób numerowania z cyfr na litery. Dotyczy to rozdzia!óww klasach book i report, a punktów w klasie article.

Argumentu instrukcji podzia!u dokumentu LATEX u#ywa do przygotowaniaspisu tre(ci. Instrukcja:

\tableofcontents

wstawia spis tre(ci w miejscu jej u#ycia. Aby w spisie tre(ci otrzyma$ po-prawne numery stron, trzeba dokument przetworzy$ („zlatechowa$”) dwu-krotnie. Czasami niezb"dna jest nawet trzecia kompilacja. Kolejny przebiegjest potrzebny, gdy pod koniec przetwarzania dokumentu LATEX pokazujekomunikat:LaTeX Warning: Label(s) may have changed.Rerun to get cross-references right.

LATEX przetwarza dokument strona po stronie i w pojedynczym prze-biegu nie mo#e wstawi$ spisu tre(ci na pocz%tku dokumentu, poniewa# niejest jeszcze znana jego tre($ ani numeracja stron. Podobnie ma si" sprawaze spisami tabel czy rysunków. Rozwi%zanie tego problemu jest tyle# prosteco skuteczne. Podczas przetwarzania dokumentu LATEX zapisuje odpowied-nie informacje do plików pomocniczych – w celu ich wykorzystania podczaskolejnych przebiegów.Przeznaczenie danego pliku pomocniczego jest sygnalizowane przez roz-

szerzenie jego nazwy. I tak: plik o rozszerzeniu .toc zawiera spis tre(ci,plik .lot – spis tabel, plik .lof – spis rysunków, .aux – informacje o odsy!a-czach wewn%trz dokumentu (odsy!acze omawiamy w punkcie 2.8). Pe!niejszywykaz nazw plików LATEXowych podano w punkcie 1.7 na stronie 12.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 „*”. W wyniku dzia!aniatakiej instrukcji tytu! rozdzia!u lub punktu zostanie umieszczony w do-kumencie, ale nie w spisie tre(ci; tytu! nie zostanie te# obj"ty numera-cj%. Przyk!adowo, wersj% „z gwiazdk%” instrukcji \section{Pomoc} jest\section*{Pomoc}.Zwyczajem angielskim jest nieumieszczanie nienumerowanych (ródtytu-

!ów w spisie tre(ci. Polscy redaktorzy cz"sto si" domagaj%, by na przy-k!ad „Wst"p” by! (ródtytu!em nienumerowanym, a jednocze(nie wyst"powa!w spisie. Ten problem rozwi%zujemy za pomoc% polecenia:

\addcontentsline{spis}{poziom}{&ródtytu"}

gdzie: spis to rozszerzenie nazwy pliku, w którym ma zosta$ zapisana infor-macja, poziom to chapter, section b%d& inna nazwa polecenia hierarchicz-nego, a &ródtytu" to sam (ródtytu!. Przyk!ad:

Page 45: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.7. Tytu"y, $ródtytu"y i punkty 33

\chapter*{Wst#p}\addcontentsline{toc}{chapter}{Wst#p}

Najcz"(ciej has!a w spisie tre(ci pokrywaj% si" z tytu!ami rozdzia!ówczy 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(cimo#na poda$ jako opcjonalny argument instrukcji podzia!u hierarchicznego,na przyk!ad tak:\chapter[Krótki i~ekscytuj'cy rozdzia$]{To jestbardzo d$ugi i~wyj'tkowo nudny rozdzia$}

W wyniku wykonania tej instrukcji w spisie tre(ci pojawi si" „Krótki i eks-cytuj%cy rozdzia!”, natomiast w tytule rozdzia!u „To jest bardzo d!ugii wyj%tkowo nudny rozdzia!”.LATEX sk!ada cz"($ tytu!ow% dokumentu, napotkawszy instrukcj":

\maketitle

Nale#y j% umie(ci$ po \begin{document}, czyli nie w preambule.Zawarto($ cz"(ci tytu!owej ustalaj% polecenia:

\title{...}, \author{...} oraz opcjonalnie \date{...}

Nale#y je umie(ci$ w preambule. Je#eli dokument ma kilku autorów, to ichnazwiska i imiona rozdzielamy instrukcj% \and. Sposób u#ycia powy#szychinstrukcji demonstruje rysunek 1.2 ze strony 8.W LATEX2! istniej% trzy dodatkowe instrukcje dotycz%ce struktury do-

kumentu, dost"pne jednak wy!%cznie w klasie book. Oto ich nazwy, sposóbu#ycia i przeznaczenie:\frontmatter powinna by$ pierwsz% instrukcj% w tre(ci dokumentu, czyli

powinna wyst%pi$ tu# po \begin{document}. W!%cza ona rzymskizapis numerów stron, wy!%czaj%c jednocze(nie numerowanie punktówpodzia!u. To tak, jakby si" u#ywa!o instrukcji „gwiazdkowanych”,w rodzaju \chapter*{Preface}. Punkty podzia!u trafi% jednak dospisu tre(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 zara-zem licznik stron.

\backmatter powinna wyst%pi$ przed ostatnimi fragmentami ksi%#ki, ta-kim jak spis literatury albo skorowidz.

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 roz-dzia!ów s% sk!adane mniejszym stopniem pisma (czego nale#y oczekiwa$),a numery stron s% w notacji rzymskiej (co raczej odbiega od polskich zwy-czajów typograficznych).

Page 46: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

34 Sk"adanie tekstu

2.8. Odsy#acze

Ksi%#ki, raporty i artyku!y cz"sto zawieraj% odsy!acze do rysunków, tabeli innych fragmentów tekstu. Z odsy!aczami zwi%zane s% w LATEXu nast"pu-j%ce trzy instrukcje:

\label{etykieta}, \ref{etykieta} i \pageref{etykieta}

Argument etykieta jest ci%giem liter, cyfr lub znaków interpunkcyjnych. Na-zwy etykiet ustala sam autor. LATEX zamienia \ref{etykieta} na numertego rozdzia!u, punktu, rysunku, tabeli czy te# równania matematycznego,bezpo&rednio za którym umieszczona zosta!a instrukcja \label zawieraj%caidentyczn% etykiet$. Instrukcja \pageref{etykieta} dzia!a identycznie jak\ref, z tym #e wstawia numer strony, na której znajduje si" element ozna-czony etykiet%10. Oto przyk!ad:

Odsy$acz do tego punktu\label{sec:this} wygl'da tak:,,patrz punkt~\ref{sec:this} nastronie~\pageref{sec:this}.’’

Odsy!acz do tego punktu wygl%da tak: „patrzpunkt 2.8 na stronie 34.”

Podobnie jak w wypadku spisów tre(ci, tabel czy rysunków, do ustaleniaw!a(ciwej numeracji odsy!aczy potrzebne s% co najmniej dwie, a z regu!ytrzy kompilacje dokumentu. Podczas pierwszej LATEX wysy!a do pliku po-mocniczego z rozszerzeniem .aux (zob. punkt 1.7) informacje o odsy!aczach,które wykorzystuje podczas kolejnych kompilacji.

2.9. Przypisy

Do sk!adania przypisów u do!u strony s!u#y instrukcja:

\footnote{tekst przypisu}

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 jegocz"(ci umieszcza si" natychmiast po kropce lub przecinku. W Polsce najcz"-(ciej umieszcza si" je przed znakiem przestankowym (zasad" t" stosujemyw niniejszym t!umaczeniu).LATEX numeruje przypisy automatycznie. Sposób ich numerowania zale#y

od u#ywanej klasy. W klasie article numeracja jest ci%g!a, w klasachreport i book przypisy s% numerowane w ramach rozdzia!ów.

10Warto pami!ta%, #e te instrukcje „nie wiedz"”, do czego tak naprawd! si! odnosz".Zadaniem instrukcji \label jest przechowanie zwi"zku wygenerowanej automatycznieliczby z miejscem w tek$cie.

Page 47: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.10. Wyró%nienia 35

Przypisy\footnote{To jest w$a!nieprzypis.} s' cz#stostosowane przezu"ytkowników {\LaTeX}a

Przypisya s% cz"sto stosowane przez u#ytkow-ników LATEXa

aTo jest w'a$nie przypis.

2.10. Wyró'nienia

W tekstach pisanych na maszynie fragmenty, które maj% zosta$ wyró#nione,podkre(la si". W dokumentach drukowanych wyró#nienie fragmentu odbywasi" przez z!o#enie go kursyw#. S!u#y do tego LATEXowa instrukcja:

\emph{tekst}

Argumentem tej instrukcji jest tekst, który ma zosta$ wyró#niony.

\emph{\emph{Wyró"nienia} w~tek!cieju" wyró"nionym s' sk$adane\emph{zwyk$ym} krojem pisma.}

Wyró#nienia w tek&cie ju! wyró!nionym s#sk"adane zwyk!ym krojem pisma.

Zwró$my uwag", #e istnieje ró#nica mi"dzy wyró#nieniem cz"(ci tekstua z!o#eniem go inn% czcionk%:

\textit{Tekst mo"na \emph{wyró"ni&},sk$adaj'c go kursyw',}\textsf{czcionk' \emph{szeryfow'},}\texttt{a nawet \emph{maszynowo}.}

Tekst mo!na wyró#ni$, sk"adaj#c go kursyw#,czcionk" szeryfow!, a nawet maszynowo.

2.11. Otoczenia

Do instrukcji formatuj%cych zaliczaj% si" otoczenia (zwane te# &rodowi-skami), czyli instrukcje postaci:

\begin{nazwa} tekst \end{nazwa}

gdzie nazwa jest nazw% otoczenia, a tekst jest fragmentem dokumentu, któryma zosta$ z!o#ony inaczej ni# poza otoczeniem.Otoczenia mo#na zagnie#d#a$ jedne w drugich:

\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}

Niedopuszczalne jest natomiast „przeplatanie” otocze*:\begin{aaa}...\begin{bbb}...\end{aaa}...\end{bbb}

Wiele standardowych polece* LATEXa mo#na zapisa$ w formie „otocze-niowej”. W takich wypadkach nazwa polecenia (bez w-ty!-ciacha) jest nazw%otoczenia. Na przyk!ad, zamiast polecenia \em, w!%czaj%cego wyró#niaj%cykrój pisma, mo#emy zastosowa$ otoczenie \begin{em}...\end{em}.W kolejnych punktach przedstawiamy cz"(ciej u#ywane otoczenia.

Page 48: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

36 Sk"adanie tekstu

2.11.1. Otoczenia itemize, enumerate i description

Otoczenia itemize oraz description s!u#% do tworzenia wyszczególnie*,za( enumerate do tworzenia wylicze*. W ka#dym z nich element wyliczeniazaczyna si" od instrukcji \item.

\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 eleganckozestawia& w~wyliczeniach.\end{description}\end{enumerate}

1. Taka lista:

– wygl%da

– (miesznie.

2. Pami"taj:

G"upoty nie stan% si" m%dro(ciami,gdy si" je wyliczy.

M'dro$ci mo#na elegancko zestawia$w wyliczeniach.

2.11.2. Otoczenia flushleft, flushright i center

W otoczeniach flushleft i flushright akapity s% sk!adane z wyrówna-niem, odpowiednio, do lewego b%d& prawego marginesu. Wewn%trz otoczeniacenter ka#dy wiersz akapitu jest wy(rodkowany w osi szpalty. Tak jakzawsze, LATEX dzieli akapity na wiersze automatycznie, mo#na jednak w ob-r"bie powy#szych otocze* wymusi$ zmian" wiersza poleceniem \\.

\begin{flushleft}To jest tekst\\ wyrównany do lewej.{\LaTeX} nie sk$ada tu wierszy\\z~zachowaniem jednakowej d$ugo!ci.\end{flushleft}

To jest tekstwyrównany do lewej. LATEX nie sk!ada tuwierszyz zachowaniem jednakowej d!ugo(ci.

\begin{flushright}To jest tekst\\ wyrównany do prawej.{\LaTeX} nie sk$ada tu wierszy\\z~zachowaniem jednakowej d$ugo!ci.\end{flushright}

To jest tekstwyrównany do prawej. LATEX nie sk!ada tu

wierszyz zachowaniem jednakowej d!ugo(ci.

\begin{center}To jest tekst\\wy!rodkowany.\end{center}

To jest tekstwy(rodkowany.

Page 49: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.11. Otoczenia 37

2.11.3. Otoczenia quote, quotation i verse

Otoczenie quote przydaje si" do sk!adania cytatów oraz przyk!adów:

Je"eli chodzi o~d$ugo!& wierszy,to regu$' kciuka jest, "e:\begin{quote}Przeci#tnie wiersz nie powinienzawiera& wi#cej ni" 66 znaków.

Dlatego w~{\LaTeX}u standardowestrony maj' szerokie marginesy.\end{quote}Dlatego te" w~gazetach stosujesi# druk wielo$amowy.

Je#eli chodzi o d!ugo($ wierszy, to regu!%kciuka jest, #e:

Przeci"tnie wiersz nie powinienzawiera$ wi"cej ni# 66 znaków.Dlatego w LATEXu standardowestrony maj% szerokie marginesy.

Dlatego te# w gazetach stosuje si" druk wie-lo!amowy.

Istniej% ponadto dwa otoczenia o podobnym zastosowaniu: quotation orazverse. Pierwsze z nich przydaje si" do formatowania cytatów d!u#szych ni#jeden akapit. W przeciwie*stwie do otoczenia quote, wewn%trz quotationLATEX rozpoczyna poszczególne akapity od wci"cia akapitowego. Otoczenieverse s!u#y do sk!adania wierszy. Poszczególne linijki zwrotek nale#y ko*-czy$ instrukcj% \\, poszczególne za( zwrotki – oddziela$ pust% lini%.

Na pami#& znam tylko jeden angielskiwiersz. 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 allthe King’s men\\Couldn’t put Humpty together again.\end{verse}\end{flushleft}

Na pami"$ znam tylko jeden angielski wiersz.Ten o Humptym Dumptym.

Humpty Dumpty sat on a wall:Humpty Dumpty had a greatfall.

All the King’s horses and all theKing’s men

Couldn’t put Humpty togetheragain.

2.11.4. Streszczenie

Publikacje naukowe zaczynaj% si" zazwyczaj od streszczenia – przegl%dutego, co czytelnik napotka w dalszej cz"(ci. W LATEXu do wyró#nianiastreszcze* s!u#y otoczenie abstract. U#ywa si" go na ogó! w dokumentachklasy article.

\begin{abstract}Streszczenie streszczenia.\end{abstract}

Streszczenie streszczenia.

Page 50: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

38 Sk"adanie tekstu

2.11.5. Symulacja maszynopisu

Tekst zawarty mi"dzy \begin{verbatim} a \end{verbatim} jest przezLATEXa 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 ma-

szynowe (grotesk). Wszystkie znaki w tym kroju, w!%czaj%c spacj", maj%jednakow% szeroko($. Zako*czenie linii wewn%trz otoczenia verbatim pro-wadzi do rozpocz"cia nowego wiersza w wydruku, a ka!da spacja zamieniasi" na odst"p. Wewn%trz otoczenia verbatim nie s% wykonywane instrukcje.Wewn%trz akapitów imitacj" maszynopisu uzyskuje si" za pomoc% in-

strukcji:

\verb+tekst+

Znak + ogranicza tekst, który ma zosta$ wydrukowany dos!ownie. Zamiast +mo#na u#y$ innego znaku, byle to nie by!a litera, gwiazdka, spacja ani #adenznak, który wyst"puje w tek&cie. Instrukcj" \verb oraz otoczenie verbatimwykorzystujemy cz"sto w tej ksi%#ce do sk!adania przyk!adów LATEXowych.

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}

Rozwa#my przyk!ad. . .

{ for (i=1;i<=NF;i++) {l[$i]++; }END {for (i in l) {print l[i]}

Otoczenie verbatim oraz instrukcja \verb maj% tak#e wersje „z gwiazdk%”,w których spacja z pliku &ród!owego jest zamieniana na znak ). Jest tojedyna ró#nica dzia!ania w porównaniu do wersji bezgwiazdkowych:

\begin{verbatim*}gwiazdkowa wersjaotoczenia verbatimwyró"nia spacjew tek!cie\end{verbatim*}

gwiazdkowa)wersjaotoczenia)verbatimwyró"nia)spacjew)tek!cie

Otoczenia verbatim ani instrukcji \verb nie wolno u#ywa$ wewn%trz argu-mentów innych instrukcji (wi"cej na ten temat w punkcie 2.13).

2.11.6. Otoczenie tabular

Do sk!adania tabel s!u#y otoczenie tabular. LATEX automatycznie ustalaszeroko($ poszczególnych rubryk tabeli. Otoczenie ma jeden parametr obo-wi%zkowy, spec-kolumn, który okre(la liczb" kolumn tabeli oraz sposób ichjustowania:

\begin{tabular}{spec-kolumn}

Page 51: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.11. Otoczenia 39

Dla ka#dej kolumny nale#y w argumencie wstawi$ jedn% z liter: l, r lubc, okre(laj%c w ten sposób justowania zawarto(ci kolumny. Dosuni"cie za-warto(ci kolumny do lewej oznaczamy liter% l, do prawej – znakiem r,a wy(rodkowanie – znakiem c. Zapisu p{szer-kolumn} mo#na u#y$ do za-znaczenia, #e kolumna ma mie$ szeroko($ szer-kolumn. Wewn%trz takiejkolumny tekst jest sk!adany w prostok%t o zadanej szeroko(ci, z wyrównywa-niem obu marginesów. Znak | instruuje LATEXa, by kolumny tabeli rozdzieli!pionow% kresk%.Wewn%trz otoczenia tabular poszczególne wiersze oddzielamy instruk-

cj% \\, a rubryki w wierszu – znakiem &. Instrukcja \hline wstawia poziom%kresk" na ca!% szeroko($ tabeli.

\begin{tabular}{|r|l|} \hline7C0 & heksadecymalnie \\3700 & oktalnie \\11111000000 & binarnie \\\hline \hline1984 & dziesi#tnie \\ \hline\end{tabular}

7C0 heksadecymalnie3700 oktalnie

11111000000 binarnie1984 dziesi"tnie

\begin{tabular}{|p{4.7cm}|} \hlineTen akapit jest wewn'trz pude$ka.Mamy nadziej#, "e uzyskanyefekt si# podoba.\\ \hline\end{tabular}

Ten akapit jest wewn%trz pu-de!ka. Mamy nadziej", #e uzy-skany efekt si" podoba.

Instrukcj% @{...} okre(lamy odst"p mi"dzy kolumnami. Zast"puje ona do-my(lny odst"p mi"dzykolumnowy tre(ci% umieszczon% mi"dzy { a }. Stosujesi" 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 ostatniejkolumnie tabeli, co ilustruje poni#szy przyk!ad:

\begin{tabular}{@{} l @{}} \hlinebez odst#pów na brzegach\\ \hline\end{tabular}

bez odst"pów na brzegach

\begin{tabular}{l} \hlineodst#py na brzegach tabeli\\ \hline\end{tabular}

odst"py na brzegach tabeli

W LATEXu nie ma mechanizmu pozwalaj%cego wyrównywa$ zestawienia licz-bowe wed!ug cyfr znacz%cych11, ale efekt ten mo#na uzyska$, sk!adaj%c liczb"w dwóch kolumnach: cz"($ ca!kowit% w kolumnie wyrównywanej do prawegobrzegu i cz"($ dziesi"tn% w kolumnie wyrównanej do lewego. Za pomoc% in-strukcji @{,} zast"pujemy przecinkiem odst"p wstawiany normalnie mi"dzykolumnami. Trzeba jednak pami"ta$ o konieczno(ci wpisywania znaku & za-miast przecinków w liczbach. Rubryki rozci%gaj%ce si" na kilka kolumn, jaknag!ówek w poni#szym przyk!adzie, tworzymy poleceniem \multicolumn:11Do wyrównywania cyfr mo#na skorzysta% z pakietu dcolumn z zestawu „tools”.

Page 52: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

40 Sk"adanie tekstu

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

Wyra#enie Warto($" 3,1416"! 36,46("!)! 80662,7

Polecenie \cline{m-n} wstawia poziom% kresk" ci%gn%c% si" od kolumym do kolumny n:

\begin{tabular}{|c|c|c|c|l|}\hline1 &\multicolumn{4}{c|}{0}\\\cline{2-5}1 & 2 & 3 & 4 &5 \\ \cline{2-4}1 & 2 & 3 & 4 &5 \\ \hline\end{tabular}

1 01 2 3 4 51 2 3 4 5

W punkcie 6.8 opisano, jak sobie radzi$ ze sk!adem bardziej skompliko-wanych tabel.

2.12. Wstawki

Wspó!czesne publikacje zawieraj% du#o rysunków i tabel. Elementów tychnie nale#y dzieli$mi"dzy strony i dlatego wymagaj% specjalnego potraktowa-nia. W sytuacji gdy nie mieszcz% si" one na bie#%cej stronie, na ogó! przenosisi" je i wstawia na pocz%tku strony nast"pnej. W wypadku przeniesienia ry-sunku lub tabeli miejsce pozosta!e na stronie wype!niane jest tekstem. Tegotypu elementy b"dziemy nazywa$ wstawkami .Aby w pe!ni skorzysta$ z LATEXowego mechanizmu wstawek, trzeba

cho$by powierzchownie rozumie$, jak LATEX manipuluje takimi obiektami.W przeciwnym razie wstawki mog% si" sta$ &ród!em irytacji, gdy# LATEXb"dzie je umieszcza! wsz"dzie, tylko nie w miejscach, w którym by(my sobietego #yczyli.Do tworzenia wstawek mamy w LATEXu dwa otoczenia. Otoczenie figure

s!u#y do tworzenia rysunków, a otoczenie table – do tabel. Oba maj% jedenparametr opcjonalny:

\begin{figure}[miejsce] albo \begin{table}[miejsce]

Argument miejsce okre(la, gdzie na stronie mo#na umie(ci$ wstawk". Po-winna to by$ sekwencja od jednego do pi"ciu znaków: h, t, b, p oraz !.Ka#dy znak okre(la dopuszczalny sposób umieszczenia wstawki; szczegó!oweinformacje na ten temat zestawiono w tabeli 2.3.Przyk!adowa tabela mo#e si" zaczyna$ tak:

\begin{table}[!hbp]

Page 53: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.12. Wstawki 41

Tabela 2.3: Opcjonalny argument otocze* table i figure

Znak Dopuszczalne miejsce umieszczenia wstawkih bez przemieszczenia, dok!adnie w miejscu u#yciat na górze stronyb na dole stronyp na stronie zawieraj%cej wy!%cznie wstawki! ignoruj%c wi"kszo($ parametrów kontroluj%cych umieszcza-

nie wstaweka, przekroczenie warto(ci, które mog% nie po-zwoli$ na umieszczanie nast"pnych wstawek na stronie.

aS" to parametry takie jak np. maksymalna dopuszczalna liczba wstawek na stronie

Argument [!hbp] oznacza, #e tabel" mo#na umie(ci$ w miejscu, w którympojawia si" w pliku &ród!owym (h), albo na dole strony (b), albo wreszcie naosobnej stronie zawieraj%cej wy!%cznie wstawki (p). Ponadto „!” oznacza,#e LATEX ma pomin%$ wi"kszo($ parametrów steruj%cych umieszczaniemwstawek. Je#eli otoczenia table u#yto bez opcjonalnego argumentu, to jegodomy(lnymi warto(ciami s% [tbp].LATEX umieszcza ka#d% wstawk" zgodnie ze specyfikacj% autora podan%

w argumencie miejsce. Je#eli nie mo#e umie(ci$ wstawki na bie#%cej stronie,to do!%cza j% albo do kolejki rysunków, albo do kolejki tabel12. Na pocz%tkusk!adania nowej strony LATEX sprawdza, czy mo#na j% zape!ni$ wstawkamiczekaj%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 miejsce (zawyj%tkiem 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%dekwstawek ka#dego typu. Mo#e si" zdarzy$, #e pojedynczy rysunek, któregoz jakich( wzgl"dów nie mo#na poprawnie wstawi$, „ci%gnie” za sob% wszyst-kie pó&niejsze rysunki, nawet a# na koniec dokumentu. Dlatego:

Je#eli LATEX nie umieszcza wstawek zgodnie z oczekiwaniami, toz regu!y która( z nich blokuje ca!% kolejk", a by$ mo#e nawetwszystkie kolejki wstawek.

Wyja(niwszy ów cokolwiek zawi!y problem umieszczania wstawek, przejd&-my do omówienia kilku pozosta!ych spraw z nimi zwi%zanych. Poleceniem:

\caption{tekst}

wstawiamy tytu! rysunku lub tabeli. Kolejny numer rysunku b%d& tabeli orazs!owo „Rysunek” b%d& „Tabela” (lub „Tablica” – zale#nie od u#ywanegopakietu polonizacyjnego) zostan% wstawione automatycznie.12S" to kolejki typu fifo (pierwsze wesz'o – pierwsze wyjdzie).

Page 54: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

42 Sk"adanie tekstu

Nast"puj%ce instrukcje:

\listoffigures oraz \listoftables

dzia!aj% analogicznie do instrukcji \tableofcontents, wstawiaj%c do do-kumentu, odpowiednio, spis rysunków oraz spis tabel. Poszczególnymi po-zycjami tych spisów b"d% tytu!y rysunków b%d& tabel b"d%ce argumentamiinstrukcji \caption. Je#eli tytu! jest d!ugi, to do spisu mo#na przes!a$ jegowersj" skrócon%, podan% jako opcjonalny argument instrukcji \caption:\caption[Short]{LLLLLoooooonnnnnggggg}

Za pomoc% instrukcji \label oraz \ref mo#na tworzy$ odsy!acze do tabeli rysunków.Polecenie \label nale#y umieszcza$ bezpo&rednio za instrukcj% \caption.

Dobrym pomys!em jest te# umieszczenie jej wewn%trz argumentu instruk-cji \caption (na przyk!ad na ko*cu tytu!u rysunku czy tabeli). Niektórzyu#ytkownicy b!"dnie s%dz%, #e wystarczy umie(ci$ instrukcj" \label we-wn%trz otoczenia figure czy table, gdy tymczasem umieszczenie jej przedpoleceniem \caption prowadzi do b!"dów w numerach odsy!aczy.W poni#szym przyk!adzie wstawka zawiera prostok%t o wymiarach 5 cm

$ 5 cm. Ten sposób post"powania mo#na wykorzysta$ w celu zarezerwo-wania miejsca na rysunki, które zostan% wklejone pó&niej – do gotowego,wydrukowanego dokumentu.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}

Zak!adaj%c w tym przyk!adzie, #e kolejka rysunków jest pusta, LATEX naj-pierw spróbuje umie(ci$ rysunek bez przesuwania go dok%dkolwiek (h). Je#elioka#e si" to niemo#liwe, to spróbuje go umie(ci$ na górze strony (t). Je#elii to oka#e si" niewykonalne, to b"dzie si" stara! umie(ci$ rysunek na stro-nie zawieraj%cej wy!%cznie wstawki (p). Je#eli w kolejkach rysunków i tabelnie 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, jakbyw!a(nie pojawi! si" w tek(cie.Czasami mo#e wyst%pi$ konieczno($ wykonania instrukcji:

\clearpage albo nawet \cleardoublepage

W wyniku jej zadzia!ania LATEX umieszcza w dokumencie wszystkie ocze-kuj%ce w kolejkach wstawki, a nast"pnie rozpoczyna sk!ad od nowej strony.W wypadku u#ycia instrukcji \cleardoublepage LATEX rozpoczyna sk!adod strony nieparzystej (por. przypis 2 na str. 18).W dalszej cz"(ci ksi%#ki przedstawimy, jak mo#na do dokumentu do!%-

cza$ rysunki w formacie Postscript (por. 4.1).

Page 55: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

2.13. Ochrona polece( kruchych 43

2.13. Ochrona polece( kruchych

Niektórych polece* nie mo#na umieszcza$ wewn%trz argumentów innychpolece*, na przyk!ad polecenie \footnote albo \verb nie mo#e si" pojawi$w argumencie polecenia \section czy \caption. Kompilacja dokumentuzako*czy si" w takiej sytuacji b!"dem, a takie polecenia nazywamy kruchymi(ang. fragile command).Polecenia kruche wymagaj% „ochrony”. Mo#emy je chroni$, umieszcza-

j%c przed nimi polecenie \protect. Polecenie \protect odnosi si" wy!%czniedo instrukcji znajduj%cej si" tu# za nim, nie obejmuje swym dzia!aniem na-wet argumentów tej instrukcji. W wi"kszo(ci wypadków nadmiarowe u#ycie\protect nie powoduje szkód.

\section{Jestem przezorny%\protect\footnote{i~chroni# przypisy}}

Uwaga: wiele osób lubi dodawa$ przypisy do (ródtytu!ów. Naszym zdaniemjest 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 czywiesz, jak usun%$ numer przypisu ze spisu tre(ci?

2.14. Listy

Do pisania listów mo#na u#y$ klasy letter. Struktura pliku &ród!owego tejklasy ró#ni si" od dokumentów z klasy article czy book. Klas" letter za-projektowano tak, by bezproblemowo da!o si" napisa$ zarówno pojedynczylist do przys!owiowej „cioci”, jak te# setki listów do ró#nych osób (korespon-dencja seryjna).Je(li imi", nazwisko i adres nadawcy maj% by$ identyczne we wszystkich

listach, to deklarujemy je poleceniem:

\address{imi$\\nazwisko\\ adres. . .}

U#ycie instrukcji \\ w adresie powoduje z!amanie wiersza.Polecenie \signature s!u#y do zadeklarowania podpisu pod listem. We-

wn%trz argumentu tego polecenia instrukcja \\ s!u#y do rozpocz"cia nowegowiersza, przyk!adowo:

Dyr. E.~K.~Tor,\\ Przewodnicz'cyZast#pcy Dyr. E. K. Tor,

Przewodnicz%cy Zast"pcy

Do nag!ówka listu automatycznie wstawiana jest bie#%ca data. Aby wstawi$inn%, nale#y zastosowa$ deklaracj" \date:

\date{16 Czerwca 1963~r.}

Page 56: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

44 Sk"adanie tekstu

Deklaracje \address, \signature oraz \date umieszcza si" zwykle w pre-ambule, chocia# mog% one wyst%pi$ równie# w cz"(ci zasadniczej pliku&ród!owego.Tre($ listu powinni(my wpisa$ wewn%trz otoczenia letter. Otoczenie

to ma jeden argument, którym jest adres osoby, do której piszemy. We-wn%trz otoczenia letter mo#na stosowa$ kilka prostych polece* s!u#%cychdo umieszczania w odpowiednim miejscu elementów typowego listu13. Doz!o#enia nag!ówka listu u#ywamy polecenia \opening, a do zako*czenia –\closing. Ponadto s% polecenia: \ps do wstawienia post scriptum oraz \ccdo zdefiniowania wykazu osób, które maj% otrzyma$ kopi" listu. Oto pe!nyprzyk!ad listu:%& --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 podaniezosta$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}

13Elementy nietypowe zawsze mo#na umie$ci%, korzystaj"c z innych polece( poznanychw tym rozdziale.

Page 57: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Rozdzia# 3

Wyra'enia matematyczne

Nareszcie! W tym rozdziale poznasz najlepsz& stron! TEXa, czyli sk#ad wzorów ma-tematycznych. Ostrzegamy jednak, %e przedstawimy tu jedynie absolutne podstawy.Chocia% wystarczaj& one wi!kszo"ci u%ytkowników, to nie za#amuj r&k, je"li nie po-radzisz sobie z jakim" skomplikowanym wzorem, lecz zapoznaj si! z mo%liwo"ciamiAMS-LATEXa lub innego wyspecjalizowanego pakietu1.

3.1. Wst!p

Do sk!adu wyra#e* matematycznych mamy w LATEXu specjalny tryb mate-matyczny. Wzory wpisuje si" mi"dzy znakami $ i $, mi"dzy parami znaków\( i \) albo mi"dzy \begin{math} oraz \end{math}.

$a$ do kwadratu plus~$b$do kwadratu równa si#~$c$do kwadratu. Albo, stosuj'cbardziej matematycznepodej!cie: $c^{2}=a^{2}+b^{2}$.

a do kwadratu plus b do kwadratu równasi" c do kwadratu. Albo, stosuj%c bardziejmatematyczne podej(cie: c2 = a2 + b2.

{\TeX} nale"y wymawia& jako$\tau\epsilon\chi$.\\[6pt]100~m$^{3}$ wody. \\[6pt]To p$ynie z~mojego~$\heartsuit$.

TEX nale#y wymawia$ jako #$%.

100 m3 wody.

To p!ynie z mojego %.

Sk!adaj%c wi"ksze wzory, powinni(my je eksponowa$, to znaczy wstawia$mi"dzy akapitami, w osobnym wierszu. Takie wzory umieszcza si" albomi"dzy parami znaków \[ i \], albo wewn%trz otoczenia displaymath. Taostatnia konstrukcja dotyczy tworzenia wzorów bez numeracji:1Pod egid" Ameryka(skiego Towarzystwa Matematycznego (American Mathematical

Society) powsta'o istotne rozszerzenie LATEXa. Wiele przyk'adów w tym rozdziale korzystaz tego rozszerzenia, które jest do'"czane do wszystkich wspó'czesnych dystrybucji TEXa.Je$li w twojej go nie ma, to znajdziesz je pod adresem CTAN://macros/latex/packages/amslatex.

Page 58: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

46 Wyra%enia matematyczne

$a$ do kwadratu plus~$b$do kwadratu równa si#~$c$do kwadratu. Albo,bardziej matematycznie:\begin{displaymath}c^{2}=a^{2}+b^{2}\end{displaymath}Pierwszy wiersz po wzorze.

a do kwadratu plus b do kwadratu równa si" cdo kwadratu. Albo, bardziej matematycznie:

c2 = a2 + b2

Pierwszy wiersz po wzorze.

Do uzyskiwania wzorów numerowanych stosujemy otoczenie equation. In-strukcji \label mo#emy wówczas u#y$ do zapami"tania numeru wzoru,a polecenia \ref albo pochodz%cego z pakietu amsmath \eqref – do przy-wo!ania w dokumencie tego numeru:

\begin{equation}\epsilon > 0 \label{eq:eps}\end{equation}Ze wzoru (\ref{eq:eps})otrzymujemy \ldots

$ > 0 (3.1)Ze wzoru (3.1) otrzymujemy . . .

Zwró$my uwag" na ró#nic" w wygl%dzie wzorów z!o#onych wewn%trz akapitui w wersji eksponowanej:

$\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}= \frac{\pi^2}{6}$

limn"#!nk=1

1k2 =

!2

6

\begin{displaymath}\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}= \frac{\pi^2}{6}\end{displaymath}

limn"#

n"

k=1

1k2="2

6

Mi"dzy trybem matematycznym LATEXa a trybem tekstowym istniej% znaczneró#nice. Na przyk!ad, w trybie matematycznym:1. LATEX ignoruje prawie wszystkie odst"py oraz znaki ko*ca linii; wszyst-kie odst"py we wzorach wynikaj% b%d& z kontekstu, b%d& z u#ycia spe-cjalnych polece*, takich jak: \, lub \quad (por. punkt 6.3.3, str. 110).

2. Puste linie s% niedozwolone. Nie ma czego( takiego, jak podzia! wzorówna akapity.

3. Litery we wzorach s!u#% do oznaczania nazw zmiennych; zmiennesk!adamy inaczej ni# zwyk!y tekst. Je#eli cz"(ci% wzoru ma by$ zwyk!ytekst, to nale#y si" pos!u#y$ instrukcj% \textrm{...}.

\begin{equation}\forall x \in \mathbf{R}\colon\qquad x^{2} \geq 0\end{equation}

&x ' R : x2 ( 0 (3.2)

Page 59: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

3.2. Grupowanie 47

\begin{equation}x^{2} \geq 0\qquad\textrm{dla ka"dego }x\in\mathbf{R}\end{equation}

x2 ( 0 dla ka#dego x ' R (3.3)

Matematycy potrafi% by$ niezwykle staranni w doborze symboli. Na przy-k!ad we wzorach, w których wyst"puj% oznaczenia zbiorów (jak powy#szy),cz"sto stosuje si" krój, w którym te oznaczenia przypominaj% odmian"„grub%”, pisan% kred% na tablicy (A,B,C . . . ). Symbole takie wstawiamy dowzoru poleceniem \mathbb z pakietu amsfonts lub amssymb. Ostatni przy-k!ad wygl%da wtedy nast"puj%co:

\begin{displaymath}x^{2} \geq 0\qquad\textrm{dla ka"dego }x\in\mathbb{R}\end{displaymath}

x2 ( 0 dla ka#dego x ' R

3.2. Grupowanie

Argumentem wi"kszo(ci instrukcji do sk!adu matematyki jest tylko jedenznak – ten, który nast"puje tu# po instrukcji. Je#eli polecenie ma dotyczy$grupy znaków, to nale#y je umie(ci$ wewn%trz pary nawiasów klamrowych{...}:

\begin{equation}a^x+y \neq a^{x+y}\end{equation}

ax + y )= ax+y (3.4)

3.3. Cz!"ci sk#adowe wyra'e( matematycznych

W tym podrozdziale opiszemy wa#niejsze instrukcje do sk!adu wyra#e*.Zestawienie wszystkich dost"pnych symboli i znaków znajduje si" w punk-cie 3.10 na stronie 58.Ma"e litery alfabetu greckiego wprowadzamy, u#ywaj%c instrukcji

typu: \alpha, \beta, \gamma itd., a du%e2: \Delta, \Gamma itd.:

$\lambda,\xi,\pi,\mu,\Phi,\Omega$&, ',", µ,4,5

Indeksy górne i wyk"adniki otrzymujemy za pomoc% znaku ^, a dolne– stosuj%c podkre(lenie _:2Obecnie brakuje du#ej litery Alpha i wygl"da ona identycznie jak pierwsza litera

A alfabetu 'aci(skiego. Sytuacja ta ma si! zmieni% po wprowadzeniu nowego sposobukodowania symboli matematycznych.

Page 60: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

48 Wyra%enia matematyczne

$a_{1} x^{2} e^{-\alpha t}a^{3}_{ij} e^{x^2} \neq {e^x}^2$ a1x2e$"ta3ije

x2 )= ex2

Pierwiastek kwadratowy sk!adamy poleceniem \sqrt. Wielko($ znakupierwiastka jest przez LATEXa ustalana automatycznie. Zapis samego znakupierwiastka umo#liwia instrukcja \surd3, natomiast pierwiastek stopnia nsk!adamy konstrukcj% \sqrt[n]:

$\sqrt{x} \sqrt{ x^{2}+\sqrt{y}}\sqrt[3]{2} \surd[x^2 + y^2]$

*x#x2 +*y 3*2*[x2 + y2]

Polecenia \overline oraz \underline umieszczaj% nad i pod wyra#eniamipoziome kreski:

$\overline{m+n} \underline{x+y}$m+ nx+ y

Instrukcje \overbrace oraz \underbrace umieszczaj% nad i pod wyra#e-niami poziome klamry:

$\underbrace{ a+b+\cdots+z }_{26}$a+ b+ · · ·+ z$ %& '

26

Akcenty matematyczne, takie jak daszki czy tyldy nad zmiennymi, umiesz-czamy we wzorze poleceniami z tabeli 3.1. Szerokie daszki i tyldy, obejmuj%cewiele symboli, wstawiamy za pomoc% instrukcji \widetilde oraz \widehat.Znakiem ’ oznaczamy symbol „prim”:

\begin{displaymath}\hat y=x^{2}\quad y’=2x’’’\end{displaymath}

y = x2 y% = 2x%%%

Wektory oznacza si" niekiedy akcentem w postaci strza!ki nad nazw%zmiennej. S!u#y do tego polecenie \vec. Natomiast do oznaczenia wek-tora od punktu A do punktu B korzystamy z polece* \overrightarroworaz \overleftarrow:

\begin{displaymath}\vec a\quad\overrightarrow{AB}\end{displaymath}

(a##+AB

Nazwy funkcji typu „logarytm” nale#y sk!ada$ odmian% prost%, nie za(kursyw%, zarezerwowan% dla nazw zmiennych. Oto lista polece* LATEXas!u#%cych do sk!adu rozmaitych funkcji matematycznych:3Taki zapis jest wykorzystywany raczej w literaturze anglosaskiej.

Page 61: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

3.3. Cz!$ci sk"adowe wyra%e( matematycznych 49

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

\[\lim_{x \rightarrow 0}\frac{\sin x}{x}=1\]

limx"0

sinxx= 1

W Polsce nazwy niektórych funkcji trygonometrycznych ró#ni% si" odanglosaskich. Pakiet polski – po do!%czeniu do dokumentu – zmienia na #y-czenie standardowe funkcje LATEXa na zgodne ze zwyczajami polskimi. Otoangielskie orygina!y: tan, coth, tanh, arccos, arcsin i ich polskie odpowied-niki: tg, ctgh, tgh, arc cos, arc sin.Dla funkcji typu modulo istniej% dwie instrukcje: \bmod dla binarnego opera-tora „a mod b” oraz \pmod do sk!adu takich wyra#e* jak „x , a (mod b)”.

$a\bmod b$\\$x\equiv a \pmod{b}$ a mod b

x , a (mod b)

U"amki pi!trowe sk!ada si" poleceniem \frac{...}{...}. Do u!amkówzwyk!ych czasami lepiej stosowa$ kresk" uko(n%, zw!aszcza w wypadkuniewielkich porcji materia!u u!amkowego, jak „1/2”:

$1\frac{1}{2}$~godziny\begin{displaymath}\frac{ x^{2} }{ k+1 }\quadx^{ \frac{2}{k+1} }\quad x^{ 1/2 }\end{displaymath}

1 12 godziny

x2

k + 1x

2k+1 x1/2

Do sk!adu dwumianów lub podobnych konstrukcji mo#emy u#y$ polecenia{... \choose ...} albo {... \atop ...}. Instrukcja \atop daje efekttaki jak \choose, tyle #e bez nawiasów:

\begin{displaymath}{n \choose k}\qquad {x \atop y+2}\end{displaymath}

(n

k

)x

y + 2

W pakiecie amsmath do sk!adu dwumianu Newtona dost"pne jest pole-cenie \binom:

\begin{displaymath}\binom{n}{k}\qquad\mathrm{C}_n^k\end{displaymath}

(n

k

)Ckn

Page 62: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

50 Wyra%enia matematyczne

Do uzyskiwania symboli relacji binarnych mo#e si" przyda$ instrukcja\stackrel. Sk!ada ona swój pierwszy argument czcionk% pomniejszon%,jaka stosowana jest do indeksów, i umieszcza go nad drugim argumentem,z!o#onym czcionk% normalnej wielko(ci:

\begin{displaymath}\int f_N(x) \stackrel{!}{=} 1\end{displaymath}

*fN (x)

!= 1

Znak ca"ki sk!adamy poleceniem \int, znak sumowania instrukcj% \sum,za( operator iloczynu za pomoc% instrukcji \prod. Górne granice ca!kowa-nia i sumowania okre(lamy za pomoc% ^, a dolne – znakiem _, czyli podobniejak w wypadku indeksów górnych i dolnych4:

\begin{displaymath}\sum_{i=1}^{n} \quad\int_{0}^{\frac{\pi}{2}}\qquad\prod_\epsilon\end{displaymath}

n"

i=1

* !2

0

+

#

Pakiet amsmath zawiera dwa dodatkowe narz"dzia do sterowania po!o#e-niem indeksów w z!o#onych wyra#eniach: instrukcj" \substack i otoczeniesubarray:

\begin{displaymath}\sum_{\substack{0<i<n \\ 1<j<m}}P(i,j) =

\sum_{\begin{subarray}{l}i\in I\\1<j<m

\end{subarray}} Q(i,j)\end{displaymath}

"

0<i<n1<j<m

P (i, j) ="

i&I1<j<m

Q(i, j)

Do sk!adu nawiasów i innych ograniczników typu ( [ - . / mamy rozma-ito($ symboli. Nawiasy okr%g!e i kwadratowe wstawiamy bezpo(rednio z kla-wiatury. Do nawiasów klamrowych stosujemy \{ oraz \}. Wszystkie inneograniczniki wstawiamy, u#ywaj%c specjalnych polece*, np. \updownarrow.Zestawienie dost"pnych ograniczników znajduje si" w tabeli 3.7 na stro-nie 61.

\begin{displaymath}{a,b,c}\neq\{a,b,c\}\end{displaymath}

a, b, c )= {a, b, c}

Poprzedzenie otwieraj%cego ogranicznika poleceniem \left, a zamykaj%cegopoleceniem \right powoduje automatyczne ustalenie jego rozmiaru w zale#-no(ci od wielko(ci zawartego mi"dzy nimi wyra#enia. Uwaga: ka#de u#ycie4AMS-LATEX ma dodatkowo wielolinijkowe indeksy dolne i górne.

Page 63: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

3.4. Odst!py w trybie matematycznym 51

\left oraz ogranicznika wymaga nawiasu zamykaj%cego poprzedzonego po-leceniem \right. Gdy ogranicznik ma si" pojawi$ tylko po jednej stronie,wówczas po drugiej nale!y u#y$ konstrukcji z kropk%: \left. po lewej albo\right. po prawej:

\begin{displaymath}1 + \left( \frac{1}{ 1-x^{2} }\right) ^3\end{displaymath}

1 +(11# x2

)3

W pewnych sytuacjach trzeba samemu okre(li$ w!a(ciw% wielko($ ogranicz-nika. Do tego celu s!u#% instrukcje \big, \Big, \bigg oraz \Bigg, poprze-dzaj%ce odpowiedni ogranicznik5:

$\Big( (x+1) (x-1) \Big) ^{2}$\\$\big(\Big(\bigg(\Bigg($\quad$\big\}\Big\}\bigg\}\Bigg\}$\quad$\big\|\Big\|\bigg\|\Bigg\|$

,(x+ 1)(x# 1)

-2

.,(/0123444444444

44444

Wielokropek w wyra#eniach matematycznych wprowadzamy poleceniem\ldots. Kropki pojawiaj% si" wtedy na linii podstawowej, to znaczy najednakowej wysoko(ci z przecinkiem czy kropk%. Instrukcja \cdots wstawianatomiast inny rodzaj wielokropka, w którym kropki znajduj% si" w osiznaków +, #, =:

\begin{displaymath}x_{1},\ldots,x_{n} \qquadx_{1}+\cdots+x_{n}\end{displaymath}

x1, . . . , xn x1 + · · ·+ xn

S% jeszcze instrukcje \vdots oraz \ddots. Pierwsza z nich generuje wielo-kropek pionowy, a druga – sko(ny (zobacz przyk!ad w punkcie 3.5).

3.4. Odst!py w trybie matematycznym

Zdarzaj% si" sytuacje, kiedy wielko($ odst"pów wewn%trz wyra#e* mate-matycznych jest niepoprawna. Mo#na je skorygowa$ odpowiednimi instruk-cjami. Do wprowadzania niewielkich odst"pów s!u#y kilka polece*: \, wsta-wia odst"p równy 318 em

6 ( ), \: pozwala uzyska$ odst"p równy 418 em ( ) a \;– odst"p równy 518 em ( ). U#ycie instrukcji \) (spacja po znaku \) prowadzi

5Polecenia te nie dzia'aj" zgodnie z oczekiwaniami, gdy uprzednio zmieniono stopie(pisma, na przyk'ad u#yto opcji 11pt lub 12pt. W takiej sytuacji nale#y skorzysta%z pakietu exscale albo pakietu amsmath.6W programach komputerowych przyj!'o si! stosowanie jednostki em równej szeroko$ci

litery „M” w bie#"cym kroju pisma. Por. te# [20].

Page 64: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

52 Wyra%enia matematyczne

do utworzenia zwyk!ego odst"pu mi"dzywyrazowego; \quad – odst"pu rów-nego 1 em ( ), a \qquad – dwóm em ( ). Instrukcja \! wstawia odst"p„ujemny”, to znaczy zamiast zwi"ksza$, zmniejsza odst"p mi"dzy znakami.Wielko($ tego odst"pu wynosi # 318 em ( ):

\newcommand{\ud}{\mathrm{d}}\begin{displaymath}\int\!\!\!\int_{D} g(x,y)\, \ud x\, \ud y\end{displaymath}%zamiast\begin{displaymath}\int\int_{D} g(x,y)\ud x \ud y\end{displaymath}

**

Dg(x, y) dxdy

zamiast * *

Dg(x, y)dxdy

Zwró$my uwag", #e litera „d” w symbolu ró#niczki jest z!o#ona odmian%prost% pisma7.Dzi"ki zdefiniowanym w pakiecie AMS-LATEX8 takim instrukcjom jak:

\iint, \iiint, \iiiint oraz \idotsint powy#szy przyk!ad mo#na z!o#y$du#o pro(ciej:

\newcommand{\ud}{\mathrm{d}}\begin{displaymath}\iint_{D} \, \ud x \, \ud y\end{displaymath}

**

Ddxdy

Wi"cej wiadomo(ci na ten temat znajdziemy w pliku testmath.tex, któryjest cz"(ci% pakietu AMS-LATEX lub w rozdziale ósmym podr"cznika [6].

3.5. Wyrównywanie w pionie

Do sk!adania macierzy u#ywa si" otoczenia array. Dzia!a ono podobnie dowcze(niej omówionego otoczenia tabular. U#ywane w przyk!adzie polece-nie \\ oznacza przej(cie do nowego wiersza macierzy:

\begin{displaymath}\mathbf{X} =\left( \begin{array}{ccc}x_{11} & x_{12} & \ldots \\x_{21} & x_{22} & \ldots \\\vdots & \vdots & \ddots\end{array} \right)\end{displaymath}

X =

5

67x11 x12 . . .x21 x22 . . ....

.... . .

8

9:

7W Polsce do sk'adu litery „d” w ró#niczkach stosuje si! kursyw! matematyczn".8)ci$lej mówi"c, w pakiecie amsmath.

Page 65: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

3.5. Wyrównywanie w pionie 53

Otoczeniem array mo#emy si" pos!u#y$ tak#e do sk!adania wyra#e* zawie-raj%cych tylko jeden ogranicznik, po prawej lub po lewej stronie, stosuj%ckonstrukcj" z kropk% \right. lub \left.:

\begin{displaymath}y = \left\{ \begin{array}{ll}a & \textrm{je"eli $d>c$}\\b+x & \textrm{rano}\\l & \textrm{w~ci'gu dnia}\end{array} \right.\end{displaymath}

y =

;<

=

a je#eli d > cb+ x ranol w ci%gu dnia

Podobnie jak w wypadku otoczenia tabular, tak#e w otoczeniu arraymo#na wstawia$ pionowe i poziome kreski, np. oddzielaj%ce poszczególnerubryki macierzy:

\begin{displaymath}\left(\begin{array}{c|c}1 & 2 \\ \hline3 & 4\end{array}\right)\end{displaymath}

(1 23 4

)

Do sk!adu wyra#e* wielowierszowych mo#na u#y$ – zamiast otoczeniaequation – otocze* eqnarray lub eqnarray*. W otoczeniu eqnarray ka#dywiersz zawartego w nim wyra#enia otrzymuje osobny numer; w otoczeniueqnarray* wiersze nie s% numerowane. Otoczenia eqnarray oraz eqnarray*dzia!aj% jak trójkolumnowa tabela w uk!adzie {rcl}. W takiej tabeli w (rod-kowej kolumnie wstawiamy zwykle znaki równo(ci lub nierówno(ci. Polece-niem \\ !amiemy zawarto($ otoczenia na wiersze:

\begin{eqnarray}f(x) & = & \cos x \\f’(x) & = & -\sin x \\\int_{0}^{x} f(y)dy &= & \sin x\end{eqnarray}

f(x) = cosx (3.5)f %(x) = # sinx (3.6)

* x

0f(y)dy = sinx (3.7)

Zwró$my uwag", #e odst"p po obu stronach znaku równo(ci jest do($ du#y.Mo#na go zmniejszy$ poleceniem \setlength\arraycolsep{2pt}, którenajlepiej jest umie(ci$ w preambule dokumentu.LATEX nie dzieli automatycznie d!ugich wyra#e*, niemieszcz%cych si"

w jednym wierszu. Musimy to zrobi$ sami. Najcz"(ciej stosuje si" takiesposoby:

Page 66: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

54 Wyra%enia matematyczne

{\setlength\arraycolsep{2pt}\begin{eqnarray}\sin x & = & x -\frac{x^{3}}{3!}+\frac{x^{5}}{5!}-{}\nonumber\\& & {}-\frac{x^{7}}{7!}+{}\cdots\end{eqnarray}}

sinx = x# x3

3!+x5

5!#

# x7

7!+ · · · (3.8)

\begin{eqnarray}\lefteqn{ \cos x = 1-\frac{x^{2}}{2!} +{} }\nonumber\\& & {}+\frac{x^{4}}{4!}-\frac{x^{6}}{6!}+{}\cdots\end{eqnarray}

cosx = 1# x2

2!+

+x4

4!# x

6

6!+ · · · (3.9)

LATEX nie generuje numeru w tym wierszu wyra#enia, w którym pojawia si"polecenie \nonumber.Z!o#enie w ten sposób du#ych i skomplikowanych wyra#e* mo#e si"

jednak okaza$ do($ trudne. Lepiej wtedy u#y$ pakietu amsmath, w którymmamy do dyspozycji otoczenia align, flalign, gather, multline i split.

3.6. Fantomy

Fantomów nie mo#na zobaczy$, mimo to zajmuj% one w naszych umys!achtroch" miejsca. Nie inaczej jest w LATEXu, co pozwala robi$ z odst"pamiró#ne sztuczki.Podczas wyrównywania w pionie tekstu z indeksami ^ b%d& _ LATEX

bywa nadgorliwy. Polecenie \phantom pozwala rezerwowa$ miejsce na znaki,które nie maj% si" pojawi$ w ostatecznym wydruku. Naj!atwiej to zrozumie$,analizuj%c przyk!ad:

\begin{displaymath}{}^{12}_{\phantom{1}6}\textrm{C}\qquad \textrm{versus} \qquad{}^{12}_{6}\textrm{C}\end{displaymath}

126C versus 12

6 C

\begin{displaymath}\Gamma_{ij}^{\phantom{ij}k}\qquad \textrm{versus} \qquad\Gamma_{ij}^{k}\end{displaymath}

6 kij versus 6kij

Page 67: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

3.7. Stopie( pisma 55

3.7. Stopie( pisma

W trybie matematycznym stopie* pisma dobierany jest automatycznie, za-le#nie od kontekstu. Indeksy górne LATEX sk!ada na przyk!ad mniejsz%czcionk%. Gdy wewn%trz wyra#enia matematycznego zachodzi potrzeba z!o-#enia fragmentu normalnego tekstu, a u#yjemy polecenia \textrm, to niezadzia!a mechanizm prze!%czania stopni pisma. B"dzie tak, poniewa# pole-cenie \textrm powoduje tymczasowe przej(cie do trybu tekstowego.Zamiast \textrm mo#na u#y$ polecenia \mathrm, które zachowuje me-

chanizm zmiany stopnia pisma. Pami"tajmy jednak, #e dzia!a ono poprawniew zasadzie tylko dla pojedynczych wyrazów, poniewa# znaki odst"pów s%ignorowane. Ponadto nie dzia!a zgodnie z oczekiwaniami mechanizm akcen-towania9:

\begin{equation}2^{\textrm{nd rd}^\textrm{th}} \quad2^{\mathrm{nd rd}^\mathrm{th}}\end{equation}

2nd rdth2ndrd

th(3.10)

Czasami musimy wyra&nie okre(li$ stopie* pisma, jakim chcemy si" pos!u-#y$. W trybie matematycznym mo#emy do tego stosowa$ cztery nast"puj%cepolecenia:

\displaystyle (123), \textstyle (123), \scriptstyle (123) oraz\scriptscriptstyle (123).

Zmiana stylu dotyczy tak#e sposobu sk!adania indeksów górnych i dolnych,jak granice sumowania czy ca!kowania:

\begin{displaymath}\mathop{\mathrm{cov}}(X,Y)=\frac{\displaystyle\sum_{i=1}^n(x_i-\overline x)(y_i-\overline y)}{\displaystyle\biggl[\sum_{i=1}^n(x_i-\overline x)^2\sum_{i=1}^n(y_i-\overline y)^2\biggr]^{1/2}}\end{displaymath}

cov(X,Y ) =

n"

i=1

(xi # x)(yi # y)

> n"

i=1

(xi # x)2n"

i=1

(yi # y)2?1/2

Powy#szy przyk!ad ilustruje sytuacj", w której nale#y zastosowa$ pole-cenie \biggl b%d& \biggr, poniewa# nawiasy pochodz%ce z konstrukcji\left[ oraz \right] by!yby zbyt ma!e.

9W pakiecie AMS-LATEX polecenie \textrm zosta'o poprawione i umo#liwia automa-tyczn" zmian! stopnia pisma zale#nie od kontekstu. Pakiet ten nie tylko poprawia dzia'anie\textrm, ale te# definiuje instrukcj! \text do wstawiania fragmentów „normalnego” tekstuwewn"trz wzorów.

Page 68: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

56 Wyra%enia matematyczne

3.8. Twierdzenia, definicje, itp.

W pracach matematycznych wyst"puje potrzeba wyró#niania w sk!adziezapisu lematów, definicji, aksjomatów i tym podobnych elementów. Dozdefiniowania nowego typu elementu s!u#y polecenie:

\newtheorem{nazwa}[nazwa’]{tekst}[punkt]

Argument nazwa oznacza nazw" otoczenia, za( tekst jest napisem, któryzostanie wydrukowany; mo#e to by$ „Twierdzenie”, „Definicja” itp. Ar-gumenty w nawiasach kwadratowych s% nieobowi%zkowe. Za ich pomoc%okre(lamy sposób numerowania twierdze*. Opcjonalny argument nazwa’to nazwa elementu uprzednio zdefiniowanego poleceniem \newtheorem. Je-(li ten argument podano, to otoczenia nazwa oraz nazwa’ b"d% posiada!ywspóln% numeracj". Argument punkt okre(la sposób numerowania twier-dze*: je#eli umie(cimy tam na przyk!ad chapter, to elementy b"d% nume-rowane w obr"bie rozdzia!ów. Domy(lnie otoczenia definiowane za pomoc%\newtheorem s% numerowane w sposób ci%g!y w obr"bie ca!ego dokumentu.Po umieszczeniu instrukcji \newtheorem{nazwa}... w preambule mo#na

otoczenie nazwa stosowa$ w nast"puj%cy sposób:\begin{nazwa}[tekst]Oto moje interesuj%ce twierdzenie\end{nazwa}Instrukcja \newtheoremstyle{style} z pakietu amsthm pozwala okre(li$sposób formatowania twierdzenia przez wybór spo(ród trzech predefinio-wanych stylów: definition (wyt!uszczony tytu!, tre($ z!o#ona pismemprostym), plain (wyt!uszczony tytu!, tre($ zapisana kursyw%) oraz remark(tytu! zapisany kursyw%, tre($ – pismem prostym).Tyle teoria. Poni#sze przyk!ady usun%, miejmy nadziej", wszelkie w%t-

pliwo(ci i jednocze(nie u(wiadomi%, #e dzia!anie otoczenia \newtheoremnie!atwo zrozumie$:

% definicje w~preambule\newtheorem{twr}{Twierdzenie}\newtheorem{lem}[twr]{Lemat}% po \begin{document}\begin{lem} Pierszylemat\dots\label{lem:1} \end{lem}\begin{twr}[Dyzma]Przyjmuj'c w~lemacie~\ref{lem:1},"e $\epsilon=0$\dots \end{twr}\begin{lem}Trzeci lemat\end{lem}

Lemat 1. Pierszy lemat. . .

Twierdzenie 2 (Dyzma). Przyjmuj#c w le-macie 1, !e $ = 0. . .

Lemat 3. Trzeci lemat

Elementy Twierdzenie i Lemat u#ywaj% tego samego licznika. Argumentnieobowi%zkowy (wewn%trz nawiasów kwadratowych) s!u#y do umieszczeniakomentarza, w postaci nazwiska twórcy itp.

Page 69: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

3.9. Symbole pó"grube 57

\newtheorem{mur}{Murphy}[section]\begin{mur} Je"eli co! mo"nawykona& na dwa lub wi#cej sposobów,przy czym jeden z~nich prowadzi dokatastrofy, to sposób ten zostanieprzez kogo! wybrany.\end{mur}

Murphy 3.8.1. Je!eli co& mo!na wykona'na dwa lub wi$cej sposobów, przy czym jedenz nich prowadzi do katastrofy, to sposób tenzostanie przez kogo& wybrany.

Numeracja twierdzenia „Murphy’ego” jest tu powi%zana z numeracj% kolej-nych punktów. Mo#na te# do numerowania twierdze* stosowa$ inne jednostkipodzia!u dokumentu, jak rozdzia!y czy podpunkty.W pakiecie amsthm znajduje si" te# otoczenie proof do zapisywania

dowodów:

\begin{proof}Banalne. U"yj \[E=mc^2\]\end{proof}

Dowód. Banalne. U#yjE = mc2

Polecenie \qedhere pozwala wstawi$ symbol „ko*ca dowodu” w okre(lonymmiejscu zamiast domy(lnego umieszczania go w oddzielnym wierszu:

\begin{proof}Banalne. U"yj \[E=mc^2 \qedhere\]\end{proof}

Dowód. Banalne. U#yjE = mc2

3.9. Symbole pó#grube

Wstawianie symboli pó!grubych jest w LATEXu zadaniem do($ trudnym. By$mo#e jest tak celowo, poniewa# sk!adacze-amatorzy maj% sk!onno($ do ichnadu#ywania. Poleceniem \mathbf uzyskamy odmian" pó!grub%. Nie b"dzieto niestety pó!gruba kursywa, jak% zwykle sk!adane s% symbole matema-tyczne. Istnieje co prawda polecenie \boldmath, ale mo#na go u#y$ jedyniepoza trybem matematycznym. Jego dzia!anie obejmuje równie# symbole.

\begin{displaymath}\mu, M \qquad \mathbf{M} \qquad\mbox{\boldmath $\mu, M$}\end{displaymath}

µ,M M µ,M

Zauwa#my, #e przecinek te# zosta! z!o#ony w odmianie pó!grubej, co z regu!yjest niepo#%danym efektem.Pakiet amsbsy, do!%czany przez amsmath, czyni zadanie du#o !atwiej-

szym. W pakiecie tym dost"pne s% polecenia \boldsymbol oraz \pmb.Instrukcja pmb imituje znak pó!gruby przez wydrukowanie dwóch nak!ada-j%cych si" na siebie znaków, z!o#onych w odmianie normalnej. Mo#na tym

Page 70: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

58 Wyra%enia matematyczne

sposobem uzyska$ symbole pó!grube nawet wtedy, gdy w systemie brak od-powiednich fontów.

\begin{displaymath} \mu, M \quad\boldsymbol{\mu},\boldsymbol{M}\quad\pmb{\mu}, \pmb{M} \end{displaymath}

µ,M µ,M µµµ,MMM

3.10. Zestawienie symboli matematycznych

W poni#szych tabelach zestawiono wszystkie symbole standardowo dost"pnew trybie matematycznym. Symbole w tabelach 3.11–3.1510 s% dost"pne, je#elimamy zainstalowane dodatkowe fonty matematyczne (ams math fonts) i dodokumentu do!%czymy pakiet amssymb. W razie braku fontów lub pakietumo#na je odnale&$ w CTAN://macros/latex/required/amslatex. Ponadtodu#o bardziej kompletne zestawienie symboli matematycznych mo#na zna-le&$ w CTAN://info/symbols/comprehensive.

Tabela 3.1: Akcenty matematyczne

a \hat{a} a \check{a} a \tilde{a} a \acute{a}a \grave{a} a \dot{a} a \ddot{a} a \breve{a}a \bar{a} (a \vec{a} @A \widehat{A} AA \widetilde{A}

Tabela 3.2: Litery alfabetu greckiego

) \alpha * \theta o o + \upsilon, \beta - \vartheta " \pi . \phi/ \gamma 0 \iota 1 \varpi 2 \varphi3 \delta 4 \kappa 5 \rho % \chi$ \epsilon & \lambda 6 \varrho 7 \psi! \varepsilon µ \mu 8 \sigma 9 \omega: \zeta ; \nu < \varsigma= \eta ' \xi # \tau6 \Gamma 7 \Lambda 8 \Sigma 9 \Psi: \Delta ; \Xi < \Upsilon 5 \Omega= \Theta > \Pi 4 \Phi

W trybie matematycznym LATEX wstawia dodatkowy ma!y odst"p poprzecinku i (redniku, natomiast w wypadku dwukropka wstawia odst"p10Tabele przygotowano na podstawie pliku symbols.tex (David Carlisle), gruntowniezmodyfikowanego zgodnie z sugestiami Josefa Tkadleca.

Page 71: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

3.10. Zestawienie symboli matematycznych 59

Tabela 3.3: Symbole relacji

Odpowiednie symbole negacji mo#na utworzy$, poprzedzaj%c ka#de z poni#-szych polece* instrukcj% \not.

< < > > = =0 \leq lub \le ( \geq lub \ge , \equiv1 \ll 2 \gg .= \doteq3 \prec 4 \succ ! \sim5 \preceq 6 \succeq 7 \simeq8 \subset 9 \supset : \approx; \subseteq < \supseteq != \cong! \sqsubseta " \sqsupseta ! \Joina

= \sqsubseteq > \sqsupseteq >? \bowtie' \in ? \ni, \owns @ \proptoA \vdash B \dashv |= \models| \mid . \parallel C \perp@ \smile A \frown D \asymp: : /' \notin )= \neq lub \ne

a Dost!pne po do'"czeniu pakietu latexsym.

przed i za znakiem, bo traktuje dwukropek jako znak relacji. Oto ilustracjatej ró#nicy:

Nie $f:A\to B$,lecz $f\colon A\to B$ Nie f : A+ B, lecz f : A+ B

Je#eli przecinek oddziela cz"($ ca!kowit% liczby od cz"(ci dziesi"tnej, to wska-zane jest zakaza$ LATEX-owi wstawiania dodatkowego odst"pu, co zwyklerobi w trybie matematycznym. Wystarczy w tym celu otoczy$ przecinekpar% nawiasów klamrowych. Porównajmy:

Zamiast $22,115$ lepiej $22{,}115$Zamiast 22, 115 lepiej 22,115

Znaki mniejszy-lub-równy i wi"kszy-lub-równy maj% kszta!t ró#ny od stoso-wanego w krajach anglosaskich. Po do!%czeniu pakietu polski standardowew LATEXu polecenia \leq oraz \geq generuj% polskie wersje tych relacji, toznaczy 0 i ( zamiast E i F.

Page 72: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

60 Wyra%enia matematyczne

Tabela 3.4: Symbole operacji dwuargumentowych

+ + # -± \pm G \mp ? \triangleleft· \cdot ÷ \div > \triangleright$ \times \ \setminus B \starH \cup I \cap J \astK \sqcup L \sqcap " \circM \vee, \lor N \wedge, \land • \bulletO \oplus P \ominus Q \diamondR \odot S \oslash T \uplusU \otimes V \bigcirc W \amalgX \bigtriangleup Y \bigtriangledown † \dagger" \lhda # \rhda ‡ \ddagger$ \unlhda % \unrhda Z \wr

Tabela 3.5: Symbole zmiennej wielko(ci!\sum

B\bigcup

C\bigvee

D\bigoplus

E\prod

F\bigcap

G\bigwedge

H\bigotimes

I\coprod

J\bigsqcup

K\bigodotL

\intM\oint

N\biguplus

Tabela 3.6: Strza!ki

[ \leftarrow lub \gets [# \longleftarrow \ \uparrow+ \rightarrow lub \to #+ \longrightarrow ] \downarrow^ \leftrightarrow [+ \longleftrightarrow / \updownarrow_ \Leftarrow _= \Longleftarrow ` \Uparrowa \Rightarrow =a \Longrightarrow b \Downarrowc \Leftrightarrow _a \Longleftrightarrow d \Updownarrowe+ \mapsto e#+ \longmapsto f \nearrow[C \hookleftarrow D+ \hookrightarrow g \searrowE \leftharpoonup F \rightharpoonup h \swarrowG \leftharpoondown H \rightharpoondown i \nwarrow# \rightleftharpoons _a \iff & \leadstoa

a Dost!pne po do'"czeniu pakietu latexsym.

Page 73: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

3.10. Zestawienie symboli matematycznych 61

Tabela 3.7: Ograniczniki

( ( ) ) \ \uparrow ` \Uparrow[ [ lub \lbrack j \rangle ] \downarrow b \Downarrow{ \{ lub \lbrace - \langle / \updownarrow d \Updownarrow] ] lub \rbrack k \rfloor | | lub \vert . \| lub \Vert} \} lub \rbrace l \lfloor m \lceil n \rceil/ / \ \backslash

Tabela 3.8: Du#e ograniczniki;= \lgroup

OP \rgroup

;P \lmoustache

O= \rmoustache

QQ \arrowvertRR \Arrowvert

SSSS \bracevert

Tabela 3.9: Ró#ne symbole

. . . \dots · · · \cdots... \vdots

. . . \ddots! \hbar ı \imath I \jmath J \ello \Re p \Im q \aleph K \wp& \forall r \exists " \mhoa L \partial! ’ s \prime t \emptyset u \inftyv \nabla X \triangle ' \Boxa ( \Diamonda

C \bot w \top $ \angle *\surd

x \diamondsuit % \heartsuit y \clubsuit z \spadesuit¬ \neg lub \lnot M \flat N \natural O \sharp

a Dost!pne po do'"czeniu pakietu latexsym.

Tabela 3.10: Symbole niematematyczne

† \dag § \S © \copyright ‡ \ddag ¶ \P £ \pounds

Polecenia te s" dost!pne równie# w trybie tekstowym.

Tabela 3.11: Ograniczniki (pakiet AMS)

% \ulcorner & \urcorner ' \llcorner ( \lrcorner

Tabela 3.12: Symbole Greckie i Hebrajskie (pakiet AMS)

# \digamma $ \varkappa % \beth & \daleth ' \gimel

Page 74: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

62 Wyra%enia matematyczne

Tabela 3.13: Symbole relacji (pakiet AMS)

( \lessdot ) \gtrdot ) \doteqdot lub \Doteq* \leqslant + \geqslant , \risingdotseq- \eqslantless . \eqslantgtr / \fallingdotseq0 \leqq 1 \geqq 2 \eqcirc3 \lll lub \llless 4 \ggg lub \gggtr 5 \circeq6 \lesssim 7 \gtrsim 8 \triangleq9 \lessapprox : \gtrapprox ; \bumpeq< \lessgtr = \gtrless > \Bumpeq? \lesseqgtr @ \gtreqless * \thicksimA \lesseqqgtr B \gtreqqless + \thickapproxC \preccurlyeq D \succcurlyeq , \approxeqE \curlyeqprec F \curlyeqsucc G \backsimH \precsim I \succsim J \backsimeq- \precapprox . \succapprox K \vDashL \subseteqq M \supseteqq N \VdashO \Subset P \Supset Q \Vvdash! \sqsubset " \sqsupset / \backepsilonR \therefore S \because T \varpropto0 \shortmid 1 \shortparallel U \betweenV \smallsmile W \smallfrown X \pitchforkY \vartriangleleft Z \vartriangleright [ \blacktriangleleft\ \trianglelefteq ] \trianglerighteq ^ \blacktriangleright

Tabela 3.14: Strza!ki (pakiet AMS)

_`` \dashleftarrow ``a \dashrightarrow b \multimapc \leftleftarrows d \rightrightarrows e \upuparrowsf \leftrightarrows g \rightleftarrows h \downdownarrowsi \Lleftarrow j \Rrightarrow k \upharpoonleftl \twoheadleftarrow m \twoheadrightarrow n \upharpoonrighto \leftarrowtail p \rightarrowtail q \downharpoonleftr \leftrightharpoons # \rightleftharpoons s \downharpoonrightt \leftrightsquigarrow u \rightsquigarrow v \Lshw \looparrowleft x \looparrowright y \Rsh2 \curvearrowleft 3 \curvearrowrightz \circlearrowleft { \circlearrowright

Page 75: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

3.10. Zestawienie symboli matematycznych 63

Tabela 3.15: Negacje symbolów relacji i strza!ek (pakiet AMS)

4 \nless 5 \ngtr 6 \varsubsetneqq7 \lneq 8 \gneq 9 \varsupsetneqq: \nleq ; \ngeq < \nsubseteqq= \nleqslant > \ngeqslant ? \nsupseteqq@ \lneqq A \gneqq B \nmidC \lvertneqq D \gvertneqq E \nparallelF \nleqq G \ngeqq H \nshortmidI \lnsim J \gnsim K \nshortparallelL \lnapprox M \gnapprox N \nsimO \nprec P \nsucc Q \ncongR \npreceq S \nsucceq T \nvdashU \precneqq V \succneqq W \nvDashX \precnsim Y \succnsim Z \nVdash[ \precnapprox \ \succnapprox ] \nVDash^ \subsetneq _ \supsetneq ` \ntrianglelefta \varsubsetneq b \varsupsetneq c \ntrianglerightd \nsubseteq e \nsupseteq f \ntrianglelefteqg \subsetneqq h \supsetneqq i \ntrianglerighteqj \nleftarrow k \nrightarrow l \nleftrightarrowm \nLeftarrow n \nRightarrow o \nLeftrightarrow

Tabela 3.16: Relacje dwuargumentowe (pakiet AMS)

| \dotplus } \centerdot ~ \intercalp \ltimes q \rtimes r \divideontimes� \Cup lub \doublecup � \veebar s \smallsetminus� \Cap lub \doublecap � \barwedge � \doublebarwedge� \boxplus � \boxminus � \circleddash� \boxtimes � \boxdot � \circledcirc� \leftthreetimes � \curlyvee � \circledast� \rightthreetimes � \curlywedge

Page 76: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

64 Wyra%enia matematyczne

Tabela 3.17: Ró#ne symbole (pakiet AMS)

! \hbar t \hslash k \Bbbk� \square � \blacksquare � \circledS� \vartriangle � \blacktriangle � \complement� \triangledown � \blacktriangledown u \Game� \lozenge � \blacklozenge � \bigstar$ \angle � \measuredangle � \sphericalanglev \diagup w \diagdown � \backprimex \nexists y \Finv z \varnothing{ \eth " \mho

Tabela 3.18: Kroje pisma dost"pne w trybie matematycznym

Przyk!ad Polecenie Wymagany pakietABCdef \mathrm{ABCdef}ABCdef \mathit{ABCdef}ABCdef \mathnormal{ABCdef}ABC \mathcal{ABC}ABC \mathcal{ABC} eucal z opcj% mathcal lub

\mathscr{ABC} eucal z opcj% mathscrABCdef \mathfrak{ABCdef} eufrakABC \mathbb{ABC} amsfonts lub amssymb

Page 77: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Rozdzia# 4

Rysunki, skorowidze,generowanie plików PDF. . .

Kolej teraz na opis mo%liwo"ci LATEXa przydatnych w pracy nad wi!kszymi doku-mentami, takich jak: do#&czania rysunków w dokumencie, tworzenie skorowidzówi spisów literatury. Bardziej szczegó#owy opis tych i pokrewnych zagadnie' mo%naznale($ w [12] oraz [6]. Pod koniec niniejszego rozdzia#u jest te% mowa o tym, jakLATEX mo%e generowa$ pliki pdf.

4.1. W#&czanie grafiki w formacie EPS

Najpro(ciej przygotowa$ ilustracj" w wyspecjalizowanym programie graficz-nym w rodzaju xfig, CorelDraw!, Freehand, gnuplot, itp., a pó&niej w!%czy$gotowy rysunek do dokumentu. Chocia# mo#na to zrobi$ na wiele sposo-bów, tutaj przedstawimy jedynie sposób na do!%czanie grafiki w formacieeps (Encapsulated PostScript), jako #e jest to technika prosta i szeroko sto-sowana1. Do pracy z grafik% w formacie eps potrzebujemy albo drukarkiwyposa#onej w j"zyk Postscript, albo programu ghostscript, dost"pnego naprzyk!ad pod adresem http://www.cs.wisc.edu/~ghost/. Program gho-stscript oraz u!atwiaj%ce pos!ugiwanie si" nim graficzne nak!adki, takie jak:ghostview, gv czy gsview s% dost"pne (pod wy#ej wymienionym adresem)na wszystkie popularne platformy systemowe.Wielu polece* przydatnych do w!%czania rysunków dostarcza pakiet gra-

phicx (autor: D. P. Carlisle), b"d%cy cz"(ci% zestawu o nazwie „graphics”2.W!%czenie grafiki do dokumentu za jego pomoc% mo#emy przedstawi$ w na-st"puj%cy sposób:1U#ytkownicy programów typu O*ce, którzy w tym momencie by% mo#e po raz

pierwszy us'yszeli, #e istnieje co$ takiego jak j!zyk Postscript i jego wariant eps, mog"by% tym stwierdzeniem zdziwieni. Tak jednak jest w istocie: inne standardy obowi"zuj!w biurze, a inne w przemy$le poligraficznym. Wi!cej na temat grafiki mo#na znale&% w [19].2Zestaw „graphics” jest obowi"zkow" (ang. required) cz!$ci" ka#dej dystrybucji LATEXa,

mo#na go te# znale&% w katalogu CTAN://macros/latex/required/graphics.

Page 78: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

66 Rysunki, skorowidze, generowanie plików PDF. . .

1. W programie graficznym zachowujemy rysunek w formacie eps3 lubkonwertujemy rysunek na format eps, je#eli dysponujemy ju# gotow%grafik% ale w innym formacie4.

2. Do!%czamy pakiet graphicx do preambu!y dokumentu:

\usepackage[dvi-ps]{graphicx}

gdzie dvi-ps oznacza nazw" programu do konwersji pliku wyj(ciowego.dvi na plik postscriptowy. Najcz"(ciej u#ywanym do tego celu pro-gramem jest dvips. Nazwa sterownika jest tu konieczna, gdy# brakujestandardu dotycz%cego do!%czania grafiki postscriptowej w dokumen-tach TEXowych. Kieruj%c si" nazw% sterownika, pakiet graphicx potrafido wynikowego pliku .dvi w!%czy$ informacj" potrzebn% do tego, byinterpreter Postscriptu (w drukarce b%d& w komputerze) poprawnieumie(ci! rysunek na wydruku.

3. Instrukcj%:

\includegraphics[klucz=warto&', . . . ]{plik}

w!%czamy plik do dokumentu. Parametr opcjonalny jest list% oddzielo-nych przecinkami kluczy, o okre(lonych przez nas warto&ciach. Kluczewykorzystujemy do zmiany parametrów do!%czanego rysunku, takichjak szeroko($, wysoko($ czy k%t obrotu. W tabeli 4.1 zamieszczononajwa#niejsze klucze.

Tabela 4.1: Znaczenie wa#niejszych kluczy polecenia \includegraphics

width=w skalowanie rysunku do podanej szeroko(ci wheight=h skalowanie rysunku do podanej wysoko(ci hangle=a obrót o k%t a (przeciwnie do ruchu wskazówek zegara)scale=s równomierne przeskalowanie w skali s

Poni#szy przyk!ad pomo#e zrozumie$ ca!% ide":3Je#eli u#ywany przez nas program graficzny na to nie pozwala, to spróbujmy zain-

stalowa% sterownik do drukarki postscriptowej, jak Apple Laser Writer, i drukowa% tymsterownikiem do pliku. Przy odrobinie szcz!$cia otrzymamy dokument w formacie eps. Pa-mi!tajmy, #e plik eps mo#e zawiera% tylko jedn" stron!. Sterowniki niektórych drukarekmo#na jawnie ustawi% do tworzenia plików wyj$ciowych w'a$nie w tym formacie.4W wypadku grafiki obwiedniowej i rastrowej, mo#na do tego celu u#y% programu Ima-

geMagick (http://www.imagemagick.org/). Dobrym programem do konwersji, ale tylkografiki rastrowej, jest gimp (http://www.gimp.org). Do konwersji zdj!% albo innych grafikw formacie jpg wygodnym narz!dziem jest jpeg2ps http://gnuwin32.sourceforge.net/packages/jpeg2ps.htm. Niestety konwersja plików zapisanych w promowanym przez firm!Microsoft formacie wmf/emf (MS Visio, MS O*ce, itp.) cz!sto daje op'akane rezultaty,ale to ju# jest wina wspomnianej firmy i stosowanej przez ni" „strategii biznesowej”. . .

Page 79: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

4.1. W"'czanie grafiki w formacie EPS 67

\begin{figure}%\begin{center} zamiast \begin{center} u"yj lepiej\centering % bo \centering nie wstawia dodatkowego odst#pu\includegraphics[angle=90,width=0.5\textwidth]{sowauszata.eps}\end{figure}

W powy#szym przyk!adzie do dokumentu jest do!%czany rysunek z plikusowauszata.eps. Rysunek najpierw obracamy o 90o w kierunku przeciw-nym do ruchu wskazówek zegara, a nast"pnie przeskalowujemy tak, by nada$mu szeroko($ równ% po!owie szeroko(ci szpalty. Skalowanie grafiki jest rów-nomierne z uwagi na brak klucza height. Szeroko($ i wysoko($ rysunkumo#emy te# okre(li$ w jednostkach bezwzgl"dnych, takich jak punkty czycentymetry. W tabeli 6.5 zestawiono jednostki miar w LATEXu. Wi"cej infor-macji na temat powy#szych zagadnie* znajdziemy w [2] i [22].Z powodów opisanych w punkcie 4.7.3, zaleca si$ podawa$ nazw" do!%-

czanego pliku graficznego bez rozszerzenia, to znaczy lepiej zapisa$ powy#szepolecenie \includegraphics nast"puj%co:

\includegraphics[angle=90,width=0.5\textwidth]{sowauszata}

W takiej sytuacji LATEX b"dzie szuka! pliku sowauszata o rozszerzeniu ade-kwatnym do mo#liwo(ci zadeklarowanego w poleceniu \usepackage sterow-nika. Przyk!adowo, je#eli graphicx by!o wywo!ane z opcj% dvips, to szukanyb"dzie plik sowauszata.eps, je#eli za( u#yjemy opcji pdftex, to b"d% szu-kane pliki o rozszerzeniach .pdf, .jpg i .png, a pierwszy znaleziony zostaniedo!%czony.Rysunki najlepiej jest umieszcza$ w oddzielnym katalogu, b"d%cym pod-

katalogiem tego, w którym jest dokument LATEXa. Bez wzgl"du na u#ywanysystem operacyjny katalogi w (cie#ce dost"pu nale#y odziela$ znakiem /5:

\includegraphics[width=0.5\textwidth]{rys/sowy/sowauszata}

Czasami wewn%trz jednego otoczenia figure chcemy umie(ci$ kilka plikówgraficznych. W tym celu wystarczy, #e umie(cimy je obok siebie i w miar"potrzeby odpowiednio przeskalujemy:

\begin{figure}\centering%% http://pl.wikipedia.org/wiki/Ptaki_Polski\includegraphics[width=.3\textwidth]{sowauszata}\includegraphics[width=.3\textwidth]{puszczykmszarny}\includegraphics[width=.3\textwidth]{bubobubo}%puchacz\end{figure}

W powy#szym przyk!adzie trzy rysunki zostan% umieszczone jeden obokdrugiego. Ich !%czna szeroko($ wyniesie 3 $ 0,3 = 0,9 szeroko(ci kolumny5Wszystkie uwagi dotycz"ce nazw plików opisane w punkcie 1.8 dla polecenia \include

dotycz" tak#e polecenia \includegraphics.

Page 80: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

68 Rysunki, skorowidze, generowanie plików PDF. . .

(\textwidth w j"zyku LATEXa), mi"dzy rysunkami wstawiony zostanie od-st"p wielko(ci zwyk!ej spacji, co wynika z zasady LATEXa, #e pojedynczazmiana wiersza jest traktowana jak odst"p. Ca!o($ zostanie wy(rodkowanaw osi szpalty. Pami"tajmy, #eby do tego stosowa$ polecenie \centeringa nie otoczenie center, gdy# to drugie wstawia dodatkowy a zb"dny odst"ppionowy.Aby efekt ko*cowy na wydruku by! zadowalaj%cy, rysunki powinny

mie$ identyczne wymiary. Inaczej, albo poszczególne obrazki b"d% optycznieniezgodnie (np. sowa uszata b"dzie 3 razy wi"ksza od puchacza), albo te#poszczególne rysunki sk!adowe b"d% mia!y ró#ne wymiary (rysunek z sow%uszat% b"dzie dwa razy mniejszy ni# rysunek z puchaczem).Czasami rysunki czy tabele zmie(ci!yby si" na stronie, gdyby obróci$

je o 90o. W tym celu mo#na skorzysta$ z pakietu rotating. Do obracaniadowolnego fragmentu tekstu, pude!ka (por. punkt 6.6), tabeli itp. nale#yu#ywa$ otoczenia rotate:\begin{rotate}{k't} ... \end{rotate}

Do obrócenia obiektu o k%t 90o nale#y u#y$ otoczenia sideways:\begin{sideways} ... \end{sideways}

Do obrócenia tabeli !%cznie z podpisem pod tabel% nale#y zastosowa$ oto-czenie sidewaystable (uwaga: tabela jest umieszczana na osobnej stronie):\begin{sidewaystable} ... \end{sidewaystable}

Do obrócenia rysunku !%cznie z podpisem pod rysunkiem nale#y u#y$ otocze-nia sidewaysfigure (uwaga: rysunek jest umieszczany na osobnej stronie):\begin{sidewayfigure} ... \end{sidewaysfigure}

4.2. Spis literatury

Do przygotowania spisu literatury s!u#y otoczenie thebibliography. Ka#dapozycja w tym otoczeniu ma posta$ polecenia:

\bibitem{etykieta}

Etykiety mo#na nast"pnie u#y$ do zacytowania w dokumencie tej pozycji,czyli ksi%#ki, artyku!u b%d& pracy konferencyjnej:

\cite{etykieta}

Numerowanie pozycji literaturowych jest automatyczne (polecenia \bibitemi \cite dzia!aj% podobnie jak opisane ju# instrukcje \label i \ref). Oto-czenie thebibliography ma jeden parametr, który powinien zawiera$ tekstprzynajmniej tak szeroki jak najszersza etykieta ze spisu. W poni#szymprzyk!adzie zapis 99 oznacza, #e numery pozycji w spisie b"d% co najwy-#ej dwucyfrowe.

Page 81: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

69

Partl~\cite{pa} zaproponowa$,"eby \ldots

\begin{thebibliography}{99}\bibitem{pa} H.~Partl:\emph{German \TeX},TUGboat Vol.~9, No.~1 (’88)\end{thebibliography}

Partl [1] zaproponowa!, #eby . . .

Bibliografia

[1] H. Partl: German TEX, TUGboat Vol. 9,No. 1 (’88)

Do wi"kszych projektów przydaje si" program o nazwie BibTEX. Programten znajduje si" w ka#dej wspó!czesnej dystrybucji TEXa. BibTEX korzystaz bazy bibliograficznej (biblioteki), z której wybiera tylko te pozycje lite-raturowe, które by!y cytowane w dokumencie. Sposób formatowania spisówliteratury jest sterowany za pomoc% specjalnych szablonów, których mody-fikacja umo#liwia zmian" uk!adu graficznego spisu.Po przetworzeniu pliku, na podstawie zawarto(ci etykiet zapisanych

przez LATEXa do pliku .aux, BibTEX tworzy spis literatury obejmuj%cy tylkote pozycje z biblioteki, które cytowano w dokumencie. Zwykle plik ten marozszerzenie .bib. Format spisu zale#y od specyfikacji szablonu znajduj%cejsi" w pliku o rozszerzeniu .bst, a jest zapisywany do pliku o rozszerze-niu .bbl. Do poprawnego sformatowania bibliografii i cytowa* koniecznejest przynajmniej trzykrotne przetworzenie dokumentu LATEXem. Wi"cej in-formacji na temat przygotowywania spisu literatury za pomoc% BibTEXazawiera [1].

4.3. Skorowidze

Niezwykle u#ytecznym elementem wielu ksi%#ek jest skorowidz. Mo#na goutworzy$ stosunkowo !atwo za pomoc% LATEXa oraz programu narz"dziowegoo nazwie makeindex6. W tym wprowadzeniu omówimy jedynie podstawowepolecenia dotycz%ce skorowidzów. Jak zawsze, wi"cej informacji znajdziemyw [6].Generowa$ has!a do skorowidza mo#na dopiero po za!adowaniu w pre-

ambule dokumentu pakietu o nazwie makeidx:

\usepackage{makeidx}

oraz wstawieniu (tak#e w obr"bie preambu!y) instrukcji:

\makeindex

6Albo makeidx, je$li nasz system operacyjny nie pozwala u#ywa% nazw d'u#szych ni#8 znaków.

Page 82: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

70 Rysunki, skorowidze. . .

Has!o wstawiamy do skorowidza poleceniem:

\index{has"o}

gdzie has"o oznacza pozycj" w skorowidzu. Polecenie \index{has"o} umiesz-czamy w pliku &ród!owym bezpo(rednio w miejscu zwi%zanym z okre(lonymhas!em. W tabeli 4.2 przedstawiono przyk!ady u#ycia hase".

Tabela 4.2: Przyk!ady sk!adni polecenia \index

Przyk"ad Has"o Uwagi\index{kot} kot, 1 has!o pierwszego stopnia\index{kot!rudy} rudy, 3 has!o drugiego stopnia\index{Sam@\textsl{Sam}} Sam, 2 has!o sformatowane\index{Lin@\textbf{Lin}} Lin, 7 has!o sformatowane\index{Cadiz@C\’adiz} Cadiz, 77 poprawne sortowanie\index{Jenny|textbf} Jenny, 3 formatowanie numeru strony\index{Joe|textit} Joe, 5 formatowanie numeru strony\index{kot|see{felis}} kot, zob. felis relacja pomi"dzy has!amiAby wstawi% do skorowidza literalnie znak !, @ albo | nale#y poprzedzi% go znakiem ".

Podczas przetwarzania pliku &ród!owego przez LATEXa ka#da instrukcja\index powoduje, #e do pliku pomocniczego zostaje zapisana odpowiedniapozycja skorowidza wraz z bie#%cym numerem strony. Plik pomocniczy nosit" sam% nazw" co g!ówny plik &ród!owy, ma jednak rozszerzenie .idx. Trzebago nast"pnie przetworzy$ programem makeindex, w taki oto sposób:

makeindex plik

W rezultacie program makeindex tworzy posortowany skorowidz i zapisujego do pliku o nazwie identycznej z nazw% g!ównego pliku &ród!owego i o roz-szerzeniu .ind. Je#eli jeszcze raz przetworzymy plik &ród!owy, to tym razemskorowidz zostanie w!%czony w miejscu wyst%pienia polecenia:

\printindex

Pakiet showidx, wchodz%cy w sk!ad standardowej dystrybucji LATEX2!, dru-kuje pozycje skorowidza na lewym marginesie szpalty. Jest on do($ przy-datny do sprawdzania i korygowania skorowidza.Regu!y sortowania skorowidza zale#% oczywi(cie od j"zyka, w którym pi-

szemy dokument. Pod tym wzgl"dem program makeindex jest nieprzydatnydla dokumentów polskoj"zycznych, gdy# sortuje has!a jedynie wed!ug zasadj"zyka angielskiego. Wersj% programu makeindex przystosowan% do polskichregu! sortowania wyrazów jest plmindex (autor: W!odzimierz Macewicz).

Page 83: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

4.4. Paginy górne i dolne 71

Potrafi on tworzy$ skorowidz wed!ug regu! angielskich jak i polskich. Pro-gram ten jest dost"pny na przyk!ad pod adresem http://www.ia.pw.edu.pl/~wujek/tex/idx/plmindex.zip. Wi"cej informacji na temat polskichzasad tworzenia skorowidzów mo#na znale&$ w [17].Umieszczaj%c w dokumencie polecenie \index, powinni(my zwróci$

uwag" na odst"py. Oto przyk!ad, jak mo#e to wp!yn%$ na sk!ad:

Moje s$owo \index{s$owo}. Inaczejni" s$owo\index{s$owo}. Zwró&myuwag# na pozycj# kropki.

Moje s!owo . Inaczej ni# s!owo. Zwró$myuwag" na pozycj" kropki.

4.4. Paginy górne i dolne

Pakiet fancyhdr (autor Piet van Oostrum), który mo#na znale&$ w katalogu:CTAN://macros/latex/contrib/fancyhdr/, udost"pnia polecenia do defi-niowania zawarto(ci pagin. Zwró$my uwag" na ró#nice w wygl%dzie paginna stronach: bie#%cej i poprzedniej. Oprócz numeru strony, w paginie górnejna stronie parzystej znajduje si" tytu! rozdzia!u, a na stronie nieparzystejdodatkowo tytu! punktu. Pagin", której zawarto($ pod%#a za tre(ci% doku-mentu, nazywa si" fachowo #yw% pagin%.

\documentclass{book}\usepackage{fancyhdr}\pagestyle{fancy}% zmiana liter w~"ywej paginie na ma$e\renewcommand{\chaptermark}[1]{\markboth{#1}{}}\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}\fancyhf{} % usu% bie"'ce ustawienia pagin\fancyhead[LE,RO]{\small\bfseries\thepage}\fancyhead[LO]{\small\bfseries\rightmark}\fancyhead[RE]{\small\bfseries\leftmark}\renewcommand{\headrulewidth}{0.5pt}\renewcommand{\footrulewidth}{0pt}\addtolength{\headheight}{0.5pt} % pionowy odst#p na kresk#\fancypagestyle{plain}{%\fancyhead{} % usu% p. górne na stronach pozbawionych% numeracji (plain)\renewcommand{\headrulewidth}{0pt} % pozioma kreska}

Rysunek 4.1: Przyk!ad wykorzystania pakietu fancyhdr

Page 84: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

72 Rysunki, skorowidze. . .

Za pomoc% LATEXa mo#na sobie !atwo poradzi$ z automatycznym umiesz-czaniem odpowiedniej informacji w #ywej paginie. Rozwi%zanie jest nast"-puj%ce. W definicjach polece* sk!adaj%cych paginy wykonanie instrukcji\rightmark oraz \leftmark wstawia odpowiedni tytu! rozdzia!u, punktulub cokolwiek innego. Poleceniom \rightmark i \leftmark jest nadawanenowe znaczenie (nowe warto(ci) za ka#dym wykonaniem instrukcji sk!adaniatytu!u rozdzia!u i punktu (\chapter, \section).W rzeczywisto(ci, \chapter oraz inne polecenia podzia!u logicznego

dokumentu nie zmieniaj% znaczenia polece* \rightmark i \leftmark. Od-wo!uj% si" one natomiast do polece* \chaptermark, \sectionmark oraz\subsectionmark. Dopiero u#ycie tych instrukcji powoduje zmian" definicjipolece* \rightmark i \leftmark.Do zmiany postaci tytu!u rozdzia!u w paginie wystarczy modyfikacja

polecenia \chaptermark. Rysunek 4.1 przedstawia takie wykorzystanie pa-kietu, #e paginy górne b"d% wygl%da$ mniej wi"cej tak jak w tym podr"cz-niku. Kompletny opis pakietu znajduje si" w jego dokumentacji.

4.5. Pakiet verbatim

Pakiet verbatim udost"pnia poprawion% wersj" standardowego otoczeniaverbatim (opisanego na stronie 38). Oprócz wielu drobnych, chocia# istot-nych ulepsze* pakiet udost"pnia polecenie:

\verbatiminput{plik}

które do!%cza do dokumentu plik tekstowy tak, jakby jego zawarto($ znaj-dowa!a si" wewn%trz otoczenia verbatim.Pakiet verbatim jest cz"(ci% grupy pakietów o nazwie „tools”. Wchodz%

one w sk!ad standardowej dystrybucji LATEXa. Wi"cej szczegó!ów znaj-dziemy w [25].

4.6. Instalowanie dodatkowych pakietów

Ten punkt jest adresowany raczej do tych czytelników, którzy maj% ju# do-(wiadczenie w LATEXu, do sk!adania dokumentów u#ywaj% w!asnych polece*i otocze*, a odczuwaj% potrzeb" uporz%dkowania sobie (rodowiska pracyb%d& udost"pnienia go innym. Czytelnicy pocz%tkuj%cy mog% bez wielkiejstraty pomin%$ ten punkt i kontynuowa$ czytanie od nast"pnego punktu.W wi"kszo($ instalacji LATEXa wbudowany jest bogaty zestaw pakietów

dodatkowych, jeszcze ich wi"cej mo#na znale&$ w sieci. G!ównym miejscem,gdzie mo#na je znale&$, jest archiwum ctan (http://www.ctan.org/).Pakiety takie jak geometry albo hyphenat, a tak#e wiele innych, sk!a-

daj% si" na ogó! z dwóch plików: jednego o rozszerzeniu .ins i drugiego

Page 85: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

4.6. Instalowanie dodatkowych pakietów 73

o rozszerzeniu .dtx. Cz"sto jest te# do!%czany plik readme.txt z krótkimopisem pakietu. Ma si" rozumie$, zawsze warto zaczyna$ od przeczytaniatego w!a(nie pliku.Po skopiowaniu plików pakietu na nasz komputer trzeba je w ten czy

inny sposób przetworzy$, aby po pierwsze wprowadzi$ do dystrybucji TEXainformacj" o nowym pakiecie, a po drugie uzyska$ dokumentacj". Oto, jakosi%ga si" pierwszy z tych celów:

1. Uruchamiamy LATEXa na pliku.ins. To powoduje wygenerowanie pliku.sty.

2. Plik .sty kopiujemy w miejsce, w którym nasza dystrybucja TEXapotrafi go odnale&$. Zazwyczaj jest to katalog o nazwie.../localtexmf /tex/latex(u#ytkownicy systemów MS Windows oraz os/2 wiedz%, #e w ichsystemie trzeba u#ywa$ znaku uko(nika pochylonego przeciwnie).

3. Od(wie#amy zawart% w dystrybucji baz" danych nazw plików. Odpo-wiednie polecenie zale#y od dystrybucji TEXa: w teTEXu i fpTEXu jestto maktexlsr; a w MikTEXu – initexmf -update-fndb. W dystrybu-cjach wyposa#onych w (rodowisko graficzne (np. MikTEX) do od(wie-#enia bazy nazw wystarczy wybra$ odpowiedni% pozycj" z menu.

Mo#na teraz wygenerowa$ dokumentacj" z pliku .dtx:

1. Uruchamiamy LATEXa na pliku .dtx, w wyniku czego powstanie plik.dvi. Niewykluczone, #e zanim w dokumentacji uporz%dkuj% si" nu-mery odsy!aczy, b"dziemy musieli uruchomi$ LATEXa kilka razy.

2. Sprawdzamy, czy w(ród wielu plików, które wygenerowa! LATEX, jestplik .idx. Je(li go nie wida$, to mo#emy przej($ do kroku 5.

3. Aby wygenerowa$ skorowidz, piszemy linijk" rozkazow%:

makeindex -s gind.ist nazwa

gdzie nazwa oznacza nazw" g!ównego spo(ród przetwarzanych plików,bez rozszerzenia.

4. Ponownie uruchamiamy LATEXa na pliku .dtx.5. Na koniec co( równie wa#nego: aby uprzyjemni$ sobie czytanie, two-rzymy plik .ps albo .pdf.

Czasami w(ród wygenerowanych plików znajdziemy jeszcze plik .glo. W ta-kiej sytuacji mi"dzy krokami 4 i 5 powinni(my wykona$:

makeindex -s gglo.ist -o name.gls name.glo

Zawsze przed przej(ciem do kroku 5 musimy mie$ pewno($, #e w poprzednimkroku uruchomili(my LATEXa na pliku .dtx.

Page 86: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

74 Rysunki, skorowidze. . .

4.7. Tworzenie plików PDF: pdfLATEX i hyperref

pdf (Portable Document Format) to format hipertekstowy. Podobnie jak nastronie internetowej, niektóre s!owa s% w dokumencie zaznaczone jako hiper-!%cza. -%cz% one miejsce w dokumencie z innymi jego miejscami b%d& nawetz innymi dokumentami; gdy klikamy w takie hiper!%cze, jeste(my przeno-szeni do miejsca docelowego. W kontek(cie LATEXa oznacza to, #e wszystkiewyst%pienia polece* \ref i \pageref staj% si" hiper!%czami. Na dodatek spistre(ci, skorowidz i wszystkie podobne struktury staj% si" zestawami !%czy.Wiekszo($ spotykanych dzi( w Internecie stron jest napisana w j"zyku

html (HyperText Markup Language). Kiedy przychodzi do pisania pracynaukowej, format ten ma dwie wady:

1. Nie ma dobrej metody w!%czania wzorów matematycznych. Chocia#zosta! zdefiniowany odpowiedni standard, to jednak wi"kszo($ prze-gl%darek go nie obs!uguje, brakuje te# w komputerach odpowiednichfontów.

2. Dokumenty html mo#na co prawda drukowa$, ale wydruki wygl%daj%ró#nie w ró#nych przegl%darkach, a tak#e na ró#nych platformach. Odjako(ci, do której przyzwyczaja nas LATEX, wydruki te dzieli przepa($.

Próbowano ju# na wiele sposobów napisa$ program t!umacz%cy j"zyk LATEXana html. Niektóre z tych programów daj% nawet niez!e wyniki – w tymsensie, #e s% w stanie ze &ród!a w standardowym LATEXu wygenerowa$ czy-telny dokument html. Wszystkim jednak zawsze czego( brakuje. Gdy tylkozachodzi konieczno($ u#ycia bardziej wyrafinowanych mo#liwo(ci LATEXab%d& jego pakietów zewn"trznych, jako($ spada. Autorom, którym zale#y napublikowaniu w sieci www, a jednocze(nie chc% utrzyma$ wysok% jako($ ty-pograficzn%, pozostaje w zasadzie wy!%cznie pdf. Wi"kszo($ wspó!czesnychprzegl%darek sieciowych potrafi wy(wietla$ dokumenty w tym formacie.Chocia# przegl%darki do plików w formatch dvi i ps s% dost"pne na

prawie ka#dej platformie, to jeszcze powszechniej spotyka si" przegl%darkido plików pdf, takie jak Acrobat Reader i xpdf. Tak wi"c, je(li nasz% prac"udost"pnimy w postaci pdf, to stanie si" ona !atwiej dost"pna dla gronapotencjalnych czytelników.

4.7.1. Tworzenie dokumentów PDF w LATEXu

S% dwa sposoby7 zamiany plików &ród!owych LATEXa na dokument pdf.Pierwszy z nich polega na zamianie pliku dvi na dokument ps (zwykle zapomoc% programu dvips), który nast"pnie jest transformowany do formatupdf b%d& programem ghostscript, b%d& z u#yciem komercyjnego narz"dziaAcrobat Distiller, firmy Adobe. Drugi sposób to bezpo(rednie generowanie

7Tych sposobów jest wi!cej, ale przedstawione dwa s" zdecydowanie najcz!$ciej u#y-wane.

Page 87: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

4.7. Tworzenie plików PDF: pdfLATEX i hyperref 75

dokumentu pdf za pomoc% programu pdfTEX. Pierwszy z wymienionychsposobów, mimo #e na pierwszy rzut oka wydaje si" bardziej pracoch!onny,ma t" przewag" nad drugim, #e umo#liwia wykorzystanie wielu warto(cio-wych pakietów stosuj%cych j"zyk Postscript, cho$by takich jak rotate czypstricks. Z kolei utworzenie pliku pdf bezpo(rednio z pliku &ród!owego, zapomoc% programu pdfTEX, jest prostsze. Któr%kolwiek z metod wybierzesz,w wi"kszo(ci przypadków efekt ko*cowy b"dzie identyczny.Program pdfTEX, opracowany przez Han The Thanha, generuje doku-

ment pdf na podobnej zasadzie, jak TEX produkuje plik dvi. Istnieje te#pdfLATEX, który tworzy pliki pdf ze &róde! LATEXowych. Zarówno pdfTEX,jak i pdfLATEX wchodz% w sk!ad wszystkich wspó!czesnych dystrybucji TEXa,takich jak: teTEX, fpTEX, MikTEX, TEXLive czy CMacTEX.Do wygenerowania pliku pdf zamiast dvi wystarcza zast%pi$ polecenie

latex file.tex instrukcj% pdflatex file.tex. W zintegrowanym (ro-dowisku graficznym, takim jak TeXnicCenter czy Kile, uruchomienie obuprogramów polega na wybraniu odpowiedniego przycisku z menu.Tworzenie dobrej jako(ci dokumentów pdf wymaga: u#ycia odpowiednich

fontów, do!%czenia grafiki we w"a&ciwym formacie oraz zdefiniowania hiper-!%czy dla elementów takich jak odsy!acze, spisy czy skorowidze. W kolejnychpunktach omówimy te zagadnienia szczegó!owo. Jeszcze bardziej detalicznyopis mo#na znale&$ w [24].

4.7.2. Fonty bitmapowe i obwiedniowe

Fonty s% bardzo wa#n% cz"(ci% ka#dego systemu sk!adu. Font to w istocie pro-gram komputerowy, zawieraj%cy opisy znaków oraz dodatkowe informacjeokre(laj%ce sposób ich drukowania i pozycjonowania na stronie. Wi"kszo($fontów jest komercyjna i nie mo#e by$ swobodnie rozpowszechniana. Z tegopowodu system TEX nie u#ywa fontów systemowych, na przyk!ad fontówdost"pnych w systemie MS Windows, lecz wykorzystuje alternatywne krojepisma o statusie Oprogramowania Otwartego. Inaczej, dokumentu przygo-towanego na przyk!ad w systemie MS Windows nie mo#na by poprawnieprzetworzy$ w systemie Linux albo, je#eli nawet da!oby si" go przetworzy$,to otrzymaliby(my dokument wygl%daj%cy inaczej8.Z punktu widzenia „technologii komputerowej” fonty dzielimy na bitma-

powe i obwiedniowe, przy czym te pierwsze – za wyj%tkiem systemu TEX –maj% znaczenie historyczne. Istnieje kilka standardów tworzenia fontów ob-wiedniowych: fonty postscriptowe (tzw. fonty Type 1 albo typu pierwszego),fonty TrueType oraz najnowsze OpenType. „Klasyczne” bitmapowe fontyTEXa okre(la si" akronimem pk.

8Inne na przyk'ad by'oby 'amanie wierszy i podzia' na strony. W edytorze MS Wordnie jest to zreszt" uwa#ane za b'"d, bo w tamtym programie dokument jest przeno$ny, aletylko razem z komputerem, bo przes'anie dokumentu na inny komputer z regu'y powoduje,#e jest on z'o#ony inaczej.

Page 88: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

76 Rysunki, skorowidze. . .

LATEX umie korzysta$ zarówno z fontów pk, jak i z fontów Type 1,za( pdfLATEX potrafi dodatkowo u#ywa$ fontów TrueType i OpenType.Jednak#e dokument z tradycyjnymi fontami pk bardzo &le wygl%da w prze-gl%darce Acrobat Reader. Najlepiej u#ywa$ wy!%cznie fontów Type 1, bowówczas dokumenty zawsze wy(wietlaj% si" poprawnie. Wspó!czesne insta-lacje TEXa s% domy(lnie skonfigurowane tak, by u#ywane by!y fonty Type 19.W zale#no(ci od sposobu polonizacji dokumentu (por. punkt 2.5.1) LATEXalbo wykorzysta obwiedniowe wersje fontów pl, albo prze!%czy si" na fontyz pakietu cm-super, które s% implementacj% fontów ec w technologii Type 1.Ostatnio dost"pna sta!a si" wysokiej jako(ci rodzina fontów obwiednio-

wych lm (Latin Modern). Je(li dysponujemy (wie#ej daty instalacj% TEXa,to jest ca!kiem mo#liwe, #e zawiera ona ju# t" rodzin". Wystarczy w takimwypadku doda$ do preambu!y:

\usepackage{lmodern}\usepackage[T1]{fontenc}

Uwaga! Rodzina lm nie zawiera na razie fontów matematycznych, dlategodo sk!adu formu! i tak potrzebne s% albo fonty pl, albo oryginalne fontyLATEXowe.Uwaga! Je(li w pliku o rozszerzeniu .log, zawieraj%cym raport z kompilacji,pojawi% si" komunikaty w rodzaju:

Warning: pdftex (file eurmo10): Font eur... not found

to oznacza, #e który( z fontów potrzebnych do przetworzenia dokumentunie zosta! odnaleziony. Problem taki wymaga rzetelnej naprawy, gdy# prze-gl%darka plików pdf w ogóle nie wy&wietli stron ze znakami z brakuj#cegofontu.

4.7.3. Do#&czanie grafiki

Do w!%czania grafiki najlepiej korzysta$ z pakietu graphicx (zobacz str. 65).Po wpisaniu pdftex jako opcji sterownik pakiet zadzia!a te# w pdfLATEXu:\usepackage[pdftex]{color,graphicx}

W tym przyk!adzie pojawia si" równie# pakiet color, jako #e stosowaniekolorów w sieci jest naturalne.Tyle dobrych wie(ci. Z!e s% takie, #e grafika w formacie eps nie dzia!a

w pdfLATEXu. Je(li w argumencie instrukcji \includegraphics pominiemyrozszerzenie nazwy pliku, to pakiet graphicx b"dzie szuka! pliku w formaciezale#nym od opcji sterownik. W programie pdfTEX dopuszczalny jest jedenz formatów: .png, .pdf, .jpg, .mps (METAPOST), ale nie .eps.

9Aby si! przekona%, czy tak jest w wypadku twojej instalacji, utwórz plik pdf (naprzyk'ad za pomoc" pdfLATEX) i wy$wietl go w oknie przegl"darki Acrobat Reader. Je#elifonty na ekranie s" nieczytelne i maj" poszarpane brzegi, to masz problem. W nowychdystrybucjach LATEXa problem ten nie powinien wyst"pi%, wi!c je#eli go napotka'e$, toprzypuszczalnie masz zainstalowan" zbyt okrojon" wersj! systemu TEX.

Page 89: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

4.7. Tworzenie plików PDF: pdfLATEX i hyperref 77

Prostym sposobem wyj(cia z tej sytuacji jest konwersja plików eps naformat pdf programem epstopdf, dost"pnym na wielu platformach. Dlagrafiki wektorowej (rysunków) jest to wspania!e rozwi%zanie. Dla mapekbitowych (zdj"cia, skany) nie jest ono idealne, bo format pdf z naturyobs!uguje w!%czanie obrazów w formatach png i jpeg. Format png jestdobry do zdj"$ z ekranów i innych obrazów z niewielk% liczb% kolorów.Format jpeg jest (wietny do zdj"$, jako #e zu#ywa na nie ma!o pami"ci.Niekiedy zamiast rysowania figur geometrycznych korzystniejsze jest

opisywanie ich w wyspecjalizowanym j"zyku polece*, na przyk!ad takim,jaki jest stosowany w programie METAPOST, który – wraz z obszernympodr"cznikiem – wchodzi w sk!ad wi"kszo(ci dystrybucji TEXa.

4.7.4. )&cza hipertekstowe

O kierowanie wewn"trznych odsy!aczy we w!a(ciwe miejsca dokumentu za-dba pakiet hyperref. Aby zadzia!a! poprawnie, zaleca si" umie(ci$ polecenie\usepackage{hyperref} jako ostatnie w preambule dokumentu. Sposobemdzia!ania pakietu hyperref mo#na sterowa$ za pomoc% wielu opcji, które po-dajemy b%d& „tradycyjne”, czyli jako list" rozdzielonych przecinkami opcjipo \usepackage, wewn%trz nawiasów kwadratowych, b%d& jako argumentpolecenia \hypersetup{opcje}.Opcje pdftex i dvips s% kluczowe, bo okre(laj% metod" generowania

dokumentu pdf: bezpo(rednio za pomoc% programu pdfTEX albo po(redniopoprzez zamian" wynikowego pliku dvi na ps, a potem pdf.W poni#szym wykazie warto(ci domy(lne s% podane pismem prostym.

bookmarks (=true,false ) w trakcie wy(wietlania dokumentu Acrobatempoka# b%d& ukryj pasek zak!adek;

unicode (=false,true ) pozwól w zak!adkach Acrobata u#ywa$ znakówz alfabetów nie!aci*skich;

pdftoolbar (=true,false ) poka# b%d& ukryj pasek narz"dziowy Acro-bata;

pdfmenubar (=true,false ) poka# b%d& ukryj menu Acrobata;pdffitwindow (=true,false ) dostosuj wielko($ wy(wietlanego pdf-a do

wielko(ci okna;pdftitle (={napis}) tytu! dokumentu;pdfauthor (={napis}) nazwisko autora;pdfnewwindow (=true,false ) okre(la, czy w wypadku gdy !%cze prowadzi

poza dokument, ma by$ otwierane nowe okna;colorlinks (=false,true ) okre(la, czy otoczy$ hiper!%cza kolorowymi

ramkami (false) czy kolorowa$ same hiper!%cza (true). Kolory mo#nakonfigurowa$ za pomoc% nast"puj%cych opcji (w nawiasach kolorydomy(lne):

linkcolor (=red) kolor !%czy wewn"trznych (rozdzia!ów, punktów,stron itp.),

Page 90: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

78 Rysunki, skorowidze. . .

citecolor (=green) kolor cytowa*, czyli odsy!aczy do bibliografii,

filecolor (=magenta) kolor odsy!aczy do plików,

urlcolor (=cyan) kolor !%czy typu url (adresy poczty elektronicz-nej b%d& sieciowe).

Je(li zadowalaj% nas ustawienia domy(lne, to wpisujemy:\usepackage[pdftex]{hyperref} %ew. dvips zamiast pdftex

Je(li przegl%darka ma pokaza$ list" zak!adek, a !%cza maj% by$ kolorowane(warto(ci domy(lnych =true nie trzeba podawa$), to:\usepackage[pdftex,bookmarks,colorlinks]{hyperref}

Gdy tworzymy dokumenty pdf przeznaczone do druku czarno-bia!ego, tokolorowanie !%czy nie jest najlepszym pomys!em, bo w wydrukach wychodz%one szare, co utrudnia czytanie. Zamiast tego mo#emy u#y$ kolorowychramek, które nie s% drukowane:\usepackage{hyperref}\hypersetup{colorlinks=false}

albo dla !%czy u#ywa$ koloru czarnego:\usepackage{hyperref}\hypersetup{colorlinks,citecolor=black,%filecolor=black,linkcolor=black,urlcolor=black,pdftex}

Je(li chcemy doda$ informacji o dokumencie pdf, które Acrobat wy(wietlaw oknie Document Properties:\usepackage[pdfauthor={P. Desproges},pdftitle={Des femmesqui tombent},pdftex]{hyperref}

Oprócz hiper!%czy tworzonych automatycznie mo#emy umieszcza$ w!asne:

\href{url}{text}

Przyk!adowo, w wyniku wykonania nast"puj%cego fragmentu:Na stronie \href{http://www.ctan.org}{CTAN}.

zostanie wydrukowane s!owo „CTAN”, klikni"cie w to s!owo przeniesie nasna internetow% stron" ctan-u.Je(li docelowe miejsce !%cza nie jest url-em, lecz plikiem lokalnym, to

mo#emy u#y$ polecenia \href w nast"puj%cej postaci:Pe$ny dokument jest w~\href{manual.pdf}{pliku}.

Generuje to tekst „Pe!ny dokument jest w pliku”. Klikaj%c w s!owo „pliku”,otworzymy plik manual.pdf. (Nazwa pliku jest interpretowana wzgl"dempo!o#enia dokumentu pdf).Autorka dokumentu mo#e zach"ci$ czytelników do korespondencji elek-

tronicznej, wpisuj%c instrukcj" \href jako fragment polecenia \author nastronie tytu!owej dokumentu:

Page 91: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

4.7. Tworzenie plików PDF: pdfLATEX i hyperref 79

\author{Maria Oetiker $<$\href{mailto:[email protected]}%{[email protected]}$>$

Zauwa#my, #e !%cze zapisano tu tak, i# adres elektroniczny pojawia si"zarówno w !%czu, jak i na stronie. Gdyby poda$ go tak:\href{mailto:[email protected]}{Maria Oetiker}

to !%cze dzia!a!oby w programie Acrobat, lecz adres nie by!by widocznyw wydruku.

4.7.5. Problemy z #&czami

Ukazaniu si" komunikatu w rodzaju:! pdfTeX warning (ext4): destination with the sameidentifier (name{page.1}) has been already used,duplicate ignored

towarzyszy reinicjalizacja licznika, na przyk!ad w wyniku u#ycia polecenia\mainmatter, dost"pnego w klasie dokumentów book. Ustala ono warto($licznika stron na 1 tu# przed pierwszym rozdzia!em ksi%#ki. Ale poniewa#równie# i wst"p do ksi%#ki zawiera stron" 1, to odsy!acz „page.1” staje si"niejednoznaczny, st%d notka „duplicate ignored”.Mo#emy temu przeciwdzia!a$, dodaj%c opcj" plainpages=false. Po-

maga to niestety tylko w odniesieniu do licznika stron. Radykalniejszymrozwi%zaniem jest opcja hypertexnames=false, która jednak powoduje, #eprzestaj% dzia!a$ odsy!acze do stron w skorowidzu.

4.7.6. Problemy z zak#adkami

Tekst na zak!adkach nie zawsze wygl%da zgodnie z naszymi oczekiwaniami.Poniewa# zak!adki s% traktowane jako „czysto tekstowe”, mo#e w nichwyst%pi$ mniejszy zakres znaków ni# w normalnym tek(cie LATEXowym.Pakiet hyperref zauwa#y tego typu problem i zasygnalizuje go komunikatem:Package hyperref Warning:Token not allowed in a PDFDocEncoded string:

Mo#emy ten problem obej($, podaj%c napis przeznaczony na zak!adk", któryma zast%pi$ wywo!uj%cy trudno($ tekst:

\texorpdfstring{TEX tekst}{Napis na zak"adk$}

Podstawowym kandydatem do zastosowania takiego post"powania s% wzorymatematyczne:\section{\texorpdfstring{$E=mc^2$}{E=mc^2}}

.ródtytu! „E=mc^2” przekszta!ca si" na zak!adce w „E=mc2”.Tak#e zmiany kolorów nie przenosz% si" dobrze na zak!adki:

\section{\textcolor{czerwony}{Czerwony !}}

Page 92: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

80 Rysunki, skorowidze. . .

Na zak!adce otrzymamy „redRed!”. Polecenie \textcolor jest tu ignoro-wane, chocia# wy(wietlany jest jego argument (na czerwono). Lepszy wynikuzyskamy, wpisuj%c:

\section{\texorpdfstring{\textcolor{red}{Red !}}{Red\ !}}

Je(li w dokumencie u#ywamy unikodu, a pakietowi hyperref podamy opcj"unicode, to na zak!adkach b"d% mog!y wystapi$ znaki unikodowe. Poszerzato zakres znaków, które mo#na przekaza$ w poleceniu \texorpdfstring.

4.7.7. Interpretacja pliku %ród#owego przez LATEXa i pdfLATEXa

W idealnych warunkach dokument powinien si" równie dobrze kompilowa$tak w LATEXu, jak i w pdfLATEXu. Problemy w tym wzgl"dzie mog% wynika$przede wszystkim z w!%czania grafiki. Prostym sposobem jest systematyczneopuszczanie rozszerze* nazw plików w poleceniu \includegraphics. Powo-duje to wyszukiwanie plików w formacie w!a(ciwym dla sposobu kompilacji.Reszta sprowadza si" do wygenerowania odpowiednich wersji plików graficz-nych. LATEX poszuka plików .eps, podczas gdy pdfLATEX spróbuje w!%czy$plik o jednym z rozszerze* .png, .pdf, .jpg lub .mps (w podanej kolejno(ci).Je(li w pdfTEXowej wersji dokumentu chcemy u#y$ innego kodu ni#

w LATEXowej, to do preambu!y mo#emy doda$ pakiet ifpdf10. W pakieciezdefiniowana jest instrukcja \ifpdf, która u!atwia pisanie kodu warunko-wego. W poni#szym przyk!adzie wersja do druku, w formacie ps, ma by$czarno-bia!a, co obni#y koszty w drukarni, podczas gdy wersja pdf, prze-znaczona do wy(wietlania na ekranie, ma by$ kolorowa:

%& --translate-file=il2-pl\RequirePackage{ifpdf}% Sprawdzamy, czy dzia$a pdfTeX:\ifpdf \documentclass[a4paper,12pt,pdftex]{book}\else \documentclass[a4paper,12pt,dvips]{book} \fi

\ifpdf \usepackage{lmodern} \fi% dodajemy hiper$'cza\usepackage[bookmarks,colorlinks,plainpages=false]{hyperref}\usepackage{polski}...

Pakiet hyperref jest tu w!%czany tak#e w wersji ps. Dzi"ki temu polecenie\href zadzia!a tak#e w wypadku kompilacji zwyk!ym LATEXem.Warto odnotowa$, #e w niektórych wspó!czesnych dystrybucjach TEXa

podstawowym programem u#ywanym do kompilacji dokumentów jest w!a-(nie pdftex. Prze!%cza si" on na generowanie plików pdf albo dvi, zale#nie

10Pe'niejsze wyja$nienie, kiedy ten pakiet si! przydaje, mo#na znale&% w TEXowymfaq-u, w punkcie http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ifpdf.

Page 93: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

4.8. Tworzenie prezentacji 81

od ustawie* podanych wraz z klas% dokumentu. Kod podany powy#ej po-zwala u#y$ zarówno instrukcji pdflatex do wygenerowania pdf-a, jak i latexdo uzyskania pliku dvi.

4.7.8. Wymiary kartki papieru

W LATEXu rozmiar papieru zadaje si" w opcjonalnym argumencie polece-nia \documentclass, na przyk!ad a4paper albo letterpaper. Opcje tedzia!aj% równie# w wypadku generowania dokumentu pdf, tyle #e ich wyko-nanie nie wystarcza do stworzenia poprawnego pliku pdf. Je(li korzystamyz pakietu hyperref, to niezb"dne polecenia zostan% wykonane automatycznie.W przeciwnym razie musimy to zrobi$ r"cznie, umieszczaj%c w preambuledokumentu nast"puj%cy fragment:\ifpdf %% dzia$a tylko z pdftex:\pdfpagewidth=\paperwidth \pdfpageheight=\paperheight%% dziala z programami latex+dvips:

\else \special{papersize=\paperwidth,\pageheight} \fi

4.8. Tworzenie prezentacjiDaniel Flipo <[email protected]>

Wyniki naszej pracy naukowej mo#emy przedstawia$ kred% na tablicy, zapomoc% rzutnika i prze&roczy (slajdów) b%d& – pos!uguj%c si" odpowiednimoprogramowaniem – bezpo(rednio z laptopa.Program pdfLATEX w po!%czeniu z klas% beamer s!u#y do tworzenia pre-

zentacji w formacie pdf. Wygl%daj% one tak, jak gdyby(my je wygenerowali– maj%c dobry dzie* i sporo szcz"(cia – za pomoc% PowerPointa, ale s%bardziej przeno(ne, bo Acrobat Reader jest dost"pny w wi"kszej liczbie sys-temów.Klasa beamer u#ywa pakietów graphicx, color oraz hyperref z opcjami

zaadaptowanymi do prezentacji ekranowych.Kompiluj%c pdfLATEXem kod z rysunku 4.2, otrzymamy plik pdf ze

stron% tytu!ow% oraz jeszcze jedn% stron%, zawieraj%c% kilka punktów, któremaj% si" ods!ania$ w miar", jak podczas prezentacji b"dziemy przechodzilido kolejnych jej kroków.Jedn% z zalet klasy beamer jest to, #e generuje ona gotowy do u#ycia

plik pdf, bez konieczno(ci przechodzenia przez faz" postscriptow%, jak tojest w wypadku pakietu prosper albo wymagaj%cego dodatkowego przetwo-rzenia pakietu ppower4. Korzystaj%c z klasy beamer, mo#emy z tego samegopliku &ród!owego generowa$ kilka wersji prezentacji, tak zwanych trybów.Plik &ród!owy mo#e w nawiasach k%towych zawiera$ instrukcje przezna-czone do ró#nych trybów. Dost"pne s% nast"puj%ce tryby: beamer – dlaomówionych wy#ej prezentacji pdf, trans – do slajdów, oraz handout –do wydruku. Domy(lnym jest beamer, a inny tryb mo#emy zada$ jako opcj"

Page 94: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

82 Rysunki, skorowidze. . .

%& --translate-file=il2-pl\documentclass[10pt]{beamer}\mode<beamer>{\usetheme[hideothersubsections,%right,width=22mm]{Goettingen} }

\usepackage{polski}\title{Prosta prezentacja}\author[K. Wielki]{Karol Wielki}\institute{Uniwersytet Karola Wielkiego}%\titlegraphic{\includegraphics[width=20mm]{USTL}}\date{2005}

\begin{document}\begin{frame}<handout:0>\titlepage \end{frame}

\section{Przyk$ad}

\begin{frame}\frametitle{Co robi& w~niedzielne popo$udnie?}\begin{block}{Mo"na:}\begin{itemize}\item pój!& na spacer z~psem\pause\item przeczyta& ksi'"k#\pause\item pobawi& si# z~kotem\pause\end{itemize}\end{block}i~robi& wiele innych rzeczy.\end{frame}\end{document}

Rysunek 4.2: Prosty kod dla klasy beamer

globaln%, wpisuj%c na przyk!ad \documentclass[10pt,handout]{beamer}w celu wydrukowania materia!ów do rozdania.Wygl%d ekranu prezentacji zale#y od wybranego tematu. Mo#emy wska-

za$ jeden z tematów dostarczanych wraz z klas% albo stworzy$ nasz w!asny.Wi"cej informacji na ten temat mo#na znale&$ w opisie klasy zawartymw pliku beameruserguide.pdf.Przyjrzyjmy si" bli#ej kodowi z rysunku 4.2. Do wersji ekranowej pre-

zentacji wybrano dla trybu \mode<beamer> temat Goettingen, w którymspisowi tre(ci towarzyszy panel do nawigacji. Opcje tematu pozwalaj% okre-(li$ rozmiar panelu (w tym wypadku 22mm) oraz jego pozycj" (z prawejstrony g!ównego tekstu). Opcja hideothersubsections nakazuje pokazywa$tytu!y punktów, jednak tylko te, które pochodz% z bie#%cego rozdzia!u. Dla

Page 95: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

4.9. Pakiet pdfscreen 83

trybów \mode<trans> i \mode<handout> nie zadano #adnej opcji; maj% si"ukazywa$ w swoim uk!adzie domy(lnym.Polecenia \title, \author, \institute, oraz \titlegraphic okre-

(laj% zawarto($ strony tytu!owej. Opcjonalne argumenty instrukcji \titlei \author pozwalaj% poda$ specjaln% wersj" tytu!u oraz autora do wy(wie-tlenia w panelu tematu Goettingen. Tytu!y oraz podtytu!y na panelu s%tworzone przez zwyk!e polecenia \section i \subsection, umieszczone pozaotoczeniem frame.Male*kie ikonki u do!u ekranu s!u#% do nawigowania po dokumencie.

Mo#na ich ukazywanie si" zablokowa$ poleceniem:\setbeamertemplate{navigation symbols}{}

Zawarto($ ka#dego slajdu oraz ekranu nale#y umie(ci$ w otoczeniuframe. W nawiasach k%towych < i > mo#na poda$ opcjonalny argument,który pozwala ukry$ slajd w jednym z trybów prezentacyjnych. W powy#-szym przyk!adzie pierwsza strona nie uka#e si" w trybie materia!ów do roz-dania, gdy# w argumencie otoczenia frame podano argument <handout:0>.Warto zatytu!owa$ ka#dy ze slajdów, nie za( jedynie slajd tytu!owy. Za-

uwa#my, #e polecenia \section i \subsection nie s!u#% do tytu!owaniaslajdów; s!u#y do tego instrukcja \frametitle. Gdyby potrzebny by! pod-tytu!, to – jak pokazano w przyk!adzie – mo#na u#y$ otoczenia block.U#ycie polecenia \pause w otoczeniu itemize pozwala rozwija$ punkty

jeden po drugim, w miar" post"pów prezentacji. Dodatkowe efekty prezen-tacyjne mo#na osi%gn%$ za pomoc% instrukcji: \only, \uncover, \alt oraz\temporal. Do dalszego sterowania prezentacj% s!u#% dopuszczalne w wielumiejscach opcje, podawane w nawiasach k%towych.Cokolwiek mówi$, aby uzyska$ pe!ny obraz wszystkich dost"pnych para-

metrów, trzeba przeczyta$ dokumentacj" beameruserguide.pdf klasy be-amer. Pakiet ten jest ci%gle rozwijany, dlatego warto po nowo(ci zajrze$ nastron" http://latex-beamer.sourceforge.net/.

4.9. Pakiet pdfscreen

Pakiet pdfscreen, opracowany przez C.V. Radhakrishnana, pozwala tworzy$dokumenty pdf „zorientowane ekranowo”, to znaczy takie, które b"dzie si"wygodnie czyta!o z ekranu monitora (inne wymiary kolumny tekstu, wi"kszykrój pisma). Takie dokumenty mog% te# zawiera$ ró#ne elementy nawiga-cyjne przeznaczone do poruszania si" po dokumencie. Efektowne przyk!adydokumentów przygotowanych za pomoc% pakietu pdfscreen mo#na znale&$pod adresem http://www.tug.org.in/tutorial/. Szczegó!owy polski opispakietu zawiera [24].

Page 96: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Rozdzia# 5

Tworzenie grafikimatematycznej

Wi!kszo"$ ludzi u%ywa LATEXa do sk#adania tekstów. Poniewa% jednak podej"ciestrukturalno-logiczne do tworzenia dokumentów jest tak wygodne, LATEX oferujepewn& – fakt, %e obarczon& ograniczeniami – mo%liwo"$ generowania grafiki z opi-sów tekstowych w pliku (ród#owym. Co wi!cej, powsta#o sporo rozszerze' LATEXaprze#amuj&cych wspomniane ograniczenia. W tym rozdziale dowiesz si! o kilkuz tych rozszerze'.

5.1. Przegl&d

Otoczenie picture pozwala programowa$ rysunki bezpo(rednio w LATEXu.Szczegó!owy jego opis mo#na znale&$ w [12]. Metoda ta ma jednak ograni-czenia, które wynikaj% z tego, #e zarówno nachylenia odcinków, jak i (redniceokr"gów mo#na wybiera$ jedynie spo(ród niewielkiej liczby warto(ci. Z dru-giej strony w wersji LATEX2! mo#na w otoczeniu picture u#ywa$ polecenia\qbezier, gdzie „q” oznacza drugiego stopnia (ang. quadratic). Wiele cz"-sto u#ywanych krzywych, jak: okr"gi, elipsy albo krzywe !a*cuchowe mo#na– niekiedy z odrobin% wysi!ku matematycznego – zadowalaj%co przybli#a$krzywymi Beziera1. Je(li na dodatek do generowania LATEXowych bloków\qbezier u#yje si" j"zyka programowania, na przyk!ad Javy, to otoczeniepicture ujawni ca!kiem poka&n% moc.Chocia# programowanie rysunków w LATEXu wi%#e si" z ograniczeniami

i jest niekiedy nu#%ce, to jednak s% powody, by z tej mo#liwo(ci korzysta$.Dokumenty wytworzone w ten sposób s% „ma!e” – w sensie liczby bajtówzajmowanych przez wynikowe pliki pdf lub dvi – a na dodatek nie trzebado nich wczytywa$ dodatkowych plików graficznych.

1W ciekawym artykule [10] B.L. Jackowski zwraca uwag!, #e krzywe Beziera s" krzy-wymi gi!tymi stopnia trzeciego, nie za$ – jak sugeruje nazewnictwo LATEXowe – stopniadrugiego.

Page 97: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

5.2. Otoczenie picture 85

Pakiety takie jak: epic i eepic (opisane na przyk!ad w [6]) b%d& pstrickspomagaj% pokonywa$ ograniczenia kr"puj%ce oryginalne otoczenie picturei znacznie rozszerzaj% graficzn% moc LATEXa.O ile pierwsze dwa z tych pakietów jedynie rozszerzaj% otoczenie picture,

to pakiet pstricks zawiera w!asne otoczenie rysuj%ce – pspicture. Mocpakietu pstricks bierze si" z tego, #e istotnie wykorzystuje on mo#liwo(ciPostscriptu.Na dodatek napisano wiele pakietów realizuj%cych konkretne cele. Jed-

nym z nich jest XY-pic, opisany na ko*cu tego rozdzia!u. Znaczn% liczb" tychpakietów opisano w [7] (nie nale#y myli$ z [6]).Spo(ród narz"dzi graficznych zwi%zanych z LATEXem najwi"ksze chyba

mo#liwo(ci posiada METAPOST, autorstwa Johna D. Hobby, b"d%cy warian-tem programu METAFONT, którego autorem jest z kolei Donald E. Knuth.METAPOST jest wyposa#ony w solidny i matematycznie wyrafinowany j"zykprogramowaniaMETAFONTa. Inaczej jednak ni#METAFONT, który generujemapy bitowe, METAPOST generuje pliki Postscriptowe, które mo#na impor-towa$ do LATEXa. Za wprowadzenie mo#e pos!u#y$ [8], a za podr"cznik –[21]. Dost"pne jest tak#e wprowadzenie do programu METAPOST w j"zykupolskim [8]2.Obszerne omówienie zagadnie* zwi%zanych z wykorzystaniem grafiki

(oraz fontów) w LATEXu i TEXu mo#na znale&$ w [9].

5.2. Otoczenie pictureUrs Oswald <[email protected]>

5.2.1. Podstawowe polecenia

Otoczenie picture3 mo#na tworzy$ poleceniem:

\begin{picture}(x, y). . . \end{picture}

lub

\begin{picture}(x, y)(x0, y0). . . \end{picture}

Liczby x, y, x0, y0 odnosz% si" do wielko(ci \unitlength, któr% mo#nazmienia$ w dowolnym momencie (jednak nie wewn%trz otoczenia picture)poleceniem takim jak:

\setlength{\unitlength}{1.2cm}

2Nie ma co ukrywa%, #e pos'ugiwanie si! METAPOSTem wymaga posiadania przynaj-mniej minimum umiej!tno$ci programistycznych. Dla u#ytkowników którzy nie progra-muj" przydatny mo#e by% program MetaGraf, który jest okienkow" nak'adk" do programuMETAPOST, por. http://w3.mecanica.upm.es/metapost/.3Otoczenie picture dzia'a w standardowym LATEX2!; nie trzeba 'adowa% #adnych

dodatkowych pakietów.

Page 98: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

86 Tworzenie grafiki matematycznej

Warto(ci% domy(ln% \unitlength jest 1pt. Pierwsza para, (x, y), towymiary rezerwowanego wewn%trz dokumentu prostok%tnego obszaru na ry-sunek. Opcjonalna druga para, (x0, y0), to wspó!rz"dne przypisane dolnemulewemu naro#nikowi zarezerwowanego prostok%ta.Wi"kszo($ polece* rysuj%cych ma jedn% z dwóch postaci:

\put(x, y){object}

lub

\multiput(x, y)(:x,:y){n}{object}

Wyj%tkiem s% krzywe Beziera, gdy# rysuje si" je poleceniem:

\qbezier(x1, y1)(x2, y2)(x3, y3)

5.2.2. Odcinki

\setlength{\unitlength}{5cm}\begin{picture}(1,1)\put(0,0){\line(0,1){1}}\put(0,0){\line(1,0){1}}\put(0,0){\line(1,1){1}}\put(0,0){\line(1,2){.5}}\put(0,0){\line(1,3){.3333}}\put(0,0){\line(1,4){.25}}\put(0,0){\line(1,5){.2}}\put(0,0){\line(1,6){.1667}}\put(0,0){\line(2,1){1}}\put(0,0){\line(2,3){.6667}}\put(0,0){\line(2,5){.4}}\put(0,0){\line(3,1){1}}\put(0,0){\line(3,2){1}}\put(0,0){\line(3,4){.75}}\put(0,0){\line(3,5){.6}}\put(0,0){\line(4,1){1}}\put(0,0){\line(4,3){1}}\put(0,0){\line(4,5){.8}}\put(0,0){\line(5,1){1}}\put(0,0){\line(5,2){1}}\put(0,0){\line(5,3){1}}\put(0,0){\line(5,4){1}}\put(0,0){\line(5,6){.8333}}\put(0,0){\line(6,1){1}}\put(0,0){\line(6,5){1}}\end{picture}

!!

!!

!!

!!

!!

!!

!!!

"""""""""""""""

###############

$$$$$$$$$$$$$$$

%%%%%%%%%%%%%%%

&&&&&&&&&&&&&&&

'''''''''''''''

((

((

((

((

((

((

(((

)))))))))))))))

***************

++

++

++

++

++

++

+++

,,

,,

,,

,,

,,

,,

,,,

---------------

...............

//

//

//

//

//

//

///

00

00

00

00

00

00

000

111111111111111

222222222222222

333333333333333

44

44

44

44

44

44

444

55

55

55

55

55

55

555

666666666666666

77

77

77

77

77

77

777

Page 99: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

5.2. Otoczenie picture 87

Do rysowania odcinków s!u#y polecenie:

\put(x, y){\line(x1, y1){length}}

Ma ono ma dwa argumenty: wektor kierunku i d!ugo($.Jako sk!adników wektora kierunku mo#na u#y$ jedynie liczb ca!kowitych:

#6, #5, . . . , 5, 6,

Musz% one na dodatek by$ liczbami wzgl"dnie pierwszymi (jedynym ichwspólnym dzielnikiem mo#e by$ 1). Powy#szy rysunek ilustruje wszystkiemo#liwe warto(ci nachylenia w pierwszej $wiartce p!aszczyzny. D!ugo($ jestpodawana w jednostkach \unitlength. Argument d!ugo(ci oznacza wspó!-rz"dn% pionow% w wypadku odcinka pionowego, za( wspó!rz"dn% poziom%we wszystkich pozosta!ych przypadkach.

5.2.3. Strza#ki

\setlength{\unitlength}{0.75mm}\begin{picture}(60,40)\put(30,20){\vector(1,0){30}}\put(30,20){\vector(4,1){20}}\put(30,20){\vector(3,1){25}}\put(30,20){\vector(2,1){30}}\put(30,20){\vector(1,2){10}}\thicklines\put(30,20){\vector(-4,1){30}}\put(30,20){\vector(-1,4){5}}\thinlines\put(30,20){\vector(-1,-1){5}}\put(30,20){\vector(-1,-4){5}}\end{picture}

8.....9******:''''''';

"""""<

!!!!!!!"#####$

!!=$$$$$>

Strza!ki rysuje si" poleceniem:

\put(x, y){\vector(x1, y1){length}}

Wwypadku strza!ek na sk!adniki wektora kierunku na!o#one s% jeszcze wi"k-sze ograniczenia ni# dla odcinków, bo jedynymi dopuszczalnymi liczbamica!kowitymi s%:

#4, #3, . . . , 3, 4.

Warto(ci sk!adników i tu musz% by$ liczbami wzgl"dnie pierwszymi (jedy-nym wspólnym dzielnikiem mo#e by$ 1). Zauwa# efekt dzia!ania polecenia\thicklines na dwie strza!ki skierowane w stron" lewego górnego naro#nikaoraz \thinlines na strza!ki w stron" naro#nika prawego górnego.

Page 100: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

88 Tworzenie grafiki matematycznej

5.2.4. Okr!gi

\setlength{\unitlength}{1mm}\begin{picture}(60, 40)\put(20,30){\circle{1}}\put(20,30){\circle{2}}\put(20,30){\circle{4}}\put(20,30){\circle{8}}\put(20,30){\circle{16}}\put(20,30){\circle{32}}

\put(40,30){\circle{1}}\put(40,30){\circle{2}}\put(40,30){\circle{3}}\put(40,30){\circle{4}}\put(40,30){\circle{5}}\put(40,30){\circle{6}}\put(40,30){\circle{7}}\put(40,30){\circle{8}}\put(40,30){\circle{9}}\put(40,30){\circle{10}}\put(40,30){\circle{11}}\put(40,30){\circle{12}}\put(40,30){\circle{13}}\put(40,30){\circle{14}}

\put(15,10){\circle*{1}}\put(20,10){\circle*{2}}\put(25,10){\circle*{3}}\put(30,10){\circle*{4}}\put(35,10){\circle*{5}}\end{picture}

!"#$%&'

()*+()*+

!",#-./012345$%&'$%&'6789:;<=>?@A>?@A()*+

B C D E F

Polecenie:

\put(x, y){\circle{diam}}

rysuje okr%g o (rodku (x, y) i (rednicy (nie promieniu) równym diam. Oto-czenie picture dopuszcza (rednice co najwy#ej rz"du 14mm, na dodateknie wszystkie d!ugo(ci (rednic s% dozwolone. Polecenie \circle* generujeko!a (wype!nione okr"gi).Podobnie jak w wypadku odcinków, mo#na si" uciec do dodatkowych

pakietów, takich jak eepic b%d& pstricks. Obszerny opis tych pakietów mo#naznale&$ w [7].Otoczenie picture oferuje jeszcze jedn% opcj". Je(li nie boisz si" wykona-

nia niezb"dnych oblicze* (by$ mo#e nawet za pomoc% programu), to okr"gioraz elipsy mo#esz z!ata$ z krzywych Beziera drugiego stopnia. Przyk!adyoraz &ród!owe pliki w Javie mo#na znale&$ w [21].

Page 101: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

5.2. Otoczenie picture 89

5.2.5. Tekst i wzory

\setlength{\unitlength}{0.8cm}\begin{picture}(6,5)\thicklines\put(1,0.5){\line(2,1){3}}\put(4,2){\line(-2,1){2}}\put(2,3){\line(-2,-5){1}}\put(0.65,0.3){$A$}\put(4.05,1.9){$B$}\put(1.65,2.95){$C$}\put(3.1,2.5){$a$}\put(1.3,1.7){$b$}\put(2.5,1.05){$c$}\put(0.3,4){$F=\sqrt{s(s-a)(s-b)(s-c)}$}\put(3.5,0.4){$\displaystyles:=\frac{a+b+c}{2}$}

\end{picture}

%%%%%%%&&&&&'

''

'''A

B

Ca

b

c

F =#s(s# a)(s# b)(s# c)

s :=a+ b+ c2

Jak wida$ w powy#szym przyk!adzie, tekst oraz wzory mo#na !atwowprowadza$ do otoczenia picture poleceniem \put.

5.2.6. Polecenia \multiput i \linethickness

\setlength{\unitlength}{2mm}\begin{picture}(30,20)\linethickness{0.075mm}\multiput(0,0)(1,0){26}%{\line(0,1){20}}\multiput(0,0)(0,1){21}%{\line(1,0){25}}\linethickness{0.15mm}\multiput(0,0)(5,0){6}%{\line(0,1){20}}\multiput(0,0)(0,5){5}%{\line(1,0){25}}\linethickness{0.3mm}\multiput(5,0)(10,0){2}%{\line(0,1){20}}\multiput(0,5)(0,10){2}%{\line(1,0){25}}

\end{picture}

Polecenie:

\multiput(x, y)(:x,:y){n}{object}

ma cztery argumenty: punkt pocz%tkowy, wektor przesuni"cia z jednegoobiektu do kolejnego, liczb" obiektów oraz rysowany obiekt. Instrukcja

Page 102: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

90 Tworzenie grafiki matematycznej

\linethickness odnosi si" do odcinków poziomych oraz pionowych, jed-nak#e nie do odcinków uko(nych ani nie do okr"gów. Stosuje si" ona jednakrównie# do krzywych Beziera drugiego stopnia.

5.2.7. Owale

\setlength{\unitlength}{0.75cm}\begin{picture}(6,4)\linethickness{0.075mm}\multiput(0,0)(1,0){7}%{\line(0,1){4}}\multiput(0,0)(0,1){5}%{\line(1,0){6}}\thicklines\put(2,3){\oval(3,1.8)}\thinlines\put(3,2){\oval(3,1.8)}\thicklines\put(2,1){\oval(3,1.8)[tl]}\put(4,1){\oval(3,1.8)[b]}\put(4,3){\oval(3,1.8)[r]}\put(3,1.5){\oval(1.8,0.4)}\end{picture}

!"

#$@

>A?!

" $

#$%& '(

Polecenie:

\put(x, y){\oval(w, h)}

jak te#:

\put(x, y){\oval(w, h)[pozycja]}

generuje owal o (rodku (x, y), szeroko(ci w i wysoko(ci h. Opcjonalne argu-menty pozycji : b, t, l i r oznaczaj% odpowiednio: „top” (góra), „bottom”(dó!), „left” (lewo) i „right” (prawo). Jak pokazuje przyk!ad, mo#na tak#eu#ywa$ ich kombinacji.Grubo(ci% linii mo#na sterowa$ na dwa sposoby, z jednej strony polece-

niem:

\linethickness{length}

z drugiej – za pomoc% \thinlines i \thicklines. O ile pierwszy ze spo-sobów odnosi si" jedynie do linii poziomych oraz pionowych, a tak#e dokrzywych Beziera drugiego stopnia, o tyle \thinlines i \thicklines sto-suj% si" do odcinków uko(nych, jak te# do okr"gów i owali.

Page 103: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

5.2. Otoczenie picture 91

5.2.8. Wielokrotne u'ycie pude#ek z rysunkami

\setlength{\unitlength}{0.5mm}\begin{picture}(120,168)\newsavebox{\foldera}\savebox{\foldera}(40,32)[bl]{% definition\multiput(0,0)(0,28){2}{\line(1,0){40}}\multiput(0,0)(40,0){2}{\line(0,1){28}}\put(1,28){\oval(2,2)[tl]}\put(1,29){\line(1,0){5}}\put(9,29){\oval(6,6)[tl]}\put(9,32){\line(1,0){8}}\put(17,29){\oval(6,6)[tr]}\put(20,29){\line(1,0){19}}\put(39,28){\oval(2,2)[tr]}}\newsavebox{\folderb}\savebox{\folderb}(40,32)[l]{% definition\put(0,14){\line(1,0){8}}\put(8,0){\usebox{\foldera}}}\put(34,26){\line(0,1){102}}\put(14,128){\usebox{\foldera}}\multiput(34,86)(0,-37){3}{\usebox{\folderb}}\end{picture}

G H I J

G H I J

G H I J

G H I J

Pude!ko rysunku mo#na zadeklarowa' instrukcj%:

\newsavebox{nazwa}

nast"pnie zachowa' poleceniem:

\savebox{nazwa}(szeroko&',wysoko&')[pozycja]{tre&'}

i ostatecznie dowolnie cz"sto rysowa', wywo!uj%c:

\put(x, y)\usebox{nazwa}

Opcjonalny parametr pozycja definiuje „punkt zaczepienia” zachowywa-nego pude!ka (savebox). W przyk!adzie nadano mu warto($ bl, co oznaczaumieszczenie punktu zaczepienia w dolnym lewym naro#niku pude!ka. Po-zycje mo#na te# oznacza$ literami t (góra) i r (prawo).

Page 104: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

92 Tworzenie grafiki matematycznej

Argument nazwa odnosi si" do LATEXowego magazynu polece* i dlategoma natur" instrukcji (co w powy#szym przyk!adzie objawia si" cho$by u#y-ciem znaków ’\’). Rysunki przechowywane w pude!kach mo#na zagnie#d#a$.W powy#szym przyk!adzie wewn%trz definicji \folderb u#yto \foldera.Trzeba by!o u#y$ polecenia \oval, poniewa# instrukcja \line nie dzia!a,

gdy d!ugo($ odcinka wynosi mniej ni# oko!o 3mm.

5.2.9. Krzywe Beziera drugiego stopnia

\setlength{\unitlength}{0.8cm}\begin{picture}(6,4)\linethickness{0.075mm}\multiput(0,0)(1,0){7}{\line(0,1){4}}\multiput(0,0)(0,1){5}{\line(1,0){6}}\thicklines\put(0.5,0.5){\line(1,5){0.5}}\put(1,3){\line(4,1){2}}\qbezier(0.5,0.5)(1,3)(3,3.5)\thinlines\put(2.5,2){\line(2,-1){3}}\put(5.5,0.5){\line(-1,5){0.5}}\linethickness{1mm}\qbezier(2.5,2)(5.5,0.5)(5,3)\thinlines\qbezier(4,2)(4,3)(3,3)\qbezier(3,3)(2,3)(2,2)\qbezier(2,2)(2,1)(3,1)\qbezier(3,1)(4,1)(4,2)\end{picture}

(((((()))))

???????@@@@@@

Jak wida$ w przyk!adzie, podzielenie okr"gu na cztery krzywe Beziera dru-giego stopnia nie daje zadowalaj%cego efektu; lepsze przybli#enie da!obyosiem. Przyk!ad ponownie ilustruje wp!yw instrukcji \linethickness nalinie poziome i pionowe oraz polece* \thinlines i \thicklines na od-cinki pochy!e. Pokazuje on równie#, #e oba te rodzaje polece* oddzia!uj% nakrzywe Beziera i #e kolejne u#ycie któregokolwiek z nich przes!ania poprzed-nie.Niech symbole P1 = (x1, y1), P2 = (x2, y2) oznaczaj% punkty ko*cowe,

za( m1, m2 – odpowiednie nachylenia krzywej Beziera drugiego stopnia.Po(redni punkt kontrolny S = (x, y) jest zatem opisany równaniami:

;S<

S=x =

m2x2 #m1x1 # (y2 # y1)m2 #m1

,

y = yi +mi(x# xi) (i = 1, 2).(5.1)

Page 105: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

5.2. Otoczenie picture 93

W [21] mo#na znale&$ program w Javie, który generuje odpowiedni% lini"polecenia \qbezier.

5.2.10. Krzywe #a(cuchowe

\setlength{\unitlength}{1cm}\begin{picture}(4.3,3.6)(-2.5,-0.25)\put(-2,0){\vector(1,0){4.4}}\put(2.45,-.05){$x$}\put(0,0){\vector(0,1){3.2}}\put(0,3.35){\makebox(0,0){$y$}}\qbezier(0.0,0.0)(1.2384,0.0)(2.0,2.7622)\qbezier(0.0,0.0)(-1.2384,0.0)(-2.0,2.7622)\linethickness{.075mm}\multiput(-2,0)(1,0){5}{\line(0,1){3}}\multiput(-2,0)(0,1){4}{\line(1,0){4}}\linethickness{.2mm}\put( .3,.12763){\line(1,0){.4}}\put(.5,-.07237){\line(0,1){.4}}\put(-.7,.12763){\line(1,0){.4}}\put(-.5,-.07237){\line(0,1){.4}}\put(.8,.54308){\line(1,0){.4}}\put(1,.34308){\line(0,1){.4}}\put(-1.2,.54308){\line(1,0){.4}}\put(-1,.34308){\line(0,1){.4}}\put(1.3,1.35241){\line(1,0){.4}}\put(1.5,1.15241){\line(0,1){.4}}\put(-1.7,1.35241){\line(1,0){.4}}\put(-1.5,1.15241){\line(0,1){.4}}\put(-2.5,-0.25){\circle*{0.2}}\end{picture}

8x

Ay

C

Ka#d% z symetrycznych po!ówek wykresu cosinusa hiperbolicznego y =coshx # 1 przybli#ono na rysunku krzyw% Beziera. Prawa po!ówka krzy-wej ko*czy si" w punkcie (2, 2.7622), w którym nachylenie ma warto($m = 3.6269. U#ywaj%c ponownie równania (5.1), mo#emy wyliczy$ po(redniepunkty kontrolne. Okazuje si", #e s% to: (1.2384, 0) i (#1.2384, 0). Krzy#y-kami zosta!a zaznaczona „prawdziwa” krzywa. B!%d jest ledwie zauwa#alny,bo wynosi mniej ni# jeden procent.Ten przyk!ad ilustruje te# u#ycie opcjonalnego argumentu otoczenia

\begin{picture}. Rysunek zdefiniowano w terminach wygodnych wspó!-rz"dnych „matematycznych”, podczas gdy poleceniem:

\begin{picture}(4.3,3.6)(-2.5,-0.25)

Page 106: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

94 Tworzenie grafiki matematycznej

jego lewemu dolnemu naro#nikowi (oznaczonemu czarnym kó!eczkiem) przy-pisano wspó!rz"dne (#2.5,#0.25).

5.2.11. Pr!dko"$ w Szczególnej Teorii Wzgl!dno"ci

\setlength{\unitlength}{0.8cm}\begin{picture}(6,4)(-3,-2)\put(-2.5,0){\vector(1,0){5}}\put(2.7,-0.1){$\chi$}\put(0,-1.5){\vector(0,1){3}}\multiput(-2.5,1)(0.4,0){13}{\line(1,0){0.2}}\multiput(-2.5,-1)(0.4,0){13}{\line(1,0){0.2}}\put(0.2,1.4){$\beta=v/c=\tanh\chi$}\qbezier(0,0)(0.8853,0.8853)(2,0.9640)\qbezier(0,0)(-0.8853,-0.8853)(-2,-0.9640)\put(-3,-2){\circle*{0.2}}\end{picture}

8 %

A, = v/c = tgh%

K

Punkty kontrolne dwóch krzywych Beziera wyliczono ze wzorów (5.1).Ga!%& dodatnia jest okre(lona warto(ciami P1 = (0, 0), m1 = 1 orazP2 = (2, tgh 2), m2 = 1/ cosh2 2. I znowu rysunek wyra#ono w wygodnychmatematycznie wspó!rz"dnych, a lewemu dolnemu naro#nikowi przypisanowspó!rz"dne (#3,#2) (czarne kó!eczko).

5.3. XY-picAlberto Manuel Brandao Simoes <[email protected]>

PakietXY-pic s!u#y do rysowania grafów. Aby uzyska$ dost"p do jego funkcji,umieszczamy w preambule dokumentu wiersz:

\usepackage[opcje]{xy}

Parametr opcje jest list% funkcji pakietu XY-pic, które maj% zosta$ za!ado-wane. Opcje te przydaj% si" mi"dzy innymi do szukania b!"dów w pakiecie.Zaleca si" przekazywa$ opcj" all, nakazuj%c% LATEXowi za!adowa$ wszystkiepolecenia pakietu.Graf rysuje si" wXY-pic na p!ótnie o strukturze macierzy, a ka#dy element

grafu jest umieszczony w komórce tej macierzy:

Page 107: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

5.3. XY-pic 95

\begin{displaymath}\xymatrix{A & B \\C & D }\end{displaymath}

A B

C D

Polecenia \xymatrixmo#na u#y$ jedynie w trybie matematycznym. Powy#ejzadano dwa wiersze i dwie kolumny. Aby przekszta!ci$ t" macierz w graf,pos!ugujemy si" dodaj%cym strza!ki poleceniem \ar4:

\begin{displaymath}\xymatrix{ A \ar[r] & B \ar[d] \\

D \ar[u] & C \ar[l] }\end{displaymath}

A !! B

""D

##

C$$

Polecenie \ar umieszczamy w komórce, w której strza!ka ma si" zaczyna$.Argument oznacza kierunek strza!ki (u – góra, d – dó!, r – prawo i l – lewo):

\begin{displaymath}\xymatrix{A \ar[d] \ar[dr] \ar[r] & B \\D & C }\end{displaymath}

A

"" %%!!!

!!!!

!! B

D C

Aby uzyska$ przek%tne, u#ywamy po prostu wi"cej ni# jednego kierunku.Powtarzaj%c kierunek, wyd!u#amy w istocie strza!k":

\begin{displaymath}\xymatrix{A \ar[d] \ar[dr] \ar[drr] & & \\B & C & D }\end{displaymath}

A

"" &&!!!

!!!!

''""""""""""""""

B C D

Uzupe!niaj%c strza!ki o etykiety, mo#emy uzyska$ jeszcze ciekawsze grafy.U#ywamy do tego zwyczajnych operatorów indeksów górnych i dolnych:

4Pakiety XY-pic oraz polski s" w konflikcie, bo oba definiuj" polecenie \ar. Je#elipolecenie \ar ma dzia'a% tak, jak zdefiniowano to w pakiecie XY-pic, to trzeba xy do'"czy%po pakiecie polski. Oczywi$cie nie ma wtedy dost!pu do polecenia \ar z pakietu polski.

Page 108: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

96 Tworzenie grafiki matematycznej

\begin{displaymath}\xymatrix{A \ar[r]^f \ar[d]_g &

B \ar[d]^{g’} \\D \ar[r]_{f’} & C }\end{displaymath}

Af !!

g

""

B

g!

""D

f !!! C

Jak wida$, operatorów tych u#ywa si" tak samo jak w trybie matema-tycznym. Jedyn% ró#nic% jest to, #e indeks górny oznacza nad, za( dolny –pod strza!k%. Istnieje jeszcze trzeci operator – pionowej kreski |. Umieszczaon tekst na strza!ce:

\begin{displaymath}\xymatrix{A \ar[r]|f \ar[d]|g &

B \ar[d]|{g’} \\D \ar[r]|{f’} & C }\end{displaymath}

A f !!

g

""

B

g!

""D f ! !! C

Aby narysowa$ strza!k" z dziurk% w (rodku, mo#emy u#y$ polecenia\ar[...]|\hole.W niektórych sytuacjach trzeba u#ywa$ ró#nych typów strza!ek. Mo#na

je w tym celu oznacza$ ró#nymi etykietami b%d& nadawa$ im ró#ny wygl%d:

\begin{displaymath}\xymatrix{\bullet\ar@{->}[rr] && \bullet\\\bullet\ar@{.<}[rr] && \bullet\\\bullet\ar@{~)}[rr] && \bullet\\\bullet\ar@{=(}[rr] && \bullet\\\bullet\ar@{~/}[rr] && \bullet\\\bullet\ar@{^{(}->}[rr] &&

\bullet\\\bullet\ar@2{->}[rr] && \bullet\\\bullet\ar@3{->}[rr] && \bullet\\\bullet\ar@{=+}[rr] && \bullet}\end{displaymath}

• !! •

• $$ •

• !"#$#$#$#$#$#$#$ •

• % &•

• ##$#$#$#$#$#$#$ •

• %&

!! •

• (( •

• $ )) •

• %$•

Zauwa# ró#nic" mi"dzy nast"puj%cymi dwoma grafami:

Page 109: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

5.3. XY-pic 97

\begin{displaymath}\xymatrix{\bullet \ar[r]

\ar@{.>}[r] &\bullet}\end{displaymath}

• !!!! •

\begin{displaymath}\xymatrix{\bullet \ar@/^/[r]

\ar@/_/@{.>}[r] &\bullet}\end{displaymath}

• **++ •

Symbole mi"dzy uko(nikami okre(laj% tu sposób rysowania krzywych.Pakiet XY-pic oferuje wiele metod wp!ywania na sposób rysowania krzy-

wych. Wi"cej na ten temat mo#na przeczyta$ w dokumentacji pakietu [23].

Page 110: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Rozdzia# 6

Adaptowanie LATEXa

Dokumenty sk#adane za pomoc& poznanych do tej pory polece' b!d& si! zapewnepodoba#y zdecydowanej wi!kszo"ci czytelników. Chocia% ich wygl&d nie b!dzie mo%ewyrafinowany, z pewno"ci& jednak spe#ni& one podstawowe zasady sk#adu, dzi!kiczemu b!dzie si! je czyta#o #atwo i przyjemnie.W niektórych wypadkach mo%e si! jednak okaza$, %e brakuje polecenia czy

otoczenia, za pomoc& którego mogliby"my z#o%y$ dany fragment tekstu w sposóbodpowiadaj&cy potrzebom, albo te% %e sposób dzia#ania dost!pnej w LATEXu in-strukcji nie spe#nia naszych wymaga'.W tym rozdziale przedstawimy, jak nauczy$ LATEXa formatowa$ dokumenty tak,

aby wygl&da#y inaczej ni% w wypadku korzystania jedynie ze standardowych klasi pakietów.

6.1. Definiowane instrukcji i otocze(

Czytelnicy zauwa#yli zapewne, #e nowo wprowadzane w tej ksi%#ce poleceniaukazuj% si" w ramkach oraz #e znajduj% si" one w skorowidzu. Aby toosi%gn%$, nie korzystali(my za ka#dym razem z wbudowanych w LATEXainstrukcji, lecz utworzyli(my w!asny pakiet, w którym zawarli(my nowe,potrzebne nam polecenia i otoczenia. Dysponuj%c takim pakietem, wystarczypo prostu napisa$:

\begin{command}\ci{polecenie}\end{command}

\polecenie

W tym przyk!adzie u#yli(my zarówno nowego otoczenia o nazwie command,odpowiedzialnego za rysowanie ramek dooko!a instrukcji, jak te# nowegopolecenia \ci, s!u#%cego do sk!adu nazw polece* i wprowadzania ich doskorowidza. Proponujemy Czytelnikom odszukanie has!a \polecenie w sko-rowidzu; przy ha(le powinny by$ podane numery stron, na których ta in-strukcja wyst"puje w ksi%#ce.

Page 111: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.1. Definiowane instrukcji i otocze( 99

Gdy zdecydujemy si" zaprzesta$ otacza$ polecenia ramkami, to dozmiany wygl%du wystarczy, #e zmienimy definicj" otoczenia command. Jest toznacznie !atwiejsze od przebiegni"cia przez ca!y dokument w celu wy!apaniaw nim wszystkich standardowych polece* LATEX, które s!u#% do rysowaniaramek wokó! s!ów.We wst"pie do tego opracowania wspomnieli(my, #e w LATEXu mo#emy si"

skupi$ na logicznej strukturze dokumentów. Wskazane jest rozró#ni$ w tek-(cie &ród!owym wszystkie elementy logiczne dokumentu, nawet je#eli ichformatowanie jest identyczne. Nierzadko bowiem to, co dzisiaj formatujemyw taki sam sposób, w przysz!o(ci mo#emy chcie$ rozró#ni$.Zwyk!o si" na przyk!ad sk!ada$ adresy internetowe imitacj% kroju ma-

szynowego. Poniewa# w adresach mog% wyst%pi$ znaki specjalne LATEXa,to mo#na by do tego celu stosowa$ instrukcj" \verb. Lepiej jednak u#y$specjalnej instrukcji, np. \url. W dokumencie papierowym nie ma to zna-czenia, znakowanie logiczne pozwala jednak przedstawi$ dokument zarównow formie drukowanej, jak i hipertekstowej, w formacie html lub pdf.

6.1.1. Instrukcje definiowane przez u'ytkownika

Do definiowania potrzebnych nam nowych polece* mo#emy u#y$ instrukcji:

\newcommand{nazwa}[num]{tekst}

Wymaga ona podania dwóch argumentów. Pierwszy z nich, nazwa, oznaczanazw" nowej instrukcji, natomiast tekst to jej znaczenie, czyli tekst, który mazosta$ wstawiony do sk!adu w momencie wykonania instrukcji. Podawanyw nawiasach kwadratowych argument num powinien by$ cyfr% od 1 do 9,okre(laj%c% liczb" (obowi%zkowych) argumentów instrukcji. Argument numjest opcjonalny, a jego pomini"cie oznacza, #e definiowana instrukcja jestbezargumentowa.W cz"(ci tekst wolno u#ywa$ zarówno standardowych instrukcji LATEXa,

jak te# zdefiniowanych przez u#ytkownika. Nie wolno jednak korzysta$z tych instrukcji, które same definiuj% inne polecenia, jak \newcommand,\newenvironment itp. Niedozwolona jest rekursja, nie wolno te# w nazwachinstrukcji umieszcza$ polskich liter diakrytycznych.Nast"puj%ce przyk!ady pomog% lepiej zrozumie$ zagadnienie. W pierw-

szym z nich definiujemy instrukcj" o nazwie \kwle, maj%c% by$ skrótem dlas!ów „Krótkie wprowadzenie do systemu LATEX2!”. Takie polecenie mog!obysi" przyda$, gdyby tytu! ksi%#ki mia! w niej wyst"powa$ wielokrotnie.

\newcommand{\kwle}{Krótkiewprowadzenie do systemu \LaTeXe}% nast#pnie po \begin{document}:\kwle; \emph{\kwle}

Krótkie wprowadzenie do systemu LATEX2!;Krótkie wprowadzenie do systemu LATEX2!

Page 112: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

100 Adaptowanie LATEXa

Nast"pny przyk!ad ilustruje sposób wykorzystania opcjonalnego argumentunum. Znacznik #1 oznacza pierwszy parametr formalny (#2 oznacza!bydrugi, #3 – trzeci itd.). W trakcie wykonywania tre(ci instrukcji w miejsceparametrów formalnych TEX wstawia argumenty podane w jej wywo!aniu(parametry aktualne).Instrukcja w poni#szym przyk!adzie ma jeden parametr:

\newcommand{\wle}[1]{\emph{#1} wprowadzeniedo systemu \LaTeXe}% nast#pnie po \begin{document}:\wle{Krótkie}; \wle{D$ugie}

Krótkie wprowadzenie do systemu LATEX2!;D"ugie wprowadzenie do systemu LATEX2!

LATEX nie pozwala zdefiniowa$ instrukcji nazwanej tak samo jak wcze(niejzdefiniowane polecenie. W wypadku gdy chcemy zmieni$ znaczenie ju# istnie-j%cej instrukcji, powinni(my u#y$ polecenia \renewcommand. Za wyj%tkiemnazwy ma ono sk!adni" identyczn% jak \newcommand.Czasami mo#e si" te# przyda$ polecenie \providecommand. Dzia!a ono

jak \newcommand, z tym #e je(li istnieje ju# komenda o takiej samej nazwie,to nie zast"puje ono starej, zwyczajnie ignoruj%c now%.Nieco uwagi nale#y po(wi"ci$ temu, jaki skutek ma umieszczenie odst"pu

po komendzie LATEXa. Informacje na ten temat mo#na znale&$ na stronie 5.

6.1.2. Otoczenia definiowane przez u'ytkownika

Odpowiednikiem definiuj%cej nowe polecenie instrukcji \newcommand jest dlaotocze* instrukcja \newenvironment. Ma ona nast"puj%c% sk!adni":

\newenvironment{nazwa}[num]{pocz#tek}{koniec}

Podobnie jak w wypadku \newcommand, mo#na instrukcji \newenvironmentu#y$ z argumentem opcjonalnym albo bez niego. LATEX wstawia tekst po-cz#tek, gdy w dokumencie napotyka napis \begin{nazwa}, a zawarto($argumentu koniec – po napotkaniu napisu \end{nazwa}.Poni#szy przyk!ad ilustruje sposób u#ycia instrukcji \newenvironment.

\newenvironment{zrodlo}{*ród$o: }{\par}% nast#pnie po \begin{document}:\begin{zrodlo} Rocznik StatystycznyGUS. \end{zrodlo}

3ród!o: Rocznik Statystyczny GUS.

Znaczenie argumentu num jest takie samo jak w instrukcji \newcommand.LATEX nie pozwala zdefiniowa$ otoczenia o ju# istniej%cej nazwie. W razie

potrzeby zast%pienia ju# istniej%cego otoczenia powinni(my u#y$ polecenia\renewenvironment, o sk!adni takiej samej jak \newenvironment.

Page 113: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.1. Definiowane instrukcji i otocze( 101

6.1.3. Nadmiarowe odst!py

Gdy tworzymy nowe otoczenie, problemem mog% by$ zb"dne odst"py, któreLATEX wstawia do sk!adu. Rozwa#my przyk!ad otoczenia, które ma si" roz-poczyna$ od akapitu bez wci"cia, ponadto pierwszy akapit po otoczeniutak#e nie ma mie$ wci"cia. Polecenie \ignorespaces, umieszczone jakoostatnie polecenie bloku begin otoczenia, spowoduje zignorowanie wszystkichodst"pów wyst"puj%cych przed pierwszym akapitem otoczenia. Usuni"ciedrugiego wci"cia przez umieszczenie w bloku ko*cowym \ignorespacesjest niemo#liwe, gdy# zawsze ostatnim poleceniem b"dzie \end{otoczenie},które anuluje dzia!anie \ignorespaces. W takiej sytuacji trzeba skorzy-sta$ z polecenia \ignorespacesafterend. Napotkawszy je, LATEX wstawi\ignorespaces dopiero po wykonaniu zamykaj%cego \end{otoczenie}.

\newenvironment{proste}%{\noindent}%{\par\noindent}

\begin{proste}Zobacz odst#p\\z~lewej strony.\end{proste}Tak samo\\tutaj.

Zobacz odst"pz lewej strony.Tak samotutaj.

\newenvironment{poprawne}%{\noindent\ignorespaces}%{\par\noindent%\ignorespacesafterend}

\begin{poprawne}Bez odst#pu\\z lewej strony.\end{poprawne}Tak samo\\tutaj.

Bez odst"puz lewej strony.Tak samotutaj.

6.1.4. W#asne pakiety

W wypadku definiowania wielu nowych polece* i otocze* preambu!a do-kumentu mo#e si" znacznie wyd!u#y$. Dobrze w takiej sytuacji stworzy$pakiet zawieraj%cy definicje tych instrukcji i otocze*. Taki pakiet mo#napó&niej do!%czy$ do dokumentu poleceniem \usepackage.Tworzenie pakietu polega na skopiowaniu polece* z preambu!y do od-

dzielnego pliku o rozszerzeniu .sty. Na pocz%tku pakietu nale#y wpisa$polecenie:

\ProvidesPackage{nazwa}

Dzi"ki instrukcji \ProvidesPackage LATEX poznaje nazw" pakietu, a topozwala mu na przyk!ad ostrzec u#ytkownika w wypadku powtórnego do-

Page 114: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

102 Adaptowanie LATEXa

% Przyk$adowy pakiet ***\ProvidesPackage{demopack}\newcommand{\kwle}{Krótkie wprowadzenie do systemu \LaTeXe}\newcommand{\wle}[1]{\emph{#1} wprowadzeniedo systemu \LaTeXe}\newenvironment{zrodlo}{*ród$o: }{\par}

Rysunek 6.1: Przyk!adowy pakiet

!%czenia pakietu do dokumentu. Rysunek 6.1 przedstawia niewielki pakietz instrukcjami z powy#szych przyk!adów.

6.2. Fonty

6.2.1. Instrukcje prze#&czaj&ce stopie( pisma

LATEX automatycznie dobiera krój, odmian" i stopie* pisma1 dla ró#nychelementów dokumentu (tytu!ów rozdzia!ów, punktów, przypisów itp.). Cza-sami zachodzi jednak potrzeba „r"cznego” prze!%czenia kroju b%d& stopniapisma. Mo#na do tego u#y$ polece* zestawionych w tabelach 6.1 i 6.2. Sto-pie* pisma jest kwesti% uk!adu graficznego dokumentu i zale#y od wybranejklasy dokumentu oraz ustawienia odpowiednich opcji. W tabeli 6.3 zesta-wiono stopnie pisma w jednostkach absolutnych dla polece* zmieniaj%cychwielko($ kroju w standardowych klasach dokumentów.

{\small Nieliczni lecz\textbf{odwa"ni} Rzymianie rz'dzili}{\Large wielk' \textit{Itali'}.}

Nieliczni lecz odwa%ni Rzymianie rz%dziliwielk$ Itali!.

Bie#%cy font jest w LATEXu scharakteryzowany przez pi"$ elementów: uk!ad(zestaw znaków), krój (rodzin"), grubo($ i szeroko($, odmian" oraz stopie*

1Pismo drukarskie to pismo utrwalone na no$niku, tj. materiale, na którym umiesz-czono negatywy lub pozytywy znaków pisma. Krój pisma to obraz pisma drukarskiegoo jednolitych cechach graficznych, niezale#nych od stopnia i odmiany pisma. Ka#dy krójpisma posiada swoj" nazw! (na przyk'ad Times New Roman, Computer Modern czyGaramond). Odmiana kroju pisma ró#nicuje pisma jednego kroju ze wzgl!du na grubo$%,szeroko$% i pochylenie. Stopie# pisma okre$la z kolei wielko$% znaków. Zestawy metalowychczcionek , czyli kawa'ków metalu, w których utrwalano znaki pisma, drukarze przechowy-wali w kasztach. Angielsk", a w'a$ciwie ameryka(sk" nazw" zestawu czcionek jednegokroju i wielko$ci, powszechnie dzi$ u#ywan" w terminologii komputerowej, jest font (zo-bacz te# [3]).Fonty LATEXa, takie jak pl, ec czy lm, s" optycznie identyczne, bo wszystkie s"replikami kroju Computer Modern, ró#ni" si! jednak od najcz!$ciej u#ywanego w edytorachbiurowych, takich jak MS Word, kroju Times New Roman.

Page 115: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.2. Fonty 103

i interlini". Ka#dy z nich mo#na dobra$ niezale#nie od ustawienia pozosta-!ych. Oznacza to na przyk!ad, #e zmiana stopnia pisma nie powoduje zmianyjego kroju ani odmiany.

Tabela 6.1: Polecenia wyboru krojów i odmian

\textrm{...} krój szeryfowy \textsf{...} krój bezszeryfowy\texttt{...} grotesk, tj. pismo o jednakowej szeroko(ci znaków

\textmd{...} pismo jasne \textbf{...} pismo grube

\textup{...} odmiana prosta \textit{...} kursywa\textsl{...} odmiana pochy#a \textsc{...} kapitaliki

\emph{...} wyró!nienie\textnormal{...} g!ówny font dokumentu

Tabela 6.2: Polecenia jednoczesnego wyboru stopnia pisma i interlinii

\tiny mikroskopijny

\scriptsize bardzo ma!y

\footnotesize mniejszy\small ma!y\normalsize normalny\large du%y

\Large wi&kszy\LARGE bardzo du%y\huge ogromny\Huge najwi&kszy

Przy okazji omawiania polece* dotycz%cych fontów trzeba wspomnie$o koncepcji grupowania. Grupa zaczyna si" od znaku {, a ko*czy znakiem }.Grupy s!u#% do ograniczania zasi"gu dzia!ania polece* LATEXa. Przyjrzyjmysi" nast"puj%cemu przyk!adowi:

Lubi# {\LARGE du"e oraz{\small ma$e} litery} i~cyfry. Lubi"du%e oraz ma!e litery i cyfry.

Pierwszy nawias klamrowy rozpoczyna grup", potem polecenie \LARGEzmienia stopie* pisma na bardzo du!y, w którym zostanie z!o#ony napis„du#e oraz”. Kolejny otwieraj%cy nawias klamrowy zaczyna nast"pn% grup".W jej obr"bie polecenie \small zmienia stopie* pisma na ma!y. Do z!o#e-nia w tym stopniu przewidziano jedynie s!owo „ma!e”, bo nawias } za tyms!owem zamyka grup". Po zamkni"ciu grupy nast"puje powrót do stopniapisma aktualnego przed jej rozpocz"ciem, czyli \LARGE. W nim zostanie z!o-#one s!owo „litery”. Zamkni"cie tej grupy powoduje, #e reszt" tekstu LATEX

Page 116: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

104 Adaptowanie LATEXa

Tabela 6.3: Wielko($ stopnia pisma w klasach standardowych

Stopie( 10pt opcja 11pt opcja 12pt

\tiny 5pt 6pt 6pt\scriptsize 7pt 8pt 8pt\footnotesize 8pt 9pt 10pt\small 9pt 10pt 11pt\normalsize 10pt 11pt 12pt\large 12pt 12pt 14pt\Large 14pt 14pt 17pt\LARGE 17pt 17pt 20pt\huge 20pt 20pt 25pt\Huge 25pt 25pt 25pt

z!o#y w wyj(ciowym stopniu pisma. Jak wida$, grupy mo#na zagnie#d#a$,nawet wielokrotnie.Polecenia zmieniaj%ce stopie* pisma zmieniaj% tak#e interlini". Dzieje si" takjednak tylko wtedy, gdy przed zamkni"ciem odpowiedniej grupy ko*czonyjest akapit – przez wstawienie pustego wiersza lub polecenia \par. Zwró$myuwag" na miejsce, w którym umieszczono instrukcj" \par w poni#szychdwóch przyk!adach.

{\Large Zdanie, które ma wi#cejni" pi#& s$ów, nie ma sensu!\par} Zdanie, które ma wi&cej ni% pi&'

s(ów, nie ma sensu!

{\Large Zdanie, które ma wi#cejni" pi#& s$ów, nie ma sensu!}\par Zdanie, które ma wi&cej ni% pi&'

s(ów, nie ma sensu!

Je(li zachodzi konieczno($ zmiany stopnia pisma dla ca!ego akapitu lubjeszcze d!u#szego tekstu, to mo#emy skorzysta$ ze sk!adni przyj"tej dlaotocze*:

\begin{Large} Zdanie, które mawi#cej ni" pi#& s$ów, nie ma sensu!\end{Large}

Zdanie, które ma wi&cej ni% pi&'s(ów, nie ma sensu!

Zapis taki pozwala unika$ !atwych do pope!nienia b!"dów, wynikaj%cychz opuszczania nawiasów otwieraj%cych lub zamykaj%cych grupy.W trybie matematycznym w celu z!o#enia fragmentu wzoru innym ni#

pochy!e krojem pisma mo#na zastosowa$ polecenia zestawione w tabeli 6.4.

Page 117: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.2. Fonty 105

Tabela 6.4: Polecenia wyboru fontów w trybie matematycznym

Polecenie Przyk"ad Wynik\mathcal{...} $\mathcal{B}=c$ B = c\mathrm{...} $\mathrm{K}_2$ K2\mathbf{...} $\sum x=\mathbf{v}$

!x = v

\mathsf{...} $\mathsf{G\times R}$ G$ R\mathtt{...} $\mathtt{L}(b,c)$ L(b, c)\mathnormal{...} $\mathnormal{R_{19}}\neq R_{19}$ R!" )= R19\mathit{...} $\mathit{ffi}\neq ffi$ % )= ffi

6.2.2. Uwaga, niebezpiecze(stwo!

Jak zaznaczyli(my na pocz%tku rozdzia!u, nie nale#y instrukcji zmiany fontuwstawia$ explicite do pliku &ród!owego. By!oby to niezgodne z podstawow%ide% LATEXa, jak% jest oddzielenie formy od tre(ci dokumentu i pos!ugiwaniesi" formatowaniem logicznym, a nie wizualnym. Je#eli fragment tekstu mazosta$ wyró#niony przez z!o#enie go innym krojem lub stopniem pisma,to nale#y zdefiniowa$ odpowiednie polecenie i potem w!a(nie jego u#ywa$w tre(ci dokumentu.

% w~preambule albo pakiecie\newcommand{\uwaga}[1]{\textbf{#1}}% po \begin{document}\uwaga{Baczno!&!} Przewody siecitrakcyjnej s' pod napi#ciem.Dotkni#cie grozi \uwaga{!mierci'}.

Baczno$#! Przewody sieci trakcyjnej s% podnapi"ciem. Dotkni"cie grozi $mierci'.

Niew%tpliw% zalet% tego podej(cia jest to, #e kiedy pó&niej b"dziemy chcieliwyró#ni$ wszystkie elementy, na które czytelnik powinien zwróci$ szczególn#uwag$, w sposób inny ni# sk!adaj%c je pismem pó!grubym, to nie musimyprzegl%da$ ca!ego pliku w celu sprawdzenia, czy dane wyst%pienie \textbfdotyczy tekstu, na który ma zosta$ zwrócona szczególna uwaga, czy te#wstawione zosta!o w zupe!nie innym celu.

Na zako(czenie rada z gatunku estetycznych: nie nale#y przesadza$ze stosowaniem wielu ró#nych krojów pisma w jednym dokumencie.

6.2.3. U'ycie alternatywnych krojów pisma

Wi"kszo($ dokumentów jest sk!adanych w LATEXu z u#yciem domy(lnegokroju, b"d%cego replik% Computer Modern. Je#eli wygl%d znaków z rodzinycm nam si" znu#y, to mo#emy z!o#y$ dokument innym krojem. Musimyjednak pami"ta$, #e na ogó! alternatywne kroje nie s% tak kompletne jak

Page 118: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

106 Adaptowanie LATEXa

rodzina Computer Modern, cz"sto na przyk!ad brakuje w nich kompletusymboli matematycznych, znaków z alfabetów nie!aci*skich, takich jak grekalub alfabet cyrylicki, albo niektórych odmian, jak na przyk!ad kapitalików.Z drugiej strony krój cm ma te# wady: kreski znaków s% cie*sze, a

wzgl"dna wysoko($ ma!ych liter2 jest mniejsza ni# w wielu innych krojach.Te cechy kroju cm powoduj%, #e jest mniej czytelny w wypadku, gdy jestreprodukowany na no(niku o niskiej rozdzielczo(ci, lub – mówi%c wprost –nie najlepiej si" nadaje do dokumentów, które b"d% wy(wietlane na ekranachkomputerów, np. dokumentów w formacie pdf.Pakiet qtimes umo#liwia sk!ad dokumentu w kroju QTimes, który jest

klonem znanego kroju Times New Roman autorstwa Stanleya Morisona.Je#eli dokument zawiera wzory matematyczne, to aby znaki w formu!achby!y optycznie zgodne z otaczaj%cym je tekstem, nale#y tak#e do!%czy$pakiety txfonts oraz qtxmath:%& --translate-file=il2-pl\documentclass[a4paper]{article}\usepackage{polski}\usepackage{txfonts,qtimes,qtxmath}\usepackage{qswiss,qcourier}\usepackage{sfheaders}\author{Wanda Przechlewska}\title{Test pakietu txfonts}\begin{document} ...

Z kolei pakiet qpalatin wraz z pakietami qpxmath oraz pxfonts umo#liwiask!ad dokumentu krojem QPalatino (!%cznie ze wzorami matematycznymi),który jest klonem znanego kroju Palatino autorstwa Hermanna Zapfa:%& --translate-file=il2-pl\documentclass[a4paper]{article}\usepackage{polski}\usepackage{pxfonts,qpalatin,qpxmath}\usepackage{qswiss,qcourier}\usepackage{sfheaders}\author{Maria Matysek}\title{Test pakietu qpxfonts}\begin{document} ...

W powy#szych przyk!adach do!%czono tak#e pakiety qswiss, sfheaders orazqcourier. Pakiet qswiss przestawia domy(l% odmian" bezszeryfow% na krójHelvetica, a sfheaders przedefiniowuje (ródtytu!y tak, #e sk!adane s% krojembezszeryfowym. Z kolei qcourier zamienia domy(lny krój o sta!ej szeroko(ciznaków na QCourier. W rezultacie pierwszy z dokumentów b"dzie podobny2Wzgl!dna w porównaniu do nominalnego stopnia pisma; wysoko$% ta wynosi dla kroju

cm 43%, a dla kroju Palatino – 46%; dla du#ych liter z tych krojów jest to odpowiednio:68,9% i 68,5%.

Page 119: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.3. Odst!py 107

do typowego dokumentu sk!adanego na przyk!ad edytorem MS Word; drugiz kolei b"dzie si" doskonale nadawa! do dokumentu pdf, który chcemyumie(ci$ w sieci www, z uwagi na to, #e krój Palatino – reprodukowanyw niskiej rozdzielczo(ci – jest du#o bardziej czytelny ni# cm, a nawet TimesNew Roman. Uwaga: aby powy#sze deklaracje zadzia!a!y, instalacja LATEXamusi zawiera$ ww. fonty3.

6.3. Odst!py

6.3.1. Zmiana wielko"ci interlinii

Wielko($ odst"pów mi"dzy wierszami dokumentu mo#na zmieni$, umiesz-czaj%c w preambule polecenie \linespread, postaci:

\linespread{czynnik}

Parametr czynnik okre(la powi"kszenie odst"pu mi"dzy wierszami. Znanyz maszyn do pisania efekt podwójnej interlinii, czyli podwojenie odst"pu,uzyskamy za pomoc% \linespread{1.6}. Aby otrzyma$ odst"p wielko(ci1,5, powinni(my wpisa$ \linespread{1.3}. Pojedynczemu i zarazem do-my(lnemu odst"powi odpowiada warto($ 1.Polecenie \linespread wp!ywa na odst"py mi"dzywierszowe w ca!ym

dokumencie. Je(li s% wyra&ne powody do zmiany odst"pu tylko w pewnymfragmencie dokumentu, to lepsza mo#e si" okaza$ instrukcja:

\setlength{\baselineskip}{1.5\baselineskip}

Poni#szy przyk!ad ilustruje wykorzystanie \baselineskip:

{\setlength{\baselineskip}%{1.5\baselineskip}

Ten akapit jest sk$adanyz~\ci{baselineskip} ustawionymna 1,5 dotychczasowej warto!ci.Zwró&my uwag# na wyst'pienie\ci{par} na ko%cu akapitu.\par}

Przeznaczenie tego akapitujest jasne. Ilustruje on,"e po zamykaj'cym nawiasieklamrowym nast#puje powrótdo normalnego sk$adu.

Ten akapit jest sk!adany z \baselineskip

ustawionym na 1,5 dotychczasowej warto-

(ci. Zwró$my uwag" na wyst%pienie \par na

ko*cu akapitu.Przeznaczenie tego akapitu jest jasne. Ilu-struje on, #e po zamykaj%cym nawiasie klam-rowym nast"puje powrót do normalnegosk!adu.

3Wchodz" one w sk'ad wspó'czesnych dystrybucji LATEXa. Je#eli ich nie masz, topowiniene$ je doinstalowa%. W dokumentacji dystrybucji powinno by% opisane, jak si!to robi.

Page 120: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

108 Adaptowanie LATEXa

6.3.2. Odst!py wokó# akapitów

Dwa dodatkowe parametry okre(laj% w LATEXu wielko($, odpowiednio, wci"-cia akapitowego oraz odst"pu mi"dzy akapitami. Wpisuj%c na przyk!ad dopreambu!y dokumentu:\setlength{\parindent}{0pt}\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}

ustalamy wielko($ wci"cia akapitowego na 0 pt (co powoduje, #e akapityb"d% si" zaczyna$ bez wci"$), a odst"p mi"dzy akapitami ustalamy na 1 explus 0,5 ex minus 0,2 ex. Drugi zapis oznacza, #e normalny odst"p mi"dzyakapitami, wynosz%cy 1,0 ex (jednostki miary w LATEXu podaje tabela 6.5na stronie 109), mo#e si" zwi"kszy$ do 1,0 + 0,5 = 1,5 ex lub zmniejszy$do 1,9# 0,2 = 0,8 ex. W Europie kontynentalnej akapity sk!ada si" czasamibez wci"cia akapitowego, a jedynie z dodatkowym odst"pem mi"dzy nimi.Ale uwaga! Ten efekt pojawi si" tak#e w spisie tre(ci, tabel i rysunków, gdzieposzczególne pozycje spisu b"d% od siebie bardziej oddalone (w spisach wi"k-szo($ akapitów jest jednowierszowa). Aby unikn%$ tego troch" (miesznegoefektu, nale#y usun%$ powy#sze instrukcje \setlength z preambu!y doku-mentu i wstawi$ je w cz"(ci g!ównej, po poleceniach \tableofcontents itp.Najlepiej jednak wcale nie korzysta$ z tego sposobu, gdy# znakomita wi"k-szo($ ksi%#ek jest sk!adana z wci"ciem akapitowym, a nie z dodatkowymiodst"pami mi"dzy akapitami4.Wci"cie akapitowe na pocz%tku akapitu wstawiamy poleceniem5:

\indent

Wstawienie \indent, kiedy warto($ \parindent wynosi zero, nie przyniesieoczywi(cie #adnego efektu.Aby uzyska$ akapit bez wci"cia, nale#y przed nim umie(ci$ polecenie:

\noindent

6.3.3. Odst!py poziome

Wielko($ odst"pów mi"dzy s!owami oraz mi"dzy zdaniami LATEX ustala au-tomatycznie. Dodatkowy odst"p poziomy (przez odst$p poziomy rozumiemyodst"p mi"dzy wyrazami, przez odst$p pionowy – odst"p mi"dzy wierszamii akapitami) mo#emy wstawi$ poleceniem:

\hspace{odleg"o&'}

4Jednoczesne u#ycie wci!% i powi!kszonych odst!pów mi!dzy akapitami uwa#a si!w Polsce za powa#ny b'"d typograficzny.5Dla uzyskania efektu wci!cia w pierwszym akapicie po tytule rozdzia'u, punktu itd.

nale#y do'"czy% do dokumentu pakiet indentfirst z zestawu pakietów „tools”.

Page 121: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.3. Odst!py 109

Je#eli taki odst"p, w wyniku z!amania akapitu na wiersze, wypadnie napocz%tku lub na ko*cu wiersza, to zostanie on usuni"ty – aby zapobiec ju-stowaniu akapitu „w chor%giewk"”. Je#eli LATEX ma wstawi$ odst"p tak#ena pocz%tku lub na ko*cu wiersza, to zamiast \hspace nale#y u#y$ „gwiazd-kowej” wersji \hspace*. Argument odleg"o&' oznacza wymiar LATEXowy.W najprostszej postaci jest to liczba wraz z jednostk% odleg!o(ci. Wykazwa#niejszych spo(ród dost"pnych w LATEXu jednostek odleg!o(ci znajdujesi" w tabeli 6.5.

To jest \hspace{1.5cm}odst#prówny 1,5~cm. To jest odst"p równy 1,5 cm.

Tabela 6.5: LATEXowe jednostki miary

mm milimetr : 1/25 calacm centymetr = 10 mmin cal = 25,4 mmpt punkt : 1/72 cala : 13 mmem w przybli#eniu szeroko($ „M” w bie#%cym foncieex w przybli#eniu wysoko($ „x” w bie#%cym foncie

Cz"sto wygodnie jest u#y$ odleg!o(ci „elastycznej”, zostawiaj%c LATEXowinieco swobody doboru takiej odleg!o(ci, jak% uzna za najlepsz% z punktuwidzenia jako(ci sk!adu. Tak% elastyczn% odleg!o($ zapisujemy nast"puj%co:n plus p minus m. Cz"(ci „plus p” i „minus m” s% opcjonalne (ka#d% z nichmo#na pomin%$). Tego typu odleg!o(ci maj% naturaln% wielko($ n i mog%si" kurczy$ lub rozci%ga$ w zakresie od n#m do n+ p.Omawiany wcze(niej odst"p mi"dzy akapitami (\parskip) jest przyk!a-

dem LATEXowego wymiaru o zmiennej wielko(ci. Cz"($ wymiarów mo#e mie$warto(ci zmienne, cz"($ jednak musi mie$ warto($ sta!%. Powinno by$ naprzyk!ad zrozumia!e, #e wci"cie akapitowe musi by$ wielko(ci% sta!%, po-dobnie jak szeroko($ i wysoko($ !amu.Polecenie:

\stretch{n}

wstawia specjalny rozci%gliwy odst"p, który potrafi wype!ni$ ca!% woln%przestrze* w pionie lub w poziomie. Je#eli na przyk!ad wstawimy w wierszudwa lub wi"cej polece* \hspace{\stretch{n}}, to odst"py dzi"ki nimuzyskane b"d% mia!y wielko($ wed!ug proporcji zadanych przez argument n.W poni#szym przyk!adzie odst"p mi"dzy x a y jest trzy razy mniejszy ododst"pu mi"dzy y a z.

Page 122: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

110 Adaptowanie LATEXa

x\hspace{\stretch{1}}y\hspace{\stretch{3}}z

x y z

Wielko($ odst"pów towarzysz%cych tekstowi warto dostosowa$ do aktual-nego rozmiaru czcionki. Mo#na do tego u#y$ wzgl"dnych jednostek miaryem oraz ex:

{\Large{}big\hspace{1em}y} \quad{\tiny{}tin\hspace{1em}y} big y tin y

Przypominamy, #e polecenia \quad i \qquad wstawiaj% odst"p poziomyo szeroko(ci, odpowiednio, 1 em oraz 2 em.

6.3.4. Odst!py pionowe

Odst"py pionowe mi"dzy akapitami, rozdzia!ami, punktami itp. LATEX wsta-wia automatycznie. Je(li zachodzi potrzeba wstawienia dodatkowego od-st"pu pionowego, to nale#y zastosowa$ polecenie:

\vspace{odleg"o&'}

Polecenie to nale#y oddzieli$ pustymi liniami od otaczaj%cego je tekstu.Je#eli w wyniku z!amania strony odst"p taki znajdzie si" na pocz%tkulub na ko*cu strony (b"dzie zaczyna! lub te# ko*czy! kolumn" tekstu), tozostanie on usuni"ty. Je#eli ma zosta$ wstawiony tak#e na pocz%tku lubko*cu strony, to nale#y u#y$ wersji „gwiazdkowej” \vspace*6. Argumentodleg"o&' oznacza LATEXowy wymiar.Do rozmieszczania tekstu kolumny w pionie mo#na u#ywa$ polecenia

\stretch, !%cznie z \pagebreak. W poni#szym przyk!adzie tekst zostanierozmieszczony tak, #e odst"p u do!u b"dzie dwa razy mniejszy od odst"puu góry strony:\vspace{\stretch{1}}Tytu$ i~autor\vspace{\stretch{2}}\pagebreak

Dodatkowy odst"p mi"dzy dwoma wierszami tego samego akapitu lub mi"-dzy wierszami tabeli mo#emy uzyska$ poleceniem:

\\[odleg"o&']

Polecenia \bigskip, \medskip i \smallskip wstawiaj% odpowiednio od-st"py „elastyczne” o nast"puj%cych wielko(ciach: 12pt ± 4pt, 6pt ± 2ptoraz 3pt ± 1pt7.6Zwró%my uwag!, #e w takim wypadku wysoko$% kolumny tekstu na s"siednich stronach

nie b!dzie jednakowa, stosujmy zatem polecenie \vspace* z pewn" ostro#no$ci".7Nie s" to wielko$ci przypadkowe: 12 punktów to typowa odleg'o$% mi!dzy liniami

podstawowymi wierszy przy sk'adzie pismem w stopniu 10 punktów.

Page 123: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.4. Uk"ad graficzny strony 111

6.4. Uk#ad graficzny strony

Wymiary papieru mo#na poda$ jako argumenty instrukcji \documentclass.Na podstawie zadeklarowanych wymiarów LATEX oblicza szeroko($ i wyso-ko($ kolumny, marginesy i inne parametry. Na rysunku 6.2 przedstawionodost"pne parametry graficznego uk!adu strony. Do przygotowania rysunkuu#yli(my pakietu layout z zestawu „tools”8. Je#eli obliczone przez LATEXawarto(ci s% z pewnych wzgl"dów nieodpowiednie, to mo#na je zmieni$.Zanim jednak zaczniemy eksperymentowa$, zwi"kszaj%c na przyk!ad

szeroko($ szpalty, chwil" pomy(lmy. Jak dla wi"kszo(ci rzeczy w LATEXu,istniej% wa#ne powody, dlaczego szeroko($ szpalty jest taka a nie inna.Z pewno(ci% w porównaniu z wydrukiem przygotowanym za pomoc%

(wie#o kupionego programu MS Word strona LATEXowa ma denerwuj%cow%sk% szpalt". Ale spójrzmy na ksi%#k" z renomowanego wydawnictwa i po-liczmy na niej liczb" znaków w przeci"tnym wierszu. Oka#e si", #e wynosiona oko!o 66. Je(li porównamy j% z wydrukiem z!o#onym przez LATEXa, tozapewne i tym razem b"dzie ona zbli#ona do 66. Z do(wiadcze* wynikabowiem, #e w miar" wzrostu liczby znaków w wierszu czytanie staje si" m"-cz%ce. Dzieje si" tak, gdy# przy d!ugich wierszach naszym oczom trudniejjest przenosi$ wzrok z ko*ca jednego wiersza na pocz%tek nast"pnego. Jestto jedna z przyczyn stosowania sk!adu wielo!amowego w gazetach i czasopi-smach.Tak wi"c, je(li zwi"kszamy szeroko($ kolumny, to pami"tajmy, #e mo#e

to utrudni$ odbiorcom czytanie naszej pracy. No, ale do($ ju# kaza*. Obie-cali(my przecie# wyja(ni$, jak mo#na te rzeczy robi$. . .W LATEXu mamy dwie instrukcje do zmiany wielko(ci wymiarów, u#y-

wane zazwyczaj w obr"bie preambu!y dokumentu. Pierwsza z nich nadajeparametrowi okre(lon% wielko($:

\setlength{parametr}{wielko&'}

Drugie polecenie zwi$ksza warto($ parametru o okre(lon% wielko($:

\addtolength{parametr}{wielko&'}

Z tej pary cz"(ciej stosowana jest druga instrukcja, poniewa# pozwala zmie-nia$ wymiary. Przyk!adowo, aby zwi"kszy$ szeroko($ szpalty o jeden centy-metr, umieszczamy w preambule dokumentu nast"puj%ce polecenia:

\addtolength{\hoffset}{-0.5cm}\addtolength{\textwidth}{1cm}

Zmian" parametrów uk!adu graficznego strony u!atwia pakiet geometry.W wykonywaniu operacji arytmetycznych na wymiarach pomaga pakiet calc.

8CTAN://macros/latex/packages/tools.

Page 124: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

112 Adaptowanie LATEXa

Pagina Górna

Kolumna tekstu

Pagina dolna

Marginalia

L8B 8

L7

C

A

L1B 8

B8L3 L10B 8B8 L9

A

C

L11

L2C

AL4A

C

L5A

C

L6

A

C

1 1 cal+ \hoffset 2 1 cal+ \voffset3 \oddsidemargin = 22pt 4 \topmargin = 22pt5 \headheight = 12pt 6 \headsep = 19pt7 \textheight = 595pt 8 \textwidth = 360pt9 \marginparsep = 7pt 10 \marginparwidth = 106pt11 \footskip = 27pt \marginparpush = 5pt (nie pokazane)

\hoffset = 0pt \voffset = 0pt\paperwidth = 597pt \paperheight = 845pt

Rysunek 6.2: Parametry uk!adu graficznego strony

Page 125: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.5. Wi!cej o odleg"o$ciach 113

6.5. Wi!cej o odleg#o"ciach

Kiedy to tylko mo#liwe, unikajmy stosowania wymiarów zdefiniowanychw jednostkach absolutnych, takich jak punkty czy milimetry. Starajmy si"raczej odnosi$ wymiary do ju# istniej%cych, takich jak wysoko($ czy szero-ko($ kolumny. W poni#szym przyk!adzie szeroko($ rysunku jest definiowanajako po!owa szeroko(ci bie#%cej szpalty:\includegraphics[width=0.5\textwidth]{sowauszata.eps}

Nast"puj%ce trzy polecenia pozwalaj% okre(li$ szeroko($, wysoko($ i g!"bo-ko($ tekstu:

\settoheight{nazwa}{tekst}\settodepth{nazwa}{tekst}\settowidth{nazwa}{tekst}

Oto przyk!ad ilustruj%cy zastosowanie tych polece*:

\newenvironment{vardesc}[1]{%\settowidth{\parindent}{#1:\ }\makebox[0pt][r]{#1:\ }}{}

\begin{displaymath} a^2+b^2=c^2\end{displaymath}

\begin{vardesc}{gdzie}%$a$, $b$ -- przyprostok'tne, \par$c$ -- przeciwprostok'tna.\end{vardesc}

a2 + b2 = c2

gdzie: a, b – przyprostok%tne,c – przeciwprostok%tna.

6.6. Pude#ka

Ka#d% stron" LATEX tworzy z pude!ek, które odpowiednio skleja. Elementar-nymi pude!kami s% litery, z których sklejane s% s!owa. S!owa s% nast"pnie!%czone w wiersze, a wiersze – w akapity. Do !%czenia u#ywany jest specjalnyklej, który dzi"ki elastyczno(ci pozwala wyrazy (cisn%$ lub rozci%gn%$ tak,by dok!adnie wype!nia!y wiersze na stronie.Trzeba przyzna$, #e takie uj"cie jest mocno uproszczon% wersj% tego, co

si" naprawd" dzieje, chocia# zasadniczo bior%c, dzia!anie TEXa mo#na jednakwyja(ni$ w!a(nie w terminach pude!ek oraz kleju (odst"pu wstawianegomi"dzy pude!kami). Pude!kami s% nie tylko litery. Do pude!ka mo#na w!o#y$praktycznie wszystko, tak#e inne pude!ka. Ka#de pude!ko LATEX traktuje jakpojedyncz% liter".Chocia# nie mówili(my o tym wprost, pude!ka pojawia!y si" ju# w po-

przednich rozdzia!ach. Na przyk!ad polecenie \includegraphics albo oto-czenie tabular tworz% pude!ka. Dzi"ki temu dwa rysunki albo tabele mo#na

Page 126: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

114 Adaptowanie LATEXa

!atwo zestawi$ obok siebie. Trzeba jedynie zadba$ o to, by !%czna szeroko($po!%czonych obiektów nie przekracza!a szeroko(ci szpalty.To samo odnosi si" do akapitów, które – je(li tego potrzebujemy –

mo#emy sk!ada$ w pude!ka o zadanej szeroko(ci:

\parbox[pos]{szeroko&'}{tekst}

Do tego samego celu mo#na wykorzysta$ otoczenie:

\begin{minipage}[pos]{szeroko&'} tekst \end{minipage}

Argument szeroko&' to wymiar okre(laj%cy szeroko($ pude!ka. Argument posjest jednoliterowy i mo#e przyjmowa$ jedn% z warto(ci: c, t lub b. Warto(cite okre(laj%, jak LATEX ma umie(ci$ pude!ko wzgl"dem otaczaj%cego tekstu.Warto($ c oznacza umieszczenie (rodka wysoko(ci pude!ka na linii podsta-wowej, t – umieszczenie linii podstawowej pierwszego wiersza w pude!kuna linii podstawowej otaczaj%cego tekstu, natomiast b – umieszczenie dol-nej kraw"dzi pude!ka na linii podstawowej. Wynik zastosowania parametrówilustruje poni#szy przyk!ad (lini" podstawow% oznaczono kresk%):

\makebox[0pt][l]{\rule{66mm}{.4pt}}%\parbox[c]{9mm}{5 5 5 5 5 5 5 5 5}\parbox[t]{9mm}{6 6 6 6 6 6 6 6 6}\parbox[b]{9mm}{8 8 8 8 8 8 8 8 8}

5 5 55 5 55 5 5

6 6 66 6 66 6 6

8 8 88 8 88 8 8

Polecenie \parbox sk!ada tekst w pude!ku, w razie potrzeby dziel%c tekstna linijki. Inaczej jest z pude!kami uzyskiwanymi poleceniem \mbox, któ-rych zawarto($ nigdy nie jest dzielona na wiersze. Polecenia tego u#ywamy,gdy trzeba zapobiec dzieleniu wyrazu lub sekwencji wyrazów na wiersze.Polecenie \mbox jest uproszczon% wersj% instrukcji \makebox, o sk!adni:

\makebox[szeroko&'][pos]{tekst}

W opcjonalnym argumencie szeroko&' mo#emy zada$ szeroko($ pude!ka.Mo#e si" ona ró#ni$ od naturalnej szeroko(ci tekstu w pude!ku; mo#e wy-nosi$ zero, a nawet by$ wielko(ci% ujemn%! W obr"bie argumentu szeroko&'mo#emy si" te# pos!ugiwa$ wielko(ciami \width (szeroko($), \height (wy-soko($), \depth (g!"boko($) oraz \totalheight (suma wysoko(ci i g!"bo-ko(ci). Ponadto argument pos okre(la sposób umieszczenia tekstu. Literac oznacza wy(rodkowanie, l – dosuni"cie do lewej, r – dosuni"cie do prawej,a s – wyspacjowanie zawarto(ci.Poni#szy przyk!ad ilustruje u#ycie polecenia \width w obr"bie argu-

mentu szeroko&'. Pierwsze pude!ko ma szeroko($ równ% po!owie naturalnejszeroko(ci tekstu:

Page 127: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.7. Kreski i podpory 115

\makebox[.5\width][l]{oooooooo}%\makebox{xxxxxxxx}

ooooooooxxxxxxxx

Polecenie \framebox dzia!a dok!adnie jak \makebox, z tym #e naoko!opude!ka kre(lona jest ramka.Oto przyk!ad zastosowania polece* \makebox i \framebox:

\makebox[\textwidth]{%p o ! r o d k u}\par\makebox[\textwidth][s]{%r o z s t r z e l o n y}\par\framebox[1.1\width]{Teraz jestemobramowany!} \par\framebox[0.8\width][r]{Troch#tu jest za szeroko} \par\framebox[1cm][l]{Niema sprawy}Da si# to czyta&?

p o ( r o d k ur o z s t r z e l o n yTeraz jestem obramowany!

Troch" tu jest za szeroko

Nie ma sprawyDa si" to czyta$?

Pude!ka mo#na te# przesuwa$ w pionie. S!u#y do tego polecenie:

\raisebox{przesuni$cie}[wysoko&'][g"$boko&']{tekst}

Argument przesuni$cie okre(la wielko($ przesuni"cia w gór" (lub w dó!, je#eliwielko($ przesuni"cia jest ujemna). Ponadto za pomoc% parametrów opcjo-nalnych wysoko&' oraz g"$boko&' mo#na zada$ nominaln% wysoko($ orazg!"boko($ pude!ka (LATEX b"dzie traktowa! pude!ko tak, jakby mia!o za-dane wymiary, bez wzgl"du na wymiary naturalne). Wewn%trz parametrówmo#na skorzysta$ z wielko(ci \width, \height, \depth oraz \totalheight.

\raisebox{0pt}[0pt][0pt]{\Large%\textbf{Aaaa\raisebox{-0.3ex}{a}%\raisebox{-0.7ex}{aa}%\raisebox{-1.2ex}{r}%\raisebox{-2.2ex}{g}%\raisebox{-4.5ex}{h}}}Krzycza$a, ale nikt nie zauwa"y$,"e co! si# jej przytrafi$o.

Aaaaaaargh

Krzycza!a, ale nikt nie za-uwa#y!, #e co( si" jej przytrafi!o.

6.7. Kreski i podpory

W wyniku wykonania polecenia \rule, postaci:

\rule[przesuni$cie]{szeroko&'}{wysoko&'}

Page 128: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

116 Adaptowanie LATEXa

otrzymujemy w sk!adzie czarny prostok%t:

\rule{3mm}{.1pt}%\rule[-1mm]{5mm}{1cm}%\rule{3mm}{.1pt}%\rule[1mm]{1cm}{5mm}%\rule{3mm}{.1pt}

Polecenie \rule s!u#y zwykle do rysowania kresek pionowych i poziomych.Na przyk!ad gruba czarna krecha na stronie tytu!owej niniejszego Wprowa-dzenia to wynik zadzia!ania instrukcji:\rule[-1ex]{\textwidth}{5pt}

Parametr przesuni$cie okre(la, jak wysoko przesun%$ kresk" ponad lini" pod-stawow% (lub opu(ci$ poni#ej linii podstawowej, je(li parametr jest ujemny).Specjalnym przypadkiem jest kreska o zerowej szeroko(ci, lecz o nieze-

rowej wysoko(ci. Tak% kresk" nazywamy podpor# (strut). Podpora to cz"stostosowana metoda nadawania wszystkim elementom jednakowej wysoko(ci.Spójrzmy na poni#szy przyk!ad. Dzi"ki wstawieniu podpory drugi wierszma t" sam% wysoko($ co pierwszy. Zawarto($ wiersza trzeciego jest iden-tyczna jak drugiego, ale w drugim wyst"puje niewidoczna podpora. Gdybyjej brakowa!o, to wysoko($ drugiego wiersza by!aby mniejsza.

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

Pittprop . . .

StrutStrut

6.8. Wi!cej o sk#adaniu tabel

6.8.1. Tabele o zadanej szeroko"ci

W otoczeniu tabular szeroko($ poszczególnych kolumn tabeli jest ustalanaautomatycznie, a szeroko($ tabeli jest sum% szeroko(ci kolumn i odst"pówmi"dzykolumnowych. Czasami jednak trzeba z!o#y$ tabel" o z góry zada-nej szeroko(ci; jest to potrzebne przyk!adowo wtedy, gdy wszystkie tabelew dokumencie maj% mie$ t" sam% szeroko($.Do tego celu mo#na u#y$ albo otoczenia tabular*, albo otoczenia

tabularx z pakietu o tej samej nazwie. Niestety ka#dy z tych sposobów mapowa#ne ograniczenia funkcjonalne. Rozpocznijmy od otoczenia tabular*,które ró#ni si" od tabular tylko jednym dodatkowym parametrem obowi%z-kowym, okre(laj%cym szeroko($ tabeli:

\begin{tabular*}{szeroko&'}{spec-kolumn}

Page 129: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.8. Wi!cej o sk"adaniu tabel 117

Rozwa#my przyk!ad tabeli zawieraj%cej najwa#niejsze „parametry” s!yn-nych wzniesie* i prze!"czy:\begin{tabular}{|l|r|r|r|r|r|}\hlineNazwa & \multicolumn{2}{|c|}{Wys. w~m~n.p.m.} &D$ugo!& & \multicolumn{2}{|c|}{Nachylenie \%}\\\cline{2-3} \cline{5-6}% \cline mo"na wstawia& wielokrotnie

& pocz'tek & koniec & w~km & !r. & max \\ \hlineCol du Galibier & 1401 & 2646 & 18,1 & 6,9\% & 14,5 \\Alpe D’Huez & 724 & 1815 & 14,2 & 7,7\% & 15,0 \\Passo Gavia & 1734 & 2618 & 13,5 & 6,5\% & 20,0 \\ \hline\end{tabular}

Z!o#one tabele wygl%daj% nast"puj%co:

Nazwa Wys. w m n.p.m. D!ugo($ Nachylenie %pocz%tek koniec w km (r. max

Col du Galibier 1401 2646 18,1 6,9% 14,5Alpe D’Huez 724 1815 14,2 7,7% 15,0Passo Gavia 1734 2618 13,5 6,5% 20,0

Je#eli tabela ma by$ z!o#ona na przyk!ad na szeroko($ !amu, to zast"pujemytabular jego wersj% z gwiazdk% oraz modyfikujemy preambu!" tabeli:\begin{tabular*}{\textwidth}%{@{\extracolsep{\stretch{1}}}|l|r|r|r|r|r|}\hline ...\end{tabular}

Z!o#ona tabela wygl%da nast"puj%co:

Nazwa Wys. w m n.p.m. D!ugo($ Nachylenie %pocz%tek koniec w km (r. max

Col du Galibier 1401 2646 18,1 6,9% 14,5Alpe D’Huez 724 1815 14,2 7,7% 15,0Passo Gavia 1734 2618 13,5 6,5% 20,0

Wewn%trz otoczenia tabular LATEX odziela poszczególne kolumny sta!ymodst"pem równym \tabcolsep. Do sk!adania tabel o okre(lonej szeroko(cinale#y ten odst"p zamieni$ na taki, którego wielko($ mo#e si" zmienia$(por. punkt 6.3.3). Do tego celu nale#y u#y$ wspomnianej w punkcie 2.11.6(s. 39) instrukcji @. Ponadto polecenie \extracolsep, umieszczone wewn%trzinstrukcji @{...}, wstawia dodatkowy odst$p mi"dzy kolejnymi kolumnami– do odwo!ania poleceniem \extracolsep albo a# do ko*ca tabeli.W powy#szym przyk!adzie polecenie @{...} usuwa domy(lny odst"p

mi"dzykolumnowy, zast"puj%c go specjalnym odst"pem o zmiennej wiel-ko(ci (taki odst"p wstawia polecenie \stretch). Manipuluj%c odst"pemmi"dzykolumnowym, LATEX dopasowuje szeroko($ tabeli do #%danej wielko-(ci. Otoczenie tabular* powinno zawiera$ w specyfikacji formatu kolumn conajmniej jedn% konstrukcj" @{\extracolsep{\stretch{1}}}. Uwa#ny czy-telnik dostrze#e jednak, #e kreski poziome pod pierwszym wierszem mi"dzy

Page 130: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

118 Adaptowanie LATEXa

kolumnami 2–3 oraz 5–6 nie s% „doci%gni"te” do lewego brzegu. Niestetynie da si" tego naprawi$ – przynajmniej nie w prosty sposób. Otoczenietabular* nadaje si" do sk!adania tabel, ale tylko wtedy, gdy nie korzystamyzbyt cz"sto z polecenia \cline.Spróbujmy teraz zastosowa$ otoczenie tabularx. W tym celu najpierw

do preambu!y dokumentu do!%czamy pakiet tabularx. Nast"pnie zmieniamytabel" w taki sposób (kolumny, których szeroko($ ma by$ wyznaczona au-tomatycznie, oznaczamy symbolem X):

\begin{tabularx}{\textwidth}{|X|X|X|X|X|X|}\hline...\end{tabularx}

Z!o#ona tabela wygl%da nast"puj%co:

Nazwa Wys. w m n.p.m. D!ugo($ Nachylenie %pocz%tek koniec w km (r. max

Col duGalibier

1401 2646 18,1 6,9% 14,5

AlpeD’Huez

724 1815 14,2 7,7% 15,0

Passo Ga-via

1734 2618 13,5 6,5% 20,0

Teraz wprawdzie wszystkie kreski s% elegancko doci%gni"te, ale jest problemz pierwsz% kolumn%: jest ona zbyt w%ska, a przez to zawarto($ rubryk ju# si"nie mie(ci i musi zosta$ przeniesiona9. Otoczenie tabularx automatyczniedzieli bowiem tabel" wy!%cznie na kolumny o równej szeroko&ci. Jest to jegonajwi"ksze ograniczenie funkcjonalne.Specyfikacja kolumn tabeli oprócz X mo#e zawiera$ tak#e warto(ci „tra-

dycyjne”, takie jak: l, r lub c. Odpowiadaj%cym tym specyfikacjom kolumnymaj% naturaln% szeroko($. Przyk!adowo:

\begin{tabularx}{\textwidth}{|l|X|X|X|X|X|}\hline...\end{tabularx}

Akurat w naszym przyk!adzie osi%gneli(my zadowalaj%cy rezultat, gotowatabela wygl%da bowiem nast"puj%co:

Nazwa Wys. w m n.p.m. D!ugo($ Nachylenie %pocz%tek koniec w km (r. max

Col du Galibier 1401 2646 18,1 6,9% 14,5Alpe D’Huez 724 1815 14,2 7,7% 15,0Passo Gavia 1734 2618 13,5 6,5% 20,0

9Ponadto lepiej, by kolumny 2–6 by'y wyrównane do prawego, a nie do lewego brzegurubryki.

Page 131: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.8. Wi!cej o sk"adaniu tabel 119

Tabele z!o#one z u#yciem otoczenia tabular nie s% automatycznie dzie-lone mi"dzy stronami. Do sk!adu tabel, które nie mieszcz% si" na pojedynczejstronie, s!u#y pakiet longtable, opisany w nast"pnym punkcie.

6.8.2. Pakiet longtable

Pakiet definiuje otoczenie longtable, pozwalaj%ce sk!ada$ tabele ci%gn%cesi" przez wiele kolejnych stron dokumentu. Aby zapewni$ jednakowe szero-ko(ci rubryk na wszystkich stronach, wymagana jest dwukrotna kompilacjadokumentu. Oto przyk!ad:

\begin{longtable}{|l|r|r|r|}\caption{Tytu$ tabeli}\\\hline\multicolumn{4}{|c|}{To jest nag$ówek pierwszej strony}\\\hlinenazwa & wysoko!& & d$ugo!& & nachylenie \\ \hlinek-1 & k-2 & k-3 & k-4 \\ \hline\endfirsthead\hline\multicolumn{4}{|c|}{To jest nag$ówek nast#pnych stron}\\\hline k-1 & k-2 & k-3 & k-4\\\hline\endhead\hline \multicolumn{4}{|c|}{Stopka tabeli}\\ \hline\endfoot\hline \multicolumn{4}{|c|}{Stopka na ostatniej stronie}\\\hline\endlastfootCol du T\’el\’egraphe & 1,566 & 12,0 & 6,7\% \\Col du Galibier & 2,646 & 18,1 & 6,9\% \\Col de la Madeleine & 2,000 & 25,4 & 6,1\% \\%% ... 17 pomini#tych wierszy ...La Bola del Mundo & 2257 & 21,8 & 6,2\% \\\end{longtable}

Po z!o#eniu efekt jest nast"puj%cy10:

Tabela 6.6: Tytu! tabeli

To jest nag!ówek pierwszej stronynazwa wysoko($ d!ugo($ nachyleniek-1 k-2 k-3 k-4Col du Telegraphe 1,566 12,0 6,7%Col du Galibier 2,646 18,1 6,9%Col de la Madeleine 2,000 25,4 6,1%

Stopka tabeli10Dane z tabeli pochodz" z katalogu http://www.salite.ch.

Page 132: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

120 Adaptowanie LATEXa

To jest nag!ówek nast"pnych stronk-1 k-2 k-3 k-4Alpe D’Huez 1815 14,2 7,7%Col de la Croix de Fer 2067 22,0 7,0%Col de Portet d’Aspet 1069 4,4 9,6%Mont Ventoux 1912 21,0 7,6%Col de l‘Izoard 2361 15.9 6,9%Passo dello Stelvio 2758 24.3 7.4%Col du Trebuchet 1143 14.6 4.3%Passo Gavia 2618 13.5 6.5%Col du Grand Colombier 1505 15.9 7.8%Col de l‘Iseran 2770 48,0 4.1%Courchevel 2000 21,7 6,5%Col de l‘Aspin 1489 12,0 6,5%Col de la Croix de l‘Homme Mort 1163 18,0 4,3%Col de Notre Dame des Abeilles 1000 13,9 5,1%Paso del Morredero 1872 25,0 5,4%Collado de la Caballar 1308 14,5 7,5%Capilla de la Magdalena 1137 11,0 5,5%La Bola del Mundo 2257 21,8 6,2%

Stopka na ostatniej stronie

6.8.3. Pakiet array

Do sk!adu tabel o bardziej skomplikowanym uk!adzie graficznym lepieju#ywa$ pakietu array. Pakiet ten nie wprowadza #adnego nowego otoczenia,redefiniuje jedynie i rozszerza standardowe otoczenie tabular.W „standardowym” otoczeniu tabular konstrukcja p{szer-kolumn} de-

klaruje kolumn", w której zawarto($ ka#dej rubryki b"dzie sk!adana w pro-stok%t o zadanej szeroko(ci, z wyrównywaniem obu marginesów (odpowied-nik \parbox[t]{szer}). Pakiet array wprowadza ponadto b{szer} – odpo-wiednik \parbox[b]{szer} – oraz m{szer} – odpowiednik \parbox{szer}.Przyk!ad:

\begin{tabular}{|p{8mm}|p{8mm}|p{8mm}|} \hlinex y z x y z x y z x y z x y z & x y z x y z x y y&1 1 1 1 1 \\ \hline \end{tabular}\begin{tabular}{|m{8mm}|m{8mm}|m{8mm}|} \hlinex y z x y z x y z x y z x y z & x y z x y z x y y&2 2 2 2 2 \\ \hline \end{tabular}\begin{tabular}{|b{8mm}|b{8mm}|b{8mm}|} \hlinex y z x y z x y z x y z x y z & x y z x y z x y y&3 3 3 3 3 \\ \hline\end{tabular}

Page 133: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

6.8. Wi!cej o sk"adaniu tabel 121

Z!o#one tabele wygl%daj% nast"puj%co:

x y zx y zx y zx y zx y z

x y zx y zx y y

1 1 11 1

x y zx y zx y zx y zx y z

x y zx y zx y y

2 2 22 2

x y zx y zx y zx y zx y z

x y zx y zx y y

3 3 33 3

Kolejnym u#ytecznym rozszerzeniem zdefiniowanym w array jest mo#liwo($bardziej szczegó!owego okre(lenia sposobu formatowania rubryk tabeli, ni#ma to miejsce w standardowym otoczeniu tabular, gdzie w zasadzie mo-#emy jedynie okre(li$ sposób justowania zawarto(ci rubryk w poszczególnychkolumnach. Wracaj%c do przyk!adu tabeli zawieraj%cej ró#ne „parametry”dotycz%ce prze!"czy i wniesie*, za!ó#my, #e nazw" wzniesienia chcemy z!o-#y$ kursyw%, a d!ugo($ – odmian% pó!grub%. Mo#na to oczywi(cie osi%gn%$,wstawiaj%c odpowiednie polecenia do ka#dej rubryki danej kolumny, alesprawniej b"dzie zastosowa$ zdefinowane w pakiecie array konstrukcje:

>{polecenia} lub <{polecenia}

Konstrukcji >{polecenia} mo#na u#y$ w preambule przed c, l, r, p oraz mi b. Jej dzia!anie polega na wstawieniu polece( na pocz%tku ka#dej rubrykiw tej kolumnie. Podobnie, <{polecenia} mo#na u#y$ po c, l, r, p, m i b.W rezultacie polecenia zostan% wstawione na ko*cu ka#dej rubryki w tejkolumnie.Wracaj%c do przyk!adu, oto preambu!a tabeli wykorzystuj%ca omawiane

konstrukcje pakietu array:\begin{tabular}{|>{\itshape}l|r|r|>{\bfseries}r|r|r|}\hlineNazwa & \multicolumn{2}{|c|}{Wys. w~m~n.p.m.} &D$ugo!& & \multicolumn{2}{|c|}{Nachylenie \%}\\...

Wynik jest nast"puj%cy:

Nazwa Wys. w m n.p.m. D"ugo$# Nachylenie %pocz%tek koniec w km (r. max

Col du Galibier 1401 2646 18,1 6,9% 14,5Alpe D’Huez 724 1815 13,5 7,7% 15,0Passo Gavia 1734 2618 13,5 6,5% 20,0

Do zmiany g!"boko(ci konkretnego wiersza s!u#y opcjonalny argument po-lecenia \\, np. \\[2pt]. Wysoko($ i g!"boko($ wiersza mo#na zmieni$ zapomoc% niewidzialnej kreski, np. \rule[-3mm]{0mm}{8mm}. Przyk!adowo,w powy#szym przyk!adzie tabela b"dzie wygl%da!a lepiej, je#eli dodamy dopierwszego wiersza:Col du Galibier\rule[-3.5pt]{0pt}{15pt}

Spowoduje to wstawienie dodatkowego odst"pu mi"dzy kresk% nad pierw-szym wierszem tabeli a zawarto(ci% wiersza.

Page 134: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

122 Adaptowanie LATEXa

6.8.4. Pakiet tap

Pakiet tap (autorzy: Bogus!aw Jackowski, Piotr Pianowski i Piotr Strzel-czyk) pozwala na eleganckie sk!adanie nawet najbardziej ekstrawaganckich(jednostronicowych) tabel, z tym #e stosuje niestandardowy zapis11, co mo#epowodowa$ problemy w integracji z innymi pakietami LATEXa, np. pakietemcolortbl, s!u#%cym do kolorowania rubryk w tabelach. Oto przyk!ad:

\input{tap.tex} %% <- do$'czenie pakietu\desiredwidth=\textwidth %% sk$ad na szeroko!& $amu\begintable\begintableformat \left " &\right \endtableformat\=\B!^ | @2\center{Wys. w~m~n.p.m.} | D$ugo!& |

@2\center{Nachylenie \%} \E!\B"- \center{Nazwa} " @2\- " " @2\- \E"\B"_ | pocz'tek | koniec | w~km | !r. | max \E!\B! Col du Galibier | -- | 2645 | 17,5 | 6,9\% | 14,5 \E!\B! Alpe D’Huez | -- | 1839 | 13,0 | 8,5\% | 15,0 \E!\B! Passo Gavia | -- | 2621 | 17,3 | 7,9\% | 20,0 \E!\=\endtable

Wynik jest imponuj%cy:

Wys. w m n.p.m. D!ugo($ Nachylenie %Nazwa

pocz%tek koniec w km (r. max

Col du Galibier 1401 2646 18,1 6,9% 14,5Alpe D’Huez 724 1815 14,2 7,7% 15,0Passo Gavia 1734 2618 13,5 6,5% 20,0

Wi"cej informacji mo#na odnale&$ w (polskoj"zycznej) dokumentacji pakietu(CTAN://macros/generic/tables/tap077.zip).

Na zako*czenie uwaga: sk!adanie tabel w LATEXu nie jest mo#e a# tak prostejak w edytorach wysiwyg, ale za to mo#na tworzy$ konstrukcje niezwykletrudne lub wr"cz niemo#liwe do wykonania w innych programach. Ponadtozadanie sk!adania tabel mo#na sobie znakomicie u!atwi$, stosuj%c skryptowej"zyki programowania, w rodzaju Perla czy Pythona. Ju# stosunkowo nie-wielka umiej"tno($ programowania w wymienionych j"zykach pozwala naszybk% konwersj" generowanych przez zewn"trzne aplikacje danych tabela-rycznych do formatu LATEXa.

11Tak naprawd!, nie jest to nawet pakiet w rozumieniu LATEXa i zamiast poleceniem\usepackage nale#y go do'"cza% poleceniem \input.

Page 135: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Bibliografia

[1] Borzyszkowski Andrzej: BibTEX – narz"dzie do przygotowaniabibliografii. Biuletyn gust 1999 (13), Dost"pny tak#e w http://www.ipipan.gda.pl/~andrzej/papers/bibtex.pdf

[2] Carlisle David P.: Packages in the ‘graphics’ bundle. Dokumentdost"pny w zestawie pakietów „graphics” w pliku grfguide.tex.

[3] Chwa!owski Robert: Typografia typowej ksi#!ki, Helion 2001, isbn:83-7197-545-7, Por. te# http://www.typografia.ogme.pl/.

[4] Diller Antoni: LATEX wiersz po wierszu, t!um. Jan Je!owicki, Helion,Gliwice 2001, isbn: 83-7197-341-1.

[5] Eijkhout Victor: TEX by Topic, A TEXnician’s Reference,Addison-Wesley, Wokingham, England 1992 isbn: 0-201-56882-9Dost"pny w http://www.eijkhout.net/tbt/.

[6] Mittelbach Frank i inni: LATEX Companion, 2nd Edition,Addison-Wesley, Reading 2004, isbn: 0201362996.

[7] Goossens Michel, Rahtz Sebastian, Mittelbach Frank: The LATEXGraphics Companion. Addison-Wesley, Reading, Massachusetts, 1997,isbn 0-201-85469-4.

[8] Hobby John D.: A User’s Manual for MetaPost. Dost"pnyw http://cm.bell-labs.com/who/hobby/. Polskie t!umaczenieJoanny Marsza!kowskiej jest dost"pne w ftp://ftp.gust.org.pl/pub/GUST/doc/mpint-pl.pdf.

[9] Hoenig Alan: TEX Unbound. Oxford University Press, 1998,isbn0-19-509685-1+; 0-19-509686-X.

[10] Jackowski Bogus!aw: Co ma Bezier do B-spline’a? Biuletyn gust2001 (17), ISSN: 1230-5650, Dost"pny tak#e w ftp://ftp.gust.org.pl/pub/GUST/bulletin/17/jacko01.ps.gz.

[11] Knuth Donald E.: The TEXbook, Addison-Wesley Publishing Company1984, isbn 0-201-13448-9.

[12] Lamport Leslie: LATEX: A Document Preparation System. 2nded., Addison-Wesley, Reading 1994, isbn 0-201-52983-1. Polskiet!umaczenie Marii Woli*skiej i Marcina Woli*skiego LATEX Systemopracowywania dokumentów. Podr$cznik i przewodnik u!ytkownika,wnt, Warszawa 2004, isbn 83-204-2878-5.

[13] LATEX3 Project Team: LATEX2! for authors. Dokument dost"pnyw pliku usrguide.tex w dystrybucji LATEX2!.

Page 136: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

124 Bibliografia

[14] LATEX3 Project Team: LATEX2! for Class and Package writers.Dokument dost"pny w pliku clsguide.tex w dystrybucji LATEX2!.

[15] LATEX3 Project Team: LATEX2! Font selection. Dokument dost"pnyw pliku fntguide.tex w dystrybucji LATEX2!.

[16] LATEX Local Guide: Ka#da wielodost"pna instalacja LATEX-owapowinna zawiera$ LATEX Local Guide, w którym s% opisane rzeczyspecyficzne dla danej lokalnej instalacji. Dokument ten powinien by$zawarty w pliku local.tex. W wielu wypadkach administratorzy nieudost"pniaj% jednak u#ytkownikom takiego dokumentu. Pozostajewtedy zwróci$ si" o pomoc do lokalnego LATEX-owego guru.

[17] Licho*ski Bogus!aw: TEX na indeksie. Biuletyn gust 1994 (3), ISSN:1230-5650, Dost"pny tak#e w ftp://ftp.gust.org.pl/pub/GUST/bulletin/03/02-bl.pdf.

[18] Macewicz W!odzimierz: Wirtualna Akademia TEXowa. Dost"pnaw http://www.ia.pw.edu.pl/~wujek/tex/.

[19] Myszka Wojciech: W"#czanie grafik do tekstów w LATEX2!, Dost"pnyw http://www.immt.pwr.wroc.pl/~myszka/grafika/grafika.pdf.

[20] Nowacki Janusz M.: TEXnologia a typografia. Biuletyn gust 1995 (6),ISSN: 1230-5650, Dost"pny tak#e w ftp://ftp.gust.org.pl/pub/GUST/bulletin/06/01-jmn.pdf.

[21] Oswald Urs: Graphics in LATEX2!, containing some Java sourcefiles for generating arbitrary circles and ellipses within thepicture environment, and MetaPost – A Tutorial. Dost"pnew http://www.ursoswald.ch.

[22] Reckdahl Keith: Using EPS Graphics in LATEX2! Documents.Dost"pny w CTAN://info/epslatex.ps.

[23] Rose Kristo,er H.: XY-pic User’s Guide. Dost"pne w ctan z pakietemXY-pic.

[24] Sapijaszko Grzegorz: Tworzenie dokumentów pdf przy pomocy LATEXa,Dost"pny w http://www.sapijaszko.net/pedeefy.pdf.

[25] Schopf Rainer, Raichle Bernd, Rowley Chris: A New Implementationof LATEX’s verbatim Environments. Dokument dost"pny w zestawiepakietów „tools” w pliku verbatim.dtx.

[26] Volovich Vladimir, Lemberg Werner i LATEX3 Project Team: Cyrilliclanguages support in LATEX. Rozpowszechniany w dystrybucji LATEX2!w pliku cyrguide.tex.

[27] Williams Graham: The TEX Catalogue (katalog pakietów dla TEXaoraz LATEXa). Dokument dost"pny w CTAN://help/Catalogue/catalogue.html.

[28] Woli*ski Marcin: mwcls Moje w"asne klasy dokumentów dlaLATEX2!. Podr$cznik u!ytkownika. Dokument rozpowszechnianyrazem z zestawem klas mwcls.zip, por. http://www.mimuw.edu.pl/~wolinski/mwcls.html.

Page 137: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Skorowidz

Uwaga: has!a wyró#nione imitacj' pisma maszynowego, oznaczaj% polecenia (je#eli s%poprzedzone znakiem w-ty!-ciacha) lub otoczenia; warto(ci opcji klas i pakietów oznaczonoodmian! pochy"! imitacji pisma maszynowego; programy zosta!y wyró#nione podkre(le-niem za( has!a z!o#one krojem bezszeryfowym oznaczaj% pakiety.

\!, 52$, 45\’, 28\(, 45\), 45\,, 46, 51\-, 20..., zob. wielokropek\:, 51\;, 51\@, 31\[, 45%, 6BibTEX, 69\\, 17, 36, 37, 39, 43, 110\\*, 17wysiwyg, 2, 3\], 45^, 47_, 47~, 31

10pt , 1011pt , 10, 5112pt , 10, 51

\a’o, 28a4paper , 10, 81a5paper , 10abstract, 37Acrobat, 78, 79Acrobat Distiller, 74Acrobat Reader, 74, 76, 81acute, 25

\addcontentsline, 32\address, 44\addtolength, 111æ, 25akcenty, 25> matematyczne, 48align, 54all , 94\alt, 83amsbsy, 57amsfonts, 47, 64amsmath, 46, 49–52, 54, 57amssymb, 47, 58, 64amsthm, 56, 57\and, 33\appendix, 31, 32\ar, 95argument, 6> opcjonalny, 6array, 120, 121array, 52, 53arraycolsep, 53\atop, 49\author, 33, 78, 83.aux (plik), 13, 32, 34, 69

b5paper , 10babel, 11, 25–29\backmatter, 33backslash, 5\baselineskip, 107.bbl (plik), 69beamer, 9, 81–83.bib (plik), 69

\bibitem, 68\big, 51\Big, 51\bigg, 51\Bigg, 51\biggl, 55\biggr, 55\bigskip, 110\binom, 49block, 83\bmod, 49\boldmath, 57\boldsymbol, 57Braams Johannes, 25.bst (plik), 69

calc, 111\caption, 41–43Carlisle David, 58, 65Casartelli Fabio, 120\cc, 44\cdots, 51center, 36, 68\centering, 68\chapter, 31, 72\chaptermark, 72\choose, 49\circle, 88\circle*, 88\cite, 68\cleardoublepage, 18, 42\clearpage, 18, 42\cline, 40, 118\closing, 44

Page 138: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

126 Skorowidz

.cls (plik), 13cmd, 8color, 76, 81colortbl, 122command, 8CorelDraw!, 65cp1250 , 8, 26czcionka, zob. pismodrukarskie

\date, 33, 43, 44dcolumn, 39\ddots, 51\depth, 114, 115description, 36displaymath, 45\displaystyle, 55doc, 12\documentclass, 6, 9, 10,13, 19, 29, 81

draft , 19.dtx (plik), 13, 73.dvi (plik), 9, 13, 66, 73dvipdf, 9dvips , 67, 77dvips, 9, 13, 66, 74\dywiz, 22

eepic, 85, 88\em, 35\emph, 35, 103enumerate, 36epic, 85.eps (plik), 76, 80eps, 65, 66, 76epstopdf, 77eqnarray, 53eqnarray*, 53\eqref, 46equation, 46, 53eucal, 64eufrak, 64eurosym, 23\EURtm, 24executivepaper , 10exscale, 12, 51\extracolsep, 117

fancyhdr, 71\fbox, 20.fd (plik), 13

figure, 40–42, 67flalign, 54fleqn , 10flushleft, 36flushright, 36foiltex, 9\foldera, 92\folderb, 92font, 102fontenc, 12, 27, 29fonty> cm, 27> cm-super, 76> ec, 27, 76> lm, 27, 76> pl, 27, 76\footnote, 34, 43\footnotesize, 103\footskip, 112format, 25, 26, 28formatowanie> logiczne, 2> wizualne, 2\frac, 49frame, 83\framebox, 115\frametitle, 83Freehand, 65\frenchspacing, 31\frontmatter, 33\fussy, 19

gather, 54geometry, 72, 111\geq, 59ghostscript, 9, 65, 74ghostview, 65gimp, 66.glo (plik), 73gnuplot, 65graphicx, 11, 65, 67, 76, 81grave, 25grupa, 103gsview, 65gv, 65

\headheight, 112\headsep, 112\height, 114, 115hiper!%cze, 74

hipertekst, 74\hline, 39Hobby John D., 85\href, 78, 80\hspace, 108\hspace*, 109html, 74\huge, 103\Huge, 103hyperref, 77, 79–81hyphenat, 72\hyphenation, 19, 20

ı („i” bez kropki), 25ide, 75\idotsint, 52.idx (plik), 13, 70, 73ifpdf, 80\ifpdf, 80ifthen, 12\ignorespaces, 101\ignorespacesafterend,101

\iiiint, 52\iiint, 52\iint, 52.ilg (plik), 13ImageMagick, 66\include, 14, 67\includegraphics, 66, 67,76, 80, 113

\includeonly, 14.ind (plik), 13, 70indeks> dolny, 47> górny, 47\indent, 108indentfirst, 17, 108\index, 70, 71\input, 14, 122inputenc, 12, 20, 26–29.ins (plik), 13, 72, 73\institute, 83\int, 50interlinia, 107> podwójna, 107\item, 36itemize, 36, 83

/ („j” bez kropki), 25

Page 139: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Skorowidz 127

Jackowski Bogus!aw, 20, 27,84, 122

jednostki miary, 109jpeg2ps, 66.jpg (plik), 67, 76, 80

kaszta, 102Kew Jonathan, 28Kile, 75klasa> article, 9> book, 10> letter, 10> mwart, 30> mwbook, 30> mwrep, 30> report, 10> slides, 9klej, 113Knuth Donald E., 1, 85kodowanie> LGR , 28> OT1 , 27> OT4 , 27> T1 , 27> T2A , 28> T2B , 28> T2C , 28> X2 , 28Ko!odziejska Hanna, 20komentarz, 6kropka, 24

\label, 34, 42, 46, 68Lamport Leslie, 2\large, 103\Large, 103\LARGE, 103\LaTeX, 21LATEX2.09, 2LATEX2!, 2LATEX3, 2, 4\LaTeXe, 21latexsym, 12latin2 , 8, 26layout, 111\ldots, 24, 51\left, 50, 51\leftmark, 72legalpaper , 10

\leq, 59leqno , 10letter, 44letterpaper , 10, 81LGR , 28ligatura, zob. spójka\line, 87, 92\linebreak, 17, 18\linespread, 107\linethickness, 90, 92linia podstawowa, 51, 114,116

\listoffigures, 42\listoftables, 42.lof (plik), 13, 32.log (plik), 13, 76longtable, 119longtable, 119.lot (plik), 13, 32

Macewicz W!odzimierz, 11,70

\mainmatter, 33, 79\makebox, 114, 115makeidx, 12, 69\makeindex, 69makeindex, 13, 69, 70\maketitle, 33maktexlsr, 73\marginparpush, 112\marginparsep, 112\marginparwidth, 112Marsza!kowska Joanna, 123marvosym, 24math, 45\mathbb, 47\mathbf, 57, 105mathcal , 64\mathcal, 105\mathit, 105\mathnormal, 105\mathrm, 55, 105mathscr , 64\mathsf, 105\mathtt, 105\mbox, 20, 24, 114\medskip, 110METAPOST, 76, 77MeX , 30minipage, 114

Mittelbach Frank, 2modulo, 49Morison Stanley, 106.mps (plik), 76, 80MS O+ce, 66MS Visio, 66\multicolumn, 39\multiput, 86, 89multline, 54

nawias, 50\newcommand, 99\newenvironment, 99, 100\newline, 17, 18\newpage, 17, 18\newsavebox, 91\newtheorem, 56\newtheoremstyle, 56\noindent, 108\nolinebreak, 17nomathsymbols , 30\nonumber, 54\nopagebreak, 17\normalsize, 103\not, 59notitlepage , 10Nowacki Janusz, 27

obracanie> rysunku, 68> tabeli, 68\oddsidemargin, 112odst"p, 4> na pocz%tku wiersza, 4> po instrukcji, 5> podwójny, 107> poziomy, 108> w trybie matematycznym,51

œ, 25ogranicznik, 50Olko Mariusz, 29onecolumn , 10oneside , 10\only, 83Oostrum Piet van, 71opcje, 10openany , 10, 18\opening, 44openright , 10, 18OpenType, 28

Page 140: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

128 Skorowidz

operator> iloczynu, 50> sumowania, 50OT1 , 27, 29OT4 , 27, 29otoczenie, 35\oval, 90, 92\overbrace, 48overfull hbox, 19\overleftarrow, 48\overline, 48\overrightarrow, 48

\pagebreak, 17, 18, 110\pageref, 34, 74\pagestyle, 11pakiet, 10\paperheight, 112\paperwidth, 112\par, 104, 107\paragraph, 31\parbox, 114\parindent, 108\parskip, 108\part, 31, 32\pause, 83.pdf (plik), 13, 67, 73, 76, 80pdf, 74, 75, 78pdfLATEX, 75, 76, 81pdfscreen, 83pdftex , 67, 76, 77pdfTEX, 75\phantom, 54Pianowski Piotr, 122picture, 84, 85, 88, 89pierwiastek kwadratowy, 48pismo> drukarskie, 102> krój, 102> odmiana, 102> stopie*, 102platex, 22, 28, 29plmath , 29plmindex, 13, 70\pmb, 57\pmod, 49.png (plik), 67, 76, 80podpis, 68polecenie, 5> kruche, 43

\polecenie, 98polski, 29–31, 49, 59, 95PostScript, 9, 42, 75, 85ppower4, 81preambu!a, 6prim, 48\printindex, 70\prod, 50proof, 57prosper, 81\protect, 43\providecommand, 100\ProvidesPackage, 101przecinek, 24.ps (plik), 73\ps, 44pspicture, 85pstricks, 75, 85, 88pude!ko, 68, 113\put, 86–91pxfonts, 106

\qbezier, 84, 86, 93qcourier, 106\qedhere, 57qpalatin, 106qpxmath, 106\qquad, 52, 110qswiss, 106qtimes, 106qtxmath, 106\quad, 46, 52, 110quotation, 37quote, 37

Radhakrishnana C.V., 83\raisebox, 115\ref, 34, 42, 46, 68, 74\renewcommand, 100\renewenvironment, 100\right, 50, 51\rightmark, 72rotate, 75rotate, 68rotating, 68\rule, 115, 116Ry$ko Marek, 20, 27

\savebox, 91\scriptscriptstyle, 55\scriptsize, 103

\scriptstyle, 55\section, 31, 43, 72, 83\sectionmark, 72\selecthyphenation, 30\selectlanguage, 30\setlength, 85, 108, 111\settodepth, 113\settoheight, 113\settowidth, 113sfheaders, 106showidx, 70sideways, 68sidewaysfigure, 68sidewaystable, 68\signature, 43, 44Simpson Tom, 120\sloppy, 19s!owo, 71\small, 103\smallskip, 110split, 54spójka, 24\sqrt, 48\stackrel, 50stopie* pisma, 103\stretch, 109, 110, 117Strzelczyk Piotr, 122.sty (plik), 12, 73, 101subarray, 50\subparagraph, 31\subsection, 31, 83\subsectionmark, 72\substack, 50\subsubsection, 31\sum, 50\surd, 48symbol> ko*ca dowodu, 57syntonly, 12

(rodowisko, zob. otoczenie

T1 , 27, 29T2A , 28T2B , 28T2C , 28tabbing, 28\tabcolsep, 117table, 40–42\tableofcontents, 32, 42

Page 141: Nie za k r tk ie wp ro w adz enie do systemu LA T EX 2kaste/tikr/latex_short_polski.pdf · bl ikac ji nau kow y ch i tec hn icz n y ch o w y sokiej jak o(c i ty p ogr aÞcz n ej.

Skorowidz 129

tabular, 38, 39, 53, 113,116, 117, 119–121

tabular*, 116–118tabularx, 118tabularx, 116, 118tap, 122\temporal, 83.tex (plik), 8, 12\TeX, 21TeXnicCenter, 75\texorpdfstring, 79, 80\text, 55\textbf, 103, 105\textcelsius, 23textcomp, 23\texteuro, 23\textheight, 112\textit, 103\textmd, 103\textnormal, 103\textrm, 55, 103\textsc, 103\textsf, 103\textsl, 103\textstyle, 55\texttt, 103\textup, 103\textwidth, 68, 112Thanh Han The, 75thebibliography, 68\thicklines, 87, 90, 92\thinlines, 87, 90, 92\thispagestyle, 11tilde, 23\tiny, 103

\title, 33, 83\titlegraphic, 83titlepage , 10Tkadlec Josef, 58.toc (plik), 13, 32\today, 21\topmargin, 112\totalheight, 114, 115tryb matematyczny, 45twocolumn , 10, 18twoside , 10txfonts, 106tylda (~), 31

u!amek> pi"trowy, 49> zwyk!y, 49umlaut, 25\uncover, 83\underbrace, 48underfull hbox, 19\underline, 48unicode , 80Unicode, 8, 26, 28, 29, 77,80

\unitlength, 85–87\updownarrow, 50url, 23\url, 99url, 23\usebox, 91\usepackage, 6, 11, 12, 23,26, 67, 77, 101, 122

utf8 , 8, 26

\vdots, 51

\vec, 48\vector, 87\verb, 38, 43, 99verbatim, 38, 72verbatim, 38, 72\verbatiminput, 72verse, 37\vspace, 110\vspace*, 110

w-ty!-ciach, 5wektor, 48\widehat, 48\widetilde, 48\width, 114, 115wielokropek, 24, 51Williams Graham, 11Woli*ski Marcin, 29, 30wstawka, 40www, 23wzorce podzia!u, 25

X2 , 28XeTeX, 28xfig, 65xpdf, 74xy, 95\xymatrix, 95

yap, 9

zalety LATEXa, 3Zapf Hermann, 106znak> ca!ki, 50> sumowania, 50

#ywa pagina, 11, 71