Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. ·...

230
książka kucharska Marcin Borkowski Bartłomiej Przybylski

Transcript of Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. ·...

Page 1: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

książka kucharska

Marcin BorkowskiBartłomiej Przybylski

Page 2: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

książka kucharska

Marcin BorkowskiBartłomiej Przybylski

Page 3: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Niektóre prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu ni-niejszej publikacji w jakiejkolwiek formie, wykonywanie kopii metodą kserograficzną, fotogra-ficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym w celach ko-mercyjnych bez wyraźnej zgody autora jest zabronione.

Ta książka jest objęta licencjąCreativeCommonsBY-NC-SA. Pełna treść licencji dostępna jest nastronie: http://creativecommons.org/licenses/by-nc-sa/3.0/pl/legalcode.

Znakiwystępującew tekściemogąbyć zastrzeżonymi znakamifirmowymibądź towarowymi ichwłaścicieli.

Autorzy oraz Polskie TowarzystwoMatematyczne dołożyli wszelkich starań, aby zawarte w tejksiążce informacje były kompletne i rzetelne. Nie biorą jednak odpowiedzialności ani za ich wy-korzystanie, ani zazwiązanez tymewentualnenaruszenieprawpatentowych lubautorskich.Au-torzy oraz Polskie TowarzystwoMatematyczne nie ponoszą również żadnej odpowiedzialnościza ewentualne szkodywynikłe z wykorzystania informacji zawartych w książce.

© 2015Marcin Borkowski & Bartłomiej Przybylski

Grafiki wykorzystane w książce pochodzą z zasobów http://xkcd.com udostępnianych na li-cencji Creative Commons BY-NC.

Niniejsza publikacja ma charakter bezpłatny i może być wykorzystywanajedynie w celach niekomercyjnych.

ISBN (wersja drukowana): 978-83-937220-5-1ISBN (wersja elektroniczna): 978-83-937220-3-7ISBN (zestawmateriałów elektronicznych): 978-83-937220-4-4

Wydanie I.Wydanow Polsce.

Wydawca:Polskie TowarzystwoMatematyczneul. Śniadeckich 8, 00-956Warszawahttp://[email protected]

Druk:Zakład PoligraficznyMoś i Łuczak sp.j.ul. Piwna 1, 61-065 Poznańhttp://[email protected]

Page 4: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Spis treści

Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

I. Elementarz

TEX działa inaczej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Trochę historii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4TEX a LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5LATEX aWord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Pytania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Zaczynamy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Silniki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Dystrybucje LATEXa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Edytory oraz IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Sprawdźmy, czy działa! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Pytania i ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Zrozumieć dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Odstępy, instrukcje i otoczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Odstępy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Instrukcje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Otoczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Klasy dokumentów i pakiety . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Klasy dokumentów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Pakiety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Pakiet lipsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Plik źródłowy i jego konstrukcja . . . . . . . . . . . . . . . . . . . . . . . . . . 23Komentarze i znaki specjalne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Komentarze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Page 5: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Spis treści V

Znaki specjalne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Kodowanie pliku źródłowego i fontu . . . . . . . . . . . . . . . . . . . . . . . 26

Krótka historia kodowań . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Kodowanie pliku źródłowego . . . . . . . . . . . . . . . . . . . . . . . . 28Kodowanie fontu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Pliki produkowane przez LATEXa . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Pytania i ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Dokumentyw języku polskim . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Pakiet polski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Zestaw klas mwcls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Przykładowy dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

II. Receptury

Wprowadzenie do receptur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Wyliczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Listy nienumerowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Listy numerowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Zmiana symbolu wypunktowania lub sposobu numeracji listy . . . . . . . . . 45Zmiana symbolu wypunktowania wybranych elementów listy . . . . . . . . . 47Zmiana symbolu wypunktowania wszystkich list nienumerowanych . . . . . 48Zmiana sposobu numeracji wszystkich list numerowanych . . . . . . . . . . . 49Wyliczenia „długie” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Rozdziały i paragrafy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Oznaczanie rozdziału . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Oznaczanie podrozdziału i mniejszych jednostek . . . . . . . . . . . . . . . . 56Jednostki nienumerowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Dzielenie tytułu rozdziału na wiersze . . . . . . . . . . . . . . . . . . . . . . . 60Warianty tytułu do żywej paginy i spisu treści . . . . . . . . . . . . . . . . . . 62Części większe od rozdziałów . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Strona tytułowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Mikrotypografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Wyróżnianie fragmentu tekstu . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Cudzysłowy, myślniki, łączniki… . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Page 6: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Spis treści VI

Przypisy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Adresy email i stron internetowych . . . . . . . . . . . . . . . . . . . . . . . . 69Litery z akcentami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Twarde spacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Kształt akapitu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Usuwanie i wstawianie wcięcia akapitowego . . . . . . . . . . . . . . . . . . . 74Dokumenty bez wcięć akapitowych . . . . . . . . . . . . . . . . . . . . . . . . 75Dodatkowy odstęp pionowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Wyrównanie akapitu inaczej niż do obumarginesów . . . . . . . . . . . . . . 78Akapity węższe niż kolumna . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Cytaty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Skład dwułamowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Otaczanie fragmentu tekstu ramką . . . . . . . . . . . . . . . . . . . . . . . . 90

Automatyzacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Odwołania do elementów numerowanych . . . . . . . . . . . . . . . . . . . . 92Skorowidze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Spis treści i inne spisy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Bibliografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Najprostsza tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Komórki wielowierszowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Gdzie jest moja tabelka? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Tabele nienumerowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Łączenie komórekw poziomie . . . . . . . . . . . . . . . . . . . . . . . . . . . 113Łączenie komórekw pionie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Kolory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Nadawanie koloru elementom dokumentu . . . . . . . . . . . . . . . . . . . . 118Mieszanie farb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Grafiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Dołączanie grafiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Wersje testowe dokumentu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Grupowanie grafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Pływające grafiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131Obracanie grafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Page 7: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Spis treści VII

Układ strony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Wymuszenie przejścia do nowej strony . . . . . . . . . . . . . . . . . . . . . . 136Zakaz przejścia do nowej strony . . . . . . . . . . . . . . . . . . . . . . . . . . 137Zmiana rozmiaru strony i marginesów . . . . . . . . . . . . . . . . . . . . . . 138Standardowe style stopek i nagłówków . . . . . . . . . . . . . . . . . . . . . . 145Zmiana układu stopek i nagłówków na pojedynczej stronie . . . . . . . . . . 146Ręczna zmiana tekstu stopek i nagłówków . . . . . . . . . . . . . . . . . . . . 149Nagłówki niestandardowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Różne nagłówki i stopki dla stron parzystych i nieparzystych . . . . . . . . . 154O nagłówkachw książkach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160Poziome strony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

Otoczenia numerowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

Tworzenie otoczeń numerowanych . . . . . . . . . . . . . . . . . . . . . . . . 167Numeracja zależna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Numeracja hierarchiczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171Numeracja hierarchiczna i zależna . . . . . . . . . . . . . . . . . . . . . . . . . 173Nazwy twierdzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175Spisy otoczeń numerowanych . . . . . . . . . . . . . . . . . . . . . . . . . . . 176Dowody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178Zmiana symbolu końca dowodu . . . . . . . . . . . . . . . . . . . . . . . . . . 179Rodzaje otoczeń numerowanych . . . . . . . . . . . . . . . . . . . . . . . . . . 181Zamiana numeru otoczenia i jego nazwymiejscami . . . . . . . . . . . . . . . 183

Wzory i formułymatematyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Prosty wzór . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Wzory wycentrowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186Ułamki, potęgi i indeksy dolne. Symbol Newtona. . . . . . . . . . . . . . . . . 189Nawiasy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190Symbole działań, relacji, zbiorów itp. . . . . . . . . . . . . . . . . . . . . . . . 192Popularne funkcje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193Alfabetymatematyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194Akcenty nad literami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194Funkcje dane kilkomawzorami . . . . . . . . . . . . . . . . . . . . . . . . . . . 194Układy równań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195Ciągi równości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196Wzory związane ze sobą . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199Macierze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

Page 8: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Spis treści VIII

Wielokropki matematyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201Odstępyw trybie matematycznym . . . . . . . . . . . . . . . . . . . . . . . . . 202Teksty wewzorach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204Matematyka i tekst – zgrabne połączenie . . . . . . . . . . . . . . . . . . . . . 205Wielkości z jednostkami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

Polecane lektury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

Dodatki

Symbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

Podstawowe symbole specjalne . . . . . . . . . . . . . . . . . . . . . . . . . . 210Alfabet grecki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211Symbolematematyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

Operatory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212Relacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212Strzałki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Akcenty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Symbole duże . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Kropki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Nawiasy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Inne symbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Pakiety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

Pakiet bamboleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Pakiet latex-ksiazka-kucharska . . . . . . . . . . . . . . . . . . . . . . 217

Skorowidz poleceń i nazw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

Page 9: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Staraliśmy się jak mogli-śmy...Staraliśmy się jak mogli-śmy...

Wstęp

Masz przed sobą, drogi Czytelniku, książkę dotyczącą oprogramowania,które z roku na rok zdobywa coraz większą rzeszę użytkowników. SystemLATEX, bo o nim mowa, może być wykorzystywany do tworzenia wszelkiegorodzaju publikacji elektronicznych i drukowanych, od klasycznych dokumen-tów, przez prezentacje multimedialne, a na posterach skończywszy.

Książka ta dotyczy jednak pierwszego z zastosowań, czyli tworzenia kla-sycznych dokumentów – niezależnie czymamy przez to namyśli krótkie tek-sty pisane prozą, czy też skomplikowane publikacjematematyczne. Stworze-nie zbioru doświadczeń, z którego mogliby czerpać zarówno początkujący,jak i zaawansowani użytkownicy systemu LATEX wymagało od nas, autorów,wprowadzenia pewnego podziału treści. Tak oto, książka została podzielonana dwie części.

Pierwsza z nich, nazwana Elementarz, wprowadza Czytelnika w zagadnie-nia dotyczące podstaw korzystania z systemu LATEX. Zebraliśmy tam wszyst-kie informacje, które powinien (awwielu przypadkachmusi) znać każdyużyt-kownik tego oprogramowania. Dotyczą one w szczególności tego, dlaczegoLATEX działa tak, a nie inaczej, jak się z nim porozumiewać i co zrobić, żebystworzyć w nim zgodny z polskimi normami typograficznymi dokument zbu-dowany z akapitów tekstu. Staraliśmy się wzbogacić tę część o ciekawostkihistoryczne igłębszewyjaśnieniapewnychzagadnień tak, abynawetzaawan-sowani użytkownicymogli z tej części wynieść coś nowego.

Druga część, nazwana Receptury, stanowi główną zawartość tej książki.Czytelnik znajdzie w niej gotowe przykłady pokazujące, jak umieścić pewneelementy (np. listy, grafiki, tabele, spisy) w dokumencie. Przykłady te, wzbo-gacone o ciekawe komentarze, zbudowane zostały (w większości) jako sa-

Page 10: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wstęp 2

modzielne paragrafy, do których można zaglądać w razie potrzeby. Receptu-ry, w przeciwieństwie do Elementarza, nie są bowiempodręcznikiem, a raczejencyklopedią, w której poszukuje się jedynie konkretnych haseł. Te hasła po-winny zaspokoić potrzeby nawet wymagającego użytkownika.

Książka wyposażona jest też w dodatki. Większość z nich znajduje siętu, choć jeden jest szczególny. Dodatek C, dotyczący instalacji i konfiguracjiśrodowiska pracy, został opublikowany jako plik PDF, który można pobraćz odpowiedniej strony Polskiego Towarzystwa Matematycznego, poświęco-nej tej książce. Jest tak dlatego, że nie przypuszczamy, aby ktokolwiek chciałkorzystać z niego regularnie – raz zainstalowane oprogramowanie działa do-brze przez długi czas.

W tym samym miejscu (a więc na stronie Polskiego Towarzystwa Mate-matycznego) można też pobrać archiwum z plikami źródłowymi wszystkichprzykładówwykorzystanychw Recepturach.

Wierzymy, że taksiążka stanie się zachętądokorzystania z LATEXadla tych,którzy dotąd się na to nie zdecydowali, oraz kompendiumprzydatnychwska-zówek dla tych, którzy LATEXamieli okazję już poznać.

Page 11: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Część I

Elementarz

Page 12: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Donald E. Knuth,ur. w 1938 r. – amerykań-ski matematyk i informa-tyk, obecnie emerytowa-ny profesor UniwersytetuStanforda.

Donald E. Knuth,ur. w 1938 r. – amerykań-ski matematyk i informa-tyk, obecnie emerytowa-ny profesor UniwersytetuStanforda.

proof – w poligrafii wydrukpróbny, który wykonujesię przed rozpoczęciemdruku całego nakładu.

proof – w poligrafii wydrukpróbny, który wykonujesię przed rozpoczęciemdruku całego nakładu.

Tak naprawdę, kolejne wer-sje pojawiały się odpowied-nio w latach 1978 (TEX),1982 (TEX82) i 1989(TEX3).

Tak naprawdę, kolejne wer-sje pojawiały się odpowied-nio w latach 1978 (TEX),1982 (TEX82) i 1989(TEX3).

TEX działa inaczej

Trochę historii

Wszystko zaczęło się 30marca 1977 roku. Donald E. Knuth usiadł przyswoimmasywnym, drewnianym biurku ze zdobionymi nogami, w stylu typo-wym dla gabinetów Uniwersytetu Stanforda, by rozpocząć dzień od spraw-dzenia bieżącej poczty. Przez niewielkie okno za jego plecami wpadał kli-mat poranka w San Francisco w towarzystwie ciepłego, wiosennego słońca.Knuth zapalił olbrzymie, kubańskie cygaro, bywkłębachdymusięgnąćpoko-perty, które jego asystentka położyławcześniej na rogu blatu. Leżało ich tamwięcejniż zwykle, ale szczególną jegouwagęzwróciła jedna,niecogrubszaodpozostałych.Był toproof książki, nadktórąKnuthpracowałprzezostatnichkilka lat. Kiedy jednak otworzył przesyłkę i wysunął znajdujące się w środ-ku kartki, z przerażenia otworzył usta, pozwalając cygaruwypaść, aw czasie,gdy upadało ono na szarą wykładzinę, zdał sobie sprawę, że wolałby zacząćten dzień zupełnie inaczej.

No…może nie do końca tak to wyglądało. Nie wiemy, czy Knuth miał ma-sywne, drewniane biurko, ani czy palił cygara. Niestety, niewiemynawet, czymiał asystentkę. Jednego jesteśmy jednak pewni – Donald E. Knuth nie byłzadowolony z tego, jak miałaby wyglądać kolejna część jego Sztuki programo-wania komputerów. W swojej innej książce, Typografia cyfrowa, pisał potem:

Poświęciłem piętnaście lat na pisanie tamtych książek, ale jeżeli miały wy-glądać fatalnie, nie chciałem pisać już więcej.

Knuth postanowił napisaćwłasny systemkomputerowego składu tekstu,dając sobie na jego ukończenie mniej więcej sześć miesięcy. I chociaż jego

Page 13: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

TEX działa inaczej 5

Nazwa TEX pochodzi odgreckiego τ ϵχνη – „tech-ne” – co oznacza „sztuka”,ale i „rzemiosło”. Z tegopowodu czyta się ją tech.

Nazwa TEX pochodzi odgreckiego τ ϵχνη – „tech-ne” – co oznacza „sztuka”,ale i „rzemiosło”. Z tegopowodu czyta się ją tech.

Jeśli z jakiejś przyczynyniemożliwe jest wypisaniestylizowanego tekstu, nale-ży pisać odpowiednio TeXi LaTeX.

Jeśli z jakiejś przyczynyniemożliwe jest wypisaniestylizowanego tekstu, nale-ży pisać odpowiednio TeXi LaTeX.

Leslie Lamport,ur. w 1941 r. – amerykań-ski informatyk.

Leslie Lamport,ur. w 1941 r. – amerykań-ski informatyk.

LATEX2ε czytamylatech dwa epsilon.LATEX2ε czytamylatech dwa epsilon.

WYSIWYM – ang. what yousee is what you mean.WYSIWYM – ang. what yousee is what you mean.

pierwsza wersja pojawiła się publicznie już w 1978 roku, dopiero jedenaścielat później (w 1989 r.) system ten, nazwany TEX, został uznany za ukończo-ny. Od tego czasu do programu wprowadzane są jedynie poprawki błędów,a wraz z nimi do numeru wersji dodawane są kolejne cyfry rozwinięcia dzie-siętnego liczby π. Do grudnia 2014 roku, czyli w ciągu dwudziestu pięciu latod wydania trzeciej wersji, numer ten rozwinął się do 3.14159265.

TEX a LATEX

TEX zostałutworzonyzmyśląo tym, abyprawiekażdymógł tworzyćwy-sokiej jakości książki niewielkim (choć lepszymsłowembędzie rozsądnym) na-kładem sił.Wraz z językiem opisu dokumentów o tej samej nazwie, językiemMetafont, służącymdo opisu czcionek oraz rodziną krojówComputerModern,TEX daje nie tylko olbrzymie możliwości typograficzne, ale też pewność, żetworzone dokumenty będą identyczne, niezależnie od specyfiki komputeraużytego do pracy.

GenerowaniedokumentuwTEXupoleganautworzeniu tekstowegoplikuźródłowego, który następnie,wprocesie zwanym kompilacją, przekształcanyjest na wyjściowy dokument, najczęściej w formacie PDF.

W czasie tworzenia pliku źródłowego wykorzystuje się polecenia języ-ka TEX. Dzięki nimmożna przekazaćmechanizmowi składającemu tekst, ja-kich rezultatówodniego oczekujemy. TEX rozumie pewien zestawpodstawo-wych instrukcji, z którychmożna budować, niczym z klocków LEGO, bardziejzaawansowane polecenia, zwane makrami. Nie trzeba było więc długo cze-kać na powstanie pakietu rozszerzającego możliwości TEXa. W rzeczywisto-ści, jużnapoczątku latosiemdziesiątychLeslieLamport opublikowałpokaź-ny zbiór TEXowych makr, nazwany LATEX. Dziś z podstawowej wersji systemuTEX mało kto korzysta, a LATEX tak bardzo zadomowił się w umysłach użyt-kowników, że często obu nazw używa się zamiennie. Obecna wersja LATEXato LATEX2ε i o tej właśnie wersji traktuje ta książka.

LATEX w swojej naturze odpowiada metodologii WYSIWYM, wedle którejautor określa jedynie strukturę logiczną i treść dokumentu, pozostawiającw rękach automatycznego systemu zmartwienia dotyczące wyglądu i odpo-wiedniego rozmieszczenia elementów na stronie. Całośćwynika z założenia,

Page 14: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

TEX działa inaczej 6

WYSIWYG – ang. what yousee is what you get.Edytory WYSIWYG pozwala-ją na bieżąco obserwowaći modyfikować finalny wy-gląd dokumentu.

WYSIWYG – ang. what yousee is what you get.Edytory WYSIWYG pozwala-ją na bieżąco obserwowaći modyfikować finalny wy-gląd dokumentu.

że to, jak dokument wygląda, jest rzeczą całkowicie oddzielną względem te-go, jakie informacje zawiera.

LATEX aWord

Kiedy w 1983 roku firma Microsoft opublikowała pierwszą wersję swo-jego oprogramowaniaMulti-tool Word dla systemów Xenix, znanego późniejjako Microsoft Word, można było przewidywać rychły zmierzch systemówkomputerowego składu tekstów opartych na plikach źródłowych opisują-cych dokument na rzecz edytorów WYSIWYG. Okazało się jednak, że wy-soka elastyczność oraz jakość estetyczna i typograficzna tekstów generowa-nych przez system TEX sprawia, że jego użytkowników nie tylko nie zaczęłoubywać, ale zaczęło być coraz więcej.

Spór LATEX kontraWord ciągnie się nieprzerwanie od lat osiemdziesiątych.Istnieją bowiemgrupyentuzjastówgotowych całymswymdobytkiembronićwyboru jedynego słusznego systemu składu tekstu (którykolwiek z dwóchwymienionychmamy namyśli). I chociaż najbardziej dyplomatyczna, a jedno-cześnie prawdziwa odpowiedź na pytanie „co jest lepsze?” brzmi „to zależy”,dobrze jestnie tylkobyć jej świadomym,ale teżumieć jązastosowaćwprakty-ce. To jeden z powodów, dla którychwarto znać obanarzędzia. Poniżej zebra-liśmy – bez najmniejszych skrupułów – niektóre cechy i zastosowania, któreprzemawiają na korzyść LATEXa. Mamy nadzieję, że to przekona niepewnych,iż warto czytać tę książkę dalej.

— Typografia i układ dokumentu. Jedną z istotnych cech LATEXa jest od-dzielenie treści od stylu.Wiele osób z całego światawłożyło niewyobrażalnąpracę w to, aby dokumenty tworzone w LATEXu były eleganckie i typograficz-nie nienaganne, tym samym zdejmując tę odpowiedzialność z autorów tek-stów. Oznacza to, że pisząc dokument w LATEXu możemy skupić się na jegotreści, nie tracąc energii na zbędne rozmyślania o formie. Tak naprawdę rzad-ko kiedy zachodzi bowiem potrzeba zmiany domyślnego układu dokumentu.

W praktyce dzieje się tak dzięki zastosowaniu znakowania semantyczne-go. Autor tekstuokreśla jedynie logiczneumiejscowienieposzczególnychele-mentów (takich jak tekst główny, nagłówki, tytuły czy przypisy), a LATEX zaj-

Page 15: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

TEX działa inaczej 7

W rzeczywistości LATEX po-zwala wpłynąć na dowolnyparametr stylu, ale lepiejzostawić to ekspertom.

W rzeczywistości LATEX po-zwala wpłynąć na dowolnyparametr stylu, ale lepiejzostawić to ekspertom.

muje się tym, aby efekt finalny był jak najlepszy. Jest to podejście bardzo po-dobne do występującego w rzeczywistości. Kiedy planujemy wydać książkę,zwyklewysyłamy jej tekst dowydawnictwa,wktórym sztab specjalistów zaj-muje się kwestiami składu. W przypadku LATEXa rolę tych specjalistów przej-muje system komputerowy, nauczony najważniejszych reguł gry.

Lata doświadczenia w korzystaniu z edytorów WYSIWYG mogą począt-kowo wzbudzać poczucie dyskomfortu związane z brakiem pełnej kontrolinad wyglądem tekstu. Pamiętajmy jednak, że projektowanie pięknych do-kumentów jest rzeczą trudną, wymagającą nierzadko wielu lat doświadcze-nia. I nawet jeśli wydaje nam się, że jesteśmywirtuozami czcionek, odstępówi kolorów, wcale tak nie musi być.

— Tryb matematyczny. LATEX nadaje się doskonale do składania tekstówwypełnionych wzorami matematycznymi. Początkowo opisywanie wzorówpoleceniami może się wydawać wędrówką z zasłoniętymi oczami, ale po po-znaniu podstaw okazuje się, że efekty są warte poświęceń. Niech argumen-tembędzie tu fakt, żeLATEXwykorzystywany jestdogenerowaniawzorówma-tematycznychwserwisach internetowych takich jakWikipedia, a z rozwiązańzastosowanychwLATEXuczerpali autorzyanalogicznychnarzędzi, np. edytoraformuł dostępnegow pakiecieOpenOffice.org.

— Uniwersalność. Pliki źródłowe LATEXa są zwykłymi plikami tekstowy-mi – trudno sobie wyobrazić bardziej uniwersalny format. Takie pliki źródło-we można przetworzyć np. na popularny format PDF, korzystając z opro-gramowania LATEXzainstalowanegonadowolnymkomputerzewyposażonymwsystemoperacyjnyWindows, Linux lubMacOS. Dzięki całkowitej autonomiiLATEXa, efekty składu (a więc i końcowy dokument) będą identyczne niezależ-nie odwykorzystywanego środowiska pracy.

— Rozszerzenia. LATEX to system umożliwiający szybkie tworzenie pro-stych dokumentów o jasnej strukturze, takich jak książki, artykuły czy rapor-ty. Ponieważ jednak wymagania autorów często wykraczają poza podstawo-we zastosowania, entuzjaści tworzą dodatkowe rozszerzenia umożliwiającewykorzystanie potencjału systemu LATEX. Dziś są to tysiące dodatków pozwa-lających, przykładowo, tworzyć zaawansowane tabele, grafiki i wykresy, sko-rowidze, a nawet prezentacje multimedialne czy plakaty.

Page 16: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

TEX działa inaczej 8

— Doskonała obsługa obszernych tekstów. Tworzenie rozległych doku-mentów (np. książek) zawierającychdziesiątki rozdziałóworaz setkiwzorów,tabel i grafik towymagająca praca. Zaletą LATEXa sąwbudowanemechanizmyumożliwiające zachowanie pełnej kontroli nad strukturą dokumentu. Możli-wość podziału pliku źródłowego na części, automatyczne numerowanie roz-działów, paragrafów, przypisów i innych elementów, prosty w użyciu systemodwołań, ale także łatwe generowanie spisów treści czy skorowidzów – totylko niektóre funkcje dostępne nawyciągnięcie ręki.

— Wsparcie. Społeczność LATEXa to społeczność entuzjastów. Napisanowiele książek dotyczących tego systemu i otwarto wiele forów interneto-wych i grupdyskusyjnychumożliwiającychwzajemnąwymianędoświadczeń.Nie ma więc się czego obawiać – zawsze znajdzie się ktoś gotowy odpowie-dzieć na nurtujące nas pytania i pomócw przypadku niepowodzeń.

— Koszt. Mogłoby się wydawać, że system umożliwiający tworzenieprofesjonalnie wyglądających dokumentów bez konieczności przejmowaniasię warstwąwizualną kosztuje dużo pieniędzy. Okazuje się jednak, że zarów-no TEX, jak i LATEX są całkowicie darmowe. Co więcej, wspomniane wcześniejrozszerzenia także są dostępne bezpłatnie.

Żebybyć jednakuczciwym,należywspomnieć chociażonajistotniejszychwadach LATEXa:

— Inność. LATEX opiera się na plikach źródłowych, a informacje o struktu-rze dokumentu i umieszczanychwnimelementachprzekazywane są dokom-pilatorazapomocąpoleceńtekstowych. Jest tozgoła innepodejścieniż to,doktórego przyzwyczaiły nas edytory WYSIWYG, takie jakMicrosoft Word. Abytworzyć jakiekolwiek dokumenty w LATEXu, trzeba więc poznać przynajmniejpodstawowe polecenia.

— Tworzenie tekstów bez jasnej struktury. LATEX służy do składania tek-stów o jasnej strukturze. Tworzenie pozbawionych niej dokumentów możeokazać się bardziej pracochłonne w LATEXu niż w jakimkolwiek edytorze wi-zualnym (choć to raczej kwestia doświadczenia). W praktyce jednak pisaniedłuższych tekstów niesie za sobą konieczność ich strukturyzacji. W ich przy-padkumniejsze szanse na zawał serca związany ze stresemmają użytkowni-cy LATEXa.

Page 17: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

TEX działa inaczej 9

W rzeczywistości,ze względu na sposób zapi-su plików Worda, systemykontroli wersji nie radząsobie z analizą wprowadza-nych w nich zmian.

W rzeczywistości,ze względu na sposób zapi-su plików Worda, systemykontroli wersji nie radząsobie z analizą wprowadza-nych w nich zmian.

— Niezrozumiałe błędy. Ponieważ tworzenie dokumentu w LATEXu wy-maga skompilowania pliku źródłowego, może się okazać, że w czasie tegoprocesu wystąpiły pewne błędy i ostrzeżenia. Czasemmogą być one niezro-zumiałe dla początkujących użytkowników, ale zawszemają jakąś przyczynę.LATEXtroszczysiębowiemonajdrobniejsze szczegóły i zprzejęciem informujenawetobłahychzpozoruproblemach, takich jakwykraczającepozaprzyjmo-waną normę odstępymiędzy wyrazami, związane np. z justowaniem tekstu.

— Recenzowanie tekstu. Microsoft Word, w przeciwieństwie do LATEXa,udostępnia zaawansowane narzędzia komentowania i recenzowania tekstu.Próżno też szukać w LATEXu tak rozbudowanych możliwości śledzenia zmian.Niema się jednak co dziwić – TEXnie jest procesorem tekstu, a jedynie narzę-dziem przetwarzającym pliki źródłowe na dokumenty.

Tych silnych na pozór wadmożna się jednak pozbyć – ponieważ pliki źró-dłowe LATEXa są plikami tekstowymi, można śledzić zmiany w ich zawartościprzy użyciu systemów kontroli wersji, takich jak na przykładGit. Te z kolei sąo wiele bardziej rozbudowane niż narzędzia dostarczanewraz zWordem.

— Skomplikowana zmiana stylu. Zaawansowana zmiana wyglądu doku-mentu lub próba stworzenia nowego szablonu wymaga dobrej znajomościLATEXa. W zdecydowanej większości przypadków rozwiązania dostępne do-myślnie okazują się jednak całkowicie wystarczające.

— LATEX nie jest dla każdego. Choć dla większości jest to zaleta, dla nie-którychmoże to być zdecydowana wada – LATEX nie pozwala w łatwy sposóbtworzyć dokumentównieestetycznych, nieprzemyślanych i o niejasnej struk-turze. Nie jest więc to system dla każdego, tym bardziej dla osób, które bojąsię podejmowaćwyzwania i uczyć się nowych rzeczy.

Pytania

Pytanie 1. Dlaczego powstał system TEX? Co to jest LATEX?

Pytanie 2. Jak wymawiamy nazwy LATEX i TEX? Z czego to wynika?

Pytanie 3. Co oznacza, że tworząc dokument w LATEXu stosujemy znakowa-nie semantyczne?

Pytanie 4. Jakie przewagi nad programemMicrosoftWordma LATEX?

Page 18: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Omawianie technicznychaspektów funkcjonowaniaLATEXa byłoby nudne dlaautorów i zniechęcającedla Czytelnika. (BP)

Nudne? Niech każdy z au-torów mówi za siebie, do-brze? (MB)

Omawianie technicznychaspektów funkcjonowaniaLATEXa byłoby nudne dlaautorów i zniechęcającedla Czytelnika. (BP)

Nudne? Niech każdy z au-torów mówi za siebie, do-brze? (MB)

Nazw silnik i kompilator bę-dziemy używać zamiennie.Nazw silnik i kompilator bę-dziemy używać zamiennie.

DVI – ang. device indepen-dent, czyli niezależny odurządzenia.

DVI – ang. device indepen-dent, czyli niezależny odurządzenia.

Zaczynamy

Rozpoczęcie pracy z LATEXemwymaga od użytkownika podjęcia dwóch za-sadniczych decyzji. Pierwsza towybór odpowiedniej dystrybucji TEXa, drugazaś to wybór wygodnego środowiska do tworzenia pięknych dokumentów.Celem tego rozdziału jest ułatwienieCzytelnikowi zrozumienia porządkupa-nującego w świecie LATEXa. To pozwoli podjąć świadomą decyzję o wyborzeodpowiednich narzędzi.

Zanim będziemymogli się swobodnie poruszać wmeandrach występują-cegona rynkuoprogramowania, powinniśmywyjaśnić sobieniektórepodsta-wowe pojęcia. Ponieważ jednak nie jest to książka o zapleczu technicznymLATEXa, ale o jego praktycznym wykorzystaniu w tworzeniu dokumentów,podarujemy sobie zbędne szczegóły.

Silniki

Silnik to program komputerowy, który przetwarza napisany w języku TEXplik źródłowydokumentunaplikwynikowy (np.PDF). Zewzględunaodmien-neoczekiwaniaużytkownikówdotyczące jegozachowania,powstałokilkasil-ników różniących się od siebie nieznacznie działaniem. Można to porównaćdo różnychmodeli samochodów osobowych – prowadzi się je tak samo, cho-ciaż odpowiadają na różne nasze wymagania.

Obecnie używanych jest pięć silników (kompilatorów) TEXa:

— TeX to podstawowy silnik umożliwiający kompilowanie plików źródło-wych TEXa. Generuje pliki w formacie DVI, który ustąpił już miejsca in-

Page 19: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zaczynamy 11

natywny – wbudowany.natywny – wbudowany.

O kodowaniu UTF-8będziemy pisać w jednymz kolejnych rozdziałów.

O kodowaniu UTF-8będziemy pisać w jednymz kolejnych rozdziałów.

format – w tym znaczeniunakładka na silnik.format – w tym znaczeniunakładka na silnik.

Zainteresowany Czytelnikmoże się dowiedzieć, żenie istnieje format umoż-liwiający kompilację doku-mentów w obecnej wersjiLATEXa przy użyciu oryginal-nego silnika TeX.

Zainteresowany Czytelnikmoże się dowiedzieć, żenie istnieje format umoż-liwiający kompilację doku-mentów w obecnej wersjiLATEXa przy użyciu oryginal-nego silnika TeX.

W chwili pisania tych słów,internetowe archiwumCTAN liczyło 4826 pakie-tów.

W chwili pisania tych słów,internetowe archiwumCTAN liczyło 4826 pakie-tów.

nym,popularniejszymformatom.Ten i innepowodysprawiły, że jestobec-nie używany bardzo rzadko.

— e-TeX to kompilator rozszerzający nieznaczniemożliwości silnika TeX. Niejest już obecnie powszechnie wykorzystywany, a zastosowane w nimulepszenia zostały zaimplementowanew innych, nowszych silnikach.

— pdfTeX oparty został na silniku e-TeX, ale rozszerza go o możliwości zwią-zane z generowaniem plików PDF. Tym samym pdfTeX może generowaćzarówno pliki DVI, jak i PDF. Jest to obecnie najpopularniejszy z używa-nych silników.

— XeTeX także został oparty na kompilatorze e-TeX, ale wspiera natywniekodowanie UTF-8 oraz umożliwia dostęp do fontów (krojów pisma) za-instalowanychw systemie operacyjnym. Ta książka została złożona z uży-ciem silnika XeTeX.

— LuaTeX, nazywanypoczątkowodrugąwersjąpdfTeX, wspieranatywnieko-dowanie UTF-8, ale też umożliwia wykorzystywanie w pracy języka pro-gramowania o nazwie Lua, dzięki któremu można (między innymi) uzy-skać dostęp do fontów systemowych. Opiera się na silniku pdfTeX.

Przypomnijmy, że LATEX jest, formalnie rzecz biorąc, rozbudowaną nakład-ką na system składu tekstu o nazwie TEX. Nie zdziwi więc fakt, że część sil-ników zaadaptowano do obsługi LATEXa, tworząc tzw. formaty o analogicz-nych do oryginałów nazwach (np. pdfLaTeX, XeLaTeX czy LuaLaTeX). Wyjąt-kiem jest jednak format LaTeX, który (wbrew pozostałym analogiom) jest na-kładką na kompilator pdfTeX, a nie TeX. Używa go jednak do generowaniaplików DVI.

Na potrzeby tej książki będziemy zakładać wykorzystanie silnika pdfTeXprzez format pdfLaTeX, uzyskując najszerzej spotykane dziś zestawienie.

Dystrybucje LATEXa

Jak jużdobrzewiemy, LATEXtozbiórusprawnieńdla systemuTEX, ale takżeplatforma, której funkcjonalność można rozbudowywać poprzez rozszerze-nia. Rozszerzeń tych są jednak tysiące. Część z nich wykorzystywana jestdość powszechnie, ale niektóremają niewielkie (często jednocyfrowe) grono

Page 20: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zaczynamy 12

font – zestaw czcioneko określonych cechach ty-pograficznych.

font – zestaw czcioneko określonych cechach ty-pograficznych.

Nie oznacza to, że z cza-sem odczujemy potrzebęużycia płatnej dystrybucji –jest to raczej bardzo małoprawdopodobne.

Nie oznacza to, że z cza-sem odczujemy potrzebęużycia płatnej dystrybucji –jest to raczej bardzo małoprawdopodobne.

użytkowników. Ze względu na dosyć szeroką gamę zastosowań LATEXa, pew-ne jest jedno – w ciągu całego swojego twórczego życia nie zdążymy odczućpotrzeby korzystania ze zdecydowanej większości z nich.

Żebyśmy mogli używać LATEXa bez większych problemów, musimy wypo-sażyć się więc nie tylko w oprogramowanie silników, ale też w podstawowyzbiór rozszerzeń zmożliwością jego rozbudowy, aplikacje dodatkowe, wspo-magające choćby zarządzanie pakietami, aktualizacje czy tworzenie plikówźródłowych, czy w końcu w fonty wykorzystywane do składania naszychdokumentów. Taki zestaw nazywamy dystrybucją systemu LATEX.

Jak można się domyślić, nie istnieje jedna, doskonała dystrybucja LATEXa.Użytkownicy mają różne wymagania oraz wypracowane przez lata przyzwy-czajenia.W chwili obecnej na rynku dostępnych jest więc wiele różnych dys-trybucji, możliwych do uruchomienia na niemalże dowolnym komputerze,niezależnie od zainstalowanego systemu operacyjnego. Z łatwością możnaznaleźć zestawy zarówno bezpłatne, jak i płatne (wzbogacone choćby o do-datkowe wsparcie techniczne czy bardziej zaawansowane aplikacje wspo-magające). I choć wybór dystrybucji może mieć wpływ na wygodę zarządza-nia naszą instalacją LATEXa (np. na sposób instalacji dodatkowych pakietów),jedna rzecz jest dla wszystkich dystrybucji wspólna – dostarczają nam onewszystkiego, czego potrzeba do składania tekstów z użyciem tego wspania-łego systemu.

Proponujemy rozpoczęcie swojej przygody z LATEXem od instalacji jednejz najpopularniejszych bezpłatnych dystrybucji: MiKTeX (Windows), TeX Live(Windows i Linux) alboMacTeX (MacOS).1

Edytory oraz IDE

Aby skorzystać zmożliwości LATEXa, należy przygotować plik źródłowy za-wierający opis dokumentu, a następnie (w procesie kompilacji) przekształcić

1 Na stronach internetowych poszczególnych projektówmożna znaleźć nie tylko szczegó-łowe informacje na ich temat, ale także wymagane pliki instalacyjne. Są to w kolejności: http://miktex.org, http://www.tug.org/texlive/ oraz http://tug.org/mactex/ . W do-datku do elektronicznej wersji tej książki (Dodatek C: Środowisko pracy) umieściliśmy także in-strukcję instalacji i podstawowej obsługi dystrybucjiMiKTeX dla systemuWindows.

Page 21: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zaczynamy 13

Edytor tekstu to programsłużący do tworzenia i mo-dyfikowania plików teksto-wych. Należy być uważ-nym, aby nie mylić edyto-rów tekstu (np. Notatnik)z procesorami tekstu (taki-mi jak np. Microsoft Word).

Edytor tekstu to programsłużący do tworzenia i mo-dyfikowania plików teksto-wych. Należy być uważ-nym, aby nie mylić edyto-rów tekstu (np. Notatnik)z procesorami tekstu (taki-mi jak np. Microsoft Word).

IDE – z ang. integrated de-velopment environment, czy-li zintegrowane środowiskoprogramistyczne.

IDE – z ang. integrated de-velopment environment, czy-li zintegrowane środowiskoprogramistyczne.

TEXnik (czyt. technik) tonazwa użytkowników TEXawprowadzona przez Do-nalda E. Knutha w jegoksiążce pt. TEX. Przewodnikużytkownika.

TEXnik (czyt. technik) tonazwa użytkowników TEXawprowadzona przez Do-nalda E. Knutha w jegoksiążce pt. TEX. Przewodnikużytkownika.

go w jeden z wyjściowych formatów (obecnie najczęściej PDF). Ze względuna fakt, że pliki źródłowe LATEXa są zwykłymi plikami tekstowymi, można jetworzyć imodyfikowaćzużyciemdowolnegoedytora tekstu. Zregułychce-my jednak, abypomagał namonw tymprocesie, oferując dodatkowe funkcje,takie jak kolorowanie składni, podpowiedzi, czy teżmożliwośćwywoływaniakompilatora z poziomu samego edytora. Piszemy tu o wywołaniu, ponieważkompilatory (silniki) nie są w żaden sposób związane z edytorem tekstu, któ-regoużywamy.Możemywięc używaćdowolnegoprogramu (a nawet kilkunaprzemian!), a efekty końcowe będą zawsze takie same.

Bardziej zaawansowane edytory, wyposażone dodatkowo w mechani-zmy wspierające tworzenie plików źródłowych, takie jak podpowiadanienazwpoleceń,obsługabłędówidebugowania, porządkowaniezawartościpli-ków czy opcje równoczesnej pracy nad wieloma dokumentami, bywają okre-ślanemianem IDE.

Wartowyposażyć sięwwygodny edytor (lubIDE), ponieważ przyspieszai ułatwia to codzienną pracę z LATEXem. Można sobie wyobrazić użytkowni-ków, którzy czerpią satysfakcję z tworzenia swoich dokumentów w Notatni-ku, ale zakładamy, że rozsądni TEXnicy wolą, gdy im się ułatwia pracę. Dla-tego przedstawiamy trzy bezpłatne programy, które nie tylkowydają się byćodpowiednienapoczątkuprzygodyzLATEXem,ale teżdostępnesąwwersjachna systemyWindows, Linux iMacOS.

— TeXworks2 to prosty edytor plików źródłowych LATEXa dostarczany wrazz dystrybucjami TeX Live iMikTeX. Oferuje dodatkowo prosty systempod-powiedzi. Dla dużej części użytkownikówmoże się okazaćwystarczający.

— TeXmaker3 to rozbudowaneIDE służącedowygodnego tworzenia i zarzą-dzania plikami źródłowymi LATEXa.Wśródwygodnych funkcji wartowspo-mnieć zaawansowane systemy podpowiedzi, zakładek, sprawdzania pi-sowni oraz obsługi błędów.

— TeXstudio4 to IDE oparte na TeXmaker, wzbogacone o dodatkowe opcjeprzydatne przy edycji rozbudowanych dokumentów, takie jak wsparciedla systemów kontroli wersji.

2 http://texworks.org3 http://www.xm1math.net/texmaker/4 http://texstudio.sourceforge.net

Page 22: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zaczynamy 14

Choć moim zdaniem,Emacs jest bliżej dosko-nałości niż wszystkie po-zostałe edytory razemwzięte. Użytkownikomnie obawiającym się uży-wania zaawansowanegonarzędzia, dającego jednakolbrzymie możliwości, po-lecam sprawdzenie tegoprogramu. (MB)

Choć moim zdaniem,Emacs jest bliżej dosko-nałości niż wszystkie po-zostałe edytory razemwzięte. Użytkownikomnie obawiającym się uży-wania zaawansowanegonarzędzia, dającego jednakolbrzymie możliwości, po-lecam sprawdzenie tegoprogramu. (MB)

W dodatku do elektronicz-nej wersji tej książki (Do-datek C: Środowisko pracy)zawarliśmy instrukcję in-stalacji i podstawowej ob-sługi jednego z edytorów –TeXmaker.

W dodatku do elektronicz-nej wersji tej książki (Do-datek C: Środowisko pracy)zawarliśmy instrukcję in-stalacji i podstawowej ob-sługi jednego z edytorów –TeXmaker.

Jeśli w którymś momen-cie tej książki niezbędnebędzie wykonanie dodatko-wych czynności, wyraźnieto zaznaczymy.

Jeśli w którymś momen-cie tej książki niezbędnebędzie wykonanie dodatko-wych czynności, wyraźnieto zaznaczymy.

Użytkownicy, którzy lubiąmajsterkować, mogą spró-bować dokonać kompilacjiz poziomu konsoli, wykonu-jąc w katalogu dokumentpolecenie pdflatex do-kument.tex.

Użytkownicy, którzy lubiąmajsterkować, mogą spró-bować dokonać kompilacjiz poziomu konsoli, wykonu-jąc w katalogu dokumentpolecenie pdflatex do-kument.tex.

Wszystkie wymienione edytory oferują kolorowanie składni, wywoływa-nie kompilatora z poziomu programu oraz szybki podgląd plików wyniko-wych. Ponieważ wybór odpowiedniego edytora jest kwestią indywidualną(znowu, nie ma jednego doskonałego narzędzia), warto przetestować ichkilka i wybrać ten, który zdaje się być dla nas najbardziej odpowiedni. Nicnie stoi na przeszkodzie, aby na komputerze zainstalować wiele edytorówjednocześnie, porównując dostępne opcje równolegle.

Sprawdźmy, czy działa!

Czas stworzyć pierwszy dokument, który może być dobrym pretekstemdo zapoznania się z podstawową obsługą wybranego edytora. Jest to naj-prostsza procedura, umożliwiająca kompilację dokumentów, w których niewykorzystujemy zewnętrznego oprogramowania.

Wykonajmy następujące kroki:

1. Utwórzmyw dowolnymmiejscu katalog (folder) o nazwie dokument.2. Stwórzmy nowy plik źródłowy LATEXa o treści

\documentclassminimal

\begindocumentCo z oczu, to z serca.\enddocument

i zapiszmy go pod nazwą dokument.tex w katalogu z poprzedniegopunktu. Pliki źródłowe LATEXa zapisujemy zawsze z rozszerzeniem tex.

3. Ustawmy nazwę kompilatora na pdfLaTeX i dokonajmy kompilacji.4. W katalogu dokument powinny po chwili pojawić się pliki pomocnicze

tworzone przez kompilator oraz plik wynikowy dokument.pdf, którymożemy podejrzeć w odpowiednim okienku edytora lub przy użyciu do-wolnej zewnętrznejprzeglądarkiplikówPDF.Nanastępnej stroniemożnazobaczyć (w skali 1:1) fragment wygenerowanego dokumentu.

Page 23: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zaczynamy 15

Co z oczu, to z serca.

Pytania i ćwiczenia

Pytanie 5. Czym różnią się silnik, dystrybucja oraz edytor LATEXa?

Pytanie 6. Jaka jest różnicamiędzy silnikiem a formatem?

Pytanie 7. Czy potrafisz wymienić nazwy kilku silników? A kilku formatów?

Pytanie 8. Przy użyciu jakiego oprogramowaniamożemyedytowaćpliki źró-dłowe LATEXa?Wymień kilka programów.

Ćwiczenie 9. Spróbuj skompilować dokument z końca tego rozdziału przyużyciu różnych formatów (pdfLaTeX,XeLaTeX, LuaLaTeX). Jakiewystępują róż-nice w efektach? Dlaczego tak jest?

Page 24: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

a priori – łac. z góry.a priori – łac. z góry.

Wyjątkiem od tej regułyjest np. otoczenie verba-tim.

Wyjątkiem od tej regułyjest np. otoczenie verba-tim.

Zrozumieć dokument

Celem tego rozdziału jest oswojenie Czytelnika z plikami źródłowymi do-kumentów LATEXa. Oczywiście zebrane tu informacje nie wyczerpują tematu,ale pozwolą zrozumieć bez problemu dalszą część książki.

Odstępy, instrukcje i otoczenia

Odstępy

Jedna z zasadniczych różnic między tym, do czego pozwoliły nam przy-wyknąć godziny używania Worda, a tym jak działa LATEX, leży w znakach nie-widocznych (spacjach i znakach tabulacji) oraz znakach nowej linii. DonaldE. Knuth, opracowując zasady interpretacji plików źródłowych, musiał pod-jąćdecyzjęotym, jakużycie tychznakówbędziewpływaćnaostatecznyefektskładu. Tak oto powstał zbiór zasad a priori, dotyczących interpretacji ta-kich znaków:

— każdy znak niewidoczny traktowany jest przez TEXa jak odstęp,— kilkaodstępówwystępującychposobie traktowanych jest jakpojedynczy

odstęp,— odstępywystępujące na początku linii są ignorowane,— wiele następujących bezpośrednio po sobie znakównowej linii (jedna lub

więcej linii przerwy) interpretowanych jest jako zakończenie akapitu,— pojedynczy znak nowej linii traktowany jest jak odstęp.

Mając na uwadze te zasady, jasne staje się, że oba akapity z zaprezento-wanego poniżej dokumentu zostaną zinterpretowane tak samo (choć oczy-

Page 25: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 17

Niektórzy użytkownicy na-byli dodatkowo zwyczajstawiania dwóch znakówodstępu po kropkach koń-czących zdanie. Poprawiato czytelność plików źró-dłowych.

Niektórzy użytkownicy na-byli dodatkowo zwyczajstawiania dwóch znakówodstępu po kropkach koń-czących zdanie. Poprawiato czytelność plików źró-dłowych.

wiście zachęcamydo samodzielnego sprawdzenia tego faktu).Dla ułatwieniaoznaczone zostały miejsca, gdzie zastosowano spacje i znaki tabulatora.

\documentclassminimal

\begindocumentCozoczu,tozserca.

Co zoczu,toz

serca.\enddocument

Oczywiście sposób pisania dokumentu zaprezentowany w drugim przy-padku nie jest zbyt wygodny. Ogólnie przyjęta zasada mówi, że kolejne aka-pity oddzielamy jednym pustymwierszem, a pierwszegowiersza akapitu niewcinamy dodatkowo (ani tabulatorem, ani znakami odstępu).

Instrukcje

Spójrzmy raz jeszcze na plik źródłowy dokumentu, który przygotowali-śmy pod koniec poprzedniego rozdziału.

\documentclassminimal

\begindocumentCo z oczu, to z serca.\enddocument

Poza samą treścią dokumentu, w pliku źródłowym umieściliśmy dodatkoweinstrukcje, dzięki którym LATEXwie, w jaki sposób złożyć nasz dokument.

Każdy ciąg małych i wielkich liter alfabetu łacińskiego poprzedzony zna-kiem odwróconego ukośnika „\” traktowany jest przez kompilator jako in-strukcja. W każdym przypadku koniec instrukcji wyznacza dowolny znak in-ny niż litera (np. spacja, cyfra, przecinek). Tak oto, na przykład, ciąg znaków

Page 26: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 18

\documentclass

Nie zawsze jest to wyma-gane, ale to przyzwyczaje-nie pozwoli nam uniknąćwielu niepotrzebnych kło-potów.

Nie zawsze jest to wyma-gane, ale to przyzwyczaje-nie pozwoli nam uniknąćwielu niepotrzebnych kło-potów.

\frac

Niektóre polecenia wyma-gają innej składni – jestto zawsze jasno powie-dziane w odpowiednimmomencie.

Niektóre polecenia wyma-gają innej składni – jestto zawsze jasno powie-dziane w odpowiednimmomencie.

\bamboleo123 zostanie zinterpretowany jako instrukcja \bamboleo i na-stępujący po niej zestaw cyfr 123.

Argumenty obowiązkowe. Niektóre instrukcje oczekują dodatkowych in-formacji, zwanych argumentami. Na przykład, polecenie \documentclass,pozwalającewybraćklasę tworzonegodokumentu,oczekuje jakoargumentunazwy tej klasy. Jest to argument obowiązkowy tego polecenia, to znaczy, żenie może zostać pominięty. Argumenty obowiązkowe obejmujemy nawiasa-mi klamrowymi. Nawiasy temają szczególne znaczeniew języku TEXa – po-zwalają tworzyć grupy składające się ze znaków i innych grup5. Dzięki temuwiadomo, gdzie argument się zaczyna i gdzie się kończy.Womawianymprzy-kładziewywołaliśmypolecenie\documentclass z argumentemminimal.

Jest całkiem sporo instrukcji, które wymagają więcej niż jednego argu-mentu obowiązkowego. Na przykład, polecenie \frac służące do budowa-nia ułamków w trybie matematycznym, oczekuje dwóch argumentów: war-tości licznika imianownika. Każdy z nich obejmujemy osobną parą nawiasówklamrowych. W takich przypadkach istotna jest oczywiście kolejność, w ja-kiej przekazujemy parametry.

Argumenty opcjonalne. Wielokrotnie spotkamy się z sytuacją, w którejinstrukcja – poza argumentami obowiązkowymi – będzie przyjmować argu-menty opcjonalne. To takie parametry, które nie sąwymaganedopoprawnegowykonania polecenia, alemogą byćwykorzystane, bywpłynąć na jego działa-nie. Argumenty opcjonalne obejmujemy nawiasami kwadratowymi i rozdzie-lamyprzecinkami.Umieszczamy je zwykleod razuzanazwąpolecenia, awięcjeszcze przed parametrami obowiązkowymi.

Naprzykład,wspominane jużwielokrotnie polecenie\documentclassprzyjmuje pewne parametry opcjonalne. Jeśli chcielibyśmy zmienić domyśl-

5 ZainteresowanychCzytelnikówzachęcamydoprzeczytania rozdziałuGrupowaniezksiąż-ki TEX. Przewodnik użytkownika autorstwa Donalda E. Knutha. Z grubsza mówiąc, „grupowanie”oznacza, że fragment zamkniętywnawiasach klamrowych będzie przez TEXa traktowany jak po-jedynczy element. Jeśli polecenie oczekuje jednego argumentu, „wciąga” dokładnie jeden ele-ment następujący po nim. Gdybyśmy napisali \documentclass minimal, zostałoby to zin-terpretowane jako polecenie \documentclass z argumentem m i następującym dalej ciągiemznaków inimal. Wynika to z konstrukcji języka TEX. Użycie nawiasów klamrowych rozwiązujeten problem.

Page 27: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 19

\TeX to polecenie pozwa-lające wypisać nazwę sys-temu stylizowanym tek-stem.

\TeX to polecenie pozwa-lające wypisać nazwę sys-temu stylizowanym tek-stem.

ną wielkość pisma, którym składamy artykuł (klasa article) na 12pt, a za-stosowany rozmiar papieru na A4, moglibyśmy napisać

\documentclass[12pt,a4paper]article

Lista dostępnych parametrów opcjonalnych jest zawsze wymienionaw dokumentacji pakietu zawierającego dane polecenie.

Odstępypopoleceniach. Jeśli poleceniewystępujewtekście i nieprzyjmujeżadnych argumentów obowiązkowych, to znak niewidoczny lub znak nowejlinii występujący zaraz po tym poleceniu zostanie zignorowany. Traktowanyjest bowiem jako informacja, gdzie kończy się nazwa polecenia. Tak otowypi-sanie

\TeX to super rzecz!

spowoduje wyświetlenie tekstu bez spacji pomiędzy słowami TEX oraz „to”.Aby uniknąć takich sytuacji, stosuje się jedną z trzechmetod:— umieszcza się polecenie w nawiasach klamrowych,— umieszcza się zaraz za poleceniem parę pustych nawiasów klamrowych,— umieszcza się za poleceniem znak odstępu ręcznie, poprzedzając go sym-

bolem ukośnika.

\TeX to super rzecz!\TeX to super rzecz!\TeX\ to super rzecz!

Nie odważymy się oceniać, która z tych metod jest najlepsza. Warto jednakwybrać jedną z nich i trzymać się jej konsekwentnie.

Otoczenia

Niektóre elementy umieszczane w dokumencie, jak choćby tabele, ry-sunki czy listy uporządkowane, wymagają zastosowania specyficznych reguł

Page 28: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 20

Nagłówek (lub stopka),którego zawartość zmie-nia się w zależności odrozdziału lub paragrafunazywamy żywą paginą.Temat żywej paginy jestrozszerzony w Recepturach.

Nagłówek (lub stopka),którego zawartość zmie-nia się w zależności odrozdziału lub paragrafunazywamy żywą paginą.Temat żywej paginy jestrozszerzony w Recepturach.

składu.Należywięcwyraźnie określić, dla jakiego fragmentu pliku źródłowe-gomają być one stosowane.Wyznaczenie tych granic możliwe jest dzięki za-stosowaniu otoczeń.

Otoczenia rozpoczynają się zwykle od polecenia \begin, a kończą pole-ceniem \end. Obie te instrukcje przyjmują co najmniej jeden argument obo-wiązkowy (nazwę otoczenia). Niektóre otoczenia wymagają jednak podaniadodatkowych argumentów.

Już kilkakrotnie (choć dotychczas nieświadomie) spotkaliśmy się z oto-czeniami w praktyce. Abyśmy mogli skompilować jakikolwiek dokumentLATEXa, musi on zawierać otoczenie o nazwie document, wewnątrz któregoumieszczamywszystko to, coma sięw dokumencie znaleźć. To otoczeniemawięc charakter szczególny.

Klasy dokumentów i pakiety

Klasy dokumentów

Właściwie każdy dokument, który tworzymy, da się jakoś sklasyfikować.Gdy siadamy do pisania artykułu, wiemy, że piszemy artykuł, jeszcze zanimwystukamy na klawiaturze pierwsze słowo. Podobnie jest zresztą z listem,książką, raportem czy jakąkolwiek inną formą pisaną.

Zależnie od tego, co właściwie piszemy, zmieniają się (a przynajmniejpowinny) nasze oczekiwania dotyczące wyglądu dokumentu. W przypadkuksiążki chcielibyśmy, aby możliwe było tworzenie rozdziałów, a na jej po-czątku znajdowała się wzniosła strona tytułowa, podczas gdy w przypadkuartykułu wystarczy krótki nagłówek na pierwszej stronie tekstu. Podobniezresztą, ponieważksiążki dzielimynadośćdługie rozdziały, chcielibyśmy, abyw nagłówku każdej strony znajdował się tytuł tego, który aktualnie czyta-my.W artykule takie wzbogacanie strony byłoby co najmniej niepożądane.

Dziesiątki, jeśli nie setki podobnych różnic wynikają z wielu lat doświad-czeniawdziedzinie typografii i składutekstówdrukowanych iwyświetlanych.Lata te przyniosły efektwpostaciwypracowanych standardów, które powin-ny być stosowane przez każdego, kto przygotowuje książkę do druku. Abydać autorom możliwość tworzenia dokumentów zgodnych z tymi zasadami,

Page 29: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 21

nie zmuszając ich dodatkowo do samodzielnego zastanawiania się nad rze-czami, o których czasem nawet najlepsi specjaliści zapominają, wprowadzo-no klasy dokumentów. Klasy te to zbiory szczegółowych i uzasadnionychwy-tycznych dla LATEXa, opisujących zasady składania tekstu i innych elementówwystępującychwdokumencie. Ponieważ różnią się onew zależności od tego,jaki typ dokumentu składamy, naturalnie powstało wiele różnych klas, z któ-rychmożemy korzystać.

Klasy te zawierają nierzadko, pozawytycznymiwzakresie typografii,wie-lemodyfikacji wpływających nawygląd finalnego dokumentu. Towłaśnie takwyraźne oddzielenie warstwy wizualnej i treści dokumentu sprawia, że wie-le wydawnictw dostarcza autorom własne, autorskie klasy, z których mogą(i powinni) oni korzystać. Istnieją też klasy specjalistyczne, dostarczanewrazz niektórymi pakietami, a pozwalające choćby tworzyć prezentacje multime-dialne (beamer) czy postery (tikzposter).

Wraz z LATEXem otrzymujemy obligatoryjnie dostęp do dziesięciu klas,z którychmożemykorzystać.Niektóre z nichmają charakter czysto technicz-ny (np. służą do składania dokumentacji tworzonych pakietów), nie ma więcpotrzeby ich omawiać. Pozostałe opisaliśmy krótkow tabeli 1.

Tabela 1. Niektóre klasy dostarczane z LATEXem.

Nazwa klasy Opis

minimal Nie implementuje żadnych dodatkowych zasad typogra-fii, dlatego powinna być wykorzystywana tylko w celachtestowych.

article Służy do składania artykułów naukowych i krótkich ra-portów (bez podziału na rozdziały).

book Wprowadza zasady typowe dla składu długich opraco-wań (książek), podzielonych na rozdziały.

report Służy do tworzenia dłuższych raportów z podziałemna rozdziały i paragrafy, ale też krótkich książek.

letter Wykorzystywana jest do pisania listów.slides Klasa ta zmienia domyślny font na bezszeryfowy i dużo

większy niż zwykle. Dzięki temu nadaje się do tworzeniawyraźnych slajdów.

Page 30: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 22

Niektóre klasy dostarczajądodatkowe funkcje. Przy-kładem może być polece-nie \chapter dostępnew klasie book, lecz niedo-stępne w klasie article.

Niektóre klasy dostarczajądodatkowe funkcje. Przy-kładem może być polece-nie \chapter dostępnew klasie book, lecz niedo-stępne w klasie article.

Warto zauważyć, że powyższe klasy przystosowane są do tworzenia do-kumentów w języku angielskim – implementują one zasady składu tekstucharakterystyczne dla krajówanglosaskich. Gdybyśmy chcieli pisaćw językupolskim, powinniśmy zadbać o zastosowanie zasad odpowiednich dla językapolskiego. Temu tematowi poświęciliśmyw całości kolejny rozdział.

O ile jednak klasy dokumentów pozwalają nam zdjąć z siebie odpowie-dzialność za większość aspektówwyglądu i składu, o tyle samew sobie ogra-niczają się jedynie do nich, nie dostarczając nam dodatkowych funkcji. Tęrolę przejmują pakiety.

Pakiety

Wcześniejsze rozważaniawyrobiływnasdość intuicyjnepodejście dopo-jęcia pakietu, jako zbioru rozszerzeń możliwości LATEXa. Bardziej formalnie,pakiet to zbiór dodatkowych funkcjonalności, z których możemy korzystaćw ramach dokumentu. Może on definiować nowe instrukcje i otoczenia, mo-dyfikować zasadę działania tych, które już istnieją, ale też (choćby poprzezstosowanie niskopoziomowych poleceń TEXa) wpływać na sposób, w jaki do-kument zostanie przetworzony przez kompilator.

Zastosowania pakietów ograniczone są jedynie naszą wyobraźnią, a po-trzeba jest matką wynalazku, zatem nie dziwi fakt, że obszerna już baza do-stępnych rozszerzeń wciąż się powiększa. Dają nam one całą gamęmożliwo-ści: od modyfikacji parametrów strony (pakiet geometry), poprzez polece-nia wspomagające tworzenie interaktywnych plików pdf (hyperref), listin-gów (listings), po specjalistyczne pakiety do składuwzorówmatematycz-nych (większość pakietów o nazwach rozpoczynających się od ams).

Wraz z każdą dystrybucją LATEXa otrzymujemy dostęp do pewnego pod-stawowego zbioru pakietów. Niektóre z nich są częścią samego LATEXa, innedołączane są do niego zawsze, jako absolutne minimum potrzebne do pracy.Pozostałe możemy pobrać z internetu w dowolnymmomencie.

Pakiet lipsum

W przykładach w dalszej części książki będziemy wykorzystywać frag-menty słynnego Lorem ipsum, tekstu przypominającego nieco łacinę, ale nie

Page 31: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 23

Makietą w poligrafii nazy-wa się szablon dokumentu,na którym można pokazaćnp. rozmieszczenie elemen-tów strony czy wybranekroje pisma.

Makietą w poligrafii nazy-wa się szablon dokumentu,na którym można pokazaćnp. rozmieszczenie elemen-tów strony czy wybranekroje pisma.

Nie polecamy jednak jegoużycia przy pisaniu pracydyplomowej.

Nie polecamy jednak jegoużycia przy pisaniu pracydyplomowej.

\documentclass

\usepackage

Znaczenie pakietów wyko-rzystanych w tym paragra-fie nie jest istotne. Wszyst-kie one zostaną omówionew dalszej części książki.

Znaczenie pakietów wyko-rzystanych w tym paragra-fie nie jest istotne. Wszyst-kie one zostaną omówionew dalszej części książki.

niosącego ze sobą żadnej treści. Dzięki temu projektant i odbiorca makietynie koncentrują się na tekście – bo ten i tak nie ma sensu – ale na wyglądziecałości. W przypadku, gdyby miało to znacząco wydłużyć przykłady, skorzy-stamy ze specjalnego pakietu lipsum, pozwalającego wstawić nawet kilka-dziesiąt akapitów bezsensownego tekstu jednym poleceniem.

Plik źródłowy i jego konstrukcja

Aby plik źródłowy został poprawnie zinterpretowany, musi mieć określo-ną strukturę. Ponieważdokumenty LATEXa czytane są liniowo (znakpo znaku),ważne jest, aby plik źródłowy rozpoczynał się od deklaracji, które pozwoląLATEXowi zrozumieć wszystkie zasady składu, jeszcze zanim umieści na kart-ce pierwszy znak. Musimy więc napisać, na jakiej klasie dokumentu będzie-my się opierać oraz z jakich pakietów będziemy korzystać, a jeśli będzie takapotrzeba – również jakie zasady modyfikujemy. Część dokumentu, która do-starcza te informacje, nazywamy preambułą.

Preambuła rozpoczyna się od instrukcji\documentclass. Strukturę te-go polecenia poznaliśmy już wcześniej. Jest ono obowiązkowe – pominięciego lub umieszczenie w złymmiejscu spowoduje błąd kompilacji.

Dopiero po deklaracji klasy możemy dołączać pakiety, z których będzie-my korzystać. Wykorzystujemy do tego polecenie \usepackage. Jedynymargumentem obowiązkowym tego polecenia jest nazwa dołączanego pakie-tu.Niektórepakietyprzyjmują jednakdodatkowoargumentyopcjonalne.Naprzykład, gdybyśmy chcieli wykorzystać pakiet inputenc z parametremutf8, wpisalibyśmy

\usepackage[utf8]inputenc

Proste, prawda? Jeśli wczytujemy wiele pakietów, a żadnemu z nich nieprzekazujemy parametrów opcjonalnych, możemy je dołączyć jednocześnie,oddzielając ich nazwy przecinkami, na przykład

Page 32: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 24

Otoczenie nazywa się ina-czej środowiskiem. W dal-szej części książki będzie-my tych nazw używać za-miennie.

Otoczenie nazywa się ina-czej środowiskiem. W dal-szej części książki będzie-my tych nazw używać za-miennie.

\usepackageamsmath,amsfonts

Kolejność wczytywania pakietówma istotne znaczenie. Przykładowo, je-śli dołączymy dwa pakiety definiujące polecenie o tej samej nazwie, tow zna-czącej części wypadków obowiązywać będzie definicja z pakietu dołączone-go później. Zwykle jednak kompilator ostrzeże nas o takiej sytuacji.

Przykładowa preambułamożewięc wyglądać w następujący sposób:

\documentclass[12pt,a4paper]article

\usepackage[utf8]inputenc\usepackage[T1]fontenc

Drugaczęśćdokumentunazywana jest częściąwłaściwą. Jej graniceokre-śla otoczenie document, to znaczy, że rozpoczyna się ona wraz z polece-niem \begindocument, a kończy się z poleceniem \enddocument.Wszystko to, co znajduje się w pliku źródłowym za środowiskiem docu-ment, zostanie przez kompilator zignorowane.

Otoczenie documentmusi wystąpić w pliku źródłowym. Co więcej, całatreść dokumentu powinna znajdować sięw jegownętrzu. Gdy tak nie będzie,próba kompilacji pliku źródłowego najprawdopodobniej skończy się błędem.

Komentarze i znaki specjalne

Komentarze

Czasemzachodzi potrzebawprowadzeniawplikuźródłowymtekstu, któ-ry nie powinien być przez kompilator interpretowany. Taką własność dajenam symbol %. Jeśli użyjemy go w pliku źródłowym, to wszystkie znaki znaj-dujące się za nim, najbliższy znak nowegowiersza i znaki niewidocznewystę-pujące na początku następnej linii zostaną zignorowane.

Znak % jest, z uwagi na powyższe własności, wykorzystywany czasamiw celu dzielenia długich linii np. tam, gdzie nie chcemy użyć znaku nowego

Page 33: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 25

\textbackslash

wiersza czy odstępu. Przykładowo, oba akapity z poniższego przykładu zo-staną wyświetlone identycznie.

\documentclassminimal

\begindocumentCozoczu,tozserca.

Cozoczu,t%ozserca.\enddocument

Znaki specjalne

Zapewne stało się już oczywiste, że niektóre symbole mają dla LATEXaszczególne znaczenie. Są to na przykład znak odwróconego ukośnika rozpo-czynający każde polecenie, nawiasy klamrowe, ale też – o czym przekonali-śmy się przed chwilą – znak procenta. Takie znaki nazywamy symbolami spe-cjalnymi. Oto ich pełna lista:

\ # % $ & _ ~ ^

We wcześniejszej części tego rozdziału pisaliśmy, że instrukcja LATEXato ciąg małych i wielkich liter alfabetu łacińskiego poprzedzony znakiem od-wróconego ukośnika. Cóż, nie jest to cała prawda. Istnieje druga grupa in-strukcji – jeden znak niebędący literą, poprzedzony znakiem odwróconegoukośnika. Pewien podzbiór tych poleceń pozwala na wykorzystanie wymie-nionych wyżej znaków w tekście. Aby to zrobić, wystarczy poprzedzić je od-wróconymukośnikiem.Takotopolecenie\drukujenawiasklamrowyotwie-rający, \ nawias klamrowy zamykający itd. Od tej reguły występują jednakwyjątki:

— Polecenie \\ jest poleceniem służącym do ręcznego przejścia do nowejlinii wewnątrz akapitu. Aby wypisać w tekście symbol odwróconego uko-śnika, należyużyćpolecenia\textbackslash.Nie jest tonajwygodniej-sze, ale też nie jest to często wykorzystywany znak.

Page 34: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 26

Więcej informacji na te-mat akcentów Czytelnikznajdzie w drugiej częściksiążki.

Więcej informacji na te-mat akcentów Czytelnikznajdzie w drugiej częściksiążki.

bit – najmniejsza jednost-ka danych zapisywanychw komputerze: zero lubjeden.

bajt – ciąg 8 bitów.

bit – najmniejsza jednost-ka danych zapisywanychw komputerze: zero lubjeden.

bajt – ciąg 8 bitów.

1110100 w systemie dwój-kowym równe jest 116w systemie dziesiętnym.

1110100 w systemie dwój-kowym równe jest 116w systemie dziesiętnym.

Kompatybilność polegałana tym, że kody znakówz tabeli ASCII poprzedzo-ne zostały zerem, wypeł-niając pierwszą połowęnowej tabeli.

Kompatybilność polegałana tym, że kody znakówz tabeli ASCII poprzedzo-ne zostały zerem, wypeł-niając pierwszą połowęnowej tabeli.

— Polecenia \~ i \^ mają dodatkowe znaczenie typograficzne – wprowa-dzają akcent nad literą następującą bezpośrednio za nim. Dlatego, abyuniknąć przypadkowych niedogodności, warto wykorzystać znaną namjuż metodę i bezpośrednio za poleceniem umieścić pustą parę nawiasówklamrowych, tworząc odpowiednio \~ i \^. W praktyce oznaczato wstawienie akcentu przy pustym znaku, co sprowadza się do efektu,który chcemy uzyskać.

Kodowanie pliku źródłowego i fontu

Plik źródłowy LATEXa jest zwykłym plikiem tekstowym, zapisanym w pli-ku z rozszerzeniem tex. W rozumieniu komputera jest to jednak długi ciągbitów układających się w bajty. To właśnie kolejne bajty z pliku interpre-towane są jako liczby (od 0 do 255), do których z kolei przypisane są znakii symbole. Umowny sposób, w jaki to przypisanie zachodzi, nazywamy kodo-waniem.

Krótka historia kodowań

Kiedy komputery zyskiwały popularność, a jedynym sposobem interakcjiz użytkownikiembył tryb tekstowy, zaszłapotrzebausystematyzowania spo-sobu, w jaki maszyna przekształca ciągi bitów w znaki wyświetlane na ekra-nie. Powstał więc standardASCII, któryw postaci tabeli jasno prezentował,jak ciągi 7 bitów (liczby z przedziału od 0 do 127) mają być interpretowane.Tak oto, dla przykładu, ciąg 1110100 interpretowany był jako mała litera„t”.Dzięki takiemupodejściu,możliwebyłouzyskanie znakówsterujących (ta-kich jak znak końca pliku), znaków specjalnych (takich jak nawiasy i cudzysło-wy), cyfr orazmałych i wielkich liter alfabetu łacińskiego.

W związku z rozwojem technologicznym i przejściem z procesorów 18-i 36-bitowych na 8-, 16- i 32-bitowe, zaszła potrzeba i możliwość rozszerze-nia standardowej tabeli ASCII o dodatkowe symbole. Tak oto stosowanedotąd kody 7-bitowe zostały zastąpione kodami długości bajta, rozszerzająctym samym dwukrotnie zbiór możliwych do uzyskania znaków i zachowująckompatybilnośćwstecz. Znaki z klasycznego zestawu zajęływ tabeli ASCII

Page 35: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 27

jeden, by wszystkimi rzą-dzić...jeden, by wszystkimi rzą-dzić...

miejsca 0–127, a dodatkowe symbole przypisane zostały do dalszych kodów,to znaczy 128–255.

Szybko okazało się, że istnieje zapotrzebowanie na wykorzystanie zna-ków specjalnych i diakrytycznych, charakterystycznych dla języków wystę-pującychwposzczególnych częściach świata. Zbiór256znakówniemógł jed-nakwyczerpaćpotrzebwszystkichnarodów.Powstałowięcwieleodmianko-dowania ASCII, przypisujących bajty o wartościach 128–255 do oczekiwa-nych symboli. Jednym z tak powstałych kodowań było kodowanie cp1250(nazywane też windows-1250), które pozwalało poprawnie interpretowaćpolskie znaki diakrytyczne. Do dzisiaj w polskojęzycznychwersjach systemuWindows pod pojęciem kodowania ASCII rozumie się kodowanie cp1250.

Rozwój interfejsów stosowanych w systemach operacyjnych wymusiłstworzenie innych standardów, bardziej dostosowanych do wymagań użyt-kowników. Tak powstał cały zbiór standardów ISO, oferujących różne zesta-wy znaków. Dla krajów Europy Zachodniej (a więc i Polski) zastosowanie makodowanieISO-8859-2. Jest ono zgodne ze standardemASCIIw tym sen-sie, że bajty o wartościach 0–127 interpretowane są tak samo, jak w podsta-wowym standardzie.

Istnienie wielu różnych kodowań stało się problematyczne, nie tylko zewzględu na to, że wymagało świadomego wyboru tego stosowanego w do-kumentach, ale także posiadania fontów, które znaki dostępne w danym ko-dowaniu potrafią skutecznie dostarczyć. To ograniczenie stało się uciążliwezarówno dla użytkowników komputerów, jak i autorów fontów. Naturalnawięc stała się idea powstania jednego, uniwersalnego standardu, zdolnegoobsłużyć wszystkie symbole stosowane na świecie. Jako zbawienie przyszłokodowanieUTF-8, umożliwiającespójne i jednoznaczneprzyporządkowaniedo ciągów bitów aż 1 112 064 różnych znaków i symboli. Jego konstrukcjanie jest takprosta, jakklasycznychkodowańwykorzystującychdozapisu zna-ku pojedyncze bajty, dlatego pominiemy jej opis6. Kodowanie UTF-8 zapew-nia jednak kompatybilnośćwstecz z podstawową tabeląASCII, a dzięki swo-jej bezsprzecznej uniwersalności staje się popularniejszy bez przerwy od lat.Byćmoże za kilka lat nie będzie się już korzystać z niczego innego.

6 Zainteresowanych zapraszamy do bliższego zapoznania się z tym standardem, choćbyna stronieWikipedii: http://en.wikipedia.org/wiki/UTF-8 .

Page 36: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 28

Wynika to wprost z tego,że każde kodowanie jestzgodne z podstawową ta-belą ASCII – jego wybórnie wpływa na interpreta-cję znaków o kodach mię-dzy 0 a 127.

Wynika to wprost z tego,że każde kodowanie jestzgodne z podstawową ta-belą ASCII – jego wybórnie wpływa na interpreta-cję znaków o kodach mię-dzy 0 a 127.

Zapisywanie znaków dia-krytycznych występującychw języku polskim nie jestmożliwe przy użyciu zna-ków z układu OT1

Zapisywanie znaków dia-krytycznych występującychw języku polskim nie jestmożliwe przy użyciu zna-ków z układu OT1

Dzisiaj większość edytorów (w tymwszystkie edytory LATEXa zaprezento-wane w poprzednim rozdziale) pozwala tworzyć dokumenty kodowane przyużyciu UTF-8. Co więcej, w znacznej części przypadków jest to kodowaniedomyślne.Mniej zaawansowanymużytkownikom radzimy tego nie zmieniać.

Kodowanie pliku źródłowego

GdysilnikLATEXa interpretujeplik źródłowy,powinienwiedzieć,w jaki spo-sób zakodowane są znaki w nimwykorzystane. Dopóki obracamy się w zbio-rze symboli z pierwszej połowy tabeliASCII, żadnedodatkowedziałania niesą konieczne. Gdy jednak silnik trafi na bajt o wartości powyżej 127, powi-nienwiedzieć,według jakiegokodowaniamago interpretować.Taką informa-cjęmożemy (i powinniśmy)mudostarczyćpoprzezdołączeniedonaszegodo-kumentu pakietu inputenc z odpowiednim parametrem opcjonalnym. Abyto zrobić, umieszczamyw preambule polecenie:

\usepackage[kodowanie]inputenc

Oczywiście słowo kodowanie powinniśmy zastąpić odpowiednim ozna-czeniem, zgodnym z rzeczywistym kodowaniem pliku. Może to być cp1250,latin2 (dla kodowania ISO-8859-2) lub utf8 (dla UTF-8). W znaczącejwiększości wypadków odpowiednimwyborem będzie ostatni.

Kodowanie fontu

Kiedy LATEX wie już, dzięki poprawnej deklaracji kodowania pliku źródło-wego, jakie znakiwprowadził użytkownik, następuje konieczność umieszcze-nia ichwwyjściowymdokumencie (zwyklew formaciePDF).W tymcelu LATEXsięgadoplikówz fontami, by odszukaćwnich pożądane znaki. I, podobnie jakw przypadku pliku źródłowego, stosuje w tym celu odpowiednie kodowanie.Standardowo LATEXwykorzystuje 7-bitowe fonty zapisane w oparciu o układOT1. Daje to zbiór 128 symboli (symboli specjalnych, liter, cyfr i akcentów)podwspólną nazwąComputerModern (w skrócieCM). Jeśli zachodzi potrzebawypisania znaku diakrytycznego, następuje to poprzez nałożenie na siebieodpowiedniej litery i akcentu. Nie jest to rozwiązaniedoskonałe – powodu-

Page 37: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 29

Warto tu wspomnieć jesz-cze o rodzinie krojów LatinModern, która wykształciłasię z rodziny CM i oferujepełne wsparcie dla pol-skich znaków diakrytycz-nych.

Warto tu wspomnieć jesz-cze o rodzinie krojów LatinModern, która wykształciłasię z rodziny CM i oferujepełne wsparcie dla pol-skich znaków diakrytycz-nych.

je bowiem parę komplikacji technicznych związanych m.in. z przenoszeniemwyrazów – a efekty nie zawsze są typograficznie zadowalające.

Na powyższy problem wynaleziono jednak lekarstwo. Aktualne dystry-bucje LATEXa wyposażone są standardowow zestaw krojów z rodziny Europe-an ComputerModern (EM), który stosuje 8-bitowe kodowanieT1. Występu-je tu pewna analogia do kodowań ASCII i ISO-8859-2 – pierwsza połowaznakóww tabeli fontów z grupy EM pokrywa się (w większości) z symbolamiz rodziny CM, druga zaś wypełniona jest europejskimi znakami specjalnymi.Dzięki temu możliwe jest stosowanie prawdziwych polskich znaków diakry-tycznych i znaków interpunkcyjnych zgodnych z polskimi normami typogra-ficznymi (np. cudzysłowów). Aby zadeklarować korzystanie z krojów z rodzi-ny EC, wystarczy skorzystać z pakietu fontenc, umieszczając w preambulenastępujący kod:

\usepackage[T1]fontenc

Podobnie jakwprzypadkukodowańplikówźródłowych, istniejewiele ko-dowań fontów. Dokładniejsze ich omawianie mija się jednak z celem, jako żeznajomość powyższych (OT1 oraz T1) wystarcza w zupełności do skuteczne-go składania dokumentów zarówno w języku angielskim, jak i w innych języ-kach europejskich. Czytelników zainteresowanych zgłębieniem swojej wie-dzy w tej tematyce zachęcamy jednak do sięgnięcia do literatury fachowej.

Pliki produkowane przez LATEXa

Za każdym razem, gdy dokonamy kompilacji dokumentu LATEXa, poza pli-kiem wynikowym mogą zostać utworzone inne pliki pomocnicze. I chociażwydawaćbysięmogło, że ichobecność jestabsolutnieniepotrzebna, towrze-czywistości LATEXwykorzystuje je dopoprawnegogenerowaniadokumentów.Aby to zrozumieć, należy poznać przeznaczenie tych plików.7

7 Przedstawione w tabeli zestawienie obejmuje większość plików, z którymi Czytelnik mo-że się spotkać, ale niewszystkie.W zależności od uwzględnionego dodatkowego oprogramowa-nia, lista ta mogłaby rozszerzyć się nawet o kilkanaście pozycji.

Page 38: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 30

Rozszerzenie Opis

.log W tym pliku zapisywane są wszystkie informacje doty-czące przebiegu kompilacji, w tym informacje o ostrzeże-niach i błędach.

.aux Jest to szczególny plik. Zapisywane są w nim informacje,które mogą zostać wykorzystane po wywołaniu kolejnejkompilacji. Przykładowo, gdy stosujemy w dokumencieodsyłacze do miejsc znajdujących się dalej, to podczaskompilacji w pliku .aux zbierane są informacje o poło-żeniu elementów, do których się odwołujemy, by po po-nownym jej wywołaniumogły zostać wykorzystane.

.toc Wtympliku zapisywane są informacje o nagłówkach, ichnumeracji i położeniu w dokumencie. W czasie kolejnejkompilacji dane te są wykorzystywane do wygenerowa-nia spisu treści.

.lof Służy do przechowywania informacji o ilustracjach i ichpołożeniu w dokumencie. W czasie kolejnej kompilacjidane te są wykorzystywane do wygenerowania listy ilu-stracji.

.lot Plik ten ma funkcję zbliżoną do pliku .lof, ale dotyczywystępującychw dokumencie tabel.

.idx Jeśli w dokumencie występują hasła, które powinny byćgromadzonew indeksie (skorowidzu), to LATEXwygeneru-je ten plik w czasie kompilacji. Zawiera on listę wszyst-kich haseł występujących w dokumencie. Aby przetwo-rzyć plik .idx na plik .ind, który możne zostać do-łączony do pliku wynikowego, należy użyć programumakeindex lubxindy (dla indeksów z hasłami zawiera-jącymi znaki zakodowanew UTF-8).

.ind Wynik działania programu makeindex lub xindy. Jeśliten plik istnieje, zostanie wykorzystany w czasie następ-nej kompilacji dokumentu.

Page 39: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 31

.ilg Plik .ilg ma przeznaczenie identyczne, jak plik .log,ale dotyczy pracy programu makeindex lub xindy.

.synctex.gz Plik ten może być tworzony w procesie kompilacji do-kumentu, jeśli kompilator wywoływany jest z poziomuedytora. Dzięki temu edytormoże umożliwić użytkowni-komprzechodzeniedowybranych fragmentówkoduźró-dłowego dokumentu poprzez kliknięcie w odpowiednimmiejscu podglądu pliku PDF (i odwrotnie).

Jakwynikawprost zpowyższej tabeli, niektóreoperacje (takie jakgenero-wanie spisów treści) mogą wymagać co najmniej dwukrotnego skompilowa-nia dokumentu, a inne (na przykład generowanie skorowidzu) nawet użyciadodatkowegoprogramupomiędzy jedną adrugą kompilacją.Wynika to z fak-tu, żeLATEXprzetwarzaplik liniowo – niemożliwe jestwięc cofnięcie sięwceluuzupełnienia danych w już wygenerowanej wcześniej części dokumentu. Naszczęściewiele edytorów LATEXa pozwala na automatyzację procesu kompila-cji tak, aby konieczność dokładnego rozumienia tych procesów była zbędna.

Pytania i ćwiczenia

Pytanie 10. Obejrzyj poniższy kod źródłowy pliku LATEX-a.

\documentclass[10pt,a4paper,twoside]article

\usepackage[utf8]inputenc

\begindocument\sectionPlacek

Co \textbfz oczu,\\\textitto \textslz serca.

\begincenterCiemnota -- gorsza od zbrodni.

Page 40: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 32

\endcenter\enddocument

Wskaż wszystkie wykorzystane polecenia i otoczenia oraz ich parametryobowiązkowe i opcjonalne. Jakiej klasy użyliśmy w tym dokumencie? Jakiepakiety zaimportowaliśmy? Gdzie zaczyna się i kończy preambuła? A częśćwłaściwa? Spróbuj skompilować ten dokument. Zapoznaj się z efektami.

Ćwiczenie 11. Spróbuj skompilować poniższy dokument, zmieniając nazwęklasy na jedną z zestawu: book, article, report, letter. Nie przejmujsię, jeśli nie rozumiesz wykorzystanych poleceń.

\documentclassarticle

\titleDokument\authorNazwisko autora

\begindocument\maketitle

Co z oczu, to z serca.\enddocument

Jakie widzisz różnice? Dlaczego są one dostrzegalne mimo braku zmian wewłaściwej treści dokumentu?

Ćwiczenie 12. Spróbuj skompilować poniższy dokument:

\documentclassbook

\begindocument\chapterMoja pierwsza książka

Witaj, świecie.\enddocument

Page 41: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zrozumieć dokument 33

Jak myślisz, dlaczego się nie udało? Spróbuj naprawić ten problem (podpo-wiedź: niektóre użyte litery nie występują w podstawowej tabeli ASCII). Za-deklarujwykorzystanie fontówkodowanych przy użyciuT1. Dlaczegowartoto zrobić?

Ćwiczenie 13. Zapoznaj się z zawartością pliku .log powstałego wwynikukompilacji dokumentu z ćwiczenia 12. Porównaj rezultaty przed i powprowa-dzeniu poprawek.

Page 42: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Dokumentyw języku polskim

Wcześniejsze rozważania pozwoliły nam wysnuć pewien wniosek: o ileLATEX dostarcza nam klasy pozwalające składać różnego rodzaju dokumenty(przypomnijmy sobie klasy article, report, czy book), o tyle uzyskanedzięki nim efekty będą zwykle zgodne z anglosaskimi normami składu tek-stów. Będzie tak nawet, jeśli zadeklarujemy wykorzystanie znaków kodowa-nych przy użyciu UTF-8 lub fontów z układu T1.

Gdy tworzymy dokumenty w języku angielskim, możemy uznać za wy-godny fakt, że tak się dzieje. W przypadku tekstów pisanych po polsku, po-winniśmy jednak oczekiwać, że efekt naszej pracy będzie zgodny z wypra-cowanymi przez lata lokalnymi regułami. I rzeczywiście, zasady składaniatekstów w języku polskim zostały zebrane w normach branżowych, takichjak chociażby BN-76/7440-02 Zasady składania tekstów w języku polskim, czyBN-76/7440-03 Zasady formowania kolumn książek, broszur i czasopism.

Wspomniane dokumenty to wielostronicowe zestawy wytycznych obej-mujących aspekty takie jak numerowanie tytulariów, składanie wyliczeń, pa-ragrafów, pagin (nagłówków i stopek), ale też łamanie wierszy. Okazuje się,że wiele reguł obowiązujących w języku polskim różni się od analogonówwjęzykuangielskim.Wśródelementarnychprzykładów,dzięki którymłatwouświadomić sobie znaczenie tych różnic, można wymienić choćby poniższe.— Rozmiar papieru. W Stanach Zjednoczonych domyślnym formatem pa-

pieru jest US Letter. W Polsce stosujemy formaty metryczne, najczęściejserii A i B, jak na przykład A4 czy B5.

— Numerowanie nagłówków. W języku angielskim po numerze porządko-wymwystępującymw tytule nie stawia się kropki – w języku polskim tak.

Page 43: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Dokumenty w języku polskim 35

Pakiet polski przyjmujepewne parametry opcjo-nalne, które pozwalająwpłynąć na jego funkcjo-nowanie. Nie będziemy ichjednak omawiać, uznając jeza zbyt zaawansowane.

Pakiet polski przyjmujepewne parametry opcjo-nalne, które pozwalająwpłynąć na jego funkcjo-nowanie. Nie będziemy ichjednak omawiać, uznając jeza zbyt zaawansowane.

— Wcięcie akapitowe. W anglosaskim zwyczaju jest, aby pierwszy akapittekstu nie był wcięty. Polskie teksty zwykły się do niego nie stosować.

— Sposób składania tytułów. Przykładowo, w nagłówku artykułu w języ-ku angielskim nazwisko autora umieszcza się pod tytułem –w języku pol-skim nad (o ile nie poprzedza ono np. adresu).Zasad tych są dziesiątki – ciężko więc oczekiwać, że ktokolwiek je zapa-

mięta, nie mówiąc już o konsekwentnym stosowaniu się do nich. Tutaj uak-tywnia się znacząca przewaga LATEXa nad alternatywnymi systemami składutekstu. LATEX umożliwia nam bowiem dość niewielkim kosztem upewnieniesię, że nasze dokumenty będą (na tyle, na ile to możliwe) zgodne z obowią-zującymiw Polsce normami. Jest tow dużej części możliwe dzięki dwóm roz-szerzeniom, które omawiamy poniżej.

Pakiet polski

Z rozdziału dotyczącego pakietów dowiedzieliśmy się, że niektóre z nichmogą nie tylko modyfikować zasady działania już istniejących instrukcjiLATEXa, ale teżwpływać na sposób, w jaki interpretowany jest dokument. Jed-nym z pakietów, które tak działają jest pakiet o nazwie polski. Udostępniaon nie tylko dodatkowe kroje pisma z rodziny CM, zawierające polskie znakidiakrytyczne (pamiętamy, że fonty CM standardowo takich znaków nie posia-dają), ale także pozwala LATEXowi poprawnie dzielić polskie wyrazy, gdy zaist-nieje potrzeba złamania wiersza.

Czytelnik, którywykonałpolecenia z ćwiczenia12nakońcupoprzedniegorozdziału, zauważył zapewne, żewotrzymanymdokumencie pojawiło się an-gielskie słowo „chapter”.Otóż, pozawyżejwymienionymi, raczejmało intere-sującymi dla przeciętnego użytkownikawłasnościami, pakiet polskimody-fikuje domyślne (angielskie) nazwy elementów występujących w dokumen-cie. Dzięki jego użyciu hasła takie jak choćby „chapter”, „figure” czy „table ofcontents” zmieniają się na odpowiadające imw języku polskim „rozdział”, „ry-sunek” oraz „spis treści”.

Biorąc to wszystko pod uwagę, wydaje się więc rozsądne dodać omawia-ny pakiet do dokumentów pisanych w języku polskim. Robimy to (klasyczniejuż) dołączając do preambuły wiersz:

Page 44: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Dokumenty w języku polskim 36

Pakiet mwcls autorstwaMarcina Wolińskiego jestjednym z pakietów, któ-re rozszerzają możliwościLATEXa poprzez dostarcze-nie mu dodatkowych klasdokumentów. Zestawumwcls nie dołącza się dodokumentu przy użyciupolecenia \usepackage.

Pakiet mwcls autorstwaMarcina Wolińskiego jestjednym z pakietów, któ-re rozszerzają możliwościLATEXa poprzez dostarcze-nie mu dodatkowych klasdokumentów. Zestawumwcls nie dołącza się dodokumentu przy użyciupolecenia \usepackage.

\usepackagepolski

Użycie pakietu polski zwalnia nas z dołączania w preambule dokumen-tu rozszerzeniafontenc omówionegowpoprzednim rozdziale. Jest tak dla-tego, że jednymz zadań pakietupolski jest zapewnienie doboru odpowied-nich fontów przy generowaniu pliku wynikowego.

Zestaw klas mwcls

Pakiet polski dostarcza LATEXowi informacje o tym, jakich słów uży-wać i jak poprawnie zachowywać się wędrującmiędzy tymi wprowadzonymiprzez polskiego użytkownika. Brakującym ogniwem w drodze do pięknychdokumentów w naszym ojczystym języku zdaje się być jedynie zbiór regułskładu tekstu, określonychw polskich normach.

Zainstalowanie pakietu mwcls pozwala nam na korzystanie w naszychdokumentach ze zmodyfikowanychklas, służącychdo składu tekstóww języ-ku polskim.Występuje przy tym następująca zależność:

Tabela 3. Odpowiedniki standardowych klas do składudokumentóww języku polskim.

Typ dokumentu Klasa standardowa Klasa z pakietu mwcls

artykuł article mwartksiążka book mwbkraport report mwrep

Klasy wymienione w trzeciej kolumnie wprowadzają szereg usprawnień,począwszy od zmiany domyślnego rozmiaru papieru z US Letter na A4, a nasubtelnychmodyfikacjach rozmiaru fontuwykorzystywanegow tytułach pa-ragrafów skończywszy. Stosowanie ich zdaje się być dobrym gestem szacun-kuwobec polskiej typografii.

Page 45: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Dokumenty w języku polskim 37

Przykładowy dokument

Poniżej prezentujemy dość krótki plik źródłowy LATEXa, będący podstawądo stworzenia artykułu zgodnego z polskimi normami typograficznymi. Mo-że być on stosowany jako szkielet, na którym można opierać swoje przyszłedokumenty. Niektóre zwykorzystanych instrukcji mogą być niejasne, alewy-jaśnienie ich znaczenia zawarte jest w kolejnej części książki.

\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski

\titleTytuł dokumentu\authorAutor dokumentu

\begindocument\maketitle

To jest mój artykuł.\enddocument

Ćwiczenia

Ćwiczenie 14. Korzystając z szablonu zaproponowanego na końcu poprzed-niego paragrafu, spisz w kilku akapitach swoje odczucia dotyczące LATEXa.Spróbuj dokonać zmian w pliku źródłowym i porównaj otrzymane efekty.

Page 46: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Jeden heksadecymalnydolar to 0x100 centów.0x100 w systemie heksa-decymalnym jest równe256 w systemie dziesięt-nym.

Jeden heksadecymalnydolar to 0x100 centów.0x100 w systemie heksa-decymalnym jest równe256 w systemie dziesięt-nym.

Podsumowanie

Donald E. Knuth wyświadczył nam wielką przysługę – nie tylko dlatego,że stworzył oprogramowanie TEX, na którym opiera się popularny dziś sys-tem składu tekstu o nazwie LATEX, ale także dlatego, że wciąż pokazuje nam,jak ważna jest dbałość o szczegół, nie tylko typograficzny.

Owiane legendą są już nagrodyKnutha. Zadeklarował on, że zapłaci 2,56dolara każdemu, kto znajdzie nieznany wcześniej błąd w którejkolwiek z je-go książek – niezależnie czy będzie to błąd techniczny, typograficzny czy hi-storyczny. Jak tłumaczy, 256 centów nawiązuje do heksadecymalnej warto-ści dolara. W jednym z udzielonych wywiadów Knuth przyznał, że do maja2005 roku wypisał już z tego tytułu czeki na łączną wartość ponad dwudzie-stu tysięcy dolarów.

WprzypadkuoprogramowaniaTEX iMetafont, systemnagród za znalezio-ne błędy wygląda trochę inaczej. Zainspirowany problemem ziaren na sza-chownicy,8 Knuth postanowił, że w pierwszym roku wynagrodzi kwotą 2,56dolara osoby, które znajdą nowybłądwktórymś z tychprogramów, a co rokunagroda ta będzie się podwajać.Działo się tak, dopóki nie osiągnęła ona kwo-ty 327,68 dolara. Dziś pomiędzy kolejnymi zgłoszeniami błędów mijają lata,a czeki wystawione przez Knuthamają charakter bardziej kolekcjonerski niżpraktyczny, będąc wyróżnieniem owiele cenniejszym niż waluta.

Ta dbałość o szczegóły prezentowana przez Knutha doskonale uzupełniasię z dążeniem do nienaganniewyglądających dokumentów, których tworze-niemiał od początku umożliwiać TEX. Dzisiaj korzystamy z rozbudowanej na-

8 Zainteresowanych odsyłamy na stronę internetową poświęconą temu problemowi:http://en.wikipedia.org/wiki/Wheat_and_chessboard_problem .

Page 47: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Podsumowanie 39

kładki o nazwie LATEX, dostarczającej nam (zarówno bezpośrednio, jak i po-przez zewnętrzne klasy i pakiety) wiele nowychmożliwości.

LATEX wymaga jednak zmiany pewnych przyzwyczajeń. Nie działa on tak,jak znane nam narzędzia WYSIWYG, na przykład Microsoft Word. Opiera sięna plikach tekstowych, a informacje dotyczące tego, w jaki sposób wygene-rować finalny dokument, przekazywane są do silnika przy użyciu specjalnychpoleceń. Dzięki znakowaniu semantycznemu i oddzieleniu warstwy wizual-nej od treści, LATEXpozwala skupić się na istocie pracy, pozostawiając kwestiewizualne ekspertom, którzy przygotowali już odpowiednie klasy.

Czytelnik, który zapoznał się z zagadnieniami poruszonymi w tej częściksiążki, gotowy jest już do składania prostych dokumentów zawierającychpodzielonyna akapity ciągły tekstw językupolskim.Wraz z doświadczeniempojawi się jednak konieczność logicznego podziału dokumentu oraz umiesz-czenia w nim innych elementów. Może też zajść potrzeba zastosowania in-nych rozwiązań pozwalających nam osiągnąć zamierzone efekty wizualne.Odpowiednie receptury prezentowane są w kolejnej części.

Page 48: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Część II

Receptury

Page 49: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Niektóre z receptur mającharakter komentarza uzu-pełniającego, nie są więcwzbogacone przykładem.

Niektóre z receptur mającharakter komentarza uzu-pełniającego, nie są więcwzbogacone przykładem.

Zawartość tego pakietuzostała dokładniej opisanaw jednym z dodatków nakońcu tej książki.

Zawartość tego pakietuzostała dokładniej opisanaw jednym z dodatków nakońcu tej książki.

Wprowadzenie do receptur

Ta część książki poświęcona jest recepturom, to znaczy gotowym rozwią-zaniomprowadzącymdouzyskania określonych efektów. Podzielonaona zo-stała na kilka części tematycznych w sposób umożliwiający szybkie odszu-kanie wybranego zagadnienia. Staraliśmy się jednak, wszędzie tam gdzie tomożliwe, wplatać praktyczne wskazówki i uwagi dotyczące zarówno LATEXa,jak i ogólnych zasad typografii związanych z omawianymi elementami.

Niemal każda z receptur rozpoczyna się od przykładu oraz kodu źró-dłowego pełnego dokumentu, prowadzącego do uzyskania pokazanego efek-tu. Pierwszywiersz kodu źródłowego stanowi komentarz zawierający nazwęprzykładu, pod jakąwystępuje onwmateriałach dołączanych dowersji elek-tronicznej książki.

Abypokazaćefektwnaturalnejwielkości,musieliśmydokonaćzmianypa-rametrów finalnego dokumentu w taki sposób, abymożliwe było umieszcze-nie go w skali 1:1 na stronach tej książki. Za to działanie odpowiada pakietlatex-ksiazka-kucharska, dołączony do każdego z przykładów. Maon jednak charakter techniczny i tak należy go traktować – jego pominięcienie wpływa bowiemw żaden sposób na poprawność przykładowego pliku.

Page 50: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia

Autor dokumentu często staje przed koniecznością prezentacji informa-cji w postaci list – zarównonienumerowanych, jak i numerowanych. LATEXwy-posażony jest w otoczenia itemize oraz enumerate, umożliwiające wyko-nanie tego zadania. Dzięki zastosowaniu pakietu enumitem, możliwa stajesię modyfikacja parametrówwyglądu tych list.

W tym rozdziale prezentujemy przykłady związane z listami umiesz-czanymi w dokumentach składanych w języku polskim (opartych na kla-sach autorstwa Marcina Wolińskiego). W przypadku klas anglosaskich (np.article), wypunktowania i wyliczenia mogąwyglądać inaczej.

Page 51: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia 43

\item

Listy nienumerowane

— Lorem ipsum,— dolor sit amet:

— consectetuer adipiscing elit,— ut purus elit vestibulum ut, placerat ac, adipisc-

ing vitae, felis.

1

% wyliczenia-nienumerowane.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska

\begindocument\beginitemize\item Lorem ipsum,\item dolor sit amet:\beginitemize\item consectetuer adipiscing elit,\item ut purus elit vestibulum ut, placerat ac,adipiscing vitae, felis.

\enditemize\enditemize\enddocument

Do składania list nienumerowanych (inaczej nazywanych nieuporządko-wanymi) służy środowisko itemize. Poszczególne punkty rozpoczynają sięod polecenia\item. Dzięki temumożna tworzyćwewnątrz punktu nie tylkoakapity, ale także kolejne listy, tworząc wypunktowanie wielopoziomowe.

Page 52: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia 44

Zwróćmy przy okazji uwagę na to, że – jeżeli kolejne punkty wyliczeniakończymy przecinkami, a nie kropkami (a tak należy robić, gdy nie są one peł-nymi zdaniami) – to kolejny punkt rozpoczynamymałą literą.

Listy numerowane

1. Lorem ipsum,2. dolor sit amet:

a) consectetuer adipiscing elit,b) ut purus elit.

1

% wyliczenia-numerowane.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska

\begindocument\beginenumerate\item Lorem ipsum,\item dolor sit amet:\beginenumerate\item consectetuer adipiscing elit,\item ut purus elit.\endenumerate

\endenumerate\enddocument

Składanie list numerowanych jestmożliwezwykorzystaniemśrodowiskaenumerate. Środowiska tegoużywasię całkowicie analogiczniedoomówio-negowcześniej itemize.

Page 53: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia 45

Zmiana symboluwypunktowania lub sposobu numeracji listy

∗ Lorem ipsum,∗ dolor sit amet.

(a) Lorem ipsum,(b) dolor sit amet.

1

% wyliczenia-zmiana-numeracji.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackageenumitem

\begindocument\beginitemize[label=\textasteriskcentered]\item Lorem ipsum,\item dolor sit amet.\enditemize

\beginenumerate[label=(\alph*)]\item Lorem ipsum,\item dolor sit amet.\endenumerate\enddocument

Standardowo, LATEX nie pozwala na łatwą zmianę symbolu wyliczenia. Ist-nieje jednak kilka pakietów, które to ułatwiają. Obecnie najpopularniejszyz nich to enumitem. Pozwala on na dodanie do każdego środowiska składa-jącegowyliczenie parametru opcjonalnego, zawierającego różne ustawienia,zapisanewpostaci ⟨parametr⟩=⟨wartość⟩. Zauważmy, żew tymprzypadku ar-

Page 54: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia 46

\textasteriskcentered

Formalnie rzecz biorąc,symbol ten nazywa sięasteryskiem.

Formalnie rzecz biorąc,symbol ten nazywa sięasteryskiem.

gumenty opcjonalne podawane są po argumencie obowiązkowym polecenia\begin – w taki sposób podaje się argumenty opcjonalne otoczeń. Jak jużwie-my, jeśli zachodzi potrzeba przekazania kilku takich argumentów, należy jeoddzielić przecinkiem.

Parametr label pozwala określić, jak będą oznaczane kolejne punkty li-sty; polecenie \textasteriskcentered wypisuje z kolei gwiazdkę w po-łowie wysokości małej litery. W praktyce, etykietą elementów listy możebyć dowolny symbol lub ciąg znaków. Symbole specjalne udostępniane przezLATEXa zostały zebranew odpowiednim dodatku na końcu tej książki.

W przypadku list numerowanych użycie stałych punktorów mija się jed-nak z celem. Na szczęście możemy skorzystać ze zbioru poleceń opisanychw tabeli 4. Istotną częścią tych instrukcji jest symbol gwiazdki znajdującysię na ich końcach – jegopominięcie doprowadzi z pewnością dowystąpieniabłędu kompilacji.

Tabela 4. Style numeracji w pakiecie enumitem

Polecenie Opis Przykład

\arabic* liczby arabskie 1, 2, 3\alph* małe litery alfabetu łacińskiego a, b, c\Alph* duże litery alfabetu łacińskiego A, B, C\roman* małe liczby rzymskie i, ii, iii\Roman* duże liczby rzymskie I, II, III

Próba wykorzystania któregoś z opisanych w powyższej tabeli poleceńw kontekście środowiska itemize zakończy się błędem.

Dobrymprzyzwyczajeniemjestumieszczanieskomplikowanychwartościparametru labelwnawiasach klamrowych. Jest to szczególnie ważne, jeśliczęścią wzorca numeracji lub wypunktowania jest znak przecinka.

Page 55: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia 47

\item

Zmiana symboluwypunktowania wybranych elementów listy

— Lorem ipsum,∗ dolor sit amet,— consectetuer adipiscing elit.

1. Lorem ipsum,∗ dolor sit amet,2. consectetuer adipiscing elit.

1

% wyliczenia-zmiana-wybranych.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska

\begindocument\beginitemize\item Lorem ipsum,\item[\textasteriskcentered] dolor sit amet,\item consectetuer adipiscing elit.\enditemize

\beginenumerate\item Lorem ipsum,\item[\textasteriskcentered] dolor sit amet,\item consectetuer adipiscing elit.\endenumerate\enddocument

Czasami istnieje potrzeba zmiany symbolu wypunktowania tylko dla wy-branych elementów listy. Polecenie \item przyjmuje parametr opcjonalny(umieszczanywnawiasach kwadratowych), dzięki któremumożemyokreślić

Page 56: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia 48

niestandardowy symbolwypunktowania. Ten sposób działa zarównowprzy-padku list numerowanych, jak i nienumerowanych.Uwaga.Wtymprzypadku korzystanie z poleceń opisanychw tabeli 4 nie jestmożliwe, nawet gdy zmiana dotyczy elementu listy numerowanej.

Zmiana symboluwypunktowania wszystkichlist nienumerowanych

∗ Lorem ipsum,∗ dolor sit amet:

– consectetuer adipiscing elit,– ut purus elit, vestibulum ut.

1

% wyliczenia-zmiana-wszystkich-nienumerowanych.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackageenumitem\setitemize[1]label=\textasteriskcentered\setitemize[2]label=--

\begindocument\beginitemize\item Lorem ipsum,\item dolor sit amet:\beginitemize\item consectetuer adipiscing elit,\item ut purus elit, vestibulum ut.

Page 57: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia 49

\setitemize

\enditemize\enditemize\enddocument

Wraz z pakietem enumitem udostępnione nam zostaje polecenie\setitemize. Umieszczone w preambule dokumentu, pozwala zmienićparametrywszystkichwyliczeń nienumerowanych. Argumentem obowiązko-wym tego polecenia jest zbiór ustawieńwpostaci ⟨parametr⟩=⟨wartość⟩. Jeśliistnieje potrzeba zmiany kilku parametrów jednocześnie, należy je oddzielićprzecinkami.

Instrukcję \setitemize możemy wywołać z parametrem opcjonal-nym – numerempoziomu listy, któregomodyfikacjamadotyczyć. Przykłado-wo, deklaracja \setitemize[2]label=-- oznacza, że punkty wyli-czeń nienumerowanych na drugim poziomie zagnieżdżenia (czyli wewnątrzjednegowyliczenia) będą oznaczane półpauzą.

Zmiana sposobu numeracji wszystkich list numerowanych

A. Lorem ipsum,B. dolor sit amet:

(i) consectetuer adipiscing elit,(ii) ut purus elit.

1

% wyliczenia-zmiana-wszystkich-numerowanych.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackageenumitem

Page 58: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia 50

\setenumerate

\setenumerate[1]label=\Alph*.\setenumerate[2]label=(\roman*)

\begindocument\beginenumerate\item Lorem ipsum,\item dolor sit amet:\beginenumerate\item consectetuer adipiscing elit,\item ut purus elit.\endenumerate

\endenumerate\enddocument

Wprzypadku list numerowanych, zmiana sposobu numeracji odbywa sięanalogicznie do przypadku list nienumerowanych, przy czympoleceniem po-zwalającym zmieniać parametry list numerowanych jest \setenumerate.Deklarując styl numeracji (label) w ramach polecenia \setenumerate,możemy posługiwać się poleceniami z tabeli 4.

Wyliczenia „długie”

1. Lorem ipsum dolor sit amet, consectetuer adipi-scing elit. Ut purus elit, vestibulum ut, placerat ac, adi-piscing vitae, felis. Curabitur dictum gravida mauris.Nam arcu libero, nonummy eget, consectetuer id, vul-putate a, magna.2. Donec vehicula augue eu neque. Pellentesque ha-

bitant morbi tristique senectus et netus et malesuadafames ac turpis egestas. Mauris ut leo.

1

Page 59: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wyliczenia 51

I słusznie, gdyż wcięcieakapitowe sugerowałobykoniec wyliczenia.

I słusznie, gdyż wcięcieakapitowe sugerowałobykoniec wyliczenia.

% wyliczenia-dlugie.tex\documentclassmwart\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\beginenumerate*\item Lorem ipsum dolor sit amet, consectetueradipiscing elit. Ut purus elit, vestibulum ut,placerat ac, adipiscing vitae, felis. Curabitur dictumgravida mauris. Nam arcu libero, nonummy eget,consectetuer id, vulputate a, magna.

\item Donec vehicula augue eu neque. Pellentesquehabitant morbi tristique senectus et netus etmalesuada fames ac turpis egestas. Mauris ut leo.

\endenumerate*\enddocument

Zwykle poszczególne elementy wyliczeń mają kilka, rzadko kilkanaściesłów. Zdarzają się jednak czasem wyliczenia, w których poszczególne ele-menty mają i po kilka zdań. W takiej sytuacji środowiska enumerate czyitemize dają niezbyt estetyczny efekt, gdyż długawy tekst jest cały wciętyz lewej strony. Polskie zwyczaje typograficzne nakazują składać wyliczeniazbudowane z dłuższych elementów bez takiego wcięcia. Wychodząc im na-przeciw, klasy z pakietu mwcls definiują warianty „z gwiazdką” (czyli otocze-nia enumerate* oraz itemize*), w których poszczególne elementy wyli-czenia rozciągają się od lewego margniesu do prawego. Należy mimo to uni-kać sytuacji, w której jeden element wyliczenia ma więcej niż jeden akapit,bowiemwewnątrz tych otoczeńwcięcie akapitowe jest wyłączone.

Page 60: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Paragraf to po angielskusection, a angielskie słowoparagraph oznacza akapit.Będziemy konsekwentnieużywać stosowanej w Pol-sce terminologii.

Paragraf to po angielskusection, a angielskie słowoparagraph oznacza akapit.Będziemy konsekwentnieużywać stosowanej w Pol-sce terminologii.

Rozdziały i paragrafy

Pisanie uporządkowanej pracywymaga od autora określenia hierarchicz-nej struktury dokumentu. Książka dzieli się na rozdziały, te z kolei na para-grafy, podparagrafy itd. Również prace takie jak artykuły czy raporty, wy-magają zachowania pewnego porządku.

Celem tego rozdziału jest przybliżenie Czytelnikowi poleceń LATEXa zwią-zanych z tym zagadnieniem.

Page 61: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 53

Rozdział 1

Lorem ipsum

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipiscingvitae, felis.

Rysunek 1. Wyciąg z dokumentu wynikowego (strona 1)

Page 62: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 54

\chapter

Oznaczanie rozdziału

Wyciąg z dokumentu wynikowego pokazano na rysunku 1, s. 53.

% rozdzialy-rozdzialy.tex\documentclassmwbk\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\chapterLorem ipsumLorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac,adipiscing vitae, felis.

\chapterNam dui ligulaNam dui ligula, fringilla a, euismod sodales,sollicitudin vel, wisi. Morbi auctor lorem nonjusto. Nam lacus libero, pretium at, lobortis vitae.\enddocument

Tworzenie rozdziałówmożliwe jest tylkow niektórych klasach, np. mwbk.Rozpoczęcie nowego sygnalizujemy LATEXowi poleceniem \chapter. Argu-mentem obowiązkowym tego polecenia jest nazwa rozdziału.

Każdy rozdział rozpoczyna się na nowej stronie, a w przypadku składudwustronnego na stronie prawej, czyli o nieparzystym numerze. Jeśli chce-my, aby LATEX składał książki jednostronnie (wówczas rozdział może rozpo-cząć się na stronie o numerze parzystym), powinniśmy wywołać klasę mwbkz parametrem opcjonalnym oneside.

\documentclass[oneside]mwbk

Wpływa to jednak na wiele aspektów składu, np. na sposób stosowaniamarginesówwewnętrznych i zewnętrznych –musimywięc być ostrożni.

Page 63: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 55

Rozdział 1

Lorem ipsum

Lorem ipsum dolor sit amet.

1.1. Nam dui ligula

Nam dui ligula, fringilla a, euismod sodales.

1.1.1. Nulla malesuada

Nulla malesuada porttitor diam.

Quisque ullamcorper

Quisque ullamcorper placerat ipsum. Cras nibh.

Fusce mauris Fusce mauris. Vestibulum luctus nibhat lectus.

Rysunek 2. Wyciąg z dokumentu wynikowego

Page 64: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 56

\section

\subsection

Oznaczanie podrozdziału i mniejszych jednostek

Wyciąg z dokumentu wynikowego pokazano na rysunku 2, s. 55.

% rozdzialy-podrozdzialy.tex\documentclassmwbk\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\chapterLorem ipsumLorem ipsum dolor sit amet.

\sectionNam dui ligulaNam dui ligula, fringilla a, euismod sodales.

\subsectionNulla malesuadaNulla malesuada porttitor diam.

\subsubsectionQuisque ullamcorperQuisque ullamcorper placerat ipsum. Cras nibh.

\paragraphFusce maurisFusce mauris. Vestibulum luctus nibh at lectus.\enddocument

Oczywiście, wiele książek poza rozdziałami ma podrozdziały (paragrafy).WLATEXuoznacza się je poleceniem\section, którego parametry (obowiąz-kowy i dwa opcjonalne) są analogiczne do parametrówpolecenia\chapter.LATEX pozwala stosować aż sześciopoziomową strukturę rozdziałów (w kla-sach article i pochodnych pięciopoziomową, bez polecenia \chapter),jednak w typowych sytuacjach struktura głębsza niż trzy poziomy (rozdział,paragraf i podparagraf – oznaczany poleceniem \subsection) wydaje sięnie tylko niepotrzebna, ale też nadzwyczaj nieprzyjazna dla odbiorcy.

Page 65: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 57

Lorem ipsum

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipiscingvitae, felis.

Rysunek 3. Wyciąg z dokumentu wynikowego (strona 1)

Page 66: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 58

\chapter*

\section*

Jednostki nienumerowane

Wyciąg z dokumentu wynikowego pokazano na rysunku 3, s. 57.

% rozdzialy-nienumerowane.tex\documentclassmwbk\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\chapter*Lorem ipsumLorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac,adipiscing vitae, felis.

\chapterNam dui ligula, fringilla a, euismod sodales,sollicitudin vel, wisi

Nam dui ligula, fringilla a, euismod sodales,sollicitudin vel, wisi. Morbi auctor lorem nonjusto.\enddocument

Polecenie \chapter* wstawia rozdział bez numeru. Nadaje się onoszczególnie do wstępów, dodatków, bibliografii itp. Analogiczne polecenie\section*wstawia nienumerowany paragraf. Czytelnik z łatwością odgad-nie, jak umieścić w dokumencie nienumerowany podparagraf.Uwaga.Wstandardowych klasach LATEXa rozdziały, paragrafy itp. bez nume-ru nie są umieszczane w spisie treści (por. s. 98), co jest źródłem frustracjiwielu użytkowników LATEXa.W klasach mwcls problem ten nie występuje.

Page 67: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 59

Rozdział 1

Nam dui ligula,fringilla a, euismod sodales,sollicitudin vel, wisiNam dui ligula, fringilla a, euismod sodales, sollici-

tudin vel, wisi. Morbi auctor lorem non justo.

Rysunek 4. Wyciąg z dokumentu wynikowego

Page 68: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 60

Więcej na temat znakutyldy na stronie 25.Więcej na temat znakutyldy na stronie 25.

Dzielenie tytułu rozdziału nawiersze

Wyciąg z dokumentu wynikowego pokazano na rysunku 4, s. 59.

% rozdzialy-wiersze.tex\documentclassmwbk\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\chapterNam dui ligula,\\fringilla a, euismod sodales,sollicitudin vel, wisi

Nam dui ligula, fringilla a, euismod sodales,sollicitudin vel, wisi. Morbi auctor lorem non justo.\enddocument

Z uwagi na to, że tytuły rozdziału czy paragrafu to zwykle pierwsze rze-czy, jakie rzucają się czytelnikowiwoczy po otworzeniu książki na danej stro-nie, dobrze jest zadbać o ich dobrywygląd. Nie ułatwia tej kwestii fakt, że ty-tuł składany jest częstowiększymniż zwykle stopniempisma, co oznacza, żedłuższe tytuły mogą zostać podzielone na wiersze w nienajlepszymmiejscu.Dobrym zwyczajem jest bowiem, by w tytułach nie rozdzielać między wier-szami słów, które są ze sobą związane, a także by nie zostawiać np. pojedyn-czego słowaw ostatnim, króciutkimwierszu.

Polecenie\\w tytule rozdziału powoduje, żew tymmiejscu zostanie zła-many wiersz. Można też oznaczyć twarde spacje znakiem tyldy (~). Ma totę zaletę, że – w przeciwieństwie do polecenia \\ – nie powoduje złamaniawiersza w spisie treści czy żywej paginie.

Page 69: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 61

Spis treści

Rozdział 1. Nam dui ligula, fringilla a . . . . . . 3

Rysunek 5. Wyciąg z dokumentu wynikowego (strona 1)

Page 70: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 62

Żywa pagina to, mówiącbardzo obrazowo, nagłó-wek strony, który zawieranazwę aktualnie czytanegorozdziału lub paragrafu.

Żywa pagina to, mówiącbardzo obrazowo, nagłó-wek strony, który zawieranazwę aktualnie czytanegorozdziału lub paragrafu.

\part

Warianty tytułu do żywej paginy i spisu treści

Wyciąg z dokumentu wynikowego pokazano na rysunku 5, s. 61.

% rozdzial-pagina.tex\documentclassmwbk\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\tableofcontents\chapter[Nam dui ligula]

[Nam dui ligula, fringilla a]Nam dui ligula, fringilla a, euismod sodales

\enddocument

Może się zdarzyć, że tytuł rozdziału bądź paragrafu jest zbyt długi, abymieścił się komfortowo w żywej paginie (normy zalecają nieprzekraczanie2/3 szerokości wiersza). Wówczas krótszy wariant tytułu do żywej paginypodaje się w parametrze opcjonalnym polecenia \chapter czy \section(w nawiasach kwadratowych).

Może się też zdarzyć, że potrzebny jest również specjalny wariant tytułudo spisu treści (będzie tak np. w sytuacji, gdy wymusiliśmy złamanie wierszaw tytule poleceniem \\). Można wtedy podać wariant tytułu do spisu treściw drugim parametrze opcjonalnym.

Części większe od rozdziałów

Szczególnie duże dzieła można podzielić na części, składające się z wie-lu rozdziałów każda. Do rozpoczęcia części służy polecenie \part, któredziała analogicznie do polecenia \chapter z tą różnicą, że pierwszy argu-ment opcjonalny, wykorzystywany do deklarowania wariantu tytułu do ży-wej paginy, nie jest tu wykorzystywany. Możemy zatem użyć np. konstrukcji\part[][Tytuł do spisu treści]Właściwy tytuł.

Page 71: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 63

Fascynujący artykuł

A. U. Tor

2015-02-30

Lorem ipsum dolor sit amet.

1

Rysunek 6. Wyciąg z dokumentu wynikowego

Page 72: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Rozdziały i paragrafy 64

\maketitle

Strona tytułowa

Wyciąg z dokumentu wynikowego pokazano na rysunku 6, s. 63.

% rozdzialy-tytulowa.tex\documentclassmwart\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\authorA. U. Tor\titleCiekawy tekst\date2015-02-30\maketitle

Lorem ipsum dolor sit amet.\enddocument

W standardowych klasach LATEXa wsparcie dla tworzenia strony tytu-łowej jest raczej ubogie. Można podać autora, tytuł i (ewentualnie) datępowstania dokumentu, a następnie poleceniem \maketitle umieścić tedane w pliku wynikowym. W przypadku klas służących do składu książek(np. mwbk) tytularia umieszczone zostaną ponadto na oddzielnej stronie.

Gdy chcemy zrobić bardziej skomplikowaną stronę tytułową, możemyużyć metod opisanych w rozdziale poświęconym akapitom (zob. s. 78 i 80).Warto też pamiętać o wydaniu polecenia \thispagestyleempty (zob.s. 146), dzięki czemu strona tytułowa będzie wliczana do numeracji, ale nicnie pojawi się w jej nagłówku ani stopce.

Page 73: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

\emph

Mikrotypografia

Wyróżnianie fragmentu tekstu

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipisc-ing vitae, felis.

1

% mikrotypografia-wyroznianie.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska

\begindocumentLorem \emphipsum dolor sit amet, \textitconsectetueradipiscing \textbfelit. \emphUt purus elit,\emphvestibulum ut, placerat ac, adipiscing vitae,felis.\enddocument

Standardowym sposobem wyróżnienia fragmentu tekstu jest kursywa.Poleceniem LATEXa służącym do wyróżniania jest \emph, które składa frag-

Page 74: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Mikrotypografia 66

\textit

\textbf

ment tekstu w nawiasach klamrowych kursywą, gdy tekst wokół jest prosty,i pismem prostym, gdy tekst wokół jest kursywny. Poleceniem, które zawszewłącza kursywę, jest \textit.

Znacznie rzadziej stosowane jest wytłuszczenie. Dobrą zasadą jest uni-kanie wytłuszczenia, o ile tylko się da – powinno się je stosować tylkowtedy,gdy jest to naprawdę uzasadnione (czyli bardzo rzadko). Ogólna zasada jestnastępująca: wytłuszczenie służy do zwrócenia uwagi czytelnika, gdy prze-gląda tekst, a kursywa, gdy go czyta. Właściwym użyciem wytłuszczenia sąwięc np. nagłówki podrozdziałów czy hasław słownikach, które chcemymócznaleźć „na pierwszy rzut oka”, bez uważnej lektury całości. Wytłuszczeniewłącza się komendą \textbf.

Cudzysłowy, myślniki, łączniki…

Cudzysłowy „polskie”, “angielskie” i wreszcie – rzad-ko spotykane – «francuskie».Lata 1918–1939, twierdzenie Hahna–Banacha, Maria

Skłodowska-Curie

1

% mikrotypografia-cudzyslowy.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocumentCudzysłowy ,,polskie’’, ‘‘angielskie’’ i~wreszcie\ppauza rzadko spotykane \ppauza <<francuskie>>.

Page 75: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Mikrotypografia 67

Głównym powodem, dlaktórego użyliśmy niezbytpoprawnej nazwy „od-wrócony apostrof” (ang.backtick) na znak ‘, jestto, że właściwą nazwę,czyli grawis, zna prawdo-podobnie poniżej promilaczytelników...

Głównym powodem, dlaktórego użyliśmy niezbytpoprawnej nazwy „od-wrócony apostrof” (ang.backtick) na znak ‘, jestto, że właściwą nazwę,czyli grawis, zna prawdo-podobnie poniżej promilaczytelników...

\dywiz

\ppauza

Lata 1918--1939, twierdzenie Hahna--Banacha,Maria Skłodowska\dywiz Curie\enddocument

W różnych krajach zapisuje się cudzysłowy w różny sposób. “Angielske”cudzysłowy różnią się od „polskich”, zaś «francuskie» wyglądają jeszcze ina-czej. Sposób wpisywania cudzysłowóww LATEXu jest zależny od użytego fon-tu, ale przy standardowych ustawieniach używa się do nich podwójnych apo-strofów (zwykłych i „odwróconych”) oraz podwójnych symboli, które moż-na opisać jako „większe/mniejsze”.

Poziomekreski są równieżźródłem licznychnieporozumień, gdyżnastan-dardowej klawiaturze można znaleźć wyłącznie znak „minus”. Nieco uprasz-czając, można przyjąć, że potrzebujemy głównie dwóch ich rodzajów: łączni-ka (dywizu) oraz półpauzy. Użycie obu z nich, gdy dołączony do dokumentuzostał pakiet polski, jest bardzo proste.

Dywiz uzyskuje sięwLATEXuprzy użyciu polecenia\dywiz (wersja dowy-razówzłożonych,pozwalającanaprzeniesieniedonowegowiersza) lubminu-sa (wersja blokująca przeniesienie do nowego wiersza). Półpauzę natomiastuzyskuje się poleceniem \ppauza (wersja ze spacjami) lub dwoma następu-jącymi zaraz po sobie minusami (wersja bez spacji).

Łącznika należy używać wwyrazach złożonych (jak biało-czerwony), zaśpółpauzy w większości pozostałych przypadków – jako myślnika, jako ozna-czenia zakresów liczbowych (np. 0–18) czy w nazwach twierdzeń autorstwadwóch lub więcej osób (jak lemat Kuratowskiego–Zorna).Uwaga.Wwyrazach złożonych zawierających znak - lub -- domyślnie wy-łączone jest automatyczne dzielenie wyrazów. Polecenie \dywiz pozwalaominąć ten problem w przypadku łącznika. Niestety, nie ma analogicznegopolecenia dla półpauzy. Gdy więc chcemy móc podzielić np. „lemat Kura-towskiego–Zorna”, możemy ręcznie wskazać pożądane miejsce dzielenia:Kura\-towskiego–Zorna.

Page 76: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Mikrotypografia 68

Przypisy

Quisque ullamcorper placerat ipsum. Cras nibh. Morbivel justo vitae lacus tincidunt ultrices. Lorem ipsum do-lor sit amet, consectetuer adipiscing elit. In hac habitasseplatea dictumst. Integer tempus convallis augue. Etiamfacilisis. Nunc elementum fermentum wisi. Aeneanplacerat. Ut imperdiet, enim sed gravida sollicitudin, fe-lis odio placerat quam, ac pulvinar elit purus eget enim.Nunc vitae tortor. Proin tempus nibh sit amet nisl.Vivamus quis tortor vitae risus porta vehicula.

Fusce mauris. Vestibulum luctus nibh at lectus. Sedbibendum, nulla a faucibus semper, leo velit ultriciestellus, ac venenatis arcu wisi vel nisl. Vestibulum diam.Aliquam pellentesque, augue quis sagittis posuere, turpislacus congue quam, in hendrerit risus eros eget felis.Maecenas eget erat in sapien mattis porttitor. Vestibu-lum porttitor. Nulla facilisi. Sed a turpis eu lacuscommodo facilisis. Morbi fringilla, wisi in dignissim in-terdum, justo lectus sagittis dui, et vehicula libero duicursus dui. Mauris tempor ligula sed lacus. Duis cursusenim ut augue. Cras ac magna. Cras nulla. Nulla eges-tas. Curabitur a leo. Quisque egestas wisi eget nunc.Nam feugiat lacus vel est. Curabitur consectetuer.

Nulla malesuada porttitor diam.1 Proin fermentummassa ac quam. Sed diam turpis, molestie vitae, plac-erat a, molestie nec, leo. Maecenas lacinia. Nam ip-

1 Donec felis erat, congue non, volutpat at, tincidunt tris-tique, libero. Vivamus viverra fermentum felis. Donec nonummypellentesque ante. Phasellus adipiscing semper elit.

1

% mikrotypografia-przypisy.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagelipsum

\begindocument\lipsum[4-5]

Nulla malesuada porttitor diam.\footnoteDonec feliserat, congue non, volutpat at, tincidunt tristique,libero. Vivamus viverra fermentum felis. Donecnonummy pellentesque ante. Phasellus adipiscing semperelit. Proin fermentum massa ac quam. Sed diam

turpis, molestie vitae, placerat a, molestie nec,leo. Maecenas lacinia. Nam ipsum ligula, eleifend at,accumsan nec, suscipit a, ipsum. Morbi blandit ligulafeugiat magna.\enddocument

Page 77: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Mikrotypografia 69

\footnote

Przede wszystkim przypisów lepiej unikać, gdyż rozpraszają one czytel-nika. Gdy musimy ich jednak użyć, wykorzystujemy do tego celu polecenie\footnote. Polecenie to dba o automatyczną numerację przypisów.

Adresy email i stron internetowych

Email wysłany na adres [email protected] nietrafi do prof. Donalda E. Knutha. Wyjaśnienie, dlacze-go, można znaleźć na stronie http://www-cs-faculty.stanford.edu/~uno/email.html.

1

% mikrotypografia-adresy.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackageurl

\begindocumentEmail wysłany na adres \[email protected] nietrafi do prof. Donalda E.~Knutha. Wyjaśnienie,dlaczego, można znaleźć na stronie\urlhttp://www-cs-faculty.stanford.edu/~uno/email.html.\enddocument

Adresy stron internetowych i niektóre adresy email wymagają szczegól-negopotraktowania.Popierwsze, tradycyjnie składasię jepismem,wktórymznaki mają stałą szerokość. Po drugie, często występują w nich znaki, któ-re dla LATEXa mają szczególne znaczenie, jak np. znaki podkreślenia czy tyldy.

Page 78: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Mikrotypografia 70

\url

Powody tego stanu rze-czy są subtelne i Czytelnikprawdopodobnie nie chceznać odpowiedzi na pyta-nie, dlaczego tak jest.

Powody tego stanu rze-czy są subtelne i Czytelnikprawdopodobnie nie chceznać odpowiedzi na pyta-nie, dlaczego tak jest.

\urldef

Po trzecie, przenoszenie ich do następnego wiersza wymaga niestosowaniamyślnika, gdyż mógłby on być łatwowzięty za element adresu.Wszystkie teproblemy rozwiązuje pakiet url.

Niestety, z przyczyn technicznych polecenie \url z tego pakietu nie mo-że być używane w niektórych miejscach dokumentu (np. w przypisach lubtytułach paragrafów), jeżeli jego argument zawiera znaki specjalne LATEXa.W takiej sytuacji należy użyć polecenia \urldef (na przykład w preambuledokumentu). Gdy adres zawiera nawiasy klamrowe, kończy się znakiem\ lubzawiera pewne inne, w normalnej sytuacji niedozwolone ciągi znaków, moż-na po poleceniu \url użyć jakiegoś znaku nie występującego w adresie (np.kreski pionowej) i tym samym znakiem oznaczyć koniec adresu.

Można również sprawić, by adreswpliku pdf był aktywnym linkiem, tj. bykliknięcie nanimotwierałonp. przeglądarkę zodpowiednią stroną interneto-wą. Służy do tego pakiethyperref, który również definiuje polecenie\url,tym razem generujące link.

@#^\

1

% mikrotypografia-urldef.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackageurl

\urldef\dziwnyadres\url|@#^\|

\begindocument\dziwnyadres\enddocument

Page 79: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Mikrotypografia 71

\i\j

Litery z akcentami

Gruß dich!deja vuregu la de l’Hopitalaı

1

% mikrotypografia-akcenty.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska

\begindocumentGr\”u\ss dich!

d\’ej\‘a vu

regu\la de l’H\^opitala

\v\i\^\j\enddocument

Istnieje szereg komend LATEXa służących do składu akcentów i liter spozaalfabetu łacińskiego. Niektóre z nichwidaćw przykładowympliku zaprezen-towanym powyżej. Warto pamiętać, że LATEX „zjada” spacje po słowach kon-trolnych (zob. s. 19). Warto również zwrócić uwagę na polecenia \i oraz \j,dające litery „i” i „j” bez kropki, nadające się doumieszczenia nadnimi specjal-nego akcentu.

Page 80: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Mikrotypografia 72

Twarde spacje

Niniejsze (niezbyt sensowne) zdanie zawiera jedno-literowy przyimek w bardzo niekorzystnym miejscu, azatem trochę głupio wygląda.Niniejsze (niezbyt sensowne) zdanie zawiera jednoli-

terowy przyimek w bardzo niekorzystnym miejscu, a jed-nak wygląda nienajgorzej.

1

% mikrotypografia-spacje.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocumentNiniejsze (niezbyt sensowne) zdanie zawierajednoliterowy przyimek w bardzo niekorzystnym miejscu,a zatem trochę głupio wygląda.

Niniejsze (niezbyt sensowne) zdanie zawierajednoliterowy przyimek w bardzo niekorzystnym miejscu,a~jednak wygląda nienajgorzej.\enddocument

Jeżeli nie chcemy, aby wiersz został złamany w miejscu wystąpienia da-nego odstępu (np. pomiędzy słowami w wyrażeniu „a zatem”), powinniśmyzamiast odstępu użyć znaku tyldy (~).

Page 81: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu

Podstawową składową każdego dokumentu zawierającego tekst są aka-pity. Niewiele jest jednak dzieł (może poza powieściami) zawierających wy-łącznie tekst ciągły. Umiejętność manipulowania ich właściwościami, takimijakpołożenie,wyrównanie,wcinanie, czyotaczanie ramkąpozwala znaczącoprzyspieszyć pracę.

Celem tego rozdziału jest przybliżenie Czytelnikowi podstawowych me-tod zarządzania akapitami w systemie LATEX.

Page 82: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 74

\noindent\indent

Usuwanie i wstawianie wcięcia akapitowego

Ten akapit ma normalne wcięcie. To oznacza, że je-go pierwszy wiersz zaczyna się w pewnej odległości odlewego marginesu.Ten akapit nie ma wcięcia. To oznacza, że jego pierwszywiersz zaczyna się tuż przy lewym marginesie.

1

% akapit-wciecia.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\indentTen akapit ma normalne wcięcie. To oznacza, że jegopierwszy wiersz zaczyna się w pewnej odległości odlewego marginesu.

\noindentTen akapit nie ma wcięcia. To oznacza, że jego pierwszywiersz zaczyna się tuż przy lewym marginesie.\enddocument

Standardowo LATEX rozpoczyna każdy akapit wcięciem akapitowym. W sy-tuacji, gdy nie chcemy, żeby tak było, możemy rozpocząć akapit poleceniem\noindent. W odwrotnym przypadku, to znaczy jeśli LATEX wcięcia nie robi,a zależy nam, żeby było inaczej, możemy je wstawić poleceniem \indent(w powyższym przykładzie jest ono zbędne – gdyby je usunąć, LATEX i tak roz-

Page 83: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 75

począłby akapit wcięciem). Najczęściej jednak nie ma potrzeby używaniatych poleceń, ponieważ kwestię wcięć najlepiej pozostawić systemowi skła-du tekstów.

Dokumenty bezwcięć akapitowych

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Ut purus elit, vestibulum ut, placerat ac.

Pellentesque habitant morbi tristique senectus et netuset malesuada fames ac turpis egestas. Mauris ut leo.

1

% akapit-bez-wciec.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackageparskip

\begindocumentLorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac.

Pellentesque habitant morbi tristique senectus et netuset malesuada fames ac turpis egestas. Mauris ut leo.\enddocument

Czasami zdarza się, że chcemy złożyć dokument, w którym akapity będąrozdzielone odstępem. W takim przypadku nie należy stosować wcięć aka-pitowych. Aby uzyskać taki wygląd dokumentu w LATEXu, należy załadowaćpakiet parskip.

Page 84: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 76

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipiscingvitae, felis.

Curabitur dictum gravida mauris. Ut purus elit,vestibulum ut, placerat ac

Nam arcu libero, nonummy eget, consectetuer id,vulputate a, magna.

Donec vehicula augue eu neque. Lorem ipsum dolorsit amet, consectetuer adipiscing elit.

Pellentesque habitant morbi tristique senectus et ne-tus et malesuada fames ac turpis egestas.

Mauris ut leo.

1

Rysunek 7. Wyciąg z dokumentu wynikowego

Page 85: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 77

Dodatkowy odstęp pionowy

Wyciąg z dokumentu wynikowego pokazano na rysunku 7, s. 76.

% akapit-odstep.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska

\begindocumentLorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac,adipiscing vitae, felis.

\smallskipCurabitur dictum gravida mauris. Ut purus elit, vestibulumut, placerat ac

\medskipNam arcu libero, nonummy eget, consectetuer id,vulputate a, magna.

\bigskipDonec vehicula augue eu neque. Lorem ipsum dolor sitamet, consectetuer adipiscing elit.

\vspace1.5cmPellentesque habitant morbi tristique senectus et netuset malesuada fames ac turpis egestas.

\vfillMauris ut leo.\enddocument

W zasadzie lepiej unikać ręcznego wstawiania odstępów. Przykładowo,jeżeli chcemy uzyskać większy niż zwykle odstęp przed każdym paragrafem,zamiast ręcznie umieszczać odpowiedni kod przed poleceniem \section,

Page 86: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 78

\smallskip\medskip\bigskip\vspace\vspace*

\vfill

lepiej zmodyfikować wygląd wszystkich występujących w dokumencie para-grafów, korzystając z odpowiednich narzędzi (np.możliwości klasmw*, opisa-nych w ich dokumentacji). Zdarza się jednak potrzeba ingerencji w standar-dowy odstęp, jaki LATEX umieszcza np. przed akapitem wycentrowanym. Ma-my wówczas do dyspozycji kilka poleceń. Możemy wstawić „mały”, „średni”i „duży” odstęp pionowy poleceniami \smallskip, \medskip i \bigskip.Jeżeli potrzebujemy odstępu innej wielkości (najczęściej większego), może-my skorzystać z polecenia \vspace (lub jego wariantu \vspace*, który –w przeciwieństwie do wersji bez gwiazdki – potrafi wstawić odstęp równieżna początku strony). Polecenie to przyjmuje jeden argument obowiązkowy,będący wyrażoną w pewnej mierze (np. pt, cm, em) wysokością odstępu.Wreszcie, w wyjątkowych sytuacjach może przydać się polecenie \vfill,które wstawia odstęp tak długi, jak tylko zmieści się na stronie. Jeżeli na jed-nej stronie umieścimy kilka poleceń \vfill, „podzielą” się one równo do-stępnymmiejscem.

Warto pamiętać, że wszystkie instrukcje wstawiające odstępy pionowenajlepiej umieszczać na początku nowego akapitu (czyli na przykład po pustejlinii w pliku źródłowym); umieszczenie ich wewnątrz akapitu może dać nie-oczekiwane rezultaty.

Wyrównanie akapitu inaczej niż do obumarginesów

Poznań, 31.02.2015

Jerzy Brzęczyszczykiewiczul. Akacjowa 555Psia Wólka

Podanie

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Ut purus elit, vestibulum ut, placerat ac, adipiscing vi-tae, felis. Curabitur dictum gravida mauris. Nam arculibero, nonummy eget, consectetuer id.

1

Page 87: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 79

\\

% akapit-wyrownanie.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\beginflushrightPoznań, 31.02.2015

\endflushright

\beginflushleftJerzy Brzęczyszczykiewicz\\ul. Akacjowa 555\\Psia Wólka

\endflushleft

\begincenterPodanie

\endcenterLorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac,adipiscing vitae, felis. Curabitur dictum gravidamauris. Nam arcu libero, nonummy eget, consectetuer id.\enddocument

Dość często zdarza się, że chcemy wycentrować pewne fragmenty tek-stu; czasem też potrzeba dosunąć coś (na przykład datę) do prawego mar-ginesu. Otoczenia flushleft, flushright i center sprawiają, że tekstw nich zawarty jest odpowiednio: wyrównany do lewegomarginesu, wyrów-nany do prawego marginesu lub wycentrowany. Szczególnie przydatne jestwewnątrz tych otoczeń polecenie \\ , które rozpoczyna nowywiersz.

Warto też zauważyć, że środowiskaflushleft,flushright icenterwstawiają nieco światła przed i po swojej zawartości – zwykle nie ma więcpotrzebywstawiania przed nimi i po nich dodatkowych odstępów.

Page 88: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 80

Akapity węższe niż kolumna

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibu- lum ut, placerat ac, adipisc-ing vitae, felis.

Curabitur dictum gravida mauris. Namarcu libero, nonummy eget, con-sectetuer id.

Donec vehicula augue eu neque. Pellen-tesque habitant morbi tristique senectuset netus et malesuada fames.

1

% akapit-zwezenia.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagelipsum

\begindocumentLorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibu- lum ut, placerat ac,adipiscing vitae, felis.

\beginflushright\parbox6cmCurabitur dictumgravida mauris. Nam arcu libero, nonummy eget,consectetuer id.

\endflushright

\begincenter\beginminipage0.75\linewidth

Page 89: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 81

\parbox

Donec vehicula augue eu neque. Pellentesquehabitant morbi tristique senectus et netus etmalesuada fames.

\endminipage\endcenter

\enddocument

Nierzadko chcemy umieścić w dokumencie akapit węższy niż szerokośćkolumny tekstu (np. mający lewą krawędź w połowie szerokości strony – ty-powym zastosowaniem jest nazwisko i adres odbiorcy oficjalnego pisma).Środowisko flushright do tego celu nie wystarczy, gdyż wyrównuje onoposzczególne wiersze do prawego marginesu zamiast wyrównać je do lewejkrawędzi – tyle, że położonej w niestandardowymmiejscu.W takiej sytuacjimożemy wykorzystać polecenie \parbox lub środowisko minipage. Róż-nicemiędzy nimi są dość subtelne; niewnikającw szczegóły powiedzmy tyle,że \parbox nadaje się do króciutkich, jednoakapitowych fragmentów, zaśminipagedowiększych,wszczególności zawierającychdodatkoweelemen-ty, jak wyliczenia czy przypisy. Jedno i drugie ma parametr obowiązkowy –szerokość składanego obszaru. Jak widać w przykładzie, można ją podać za-równo w centymetrach (czy innych jednostkach), jak i jako ułamek szeroko-ści kolumny. Polecenie \parbox ma drugi parametr obowiązkowy, w któ-rymumieszczamywyrównywany tekst;wprzypadku środowiskaminipageoczywiście trafia on downętrza środowiska.

Page 90: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 82

Oto krótki utwór liryczny. Jak widać, jest on oto-czony małymi odstępami pionowymi. Warto sprawdzić,co będzie, gdy spróbujemy umieścić w nim wiersz niemieszczący się w szerokości kolumny tekstu.

Lorem ipsum dolor sit ametConsectetur adipiscing elit.Donec bibendum mauris,Nec neque tristique convallisFusce eu vestibulum leo.

Poniżej znajduje się inny cytat, tym razem prozą.Jest on złożony z wcięciami po obu stronach oraz (rów-nież) małymi odstępami pionowymi przed i po cytatem.

Lorem ipsum dolor sit amet, consectetur adipi-scing elit. Donec bibendum mauris nec neque tri-stique convallis. Fusce eu vestibulum leo. Fuscetincidunt, justo eget mollis malesuada, leo felisfeugiat neque, sed rutrum ipsum enim commodopurus. Nunc tempus quam ut nisi egestas tempor.Fusce tincidunt, justo

Lorem ipsum dolor sit amet, consectetur adi-piscing elit. Donec bibendum mauris nec nequetristique convallis. Fusce eu vestibulum leo.Fusce tincidunt, justo eget mollis malesuada,

leo felis feugiat neque, sed rutrum ipsum enimcommodo purus. Nunc tempus quam ut nisi ege-stas tempor.

1

Rysunek 8. Wyciąg z dokumentu wynikowego

Page 91: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 83

Cytaty

Wyciąg z dokumentu wynikowego pokazano na rysunku 8, s. 82.

% akapit-cytaty.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocumentOto krótki utwór liryczny. Jak widać, jest onotoczony małymi odstępami pionowymi. Warto sprawdzić,co będzie, gdy spróbujemy umieścić w~nim wiersz niemieszczący się w~szerokości kolumny tekstu.

\beginverseLorem ipsum dolor sit amet\\Consectetur adipiscing elit.\\Donec bibendum mauris,\\Nec neque tristique convallis\\Fusce eu vestibulum leo.

\endverse

Poniżej znajduje się inny cytat, tym razem prozą. Jeston złożony z~wcięciami po obu stronach oraz (również)małymi odstępami pionowymi przed i~po cytatem.\beginquoteLorem ipsum dolor sit amet, consectetur adipiscingelit. Donec bibendum mauris nec neque tristiqueconvallis. Fusce eu vestibulum leo. Fusce tincidunt,justo eget mollis malesuada, leo felis feugiat neque,sed rutrum ipsum enim commodo purus. Nunc tempus quamut nisi egestas tempor. Fusce tincidunt, justo

\endquote

Page 92: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 84

\beginquotationLorem ipsum dolor sit amet, consectetur adipiscing elit.Donec bibendum mauris nec neque tristique convallis.Fusce eu vestibulum leo.

Fusce tincidunt, justo eget mollis malesuada, leo felisfeugiat neque, sed rutrum ipsum enim commodo purus. Nunctempus quam ut nisi egestas tempor.\endquotation\enddocument

Niekiedy zachodzi potrzeba umieszczenia w dokumencie cytatu (lub poprostu wyróżnionego, nieco dłuższego fragmentu). Standardowym sposo-bemw LATEXu jest środowisko quote (dla krótszych, jednoakapitowych frag-mentów) lub quotation (do fragmentów liczących więcej niż jeden akapit).Wyróżnione nimi fragmenty są otoczone niewielkimi odstępami pionowymioraz wcięte po lewej i prawej stronie na szerokość wcięcia akapitowego.

W przypadku fragmentów pisanych wierszem (co może oznaczać zarów-no poezję, jak i inne teksty, w których podział na wersy jest istotny) możnateż użyć środowiskaverse i oznaczać koniec każdegowersu poleceniem\\.Działa ono bardzo podobnie doquote, ale z następującą różnicą: gdy któryśz wersów nie mieści się w linii, jest kontynuowany od nowej, ale z wcięciem.Ten sposób pozwala odróżnić tekst znajdujący się w nowej linii dlatego, żejest kolejnymwersem, od tekstu znajdującego sięwnowej linii dlatego, że niezmieścił się w poprzedniej.

Na koniec dodajmy, że umieszczenie polecenia \\ na końcu ostatniegowersuw środowiskuversenie jest konieczne, alewniczymnie przeszkadza.

Page 93: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 85

Lorem ipsum dolorsit amet, consectetueradipiscing elit. Ut puruselit, vestibulum ut, plac-erat ac, adipiscing vitae,felis. Curabitur dictumgravida mauris. Namarcu libero, nonummyeget, consectetuer id,vulputate a, magna.Donec vehicula augueeu neque. Pellentesquehabitant morbi tristiquesenectus et netus etmalesuada fames acturpis egestas. Maurisut leo. Cras viverra me-tus rhoncus sem. Nullaet lectus vestibulumurna fringilla ultrices.Phasellus eu tellus sitamet tortor gravidaplacerat. Integer sapienest, iaculis in, pretiumquis, viverra ac, nunc.Praesent eget sem velleo ultrices bibendum.Aenean faucibus. Morbi

dolor nulla, malesuadaeu, pulvinar at, mollisac, nulla. Curabiturauctor semper nulla.Donec varius orci egetrisus. Duis nibh mi,congue eu, accumsaneleifend, sagittis quis,diam. Duis eget orcisit amet orci dignissimrutrum.

1

Rysunek 9. Wyciąg z dokumentu wynikowego (strona 1)

Page 94: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 86

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipisc-ing vitae, felis. Curabitur dictum gravida mauris. Namarcu libero, nonummy eget, consectetuer id, vulputatea, magna. Donec vehicula augue eu neque. Pellentesquehabitant morbi tristique senectus et netus et malesuadafames ac turpis egestas. Mauris ut leo. Cras viverrametus rhoncus sem. Nulla et lectus vestibulum urnafringilla ultrices. Phasellus eu tellus sit amet tortorgravida placerat. Integer sapien est, iaculis in, pretiumquis, viverra ac, nunc. Praesent eget sem vel leo ultricesbibendum. Aenean faucibus. Morbi dolor nulla, male-suada eu, pulvinar at, mollis ac, nulla. Curabitur auctorsemper nulla. Donec varius orci eget risus. Duis nibhmi, congue eu, accumsan eleifend, sagittis quis, diam.Duis eget orci sit amet orci dignissim rutrum.

2

Rysunek 10. Wyciąg z dokumentu wynikowego (strona 2)

Page 95: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 87

Quisque ullamcorper placerat ipsum. Cras nibh. Morbivel justo vitae lacus tincidunt ultrices. Lorem ipsumdolor sit amet, consectetuer adipiscing elit. In hachabitasse platea dictumst. Integer tempus convallis au-gue. Etiam facilisis. Nunc elementum fermentum wisi.Aenean placerat. Ut imperdiet, enim sed gravida sollic-itudin, felis odio placerat quam, ac pulvinar elit puruseget enim. Nunc vitae tortor. Proin tempus nibh sitamet nisl. Vivamus quis tortor vitae risus porta vehic-ula.Lorem ipsum dolor

sit amet, consectetueradipiscing elit. Ut puruselit, vestibulum ut, plac-erat ac, adipiscing vitae,felis. Curabitur dictumgravida mauris. Namarcu libero, nonummyeget, consectetuer id,vulputate a, magna.Donec vehicula augueeu neque. Pellentesquehabitant morbi tristiquesenectus et netus etmalesuada fames acturpis egestas. Maurisut leo. Cras viverra me-tus rhoncus sem. Nullaet lectus vestibulum

urna fringilla ultrices.Phasellus eu tellus sitamet tortor gravidaplacerat. Integer sapienest, iaculis in, pretiumquis, viverra ac, nunc.Praesent eget sem velleo ultrices bibendum.Aenean faucibus. Morbidolor nulla, malesuadaeu, pulvinar at, mollisac, nulla. Curabiturauctor semper nulla.Donec varius orci egetrisus. Duis nibh mi,congue eu, accumsaneleifend, sagittis quis,diam. Duis eget orci

3

Rysunek 11. Wyciąg z dokumentu wynikowego (strona 3)

Page 96: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 88

Zwanych popularnie, choćbłędnie, kolumnami.Zwanych popularnie, choćbłędnie, kolumnami.

\onecolumn\twocolumn

Skład dwułamowy

Wyciąg z dokumentu wynikowego pokazano na rysunkach 9–11, s. 85–87.

% akapit-dwulamowy.tex\documentclass[twocolumn]mwart\usepackagelatex-ksiazka-kucharska\usepackagelipsum

\begindocument\lipsum[1]

\onecolumn\lipsum[1]

\twocolumn[\lipsum[4]]\lipsum[1]\enddocument

Może się zdarzyć, że będziemy chcieli stworzyć dokument złożonywdwóch łamach. Najprostszym sposobemnaosiągniecie tego celu jestwy-korzystanieparametruopcjonalnegotwocolumn standardowychklasLATEXa(lub klas mw*); ponadto, można przełączyć się na skład jednołamowy polece-niem \onecolumn i z powrotem na dwułamowy poleceniem \twocolumn.Polecenie \twocolumn przyjmuje parametr opcjonalny, którym jest tekstskładany w jednym łamie przed resztą, składaną w dwóch. Niestety, nie jestto sposób najlepszy. Po pierwsze, każde takie polecenie automatycznie roz-poczyna nową stronę, co nie zawsze jest tym, czego oczekujemy. Po drugie,na ostatniej stronie rozdziału (czy całego dzieła) kolumny nie są wyrówny-wane. Ten ostatni problemnaprawiają np. pakietybalance orazflushend.Niestety, działanie jednego i drugiego pozostawia nieco do życzenia.

Jak widać, skład dwułamowy nie jest (niestety) mocną stroną LATEXa. (Masię to zmienić wraz z nadejściem wersji LATEX3, na którą jednak będzie trze-ba jeszcze trochę poczekać…) Na szczęście istnieje pakiet, który rozwiązu-

Page 97: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 89

je oba powyższe problemy (ale za to dostarcza własnych). Nazywa się onmulticol, a przykład jego użycia znajduje się na poniżej.

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipiscingvitae, felis. Curabitur dictum gravida mauris.

Nam arcu libero,nonummy eget, con-sectetuer id, vulputatea, magna. Donec vehic-ula augue eu neque. Pel-

lentesque habitant morbitristique senectus et ne-tus et malesuada famesac turpis egestas. Maurisut leo.

Cras viverra metus rhoncus sem. Nulla et lectusvestibulum urna fringilla ultrices. Phasellus eu tellussit amet tortor gravida placerat.

1

% akapit-multicol.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagemulticol\usepackagelipsum

\begindocumentLorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac,adipiscing vitae, felis. Curabitur dictum gravidamauris.\beginmulticols2Nam arcu libero, nonummy eget, consectetuer id,

Page 98: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 90

vulputate a, magna. Donec vehicula augue euneque. Pellentesque habitant morbi tristique senectuset netus et malesuada fames ac turpis egestas. Maurisut leo.

\endmulticolsCras viverra metus rhoncus sem. Nulla etlectus vestibulum urna fringilla ultrices. Phasellus eutellus sit amet tortor gravida placerat.\enddocument

Otaczanie fragmentu tekstu ramką

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibu- lum ut, placerat ac, adipisc-ing vitae, felis.

Curabitur dictum gravida mauris. Nam arcu libero,nonummy eget, consectetuer id.

Donec vehicula augue eu neque. Pellentesque habi-tant morbi tristique senectus et netus et malesuada.

1

% akapit-ramka.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagemdframed\usepackagelipsum

\begindocument

Page 99: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kształt akapitu 91

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibu- lum ut, placerat ac,adipiscing vitae, felis.

\beginmdframedCurabitur dictum gravida mauris. Nam arcu libero,nonummy eget, consectetuer id.\endmdframed

Donec vehicula augue eu neque. Pellentesquehabitant morbi tristique senectus et netus etmalesuada.

\enddocument

Czasem zachodzi potrzeba umieszczenia pewnego fragmentu pracy (aka-pitu lub kilku) w ramce. Na szczęście taki efekt łatwo otrzymać, korzystającz otoczenia mdframed dostarczanegowraz z pakietem o tej samej nazwie.

Domyślnie zawartość otoczenia mdframed umieszczana jest w czarnejramce. Sam pakiet umożliwia jednak modyfikowanie wielu parametrów, ta-kich jak choćby obramowania, tła, marginesy wewnętrzne i zewnętrzne, czycienie. Szczegółowy opis metod wpływania na te cechy opisany jest w doku-mentacji pakietu.

Page 100: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja

Jedną z istotnych zalet LATEXa jest automatyzacja niektórych czynności,w szczególności (choć nie tylko) związanych z numerowaniem różnych obiek-tów.W tym rozdziale przyjrzymy się poleceniom pomagającym zrzucić z sie-bie jarzmo nudnej, mechanicznej pracy.

Odwołania do elementów numerowanych

1. Pierwszy paragraf

2. Drugi paragraf

Zobacz paragraf 1 na stronie 1.

1

% automatyzacja-odwolania.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska

Page 101: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 93

\label

\ref\pageref

Tzn. może zawierać nie-które z nich, ale zamiastpamiętać, które się „nada-ją”, prościej nie używać ichwcale.

Tzn. może zawierać nie-które z nich, ale zamiastpamiętać, które się „nada-ją”, prościej nie używać ichwcale.

\begindocument\sectionPierwszy paragraf\labelsec:pierwszy

\sectionDrugi paragrafZobacz paragraf~\refsec:pierwszy nastronie~\pagerefsec:pierwszy.\enddocument

Polecenie \label nadaje etykietę numerowi obiektu, po którym zostałoużyte. Może to być rozdział, paragraf, wzór, rysunek, tabela – cokolwiek, cojest przez LATEXa automatycznie numerowane.Do tego numerumożna się od-woływać w innych miejscach dokumentu poleceniem \ref, które wstawianumer zapamiętanego obiektu, oraz \pageref, które wstawia numer stro-ny, na której tenże obiekt wystąpił.

Etykieta nie powinna zawierać znaków specjalnych, a duże i małe literysą odróżniane – zatem \labelfoo i \labelFOO definiują różne ety-kiety.Nie trzeba chybadodawać, że etykiety powinnybyć unikatowe – w jed-nym dokumencie żadna etykieta nie powinna się pojawić dwukrotnie.

Page 102: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 94

Indeks pojęć

Ddefinicja, 1

Pπ, 1pojęcie

ważne, 1

Ss, 1

Śś, 1

Tt, 1

Wważne pojęcie, zob. poję-

cie, ważne

Rysunek 12. Wyciąg z dokumentu wynikowego (strona 3)

Page 103: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 95

\makeindex\printindex

Skorowidze

Wyciąg z dokumentu wynikowego pokazano na rysunku 12, s. 94.

% automatyzacja-skorowidz.tex\documentclassmwbk\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackagemakeidx\makeindex

\begindocument\chapterRozdział pierwszyW~tym rozdziale definiujemy\indexdefinicja\indexpojęcie!ważne%\indexważne pojęcie|seepojęcie, ważne%ważne pojęcie, oznaczane symbolem\indexpi@$\pi$$\pi$. Będzie ono przedmiotem naszychrozważań w~dalszym ciągu.

\renewcommand\indexnameIndeks pojęć\printindex\enddocument

Sporządzanie skorowidza jest tematem złożonym; na szczęście LATEX uła-twia nam go tak bardzo, jak tylko komputer może to ułatwić.

Aby umieścić skorowidz w dokumencie, należy wykonać kilka czynnościwstępnych.Pierwsząznich jest załadowaniepakietumakeidx i użyciewpre-ambule polecenia \makeindex. Drugą – wydanie polecenia \printindexwmiejscu, gdzie skorowidzmasiępojawić (prawdopodobniewokolicachkoń-cadokumentu).Niestety, na tymproste czynności się kończą, bowiemtrzeciaz nich to samo przygotowanie skorowidza.

Page 104: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 96

\index

De facto oznacza to, żew odpowiednim miejscuw indeksie zostanie wywo-łane polecenie \see z od-powiednim parametrem.

De facto oznacza to, żew odpowiednim miejscuw indeksie zostanie wywo-łane polecenie \see z od-powiednim parametrem.

\renewcommand\indexname

Instalacja i konfiguracjaprogramu texindy opisa-na jest w Dodatku C: Śro-dowisko pracy do wersjielektronicznej tej książki.

Instalacja i konfiguracjaprogramu texindy opisa-na jest w Dodatku C: Śro-dowisko pracy do wersjielektronicznej tej książki.

Spis haseł do skorowidzaLATEX umieszcza w plikuz rozszerzeniem idx; po-sortowana lista trafia dopliku z rozszerzeniem ind.

Spis haseł do skorowidzaLATEX umieszcza w plikuz rozszerzeniem idx; po-sortowana lista trafia dopliku z rozszerzeniem ind.

Przygotowanie skorowidza polega na umieszczeniu w miejscach, do któ-rych powinny się w nim znaleźć odwołania, polecenia \index. Polecenie tow najprostszej postaci ma jeden argument – hasło do skorowidza.

Może się jednak zdarzyć, że z różnych powodów ta prosta forma polece-nia\index namniewystarczy. Jedną z takich sytuacji jest ta, w której indek-sowanehasło zawieranp. formułymatematyczne, comoże spowodowaćpro-blemyprzy sortowaniualfabetycznym.Wtakimprzypadkumożemyużyć for-my\index⟨klucz⟩@⟨hasło⟩; w indeksie,wmiejscu,wktórym (zgodnie z po-rządkiem alfabetycznym) pojawiłby się ⟨klucz⟩, pojawi się wówczas ⟨hasło⟩.

Często spotyka się też indeks wielopoziomowy (choć więcej niż dwa po-ziomy wydają się w większości przypadków zbędną ekstrawagancją). Wów-czas hasło „podstawowe” od „podhasła” oddzielamywykrzyknikiem.

Wreszcie, może się zdarzyć, że będziemy chcieli umieścić w indeksie od-wołanieniedo tekstugłównego, ale do innegohasła.Wtakimprzypadkuuży-wa się (nieco dziwnej) składni \index⟨hasło1⟩|see⟨hasło2⟩.

Dla porządku odnotujmy jeszcze, że tytuł rozdziału ze skorowidzem(domyślnie „Index” lub „Skorowidz”, gdy używamy pakietu polski) moż-na zmienić poleceniem \renewcommand, definiując ponownie polecenie\indexname. W powyższym przykładzie zrobiliśmy to tuż przed wywoła-niem polecenia \printindex.

Niestety, na tym praca autora skorowidza się nie kończy (choć pozostałjuż tylko jeden drobiazg). LATEX nie potrafi (niestety) sam posortować skorowi-dza alfabetycznie. Do sortowania skorowidzy w języku angielskim służy pro-gram makeindex. Jeśli chcemy posortować skorowidz polski, najwygodniejużyć programu texindy. Wywołuje się go z linii poleceń komendą

texindy ⟨plik⟩.idx -L polish -C ⟨kodowanie⟩

gdzie ⟨kodowanie⟩ to np. utf8 lub cp1250. Cały cykl pracy wygląda więcnastępująco: przetwarzamy plik LATEXem (być może więcej niż jeden raz, byzadziałały odwołania i spis treści), następnie sortujemy skorowidz progra-mem texindy, wreszcie raz jeszczewywołujemy LATEXa, aby umieścił posor-towany skorowidz w dokumencie.

Page 105: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 97

Spis treści

Rozdział 1. Lorem ipsum . . . . . . . . . . . . . . 31.1. Nam dui ligula . . . . . . . . . . . . . . . . . . 3

1.1.1. Nulla malesuada . . . . . . . . . . . . 3

Lorem ipsum . . . . . . . . . . . . . . . . . . . . . . 5Nam dui ligula . . . . . . . . . . . . . . . . . . . . . 5

Nulla malesuada . . . . . . . . . . . . . . . . . 5

Rysunek 13. Wyciąg z dokumentu wynikowego (strona 1)

Page 106: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 98

Spis treści i inne spisy

Wyciąg z dokumentu wynikowego pokazano na rysunku 13, s. 97.

% automatyzacja-spis.tex\documentclassmwbk\usepackagepolski\usepackagelatex-ksiazka-kucharska

\begindocument\tableofcontents\chapterLorem ipsumLorem ipsum dolor sit amet.

\sectionNam dui ligulaNam dui ligula, fringilla a, euismod sodales.

\subsectionNulla malesuadaNulla malesuada porttitor diam.

\chapter*Lorem ipsumLorem ipsum dolor sit amet.

\section*Nam dui ligulaNam dui ligula, fringilla a, euismod sodales.

\subsection*Nulla malesuadaNulla malesuada porttitor diam.\enddocument

Dzięki znakowaniu semantycznemu, o którym mówiliśmy w pierwszejczęści książki, LATEXwie, jak brzmią tytuły rozdziałów czy paragrafów. Niewi-dać więc powodu, dla którego mielibyśmy ręcznie przygotowywać spis tre-ści. Wprawdzie sposobów, na jakie można opracować wygląd takiego spisusąpewnie setki, poprzestaniemy tutaj jednakna standardowymukładzie gra-

Page 107: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 99

\tableofcontents

Można to zmienić pole-ceniem typu \setcoun-tertocdepth5.

Można to zmienić pole-ceniem typu \setcoun-tertocdepth5.

Jeżeli spis treści znajdu-je się na początku doku-mentu i zajmuje więcejniż jedną stronę, po dru-giej kompilacji, gdy LATEXpo raz pierwszy włączaspis treści do dokumen-tu, cały następujący ponim tekst przesuwa się doprzodu o jedną lub wię-cej stron, zatem potrzebakolejnej kompilacji, by nu-mery stron w spisie treściodpowiadały faktycznejzawartości pliku.

Jeżeli spis treści znajdu-je się na początku doku-mentu i zajmuje więcejniż jedną stronę, po dru-giej kompilacji, gdy LATEXpo raz pierwszy włączaspis treści do dokumen-tu, cały następujący ponim tekst przesuwa się doprzodu o jedną lub wię-cej stron, zatem potrzebakolejnej kompilacji, by nu-mery stron w spisie treściodpowiadały faktycznejzawartości pliku.

\listoftables\listoffigures

ficznym proponowanym przez twórców LATEXa. Dzięki temu oszczędzimy teżsobie pracyprzy jegomodyfikowaniu. (Gdybyśmy jednakbardzo chcieli zmie-nić wygląd spisu treści, możemyw tym celu użyć np. pakietu tocloft.) Spistreści umieszcza sięwwybranymmiejscu (zazwyczaj na początku książki lubartykułu) poleceniem \tableofcontents.

Zwróćmy uwagę, że spis treści obejmuje domyślnie rozdziały, paragrafyi podparagrafy, zaś jednostki niższego rzędu już się w nim nie pojawiają.

Wprawdzienie trzebawiedziećdokładnie,w jaki sposóbLATEX tworzy spistreści, należy jednak pamiętać o podstawowej zasadzie. Na początku doku-mentu, gdzie spis treści ma być umieszczony, LATEX nie wie jeszcze, na jakąstronę trafi który rozdział. To oznacza, że w celu umieszczenia spisu treściLATEX korzysta z informacji zapisanych podczas poprzedniego przebiegu kompila-cji. Oznacza to, że aby uzyskać poprawny spis treści, należy skompilować plikdwukrotnie, a czasami nawet trzykrotnie.

Podobnie jak spis treścimożna umieścićw dokumencie spisy tabel czy ry-sunków. Służą do tego polecenia \listoftables oraz \listoffigures,które należy umieścić wmiejscu, gdzie mają się one pojawić.

Page 108: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 100

Bibliografie

Książka [1] zawiera sporo ciekawych rzeczy, zaś – dlaodmiany – artykuł [2] zawiera głównie bzdury.

Bibliografia

[1] Marcin Borkowski i Bartłomiej Przybylski. LATEX.Książka kucharska. Warszawa: PTM, 2015.

[2] Alan D. Sokal. “Transgressing the Boundaries: To-ward a Transformative Hermeneutics of QuantumGravity”. W: Social Text 46/47 (1996), s. 217–252.

1

% automatyzacja-bibliografia.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackage[language=polish]biblatex\addbibresourceautomatyzacja-bibliografia.bib

\begindocumentKsiążka~\citelatex-kk zawiera sporo ciekawych rzeczy,zaś\ppauza dla odmiany\ppauza artykuł~\citesokalzawiera głównie bzdury.

\printbibliography\enddocument

Page 109: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 101

% automatyzacja-bibliografia.bib@articlesokal,author = Sokal, Alan D.,title = Transgressing the Boundaries: Toward

a Transformative Hermeneutics ofQuantum Gravity,

journaltitle = Social Text,date = 1996,volume = 46/47,pages = 217-252,

@booklatex-kk,author = Borkowski, Marcin and Przybylski,

Bartłomiej,title = \LaTeX. Książka kucharska,date = 2015,publisher = PTM,location = Warszawa,

Ważnączęściąwielupublikacji jest bibliografiaczy spis literatury. Jakwia-domo każdemu, kto kiedykolwiek taki spis sporządzał, jego przygotowaniejest żmudną i nie nazbyt ciekawą pracą. Na szczęście LATEX zapewnia narzę-dzia, które wprawdzie nie czynią tej pracy fascynującą, ale na pewno mniejżmudną. Dzięki temu bibliografia ma też szansę zawierać mniej błędów –komputerymylą się dużo rzadziej niż ludzie wykonujący bezmyślną pracę.

Istnieją przynajmniej trzy narzędzia LATEXowe wspomagające proces spo-rządzania bibliografii. Najstarszym jest bibtex, program napisany w latachosiemdziesiątych ubiegłego stulecia przez Orena Patashnika. Niestety, na-rzędzie to nie bardzo pozwala na lokalizację spisów literatury, co raczej wy-klucza je zobszarówzastosowań,wktórych językdokumentu jest innyniż an-gielski. Nowszym narzędziem, powstałym na początku obecnego wieku, jestamsrefs – pakiet służący do składu bibliografii i cytowań, napisany przezMichaela Downesa i rozwijany po jego śmierci przez DavidaM. Jonesa, a fir-

Page 110: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 102

Format nazwiska jest taknaprawdę dużo bardziejskomplikowany i pozwalana używanie przyrostków(jak von) i przyrostków (jakjr), ale te subtelności pomi-niemy.

Format nazwiska jest taknaprawdę dużo bardziejskomplikowany i pozwalana używanie przyrostków(jak von) i przyrostków (jakjr), ale te subtelności pomi-niemy.

\addbibresource\printbibliography\cite

Opis instalacji i konfigura-cji tego narzędzia znajdujesię w Dodatku C: Środo-wisko pracy, dołączonymdo wersji elektronicznej tejksiążki.

Opis instalacji i konfigura-cji tego narzędzia znajdujesię w Dodatku C: Środo-wisko pracy, dołączonymdo wersji elektronicznej tejksiążki.

mowany przez American Mathematical Society. Jest to bardzo dobry pakiet,którego nie opiszemy tylko dlatego, że zajmiemy się najnowszym (pierwszastabilna wersja została opublikowanaw 2010 roku) i obecnie najlepszym pa-kietem obsługującym bibliografie o nazwie biblatex.

Pewien problem z pakietem biblatex polega na tym, że jest on rozbu-dowanym oraz skomplikowanym narzędziem z wieloma możliwościami do-stosowania do najrozmaitszych sposobów cytowania i tworzenia bibliografii.My nie będziemy analizować jego bardziej zaawansowanychmożliwości, od-syłając zainteresowanych do jego bogatej dokumentacji.

Tworzeniebibliografiiprzyużyciupakietubiblatexpoleganaprzygoto-waniu pliku z bazą danych cytowanych źródeł. Plik ten powinienmieć rozsze-rzenie .bib i format podobny, jak to widzimy w przykładzie. Warto zauwa-żyć kilka spraw. Po pierwsze, każda pozycja w spisie literatury ma etykietę,której używa się później do jej cytowania. Etykietami bibliografii rządzą tesame zasady, co każdymi innymi (por. s. 92).

Podrugie,wprzypadku cytowania książki, artykułu czy innego źródłama-jącegowięcejniż jednegoautora,oddzielamyautorówciągiemznaków and(słowo „and” otoczone z obu stron znakiem odstępu). W przypadku, gdybysłowo „and” (ze spacjami) było częścią nazwiska autora (co jest możliwe np.wprzypadku, gdy jako autor figuruje instytucja, w której nazwie to słowowy-stępuje), najprościej całą tę nazwęwziąć w nawiasy klamrowe.

Po trzecie, dane autora najlepiej wpisywać w formie „Nazwisko, Imię”,przy czym zarówno nazwisko, jak i imięmoże składać się z kilku części.

Poczwarte, zwróćmyuwagę, żepodającopcję[language=polish]pa-kietowi biblatex automatycznie uzyskujemy spolszczoną bibliografię.

Po piąte, aby uzyskać bibliografię, w pliku LATEXowym musimy umieścićkilka rzeczy. Dołączamy pakiet biblatex, deklarujemy nazwę pliku z baządanych o cytowanych pozycjach (polecenie \addbibresource), wreszcieumieszczamy samą bibliografię (polecenie \printbibliography). Cyto-wane w tekście prace oznaczamy poleceniem \cite, którego argumentemjest nadanawcześniej (w pliku bib) etykieta.

Po szóste, LATEXniestety samnie potrafi przygotować bibliografii – trzebamu w tym pomóc. Po dokonaniu kompilacji wywołujemy program biber.Narzędzie tozajmiesięm.in.wyłuskaniemzbibliografiipozycji, które faktycz-

Page 111: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Automatyzacja 103

nie były cytowane i posortowaniem ich alfabetycznie. Po ponownej kompila-cji LATEXem otrzymujemy plik PDF z bibliografią.

Możliwości pakietubiblatex są dużo, dużowiększe.Możemyprzy jegoużyciu m.in. umieścić w dokumencie kilka bibliografii czy stosować inny niżliczbywnawiasachkwadratowychstyl cytowania; te zagadnieniawykraczająjednak poza ramy niniejszej książeczki.

Page 112: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele

Skład tabel jest kwestią złożoną. Pierwszym problemem jest samo przy-gotowanie tabeli; drugim, umieszczenie jej na stronie, z podpisem (automa-tycznie numerowanym), w odpowiednim miejscu. Ponieważ tabela powinnamieścić się na jednej stronie (o ile to możliwe), nie zawszemożna umieścić jąw miejscu, w którym polecenia za nią odpowiedzialne są umieszczone w pli-ku źródłowym. Na przykład, jeżeli do końca strony zostało, powiedzmy, pięćwierszy, a autor w tym miejscu umieści kod tabeli wysokości sześciu wier-szy,możemyalbo złożyć ją odnowej strony (co skutkuje brzydką, białą plamąna poprzedzającej stronie), albo przenieść ją w jakieś inne, rozsądnemiejsce(np.nagóręstrony). LATEXstosuje todrugie rozwiązaniewsposóbautomatycz-ny, co z jednej strony jest bardzowygodne, z drugiej zaś nie zawsze jest łatwedo kontrolowania (niejeden temat na forach dotyczących LATEXa zaczyna sięod pytania „co zrobić, żeby moje tabele były tam, gdzie ja chcę, a nie gdziechce LATEX?”). W tym rozdziale poruszone zostały liczne zagadnienia związa-ne z tą tematyką.

Page 113: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 105

Najprostsza tabela

foobar barbaz bazqux

123 456 789abc def ghi

1

% tabele-prosta.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagebooktabs

\begindocument\begincenter\begintabularlcr\toprulefoobar & barbaz & bazqux \\\midrule123 & 456 & 789 \\abc & def & ghi \\\bottomrule

\endtabular\endcenter\enddocument

Chociaż LATEXumożliwia składanie tabel bezwykorzystania dodatkowychpakietów, najlepszym (zpowodówestetycznych) narzędziemdoskładu tabeljest pakietbooktabs. Zwróćmyuwagęna trzy cechy, któreodróżniają ładnetabele od brzydkich: po pierwsze, w ładnej tabeli nie powinno być linii piono-wych; po drugie, w ładnej tabeli nie powinno być linii podwójnych; po trzecie,

Page 114: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 106

\toprule\midrule\bottomrule

\\

nazwa tego symbolu bie-rze się stąd, że stanowion ligaturę, czyli połączonekształty liter „e” oraz „t” –co widać jeszcze w niektó-rych fontach. Po łacinie etznaczy „i”.

nazwa tego symbolu bie-rze się stąd, że stanowion ligaturę, czyli połączonekształty liter „e” oraz „t” –co widać jeszcze w niektó-rych fontach. Po łacinie etznaczy „i”.

ładna tabela nie może się dusić – potrzebuje dużo światła (zarówno międzywierszami, jak i kolumnami). Pakiet booktabs pomaga nam w przestrzega-niu tych zasad.

Jakwidać, przykładowa tabela jestwycentrowana (odpowiada za tooczy-wiście środowisko center) – teoretycznie nie musi tak być (chociaż nie wi-dać powodów, żeby tabele wyrównywać do lewego marginesu). Za samą ta-belę odpowiada środowisko tabular, którego parametr obowiązkowy opi-suje strukturęwiersza tabeli. Nasza tabela składa się z trzech kolumn, pierw-szej wyrównanej do lewej strony (l), drugiej wycentrowanej (c) i trzeciejwyrównanej do prawej strony (r). Linie składamy poleceniami \toprule,\midrule i \bottomrule; jak widać, górna i dolna linia są nieco szersze,różnią się też ilością wolnego miejsca przed i po linii (co łatwo sprawdzić za-mieniając polecenia\toprule i\bottomrulemiejscami). Każdywiersz ta-beli kończy się poleceniem \\, zaś poszczególne komórki w ramach jednegowiersza oddziela się etką; przed i po poleceniu \\ i znaku & można dodaćdowolną liczbę spacji, dzięki czemu kod tabeli w pliku źródłowymbędzie bar-dziej czytelny (czy – realistycznie patrząc – raczej mniej nieczytelny...).

Komórki wielowierszowe

Liczba Komentarz

1 Jedynka to interesująca liczba,gdyż nie jest ani pierwsza, anizłożona.

2 Dwójka to interesująca liczba,gdyż jest jedyną parzystą liczbąpierwszą.

1

Page 115: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 107

% tabele-wielowierszowe.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackage[utf8]inputenc\usepackagepolski\usepackagebooktabs

\begindocument\begincenter\begintabularcp5cm\topruleLiczba & Komentarz \\\midrule1 & Jedynka to interesująca liczba, gdyż nie jest

ani pierwsza, ani złożona. \\2 & Dwójka to interesująca liczba, gdyż jest jedyną

parzystą liczbą pierwszą. \\\bottomrule

\endtabular\endcenter\enddocument

Niekiedy zawartość komórki tabeli jest długa, i jest sens rozdzielić ją nadwa lub więcej wierszy. Zamiast używać kodów lcr, oznaczających odpo-wiednio kolumny wyrównane do lewej, wycentrowane i wyrównane do pra-wej, można wówczas użyć kodu p..., który nakazuje LATEXowi złożyć ko-lumnę zadanej szerokości,wktórej komórkimogą składać się zwieluwierszy.

Page 116: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 108

Gdzie jest moja tabelka?

Tabela 1. Przykładowa tabela

foobar barbaz bazqux

123 456 789abc def ghi

W tabeli 1 można znaleźć pewne dane, które z pew-nością wstrząsną czytelnikiem.

Spis tabel

1. Przykładowa tabela . . . . . . . . . . . . . . . . . 1

1

% tabele-gdzie.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackagebooktabs

\begindocumentW~tabeli~\reftab:przykladowa-tabela można znaleźćpewne dane, które z~pewnością wstrząsną czytelnikiem.\begintable\centering\captionPrzykładowa tabela

Page 117: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 109

\centering

\caption

\labeltab:przykladowa-tabela\begintabularlcr\toprulefoobar & barbaz & bazqux \\\midrule123 & 456 & 789 \\abc & def & ghi \\\bottomrule

\endtabular\endtable

\listoftables\enddocument

Jak już zauważyliśmywewstępie do tego rozdziału, pewnymproblememjest znalezienie dla tabeli właściwegomiejscawdokumencie; jeśli tak się zło-ży, że kod tabeli wypadnie w miejscu znajdującym się blisko dołu strony, ta-bela powinna „przepłynąć” gdzieś indziej. Z tego powodu tabele (a także np.rysunki) sąwLATEXu realizowaneprzez tzw. „elementypływające” (ang.floats).„Pływającą” tabelę otaczamy środowiskiem table. Ponieważ dba ono owła-ściwe odstępy pionowe nad i pod tabelą, nie należy wewnątrz niego używaćśrodowiskacenter (którewprowadzadodatkowowłasneodstępy); zamiasttego, centrujemy tabelę poleceniem \centering.

Polecenie \listoftables, wspomniane na s. 99, pozwala łatwo uzy-skać spis wszystkich tabel umieszczonych w dokumencie przy użyciu środo-wiska table.

Ponieważ tabelamożeznajdowaćsięniecodalej, niżmiejsce,wktórymzo-staławstawiona, logiczne jest, żenależy jązaopatrzyćwpodpis. Służydotegopolecenie \caption. Oczywiście, podpisy są (standardowo) automatycznienumerowane, a skoro tabelemają numery, można się na nie powoływać. Zarazpo poleceniu \captionmożna wstawić polecenie \label, i następnie uży-wać komend \ref oraz \pageref do wstawiania numeru tabeli i numerustrony, na której ona występuje.

Oczywiście, czasami chcemy, aby tabela jednak znalazła się dokładniew tym miejscu, w którym chcemy, a nie tam, gdzie umieści ją LATEX – nie za-

Page 118: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 110

wsze umieszcza on tabele dokładnie tam, gdzie życzy sobie tego użytkow-nik.W takiej sytuacji można środowisku table podać dodatkowy argumentopcjonalnyh (gdy chcemy, by tabela znalazła sięwłaśniewtymmiejscu, gdziezostała wpisana do pliku źródłowego). Można też użyć litery b (ang. bottom),t (ang. top) lub p (ang. page), gdy chcemy, by tabela znalazła się odpowiednio:na dole strony, na górze strony lub na osobnej stronie.

Można też podać kilka liter; np. argument ht oznacza, że tabela ma byćwtymmiejscu, gdzie jest środowiskotable, a gdyby tobyłoniemożliwe – bonp. miejsce to wypada na samym dole strony, a tabela jest spora – wówczaschcemy, by znalazła się na górze strony.

W tabeli 1 można znaleźć ważne dane.

Tabela 1. Przykładowa tabela

123 456 789

1

% tabela-gdzie-2.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackagebooktabs

\begindocumentW~tabeli~\reftab:przykladowa-tabela można znaleźćważne dane.\begintable[htbp]

Page 119: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 111

\centering\captionPrzykładowa tabela\labeltab:przykladowa-tabela\begintabularrrr\toprule123 & 456 & 789 \\\bottomrule

\endtabular\endtable\enddocument

Tabele nienumerowane

Przykładowa tabela bez numeru

123 456abc def

Tabela 1. Przykładowa tabela z numerem i kropką po nim

123 456abc def

A tu reszta dokumentu.

1

% tabele-nienumerowane.tex\documentclassmwart

Page 120: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 112

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackagebooktabs\usepackageccaption\captiontitlefont\small\captiondelim.

\begindocument\begintable\centering\legendPrzykładowa tabela bez numeru\begintabularcc\toprule123 & 456 \\abc & def \\\bottomrule

\endtabular\endtable

\begintable\centering\captionPrzykładowa tabela z~numerem i~kropką po nim\begintabularcc\toprule123 & 456 \\abc & def \\\bottomrule

\endtabular\endtableA~tu reszta dokumentu.\enddocument

Standardowe podpisy są automatycznie numerowane i zawierają słowo„tabela”, po którym następuje numer. Możemy jednak chcieć umieścić w na-szym dokumencie tabelę nienumerowaną (na przykład wówczas, gdy jest tojedyna tabela w całym tekście). Jednym ze sposobów jest użycie (zamiast

Page 121: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 113

\legend

\captiondelim

polecenia \caption) polecenia \legend z pakietu ccaption. Pakiet tenpozwala na różnoraką modyfikację wyglądu podpisów. Niestety, niweczy onwysiłek klasymwart (czymwbk), która pilnuje, by po numerze tabeli następo-wała (polskim zwyczajem) kropka, a nie dwukropek. Nic straconego: pakietccaption pozwala to zmienić przy użyciu polecenia \captiondelim.

Warto przestudiować jego dokumentację, jeżeli standardowy wyglądpodpisów tabel czy grafik namnie odpowiada. Istnieje też konkurencyjny pa-kiet caption, również pozwalający na daleko idące modyfikacje wyglądupodpisów.

Łączenie komórekw poziomie

foobar barbaz bazqux

123 456 789

abc qwerty

1

% tabele-poziom.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagebooktabs

\begindocument\begincenter\begintabularlcr\toprulefoobar & barbaz & bazqux\\\midrule

Page 122: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 114

\multicolumn

\cmidrule

123 & 456 & 789 \\\cmidrule(lr)2-3abc & \multicolumn2cqwerty \\\bottomrule

\endtabular\endcenter\enddocument

Stosunkowoczęsto zachodzi potrzebapołączenia komórekwtabeli. Łącze-nie komórek w poziomie (tj. łączenie kilku komórek leżących w tym samymwierszu) jest proste; wystarczy w odpowiednim miejscu wstawić polecenie\multicolumn. Przyjmuje ono trzy parametry: liczbę komórek do połącze-nia, styl komórki powstałej z połączenia (np. l, c lub r) i zawartość połączo-nychkomórek.Wnaszymprzykładzie łączymydwiekomórki, tekstwpowsta-łejw ten sposób komórce centrujemyoraz umieszczamy tam słowo „qwerty”.

Jak widać, możemy też narysować linię poziomą szerokości części tabeli.Służy do tego polecenie \cmidrule z pakietu booktabs. Ma ono dość nie-standardowąskładnię, czyli parametropcjonalnywnawiasachokrągłych. Lite-ry lr oznaczają, że linia tama zostać skrócona tak z lewej, jak i z prawej stro-ny; daje todużobardziej eleganckiwyglądniż linia rozciągająca się przez całąszerokość kolumny (lub kolumn). Parametr obowiązkowy 2-3 oznacza, że li-nia ma się rozciągać od drugiej do trzeciej kolumny. Polecenie \cmidrulema tak naprawdę jeszcze jeden parametr opcjonalny, który można umie-ścić – w nawiasach kwadratowych – przed parametrem w nawiasach okrą-głych. Jest to grubość linii – ale tej lepiej nie zmieniać.

Page 123: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 115

\multirow

Łączenie komórekw pionie

foobar barbaz bazqux

qwerty123 asdf456

1

% tabele-pion.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagebooktabs\usepackagemultirow

\begindocument\begincenter\begintabularlcr\toprulefoobar & barbaz & bazqux \\\midrule\multirow21.5cmqwerty

& 123 &\multirow21.5cm[1ex]asdf \\& 456 & \\

\bottomrule\endtabular

\endcenter\enddocument

Łączenie komórek w pionie (tj. łączenie kilku komórek leżących w jednejkolumnie) jest w LATEXu nieco trudniejsze. Służy do tego pakiet multirow.Definiuje on polecenie\multirow, które przyjmuje pięć parametrów, z cze-

Page 124: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Tabele 116

go trzy obowiązkowe. Pierwszy parametr (obowiązkowy) określa liczbę ko-mórek, które łączymy. Drugi parametr (opcjonalny) pominiemy jako potrzeb-ny w bardziej skomplikowanych tabelach. Trzeci parametr (obowiązkowy)określa szerokość tekstu, który umieścimyw łączonych komórkach. Czwartyparametr (opcjonalny) pozwala ręcznie wypozycjonować tekst, który ma sięznaleźćwpołączonych komórkach; jest to po prostu odległość, o którą tenżetekst będzie przesunięty w górę w stosunku do domyślnego umiejscowienia(oczywiście, podając odległość ujemną, otrzymamy przesunięcie w dół). Od-ległość tęwartopodaćw jednostkachex, któreskalują się razemzestopniempisma, co oznacza, że w przypadku zmiany rozmiaru liter, odległość podanaw ex ma szansę pozostać poprawna. Wreszcie, piąty parametr (obowiązko-wy) to tekst, któryma się znaleźć w połączonych komórkach.

Page 125: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kolory

Kolory są – wbrewpozorom – bardzo skomplikowanąsprawą.Wtymroz-dziale krótko opowiemy, jak można przydać barw dokumentom LATEXowym,korzystając z predefiniowanych kolorów, a następnie pokażemy, jak definio-wać własne kolory.

Zanim poświęcimy kilka stron na omówienie kwestii wielobarwnych do-kumentów, najpierwkilka słówostrzeżenia. Jeżeli naszymcelem jest tworze-nie dokumentów nieestetycznych i nieczytelnych, używanie wielu kolorówjest jednym z najprostszych sposobów. Jeżeli natomiast zależy nam na ele-ganckim i czytelnym składzie, warto ograniczyć kolory do minimum. (Liczbakolorówma też znaczący wpływ na koszt druku.)W zasadzie można przyjąć,że (niemal) jedynymi miejscami, w których użycie kolorów jest uprawnione,są rysunki i wykresy oraz prezentacje; w tekście drukowanym rozsądnie jestpozostać przy tradycyjnej czerni i bieli, ewentualniewzbogaconej dobrzewy-branymodcieniem szarości. Jeżeli zdecydujemy się na kolory – czy nawet od-cień szarości – należy koniecznie sprawdzić, czy postać dokumentu na urzą-dzeniu docelowym jest satysfakcjonująca – kolory potrafią płatać figle, za-równo na drukarkach czy maszynach drukarskich, jak i na rzutnikach kom-puterowych.

Page 126: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kolory 118

Istnieje jeszcze pakietxxcolor, rozszerzającymożliwości pakietu xco-lor, ale omawianie tegorozszerzenia wykracza po-za zakres naszej książeczki.

Istnieje jeszcze pakietxxcolor, rozszerzającymożliwości pakietu xco-lor, ale omawianie tegorozszerzenia wykracza po-za zakres naszej książeczki.

\textcolor

\colorbox

Nadawanie koloru elementom dokumentu

Co z oczu, to z serca .

1

% kolor-wbudowany.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagexcolor

\begindocument\pagecolorlightgray\textcolorwhiteCo z~oczu, to z~\colorboxgrayserca.\enddocument

Standardowy LATEX niestety nie zna się na kolorach; na szczęście już daw-no dostrzeżono tę niedogodność i zaradzono jej, najpierw za pomocą pakie-tu color, a następnie za pomocą rozszerzającego jego możliwości pakietuxcolor.

Podstawowym poleceniem pakietu xcolor jest \textcolor, które-go pierwszy parametr to określenie (np. nazwa) koloru, a drugi – tekst,który ma być nim złożony. Standardowo dostępne (zdefiniowane przezpakiet xcolor) nazwy kolorów to: red, green, blue, cyan, magenta,yellow, black, gray, white, darkgray, lightgray, brown, lime,olive, orange, pink, purple, teal, violet (zamiast tłumaczyć nazwyte na język polski, co osobom mniej biegłym w nazywaniu kolorów i tak niepomogłoby zbyt wiele, polecamy samodzielnie je wypróbować).

Możemy również użyć danego koloru jako tła, korzystając z polecenia\colorbox. Również i ono przyjmuje dwa parametry, określenie kolorui tekst, lecz tym razem podany kolor będzie kolorem tła. Uwaga: jak sama na-

Page 127: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kolory 119

\pagecolor

\definecolor

zwawskazuje, polecenie to umieszcza podany tekst w „pudełku”, co oznaczam.in., że nie może on być złamanymiędzy wierszami.

Trzecim z podstawowych poleceń pakietu xcolor jest \pagecolor,które zmienia kolor tła strony. Poza bardzo szczególnego rodzaju dokumen-tami, jak np. ulotki reklamowe, nie widać powodu, dla którego jego użyciemiałoby sens w dokumentach przeznaczonych do wydruku, a nie do ogląda-nia na ekranie.

Mieszanie farb

Co z oczu , to z serca .

1

% kolor-mieszanie.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagexcolor\definecolorbookgreenRGB0,226,181

\begindocument\textcolorblue!30!blackCoz~\colorboxbookgreenoczu, toz~\colorboxgray!20serca.

\enddocument

Może się zdarzyć, że proponowany przez pakietxcolor zestaw kolorówokaże się niewystarczający. Możemy sobie z tym problemem poradzić nadwa sposoby. Pierwszy z nich to definiowanie własnego koloru przy użyciupolecenia \definecolor. Podajemymu: nazwę definiowanego koloru,mo-

Page 128: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Kolory 120

del kolorów oraz liczbowe określenie koloru. Pakiet xcolor pozwala korzy-stać z całkiem pokaźnej ilości modeli kolorów; pewnie najprostszym w uży-ciu jest tzw. model addytywny RGB, w którym kolor jest definiowany przyużyciu trzech składowych – czerwonej (ang. red), zielonej (ang. green) i nie-bieskiej (ang. blue). W tym modelu każda ze składowych jest liczbą całkowi-tą z przedziału [0, 255]; trzy maksymalne wartości odpowiadają kolorowibiałemu, trzy zera – czarnemu, pozostałe kombinacje – różnym proporcjomtrzech barw podstawowych.

Bardzowygodną cechą pakietu xcolor (i zarazem jedną z różnicmiędzynim a prostszym pakietem color) jest możliwość mieszania kolorów.W po-danymprzykładziemamytekstwkolorze składającymsięw30%zkolorunie-bieskiego i w 70% z koloru czarnego oraz tło składające się w 20% z koloruszarego i w 80% z koloru białego.

Page 129: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Temat tworzenia grafikwykracza poza ramy tejksiążki, jednak zaintere-sowanych Czytelnikówzachęcamy do zbadaniamożliwości pakietu tikz.

Temat tworzenia grafikwykracza poza ramy tejksiążki, jednak zaintere-sowanych Czytelnikówzachęcamy do zbadaniamożliwości pakietu tikz.

Grafiki

W wielu typach dokumentów zachodzi potrzeba użycia takich elemen-tów, jak zdjęcia, wykresy, diagramy czy rysunki, słowem – ilustracje. Jak sięokazuje, LATEXmożenampomócwprzygotowaniuniektórychtypówilustra-cji, jak diagramy czy wykresy; inne, jak zdjęcia, będą pochodzić z innych źró-deł.WtymrozdzialenauczymysięwłączaćdodokumentuLATEXowego ilustra-cje zapisane w oddzielnych plikach.

Page 130: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 122

Dołączanie grafiki

1

% grafiki-dolaczanie.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagegraphicx

\begindocument\begincenter\includegraphics[width=5cm]xkcd-1301

\endcenter\enddocument

Powyższy przykład ilustruje bodaj najprostszy sposób włączania grafikido tekstuwLATEXu.Zamiastpodawaćszerokość (ang.width),możnapodaćwy-

Page 131: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 123

sokość (ang. height); drugi wymiar zostanie automatycznie dostosowany tak,by zachować proporcje obrazu.

Gdy używamy do kompilacji programu pdflatex lub xelatex, możnawłączać grafiki następujących typów: pdf, png, jpg (i kilku innych, rzadziejużywanych). Gdyby oprócz pliku xkcd-1301.png znajdowały się w bieżą-cym folderze np. pliki xkcd-1301.pdf i/lub xkcd-1301.jpg, jako pierw-szy byłby użyty plik PDF. Pod jego nieobecność LATEX próbuje użyć pliku png,a na końcu jpg. Oznacza to w szczególności, że próba dołączenia do doku-mentuplikuonazwie takiej samej, jaknazwaplikuLATEXowego,wymagapoda-nia rozszerzenia – inaczej LATEX będzie próbował dołączyć właśnie tworzonyplik pdf, z opłakanymi skutkami.

1

% grafiki-dolaczanie-2.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagegraphicx

\begindocument\begincenter\includegraphics[width=0.75\textwidth,

Page 132: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 124

\textwidth\textheight\baselineskip

height=8\baselineskip,keepaspectratio]xkcd-1301

\endcenter\enddocument

Dołączając grafikę, można też podać zarówno wysokość, jak i szerokość;oczywiście, jeżeli proporcje podanych wymiarów będą inne niż oryginalne,będzie to skutkowało zniekształceniem obrazu.Możemy tego uniknąć poda-jąc dodatkowy parametr keepaspectratio. Wówczas podane wysokośći szerokośćbędą traktowane jakomaksymalne i – o ilepodanewymiarymiałyinne proporcje niż oryginalne rozmiary obrazu – jeden z wymiarów w doku-mencie będzie mniejszy niż podany.

Powyższy przykład ilustruje też ważną technikę: podawanie wymiaróww stosunku do innychwymiarów charakteryzujących dokument. Oprócz sze-rokości kolumnytekstu (\textwidth),możnawykorzystaćnp.wysokośćko-lumny (\textheight), a także np. podaćwysokość jakowielokrotność odle-głości dwóch sąsiednich linii (\baselineskip).

Page 133: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 125

Wersje testowe dokumentu

xkcd-1301.png

1

% grafiki-szkic.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackage[draft]graphicx

\begindocument\begincenter\includegraphics[width=5cm,

height=5cm,keepaspectratio]xkcd-1301

\endcenter\enddocument

Dołączanie grafik (szczególnie zdjęć wwyższej rozdzielczości) powodujezarówno wzrost rozmiaru pliku PDF, jak i wydłużenie czasu jego generowa-nia.Wprzypadkupliku zwiększą liczbą zdjęćmoże tobyć kłopotliwe – szcze-

Page 134: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 126

gólnie, jeżeli mamy zwyczaj częstej kompilacji dokumentu.Wówczas przyda-je się opcjadraft pakietugraphicx. Powoduje ona, żewmiejsce grafik po-jawią się jedynie ramki z nazwą pliku.

Można też podać dodatkowo opcję draft przy wywołaniu polecenia\includegraphics – wówczas dotyczyć będzie ona tej konkretnej grafiki,a niewszystkich zdjęćwdokumencie.Wygodniej jest jednakużyćopcji pakie-tu – wówczaswystarczywprowadzić jedną zmianęwcałympliku, żebywyge-nerować docelowąwersję ze wszystkimi obrazami.

Grupowanie grafik

Tabela 1. Dwie tabele

(a) tabela a

123 456789 abc

(b) tabela b

foo barbaz qux

Patrz też rysunek 1, części (a), (b) i (c).

1

Rysunek 14. Wyciąg z dokumentu wynikowego (strona 1)

Page 135: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 127

(a) Pierwszy rysunek (b) Drugi rysunek (ob-rócony)

(c)

Rysunek 1. Trzy rysunki obok siebie

2

Rysunek 15. Wyciąg z dokumentu wynikowego (strona 2)

Page 136: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 128

% grafiki-grupowanie.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackagegraphicx\usepackagesubfig\captionsetuplabelseparator=period\captionsetupjustification=centerlast

\begindocument\beginfigure\centering\subfloat[Pierwszy rysunek]%\includegraphics[width=3cm]xkcd-1301%\labelrys:pierwszy

\qquad\subfloat[Drugi rysunek (obrócony)]%\includegraphics[angle=90,width=3cm]xkcd-1301%\labelrys:drugi

\\\subfloat[]%\includegraphics[angle=-90,width=3cm]xkcd-1301%\labelrys:trzeci

\captionTrzy rysunki obok siebie\labelrys:potrojny-rysunek

\endfigure

Patrz też rysunek~\refrys:potrojny-rysunek,części~\subrefrys:pierwszy, \subrefrys:drugii~\subrefrys:trzeci.

\begintable\centering\captionDwie tabele

Page 137: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 129

\subfloat

\subref

firet – jednostka długościrówna aktualnie używane-mu stopniowi pisma.

firet – jednostka długościrówna aktualnie używane-mu stopniowi pisma.

\quad\\

\subfloat[tabela a]\begintabularll123 & 456\\789 & abc

\endtabular\qquad\subfloat[tabela b]\begintabularllfoo & bar\\baz & qux

\endtabular\endtable\enddocument

Zdarza się, że zachodzi potrzeba połączenia kilku grafik, diagramów czytabel w jedną „grupę”.W takiej sytuacji z pomocą przychodzi pakiet subfig,który pozwala na połączenie kilku np. rysunków w jedną „pływającą” całość.Podstawowym poleceniem jest \subfloat, w argumencie którego należyumieścić grafikę. Okazuje się jednak, że sprawa nie jest taka prosta.

Po pierwsze, „grupa”możemieć numer i podpis (obawstawione przy uży-ciu polecenia \caption – numer automatycznie, podpis oczywiście należypodać w jego argumencie), ale każdy z rysunków w grupie może mieć wła-sny „numer” (zwykle będzie to oznaczenie literowe, jak w podanym przykła-dzie) i podpis. Podpis ten podaje się w argumencie opcjonalnym polecenia\subfloat. Pusty podpis oznacza, że rysunek będziemiał „numer” (literkę),ale nie będzie miał podpisu.

Po drugie, skoro rysunki w „grupie” są automatycznie numerowane, mo-żemy chcieć powoływać się na nie przy użyciu poleceń \label oraz \ref.W takiej sytuacji polecenie \label należy umieścićwewnątrz argumentu po-lecenia \subfloat, zaś zamiast polecenia \ref użyć polecenia \subref.

Po trzecie, aby rysunki nie stykały się bokami, należy wstawić międzynie odstęp (na przykład długości dwóch firetów, uzyskiwany poleceniem\quad). Aby umieścić rysunekw nowymwierszu, stosujemy polecenie \\.

Po czwarte, zwróćmy uwagę, że podpis (\caption) znajduje się pod ry-sunkiem(lub rysunkami), alenad tabelą (lub tabelami). Zasady tejnależyprze-

Page 138: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 130

Bardziej techniczny powódjest podany w dokumenta-cji pakietu subfig.

Bardziej techniczny powódjest podany w dokumenta-cji pakietu subfig.

strzegać, w przeciwnymwypadkumoże się okazać, że niechcący otworzymyportal, przez który dostaną się do naszego świata okropne potwory.

Po piąte, pakiet subfig nadpisuje kropkę jako symbol kończący nagłów-ki podpisów tabel i rysunków, przywracając standardowy, LATEXowy (i anglo-saski) dwukropek. Aby z powrotem nauczyć LATEXa polskich zwyczajów, nale-ży wydać polecenie \captionsetuplabelseparator=period.

Po szóste, pakiet subfigmamnóstwo opcji konfiguracyjnych, szczegóło-woopisanychwdokumentacji. Ponadto, nie jest jedynymnarzędziempozwa-lającym łączyć rysunki, tabele itp. w grupy (inne to np. pakiety subcaptionczy floatrow). Jeżeli pakiet subfig nie zaspakaja naszych potrzeb, wartozerknąć do dokumentacji innych, podobnych pakietów. Tutaj dla przykładuzademonstrowaliśmy opcję justification=centerlast. Proponujemyusunąć wiersz ją zawierający i zwrócić uwagę na różnicę w wyglądzie plikuwynikowego.

Po siódme (i ostatnie), zwróćmy uwagę na znaki procenta na końcach nie-których wierszy. Zgodnie z zasadami, o których była mowa w Elementarzu(por. s. 16), LATEX zamienia znaki końca wiersza na spacje. Oznacza to, że je-śli chcemy przejść w pliku źródłowym do nowegowiersza nie wprowadzającspacji, musimy jakoś kazać LATEXowi zignorować znak końcawiersza. Standar-dowym sposobem jest użycie znaku komentarza (czyli procenta), który na-kazuje LATEXowi zignorować wszystko do najbliższego znaku końca wiersza,łącznie z tym znakiem.

Page 139: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 131

Pływające grafiki

Rysunek 1. Przykładowy rysunek

Rysunek 1 na stronie 1 sugeruje, że plik z rozserze-niem .tex nie może nas wprowadzić w błąd.

Spis rysunków

1. Przykładowy rysunek . . . . . . . . . . . . . . . . 1

1

% grafiki-plywajace.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

Page 140: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 132

\usepackagegraphicx

\begindocumentRysunek \refrys:przykladowy-rysunek na stronie\pagerefrys:przykladowy-rysunek sugeruje, że plikz~rozserzeniem \texttt.tex nie może nas wprowadzićw~błąd.

\beginfigure\centering\includegraphics[width=0.5\textwidth]xkcd-1301\captionPrzykładowy rysunek\labelrys:przykladowy-rysunek

\endfigure

\listoffigures\enddocument

W innej części książki (por. s. 108) pokazaliśmy, jak „oderwać” tabelę odmiejsca, w którym została ona zdefiniowana w pliku źródłowym, i pozwo-lić LATEXowi znaleźć dla niej najlepsze (przynajmniej według niego) miejsce –zwykle na górze strony (bieżącej lub następnej). Możemy uczynić to samoz grafiką; służy do tego środowisko figure. Wszystko, co powiedzieliśmyo „pływających” tabelach (podpisy, mechanizm powołań itd.) odnosi się rów-nież do grafik, poprzestaniemywięc na prostym przykładzie.

Page 141: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 133

1

Rysunek 16. Wyciąg z dokumentu wynikowego

Page 142: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 134

Obracanie grafik

Wyciąg z dokumentu wynikowego pokazano na rysunku 16, s. 133.

% grafiki-obracanie.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagegraphicx

\begindocument\begincenter\includegraphics[width=3cm,angle=90]xkcd-1301

\endcenter

\begincenter\includegraphics[angle=90,height=3cm]xkcd-1301

\endcenter

\begincenter\includegraphics[angle=-90,totalheight=3cm]xkcd-1301

\endcenter\enddocument

Obrócone grafiki można uzyskać, korzystając z opcji angle. Trzeba jed-nak uważać – kryje ona w sobie pewne pułapki.

Po pierwsze, kolejność, w jakiej podajemy wymiary i kąt obrotu ma zna-czenie: jeżeli najpierw napiszemy width=3cm, a potem angle=90, to LATEXprzeskaluje obraz do szerokości 3 cm, a później obróci o 90° przeciwnie doruchu wskazówek zegara. W ten sposób otrzymamy obraz o wysokości 3 cm.Jeżeli z kolei napiszemynajpierwangle=90, a następnieheight=3cm, LATEXnajpierw obróci obraz o 90°, a następnie przeskaluje go do wysokości 3 cm;efekt będzie oczywiście identyczny jak poprzednio.

Po drugie, jeżeli chcemy obrócić grafikę o 90°, ale zgodnie z ruchemwska-zówek zegara, i jeżeli chcemypodaćwysokość grafiki poobróceniu, niemoże-my użyć opcji height, tylko totalheight. Przyczyna tego problemu jest

Page 143: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Grafiki 135

następująca: obrót o90° zgodnie z ruchemwskazówekzegarawokół domyśl-nego środka obrotu, czyli lewego dolnego narożnika grafiki, daje w efekciezerowąwysokość ponad linię podstawową, czyli poziomą linię przechodzącąprzez ów narożnik, i głębokość równą szerokości grafiki przed obrotem. Para-metrtotalheight pozwala zaś podać sumęwysokości i głębokości obrazu.

Sposób obracania grafik ma istotne znaczenie z punktu widzenia składutekstu. Dobry zwyczaj mówi, że obiekty w dokumencie należy obracać tylkowtedy, gdy jest to konieczne, np. jeśli zależy nam na jak najdokładniejszymprzedstawieniu fotografii w proporcjach 4:3 lub 16:9. Po podjęciu decyzji, żespełniamy tewymagania, musimy pamiętać, żeby takie obiekty obracać prze-ciwnie do ruchu wskazówek zegara, niezależnie od tego, czy dokument jestjedno- czy dwustronny.

Page 144: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

\pagebreak

Nie wnikając w szczegółytechniczne, powiedzmytyle, że wydanie tego po-lecenia wewnątrz akapitumoże dać nieoczekiwa-ne rezultaty. Nie jest tobłąd, choć być może bez-pieczniej jest podawać jejedynie na początku no-wego akapitu, wyliczeniaitp. struktur, czyli np. popustej linii w pliku źródło-wym.

Nie wnikając w szczegółytechniczne, powiedzmytyle, że wydanie tego po-lecenia wewnątrz akapitumoże dać nieoczekiwa-ne rezultaty. Nie jest tobłąd, choć być może bez-pieczniej jest podawać jejedynie na początku no-wego akapitu, wyliczeniaitp. struktur, czyli np. popustej linii w pliku źródło-wym.

\newpage

Układ strony

Wymuszenie przejścia do nowej strony

Domyślnie LATEX stara się wypełnić każdą stronę. Czasem jednak zacho-dzipotrzebakontynuowania tekstunanowej stronie, niezależnieodtego, czypoprzednia zdążyła się zapełnić. Standardowo jest tak np. w przypadku roz-poczęcia rozdziału w książce, choć tym przypadkiem zajmuje się oczywiściepolecenie \chapter. Jest kilka poleceń, które mogą nam pomóc w pozosta-łych przypadkach.

Podstawowympoleceniemsłużącymdozmianystrony jest\pagebreak.Podane bez żadnego argumentu wymusza zmianę strony w miejscu, w któ-rymwystępuje. Przyjmuje ono jedenparametr opcjonalny – liczbę całkowi-tą od 0 do 4 – imwyższa wartość, tym bardziej LATEX będzie się starał złamaćstronę w podanym miejscu (\pagebreak bez argumentu jest równoważne\pagebreak[4]).Wariant z parametrem równymnp. 3ma istotne zastoso-wanie: jeżeli z jakichś powodów uznamy, że warto zmienić stronę w jakimśmiejscu (położonym blisko dolnegomarginesu), dobrze jest zrobić to polece-niem \pagebreak[3]. W ten sposób, gdy przeredagujemy dokument tak,że miejsce to wypadnie np. w połowie strony, polecenie to zostanie zignoro-wane.Dzieje się takdlatego, że LATEXmusiałby zbytmocnozwiększyćodstępypionowe, żebywyrównać niepełną stronę do górnego i dolnegomarginesu.

Jak widać z powyższego akapitu, polecenie \pagebreak zachowuje pio-nowewyrównaniemateriału (do górnego i dolnegomarginesu). Nieraz chce-my jednakpozostawićdół stronypusty (tak jest np.wprzypadku rozpoczęcianowegorozdziału).Wówczasmożnazastosowaćpolecenie\newpage, które

Page 145: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 137

\clearpage

Polecenie to jest np. uży-wane przez polecenia roz-poczynające rozdziały czyczęści.

Polecenie to jest np. uży-wane przez polecenia roz-poczynające rozdziały czyczęści.

\cleardoublepage

wymusza złamanie strony wmiejscu, w którym została wydana, pozostawia-jąc przestrzeń od tegomiejsca do końca strony pustą.

Dla pełności wspomnijmy jeszcze o komendzie \clearpage, która robito, co\newpage, ale dodatkowopowoduje, że zaraz na następnej stronie po-jawią się wszystkie „pływające” tabele i grafiki (patrz paragrafy na stronach108 i 131), dla których dotąd LATEX nie znalazł miejsca. W trybie dwustron-nym, o którymmowa w innym paragrafie tego rozdziału, podobną rolę pełnipolecenie \cleardoublepage, które w razie potrzebywstawia pustą stro-nę, aby dalszy ciąg tekstu zaczął się na prawej (nieparzystej) stronie.

Zakaz przejścia do nowej strony

1

Pellentesque habitant morbi tristique senectus et ne-tus et malesuada fames ac turpis egestas. Donec odioelit, dictum in, hendrerit sit amet, egestas sed, leo. Prae-sent feugiat sapien aliquet odio. Integer vitae justo. Ali-quam vestibulum fringilla lorem. Sed neque lectus, con-sectetuer at, consectetuer sed, eleifend ac, lectus. Nullafacilisi. Pellentesque eget lectus. Proin eu metus. Sedporttitor. In hac habitasse platea dictumst. Suspendisseeu lectus. Ut mi mi, lacinia sit amet, placerat et, mollisvitae, dui. Sed ante tellus, tristique ut, iaculis eu, male-suada ac, dui. Mauris nibh leo, facilisis non, adipiscingquis, ultrices a, dui.

Morbi luctus, wisi viverra faucibus pretium, nibhest placerat odio, nec commodo wisi enim eget quam.Quisque libero justo, consectetuer a, feugiat vitae, port-titor eu, libero. Suspendisse sed mauris vitae elit sollici-tudin malesuada. Maecenas ultricies eros sit amet ante.Ut venenatis velit. Maecenas sed mi eget dui varius euis-mod. Phasellus aliquet volutpat odio. Vestibulum anteipsum primis in faucibus orci luctus et ultrices posuerecubilia Curae; Pellentesque sit amet pede ac sem eleifendconsectetuer. Nullam elementum, urna vel imperdiet so-dales, elit ipsum pharetra ligula, ac pretium ante justoa nulla. Curabitur tristique arcu eu metus. Vestibulumlectus. Proin mauris. Proin eu nunc eu urna hendreritfaucibus. Aliquam auctor, pede consequat laoreet var-

2

ius, eros tellus scelerisque quam, pellentesque hendreritipsum dolor sed augue. Nulla nec lacus.

Suspendisse vitae elit. Aliquam arcu neque, ornarein, ullamcorper quis, commodo eu, libero. Fusce sagit-tis erat at erat tristique mollis. Maecenas sapien libero,molestie et, lobortis in, sodales eget, dui. Morbi ultricesrutrum lorem. Nam elementum ullamcorper leo. Morbidui. Aliquam sagittis. Nunc placerat. Pellentesque tris-tique sodales est. Maecenas imperdiet lacinia velit. Crasnon urna. Morbi eros pede, suscipit ac, varius vel, eges-tas non, eros. Praesent malesuada, diam id pretium el-ementum, eros sem dictum tortor, vel consectetuer odiosem sed wisi.

Sed feugiat. Cum sociis natoque penatibus et mag-nis dis parturient montes, nascetur ridiculus mus. Utpellentesque augue sed urna. Vestibulum diam eros,fringilla et, consectetuer eu, nonummy id, sapien. Nul-lam at lectus. In sagittis ultrices mauris. Curabiturmalesuada erat sit amet massa. Fusce blandit. Aliquamerat volutpat. Aliquam euismod. Aenean vel lectus.Nunc imperdiet justo nec dolor.

Etiam euismod. Fusce facilisis lacinia dui. Sus-pendisse potenti. In mi erat, cursus id, nonummy sed,ullamcorper eget, sapien. Praesent pretium, magna ineleifend egestas, pede pede pretium lorem, quis con-sectetuer tortor sapien facilisis magna. Mauris quis magnavarius nulla scelerisque imperdiet. Aliquam non quam.Aliquam porttitor quam a lacus. Praesent vel arcu ut

% strona-przejscie.tex\documentclassmwbk

Page 146: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 138

\nopagebreak

\usepackagelatex-ksiazka-kucharska\usepackagelipsum

\begindocument\lipsum[8-9]\nopagebreak\lipsum[10-12]\enddocument

Może się zdarzyć również sytuacja, w której zależy nam, by w pewnymmiejscu nie została złamana strona. Domyślnie LATEX unika łamania stronynp. po pierwszym lub przed ostatnim wierszem akapitu, a także w kilku in-nych, podobnego typu sytuacjach. Gdyby jednak zachodziła potrzebawyraź-nego zabronienia złamania stronywpewnymmiejscu, można użyć polecenia\nopagebreak.Wartodokładnieporównaćpowyższyprzykładzdokumen-tem, który uzyskuje się po usunięciu polecenia \nopagebreak.

Zmiana rozmiaru strony i marginesów

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipisc-ing vitae, felis. Curabitur dictum gravida mauris. Nam

1

Page 147: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 139

Format A4 oznacza wymia-ry strony 210×297mm, cooznacza wymiary ok. czte-rokrotnie mniejsze od for-matu A0 – 841×1189mm.Czytelnikom ciekawymprzyczyny takich właśniewartości polecamy wyzna-czyć stosunek boków pro-stokąta, którego połowajest podobna do całości,i znalezienie wymiarówprostokąta o takim wła-śnie stosunku boków i polupowierzchni równym 1m2.

Format A4 oznacza wymia-ry strony 210×297mm, cooznacza wymiary ok. czte-rokrotnie mniejsze od for-matu A0 – 841×1189mm.Czytelnikom ciekawymprzyczyny takich właśniewartości polecamy wyzna-czyć stosunek boków pro-stokąta, którego połowajest podobna do całości,i znalezienie wymiarówprostokąta o takim wła-śnie stosunku boków i polupowierzchni równym 1m2.

% strona-marginesy.tex\documentclassmwart\usepackage[paperwidth=115mm,paperheight=60mm,

lmargin=1cm,rmargin=2cm,tmargin=2cm,bmargin=2.5cm,headsep=0.5cm,headheight=0.5cm,footskip=1cm,showframe]geometry

\usepackagelipsum

\begindocument\lipsum[1]\enddocument

Bardzo istotną kwestią z punktu widzenia projektu typograficznego jestukład strony. Specjaliści sugerują, że szerokość kolumny tekstu powinna byćrówna ok. 66 znaków. W wielu przypadkach takie ustawienia (w przypadkuklas mwart i mwbk są to strona formatu A4 i spore marginesy) nie musząnam odpowiadać.

Aby to zmienić (cow zasadzie odradzamy),można postąpić na dwa sposo-by. Prostszym jest podanie opcji [wide] klasie mwart czy mwbk. Wówczaslewy i prawymargines będąwynosiły zaledwie 2 cm. Nieco bardziej skompli-kowanym, ale też pozwalającym na dużo większą dowolność, jest użycie pa-kietu geometry.

Jak widać w powyższym przykładzie, w opcjach wywołania pakietugeometrymożnazawrzećcałkiemsporo informacji o tym, jakiemająbyćwy-miary strony, kolumny tekstu i innych elementów składu. Parametrów tychjest jednak o wiele więcej niż to wynika z przykładu. W wielu przypadkachmożna też uprościć sobie życie, pisząc np. hmargin=2cm, gdy lewy i pra-wymargines są takie same. Po szczegóły odsyłamy do dokumentacji pakietu.Nas interesuje w tej chwili kwestia ustawienia rozmiarów strony i kolumnytekstu oraz nagłówka (w którym znajduje się często np. tytuł bieżącego roz-działu) i stopki (w której znajduje się często np. pagina, czyli numer strony).Do tegowystarczy zestaw opcji przedstawionych na rysunku 17.

Page 148: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 140

paperwidth

paperheight

width

height

footskip

headsep

headheight

lmargin

rmargin

tmargin

bmargin

Rysunek 17. Opcje pakietu geometry

Page 149: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 141

Gdy podane wymiary spo-wodują powstanie sprzecz-nego układu warunków,pakiet geometry po cichuzignoruje niektóre z para-metrów.

Gdy podane wymiary spo-wodują powstanie sprzecz-nego układu warunków,pakiet geometry po cichuzignoruje niektóre z para-metrów.

Oprócz opcji przedstawionych na diagramie, warto wspomnieć o jeszczekilku. Jedną z nich jest opcja showframe, która powoduje, że LATEXrysujeramki ilustrujące obowiązujące w danym dokumencie wymiary. Wysokośćkolumny można podać w wierszach tekstu opcją lines=⟨liczba całkowita⟩.Można też, po podaniu wysokości kolumny w „normalny” sposób (tj. poda-jąc jeden lub dwa z parametrów: tmargin, bmargin, height), użyć opcjiheightrounded, która zaokrągla podaną wysokość do wielokrotności wy-sokości wiersza (tym samym powodując, że na każdej stronie zmieści się cał-kowita liczba wierszy).

Warto równieżwiedzieć, żenie trzebapodawaćwszystkichwymiarów;pa-kiet geometry potrafi dość inteligentnie uzupełnić sobie „brakujące dane”.Przykładowo, gdy dane są wymiary papieru i oba marginesy poziome (lewyi prawy), nie trzeba (a nawet nie powinno się tego robić) podawać dodatko-wo szerokości kolumny tekstu, która jest równa różnicy szerokości papierui łącznej szerokości marginesów. Okazuje się jednak, że można np. podać je-dynie szerokość papieru i szerokość kolumny; wówczasmarginesy będąmia-ły równą szerokość (jeżeli używamyopcjioneside, czyli stosujemydruk jed-nostronny) lub margines zewnętrzny będzie o 50% szerszy niż wewnętrzny(jeżeli stosujemy druk dwustronny). Podobne zasady obowiązują, gdy „zapo-mnimy” podać innych zestawówparametrów; szczegółny są opisanewdoku-mentacji pakietu geometry, w paragrafie Auto-completion.

Page 150: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 142

1

1. Lorem ipsum

1.1. Dolor sit amet

Fusce mauris. Vestibulum luctus nibh at lectus. Sedbibendum, nulla a faucibus semper, leo velit ultriciestellus, ac venenatis arcu wisi vel nisl. Vestibulum diam.Aliquam pellentesque, augue quis sagittis posuere, turpislacus congue quam, in hendrerit risus eros eget felis.Maecenas eget erat in sapien mattis porttitor. Vestibu-lum porttitor. Nulla facilisi. Sed a turpis eu lacuscommodo facilisis. Morbi fringilla, wisi in dignissim in-terdum, justo lectus sagittis dui, et vehicula libero duicursus dui. Mauris tempor ligula sed lacus. Duis cursusenim ut augue. Cras ac magna. Cras nulla. Nulla eges-tas. Curabitur a leo. Quisque egestas wisi eget nunc.Nam feugiat lacus vel est. Curabitur consectetuer.

Suspendisse vel felis. Ut lorem lorem, interdum eu,tincidunt sit amet, laoreet vitae, arcu. Aenean faucibuspede eu ante. Praesent enim elit, rutrum at, molestienon, nonummy vel, nisl. Ut lectus eros, malesuada sitamet, fermentum eu, sodales cursus, magna. Donec eupurus. Quisque vehicula, urna sed ultricies auctor, pedelorem egestas dui, et convallis elit erat sed nulla. Donecluctus. Curabitur et nunc. Aliquam dolor odio, com-modo pretium, ultricies non, pharetra in, velit. Integerarcu est, nonummy in, fermentum faucibus, egestas vel,odio.

Rysunek 18. Wyciąg z dokumentu wynikowego (strona 1)

Page 151: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 143

2 1. Lorem ipsum

Sed commodo posuere pede. Mauris ut est. Ut quispurus. Sed ac odio. Sed vehicula hendrerit sem. Duisnon odio. Morbi ut dui. Sed accumsan risus eget odio.In hac habitasse platea dictumst. Pellentesque non elit.Fusce sed justo eu urna porta tincidunt. Mauris felisodio, sollicitudin sed, volutpat a, ornare ac, erat. Morbiquis dolor. Donec pellentesque, erat ac sagittis sem-per, nunc dui lobortis purus, quis congue purus metusultricies tellus. Proin et quam. Class aptent taciti so-ciosqu ad litora torquent per conubia nostra, per incep-tos hymenaeos. Praesent sapien turpis, fermentum vel,eleifend faucibus, vehicula eu, lacus.

Pellentesque habitant morbi tristique senectus et ne-tus et malesuada fames ac turpis egestas. Donec odioelit, dictum in, hendrerit sit amet, egestas sed, leo. Prae-sent feugiat sapien aliquet odio. Integer vitae justo. Ali-quam vestibulum fringilla lorem. Sed neque lectus, con-sectetuer at, consectetuer sed, eleifend ac, lectus. Nullafacilisi. Pellentesque eget lectus. Proin eu metus. Sedporttitor. In hac habitasse platea dictumst. Suspendisseeu lectus. Ut mi mi, lacinia sit amet, placerat et, mollisvitae, dui. Sed ante tellus, tristique ut, iaculis eu, male-suada ac, dui. Mauris nibh leo, facilisis non, adipiscingquis, ultrices a, dui.

Morbi luctus, wisi viverra faucibus pretium, nibhest placerat odio, nec commodo wisi enim eget quam.Quisque libero justo, consectetuer a, feugiat vitae, port-titor eu, libero. Suspendisse sed mauris vitae elit sollici-

Rysunek 19. Wyciąg z dokumentu wynikowego (strona 2)

Page 152: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 144

1.1. Dolor sit amet 3

tudin malesuada. Maecenas ultricies eros sit amet ante.Ut venenatis velit. Maecenas sed mi eget dui varius euis-mod. Phasellus aliquet volutpat odio. Vestibulum anteipsum primis in faucibus orci luctus et ultrices posuerecubilia Curae; Pellentesque sit amet pede ac sem eleifendconsectetuer. Nullam elementum, urna vel imperdiet so-dales, elit ipsum pharetra ligula, ac pretium ante justoa nulla. Curabitur tristique arcu eu metus. Vestibulumlectus. Proin mauris. Proin eu nunc eu urna hendreritfaucibus. Aliquam auctor, pede consequat laoreet var-ius, eros tellus scelerisque quam, pellentesque hendreritipsum dolor sed augue. Nulla nec lacus.

Rysunek 20. Wyciąg z dokumentu wynikowego (strona 3)

Page 153: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 145

\pagestyle

Standardowe style stopek i nagłówków

Wyciąg z dokumentu wynikowego pokazano na rysunkach 18–20, s. 142–144.

% strona-stopki.tex\documentclass[twoside]mwart\usepackagelipsum\usepackagelatex-ksiazka-kucharska\pagestyleheadings

\begindocument\sectionLorem ipsum\subsectionDolor sit amet\lipsum[5-9]\enddocument

W większości książek i czasopism strony są numerowane. Ponadto (naj-częściejw nagłówku, czyli nad kolumną tekstu) umieszcza się często tzw. „ży-wą paginę”, czyli tytuł bieżącego rozdziału (na stronie parzystej, czyli lewej)i paragrafu (na stronie nieparzystej, czyli prawej).

Sytuację utrudnia fakt, że na stronach otwierających rozdział nie powin-no się stosować paginy górnej, zaś na stronach kończących rozdział – paginydolnej. Ponieważ reguły te są odmienne od zasad panującychw typografii an-glosaskiej, LATEX ich nie przestrzega. Z pomocą przychodzą klasy mw*, które –sprytnie modyfikując LATEXowy mechanizm tzw. „styli stron” – pozwalają au-tomatycznie przestrzegać powyższych zasad.

Polecenie\pagestyle⟨nazwa stylu⟩pozwalawybrać jeden z kilkudo-stępnych w klasach mw*, gotowych „styli stron”. W stylu plain (domyśl-nym w klasach mwart i mwrep) numery stron umieszczone są w stopkachna środku, zaś nagłówki są puste. W stylu outer nagłówki również są pu-ste, zaś numery stron umieszczone są po zewnętrznej stronie stopki. W sty-lu headings stopki są puste, zaś w nagłówkach znajduje się numer strony(po zewnętrznej stronie) i tzw. żywa pagina, czyli tytuł (i numer) bieżącegorozdziału, paragrafu lub podparagrafu (w klasie mwbk – tytuł rozdziału na

Page 154: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 146

\thispagestyle

Czasem nie jest oczywiste,co to znaczy „na stronie,na której zostało wydane”,przynajmniej dopóki niesprawdzi się w wynikowympliku PDF, na której stro-nie wypadły odpowiedniefragmenty.

Czasem nie jest oczywiste,co to znaczy „na stronie,na której zostało wydane”,przynajmniej dopóki niesprawdzi się w wynikowympliku PDF, na której stro-nie wypadły odpowiedniefragmenty.

lewych, a paragrafu na prawych stronach; w klasie mwrep – tytuł rozdziałupo obu stronach, zaś w klasie mwart – tytuł paragrafu na lewych, a podpara-grafu na prawych stronach). Styl uheadings różni się od poprzedniego wy-łącznie tym, że pod nagłówkiem znajduje się pozioma linia. W stylu empty –jak nietrudno się domyślić – zarówno nagłówki, jak i stopki są całkiem pu-ste.Wreszcie stylemyheadings imyuheadings są podobnedoheadingsi uheadings, ale pozwalają na samodzielne określenie tekstu umieszczane-gow nagłówku na lewych i prawych stronach.

Zmiana układu stopek i nagłówków na pojedynczej stronie

Polecenie \pagestyle zmienia styl strony dla wszystkich stron doku-mentu (poczynając od tej, na której zostało wydane). Czasem jednak zacho-dzi potrzeba zmiany stylu tylko na jednej stronie. Przykładowo, pisząc listmożemy nie chcieć, żeby na pierwszej jego stronie wystąpił jej numer, nato-miast począwszy od drugiej, strony powinny być numerowane. Można oczy-wiście wydać polecenie \pagestyle dwukrotnie – na wybranej i następnejstronie – lecznie jest to zbytwygodne (ani eleganckie). Ponadto,może topro-wadzić do subtelnych błędów: gdy między dwoma wystąpieniami polecenia\pagestyle dopiszemywięcej tekstu (lub skasujemy jego fragment), możesię okazać, że odstęp między nimi wyniesie dwie strony – lub że wystąpią natej samej stronie.

Wtakichsytuacjachnaratunekprzychodzipolecenie\thispagestyle,które zmienia styl wyłącznie na stronie, na której zostało wydane.

Page 155: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 147

Lorem ipsum – Dolor sit amet 1

1. Lorem ipsum

1.1. Dolor sit amet

Suspendisse vel felis. Ut lorem lorem, interdum eu,tincidunt sit amet, laoreet vitae, arcu. Aenean faucibuspede eu ante. Praesent enim elit, rutrum at, molestienon, nonummy vel, nisl. Ut lectus eros, malesuada sitamet, fermentum eu, sodales cursus, magna. Donec eupurus. Quisque vehicula, urna sed ultricies auctor, pedelorem egestas dui, et convallis elit erat sed nulla. Donecluctus. Curabitur et nunc. Aliquam dolor odio, commo-do pretium, ultricies non, pharetra in, velit. Integer arcuest, nonummy in, fermentum faucibus, egestas vel, odio.Sed commodo posuere pede. Mauris ut est. Ut quis

purus. Sed ac odio. Sed vehicula hendrerit sem. Duisnon odio. Morbi ut dui. Sed accumsan risus eget odio.In hac habitasse platea dictumst. Pellentesque non elit.Fusce sed justo eu urna porta tincidunt. Mauris felisodio, sollicitudin sed, volutpat a, ornare ac, erat. Morbiquis dolor. Donec pellentesque, erat ac sagittis semper,nunc dui lobortis purus, quis congue purus metus ultri-cies tellus. Proin et quam. Class aptent taciti sociosquad litora torquent per conubia nostra, per inceptos hy-menaeos. Praesent sapien turpis, fermentum vel, eleifendfaucibus, vehicula eu, lacus.Pellentesque habitant morbi tristique senectus et ne-

tus et malesuada fames ac turpis egestas. Donec odio

Rysunek 21. Wyciąg z dokumentu wynikowego (strona 1)

Page 156: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 148

2 Nazwisko autora

elit, dictum in, hendrerit sit amet, egestas sed, leo. Pra-esent feugiat sapien aliquet odio. Integer vitae justo. Ali-quam vestibulum fringilla lorem. Sed neque lectus, con-sectetuer at, consectetuer sed, eleifend ac, lectus. Nullafacilisi. Pellentesque eget lectus. Proin eu metus. Sedporttitor. In hac habitasse platea dictumst. Suspendisseeu lectus. Ut mi mi, lacinia sit amet, placerat et, mollisvitae, dui. Sed ante tellus, tristique ut, iaculis eu, male-suada ac, dui. Mauris nibh leo, facilisis non, adipiscingquis, ultrices a, dui.Morbi luctus, wisi viverra faucibus pretium, nibh est

placerat odio, nec commodo wisi enim eget quam. Qu-isque libero justo, consectetuer a, feugiat vitae, porttitoreu, libero. Suspendisse sed mauris vitae elit sollicitudinmalesuada. Maecenas ultricies eros sit amet ante. Ut ve-nenatis velit. Maecenas sed mi eget dui varius euismod.Phasellus aliquet volutpat odio. Vestibulum ante ipsumprimis in faucibus orci luctus et ultrices posuere cubi-lia Curae; Pellentesque sit amet pede ac sem eleifendconsectetuer. Nullam elementum, urna vel imperdiet so-dales, elit ipsum pharetra ligula, ac pretium ante justoa nulla. Curabitur tristique arcu eu metus. Vestibulumlectus. Proin mauris. Proin eu nunc eu urna hendreritfaucibus. Aliquam auctor, pede consequat laoreet varius,eros tellus scelerisque quam, pellentesque hendrerit ip-sum dolor sed augue. Nulla nec lacus.Suspendisse vitae elit. Aliquam arcu neque, ornare

in, ullamcorper quis, commodo eu, libero. Fusce sagit-

Rysunek 22. Wyciąg z dokumentu wynikowego (strona 2)

Page 157: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 149

\markboth

\markright

Ręczna zmiana tekstu stopek i nagłówków

Wyciąg z dokumentu wynikowego pokazano na rysunkach 21–22, s. 147–148.

% strona-reczna-zmiana.tex\documentclass[twoside]mwart\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackagelipsum

\begindocument\pagestylemyheadings\markbothNazwisko autora

Lorem ipsum\ppauza Dolor sit amet\sectionLorem ipsum\subsectionDolor sit amet

\lipsum[6-10]\enddocument

Może się zdarzyć, że zdefiniowane w klasach mw* style stron, odpowie-dzialne za zawartość stopek i nagłówków, okażą się niewystarczające. W ta-kiej sytuacjimamydwiemożliwości. Jeżeli potrzebujemyprostejmodyfikacjistylu headings (lub uheadings), w którym np. zamiast numeru i tytułu pa-ragrafu/podparagrafu (w przypadku klasy mwart) będziemy chcieli umieścićnp. nazwiskoautora i tytuł artykułu (lub cokolwiek innego),możemyużyć sty-lumyheadings (lubmyuheadings) i polecenia\markbothdo zadania tek-stów, któremają się znaleźć w nagłówku. Przykład zastosowania tej metodywidoczny jest powyżej.

Warto dodać, że istnieje również polecenie\markright, które przyjmu-je jeden parametr obowiązkowy, i zmienia tekst w nagłówku wyłącznie nastronach prawych (nieparzystych).

Page 158: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 150

Lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipisc-ing vitae, felis. Curabitur dictum gravida mauris. Namarcu libero, nonummy eget, consectetuer id, vulputatea, magna. Donec vehicula augue eu neque. Pellentesquehabitant morbi tristique senectus et netus et malesuadafames ac turpis egestas. Mauris ut leo. Cras viverrametus rhoncus sem. Nulla et lectus vestibulum urnafringilla ultrices. Phasellus eu tellus sit amet tortorgravida placerat. Integer sapien est, iaculis in, pretiumquis, viverra ac, nunc. Praesent eget sem vel leo ultricesbibendum. Aenean faucibus. Morbi dolor nulla, male-suada eu, pulvinar at, mollis ac, nulla. Curabitur auctorsemper nulla. Donec varius orci eget risus. Duis nibhmi, congue eu, accumsan eleifend, sagittis quis, diam.Duis eget orci sit amet orci dignissim rutrum.

sit amet consectetuer

Rysunek 23. Wyciąg z dokumentu wynikowego

Page 159: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 151

Nagłówki niestandardowe

Wyciąg z dokumentu wynikowego pokazano na rysunku 23, s. 150.

% strona-niestandardowe.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagefancyhdr\lheadLorem\cheadipsum\rheaddolor\lfootsit\cfootamet\rfootconsectetuer\renewcommand\headrulewidth0pt\renewcommand\footrulewidth0.4pt\pagestylefancy\usepackagelipsum

\begindocument\lipsum[1]\enddocument

W przypadku, gdy nie wystarczą nam standardowe możliwości zmianynagłówków, udostępniane domyślnie, możemy użyć pakietu fancyhdr. De-finiuje on nowy „styl strony” o nazwie fancy, w którym możemy dowolniezmienić zarówno nagłówek, jak i stopkę, a także zdecydować, czy chcemy, bybyły one oddzielone od tekstu głównego poziomą linią.

Najprostszyprzykładużyciapakietufancyhdrwygląda jakpowyżej. Jakwidać, zdefiniowaliśmy lewą, środkową i prawą część nagłówka i stopki orazpodaliśmy grubości linii oddzielających. Domyślnie linia pomiędzy nagłów-kiem a kolumną ma szerokość 0,4 pt, zaś linia między stopką a kolumną mazerową szerokość, czyli jest niewidoczna.

Page 160: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 152

Ciekawy dokument

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipisc-ing vitae, felis. Curabitur dictum gravida mauris. Namarcu libero, nonummy eget, consectetuer id, vulputatea, magna. Donec vehicula augue eu neque. Pellentesquehabitant morbi tristique senectus et netus et malesuadafames ac turpis egestas. Mauris ut leo. Cras viverrametus rhoncus sem. Nulla et lectus vestibulum urnafringilla ultrices. Phasellus eu tellus sit amet tortorgravida placerat. Integer sapien est, iaculis in, pretiumquis, viverra ac, nunc. Praesent eget sem vel leo ultricesbibendum. Aenean faucibus. Morbi dolor nulla, male-suada eu, pulvinar at, mollis ac, nulla. Curabitur auctorsemper nulla. Donec varius orci eget risus. Duis nibhmi, congue eu, accumsan eleifend, sagittis quis, diam.Duis eget orci sit amet orci dignissim rutrum.

Nam dui ligula, fringilla a, euismod sodales, sollic-itudin vel, wisi. Morbi auctor lorem non justo. Namlacus libero, pretium at, lobortis vitae, ultricies et, tel-lus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi.Morbi ac orci et nisl hendrerit mollis. Suspendisse utmassa. Cras nec ante. Pellentesque a nulla. Cum sociisnatoque penatibus et magnis dis parturient montes, nasce-tur ridiculus mus. Aliquam tincidunt urna. Nulla ul-lamcorper vestibulum turpis. Pellentesque cursus luctusmauris.

Nulla malesuada porttitor diam. Donec felis erat,

1

Rysunek 24. Wyciąg z dokumentu wynikowego (strona 1)

Page 161: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 153

Jan Nowak

congue non, volutpat at, tincidunt tristique, libero. Vi-vamus viverra fermentum felis. Donec nonummy pel-lentesque ante. Phasellus adipiscing semper elit. Proinfermentum massa ac quam. Sed diam turpis, molestievitae, placerat a, molestie nec, leo. Maecenas lacinia.Nam ipsum ligula, eleifend at, accumsan nec, suscipita, ipsum. Morbi blandit ligula feugiat magna. Nunceleifend consequat lorem. Sed lacinia nulla vitae enim.Pellentesque tincidunt purus vel magna. Integer nonenim. Praesent euismod nunc eu purus. Donec biben-dum quam in tellus. Nullam cursus pulvinar lectus.Donec et mi. Nam vulputate metus eu enim. Vestibu-lum pellentesque felis eu massa.

2

Rysunek 25. Wyciąg z dokumentu wynikowego (strona 2)

Page 162: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 154

\fancyhf

\thepage

Różne nagłówki i stopki dla stron parzystych i nieparzystych

Wyciąg z dokumentu wynikowego pokazano na rysunkach 24–25, s. 152–153.

% strona-rozne.tex\documentclass[twoside]mwart\usepackagelatex-ksiazka-kucharska\usepackagelipsum\usepackagefancyhdr\fancyhf\fancyhead[CE]Jan Nowak\fancyhead[CO]Ciekawy dokument\fancyfoot[LE,RO]\thepage\renewcommand\headrulewidth0pt\pagestylefancy

\begindocument\lipsum[1-3]\enddocument

Gdy tworzymy dokument dwustronny, często chcielibyśmy, aby zawar-tość nagłówków i stopek na stronach lewych i prawych różniła się od siebie.Uzyskanie tego efektu przy użyciu pakietu fancyhdr jest łatwe.

W przykładzie podaliśmy opcję klasy twoside, żeby włączyć tryb dru-ku dwustronnego. Po drugie, zaraz po załadowaniu pakietu fancyhdr, po-leceniem\fancyhfwyłączyliśmywszystkie domyślne treści w nagłówkachi stopkach (wpraktyce oznacza towyłączenie numeru strony na środku stop-ki). Następnie ustawiliśmy treść w środku nagłówku (C jak ang. center – śro-dek) na stronach parzystych (E jak ang. even – parzysty) na „JanNowak” oraztreśćw środkunagłówkuna stronach nieparzystych na „Ciekawydokument”.W kolejnej linii ustawiliśmy numer strony (polecenie \thepage) w lewejstopce na stronach parzystych i jednocześnie prawej stopce na stronach nie-parzystych. Wreszcie wyłączyliśmy poziomą linię oddzielającą nagłówek odkolumny tekstu i włączyliśmy pracowicie utworzony styl strony poleceniem\pagestylefancy.

Page 163: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 155

Rozdział 1

Rozdział pierwszy

1.1. Podrozdział pierwszy

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipiscingvitae, felis. Curabitur dictum gravida mauris. Nam ar-cu libero, nonummy eget, consectetuer id, vulputate a,magna. Donec vehicula augue eu neque. Pellentesque ha-bitant morbi tristique senectus et netus et malesuada fa-mes ac turpis egestas. Mauris ut leo. Cras viverra metusrhoncus sem. Nulla et lectus vestibulum urna fringillaultrices. Phasellus eu tellus sit amet tortor gravida pla-cerat. Integer sapien est, iaculis in, pretium quis, viverraac, nunc. Praesent eget sem vel leo ultrices bibendum.Aenean faucibus. Morbi dolor nulla, malesuada eu, pu-lvinar at, mollis ac, nulla. Curabitur auctor semper nul-la. Donec varius orci eget risus. Duis nibh mi, congue eu,

1

Rysunek 26. Wyciąg z dokumentu wynikowego (strona 1)

Page 164: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 156

Rozdział pierwszy

accumsan eleifend, sagittis quis, diam. Duis eget orci sitamet orci dignissim rutrum.Nam dui ligula, fringilla a, euismod sodales, sollici-

tudin vel, wisi. Morbi auctor lorem non justo. Nam lacuslibero, pretium at, lobortis vitae, ultricies et, tellus. Do-nec aliquet, tortor sed accumsan bibendum, erat ligulaaliquet magna, vitae ornare odio metus a mi. Morbi acorci et nisl hendrerit mollis. Suspendisse ut massa. Crasnec ante. Pellentesque a nulla. Cum sociis natoque pe-natibus et magnis dis parturient montes, nascetur ridi-culus mus. Aliquam tincidunt urna. Nulla ullamcorpervestibulum turpis. Pellentesque cursus luctus mauris.Nulla malesuada porttitor diam. Donec felis erat,

congue non, volutpat at, tincidunt tristique, libero. Vi-vamus viverra fermentum felis. Donec nonummy pellen-tesque ante. Phasellus adipiscing semper elit. Proin fer-mentummassa ac quam. Sed diam turpis, molestie vitae,placerat a, molestie nec, leo. Maecenas lacinia. Nam ip-sum ligula, eleifend at, accumsan nec, suscipit a, ipsum.Morbi blandit ligula feugiat magna. Nunc eleifend con-sequat lorem. Sed lacinia nulla vitae enim. Pellentesquetincidunt purus vel magna. Integer non enim. Praesenteuismod nunc eu purus. Donec bibendum quam in tel-lus. Nullam cursus pulvinar lectus. Donec et mi. Namvulputate metus eu enim. Vestibulum pellentesque feliseu massa.Quisque ullamcorper placerat ipsum. Cras nibh. Mor-

bi vel justo vitae lacus tincidunt ultrices. Lorem ipsum

2

Rysunek 27. Wyciąg z dokumentu wynikowego (strona 2)

Page 165: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 157

Podrozdział pierwszy

dolor sit amet, consectetuer adipiscing elit. In hac ha-bitasse platea dictumst. Integer tempus convallis augue.Etiam facilisis. Nunc elementum fermentum wisi. Aene-an placerat. Ut imperdiet, enim sed gravida sollicitu-din, felis odio placerat quam, ac pulvinar elit purus egetenim. Nunc vitae tortor. Proin tempus nibh sit ametnisl. Vivamus quis tortor vitae risus porta vehicula.Fusce mauris. Vestibulum luctus nibh at lectus. Sed

bibendum, nulla a faucibus semper, leo velit ultriciestellus, ac venenatis arcu wisi vel nisl. Vestibulum diam.Aliquam pellentesque, augue quis sagittis posuere, tur-pis lacus congue quam, in hendrerit risus eros eget fe-lis. Maecenas eget erat in sapien mattis porttitor. Ve-stibulum porttitor. Nulla facilisi. Sed a turpis eu lacuscommodo facilisis. Morbi fringilla, wisi in dignissim in-terdum, justo lectus sagittis dui, et vehicula libero duicursus dui. Mauris tempor ligula sed lacus. Duis cursusenim ut augue. Cras ac magna. Cras nulla. Nulla ege-stas. Curabitur a leo. Quisque egestas wisi eget nunc.Nam feugiat lacus vel est. Curabitur consectetuer.Suspendisse vel felis. Ut lorem lorem, interdum eu,

tincidunt sit amet, laoreet vitae, arcu. Aenean faucibuspede eu ante. Praesent enim elit, rutrum at, molestienon, nonummy vel, nisl. Ut lectus eros, malesuada sitamet, fermentum eu, sodales cursus, magna. Donec eupurus. Quisque vehicula, urna sed ultricies auctor, pedelorem egestas dui, et convallis elit erat sed nulla. Donecluctus. Curabitur et nunc. Aliquam dolor odio, commo-

3

Rysunek 28. Wyciąg z dokumentu wynikowego (strona 3)

Page 166: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 158

Rozdział pierwszy

do pretium, ultricies non, pharetra in, velit. Integer arcuest, nonummy in, fermentum faucibus, egestas vel, odio.Sed commodo posuere pede. Mauris ut est. Ut quis

purus. Sed ac odio. Sed vehicula hendrerit sem. Duisnon odio. Morbi ut dui. Sed accumsan risus eget odio.In hac habitasse platea dictumst. Pellentesque non elit.Fusce sed justo eu urna porta tincidunt. Mauris felisodio, sollicitudin sed, volutpat a, ornare ac, erat. Morbiquis dolor. Donec pellentesque, erat ac sagittis semper,nunc dui lobortis purus, quis congue purus metus ultri-cies tellus. Proin et quam. Class aptent taciti sociosquad litora torquent per conubia nostra, per inceptos hy-menaeos. Praesent sapien turpis, fermentum vel, eleifendfaucibus, vehicula eu, lacus.

Rysunek 29. Wyciąg z dokumentu wynikowego (strona 4)

Page 167: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 159

Rozdział 2

Rozdział drugi

2.1. Podrozdział drugi

Pellentesque habitant morbi tristique senectus et ne-tus et malesuada fames ac turpis egestas. Donec odioelit, dictum in, hendrerit sit amet, egestas sed, leo. Pra-esent feugiat sapien aliquet odio. Integer vitae justo. Ali-quam vestibulum fringilla lorem. Sed neque lectus, con-sectetuer at, consectetuer sed, eleifend ac, lectus. Nullafacilisi. Pellentesque eget lectus. Proin eu metus. Sedporttitor. In hac habitasse platea dictumst. Suspendisseeu lectus. Ut mi mi, lacinia sit amet, placerat et, mollisvitae, dui. Sed ante tellus, tristique ut, iaculis eu, male-suada ac, dui. Mauris nibh leo, facilisis non, adipiscingquis, ultrices a, dui.

5

Rysunek 30. Wyciąg z dokumentu wynikowego (strona 5)

Page 168: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 160

Onagłówkachw książkach

Wyciąg z dokumentu wynikowego pokazano na rysunkach 26–30, s. 155–159.

% strona-ksiazki.tex\documentclass[twoside]mwbk\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackagelipsum

\usepackagefancyhdr\renewcommand\headrulewidth0pt\renewcommand\footrulewidth0pt\fancypagestyleplain\fancyhf\fancyhead[CE]\leftmark\fancyhead[CO]\rightmark\fancyfoot[LE,RO]\thepage

\pagestyleplain\fancypagestyleclosing\fancyhf\fancyhead[CE]\leftmark\fancyhead[CO]\rightmark

\fancypagestyleopening\fancyhf\fancyfoot[LE,RO]\thepage

\begindocument\chapterRozdział pierwszy\markbothRozdział pierwszy\sectionPodrozdział pierwszy

Page 169: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 161

\markrightPodrozdział pierwszy\lipsum[1-7]

\chapterRozdział drugi\sectionPodrozdział drugi\lipsum[8]\enddocument

Jeżeli używamy klasy mwbk, stopki i nagłówki na stronach rozpoczynają-cych i kończących rozdziały wymagają szczególnego traktowania. Zgodniez zasadami polskiej typografii, nagłówek na stronie otwierającej rozdział po-winienbyćpusty; to samodotyczy stopki na stronie kończącej rozdział. Klasamwbk realizuje te zaleceniapoprzez specjalne style strony:opening,włącza-ny na pierwszej stronie rozdziału, i closing, włączany na stronie ostatniej.Domyślnie pierwszy z nichma pusty nagłówek, a drugi – pustą stopkę i te ichcechy oczywiście warto (a nawet należy) zachować.

Zwróćmyuwagę namiejsce,w którymwywołanowpreambule polecenie\pagestyleplain. Z uwagi na szczegóły techniczne dotyczące imple-mentacji mechanizmu stylów w klasach mw*, umieszczenie go w innymmiej-scumoże spowodować błędnywygląd dokumentu.

Page 170: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 162

Lorem ipsum dolor sit amet, consectetuer adipiscingelit. Ut purus elit, vestibulum ut, placerat ac, adipisc-ing vitae, felis. Curabitur dictum gravida mauris. Namarcu libero, nonummy eget, consectetuer id, vulputatea, magna. Donec vehicula augue eu neque. Pellentesquehabitant morbi tristique senectus et netus et malesuadafames ac turpis egestas. Mauris ut leo. Cras viverrametus rhoncus sem. Nulla et lectus vestibulum urnafringilla ultrices. Phasellus eu tellus sit amet tortorgravida placerat. Integer sapien est, iaculis in, pretiumquis, viverra ac, nunc. Praesent eget sem vel leo ultricesbibendum. Aenean faucibus. Morbi dolor nulla, male-suada eu, pulvinar at, mollis ac, nulla. Curabitur auctorsemper nulla. Donec varius orci eget risus. Duis nibhmi, congue eu, accumsan eleifend, sagittis quis, diam.Duis eget orci sit amet orci dignissim rutrum.

Nam dui ligula, fringilla a, euismod sodales, sollic-itudin vel, wisi. Morbi auctor lorem non justo. Namlacus libero, pretium at, lobortis vitae, ultricies et, tel-lus. Donec aliquet, tortor sed accumsan bibendum, eratligula aliquet magna, vitae ornare odio metus a mi.Morbi ac orci et nisl hendrerit mollis. Suspendisse utmassa. Cras nec ante. Pellentesque a nulla. Cum sociisnatoque penatibus et magnis dis parturient montes, nasce-tur ridiculus mus. Aliquam tincidunt urna. Nulla ul-lamcorper vestibulum turpis. Pellentesque cursus luctusmauris.

1

Rysunek 31. Wyciąg z dokumentu wynikowego (strona 1)

Page 171: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 163

Nullamalesuad

aporttitor

diam.Don

ecfeliserat,conguenon,volutpatat,

tincidunttristique,

libero.

Vivam

usviverra

ferm

entum

felis.

Donec

nonummy

pellentesquean

te.Phasellusad

ipiscingsemper

elit.Proin

ferm

entum

massaac

quam

.Sed

diam

turpis,molestievitae,placerata,molestie

nec,leo.Maecenas

lacinia.Nam

ipsum

ligu

la,eleifendat,accumsannec,suscipita,ipsum.Morbi

blanditligu

lafeugiat

magna.

Nunceleifendconsequat

lorem.Sed

lacinia

nulla

vitae

enim

.Pellentesquetinciduntpurusvelmagna.

Integer

nonenim

.Prae-

senteuismodnunceu

purus.

Don

ecbibendum

quam

intellus.

Nullam

cursus

pulvinar

lectus.

Donec

etmi.

Nam

vulputate

metuseu

enim

.Vestibulum

pellentesquefeliseu

massa.

Quisqueullam

corper

placeratipsum.Crasnibh.Morbiveljustovitaelacus

tinciduntultrices.

Lorem

ipsum

dolor

sitam

et,consectetuer

adipiscingelit.In

hac

hab

itasse

plateadictumst.Integertempusconvallisaugue.

Etiam

facilisis.

Nuncelem

entum

ferm

entum

wisi.

Aeneanplacerat.

Utim

perdiet,

enim

sed

gravidasollicitudin,felisodio

placeratquam

,ac

pulvinarelitpuruseget

enim

.Nuncvitae

tortor.Proin

tempusnibhsitam

etnisl.Vivamusquistortorvitae

risusporta

vehicula.

2

Rysunek 32. Wyciąg z dokumentu wynikowego (strona 2)

Page 172: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 164

Fusce mauris. Vestibulum luctus nibh at lectus. Sedbibendum, nulla a faucibus semper, leo velit ultriciestellus, ac venenatis arcu wisi vel nisl. Vestibulum diam.Aliquam pellentesque, augue quis sagittis posuere, turpislacus congue quam, in hendrerit risus eros eget felis.Maecenas eget erat in sapien mattis porttitor. Vestibu-lum porttitor. Nulla facilisi. Sed a turpis eu lacuscommodo facilisis. Morbi fringilla, wisi in dignissim in-terdum, justo lectus sagittis dui, et vehicula libero duicursus dui. Mauris tempor ligula sed lacus. Duis cursusenim ut augue. Cras ac magna. Cras nulla. Nulla eges-tas. Curabitur a leo. Quisque egestas wisi eget nunc.Nam feugiat lacus vel est. Curabitur consectetuer.

Suspendisse vel felis. Ut lorem lorem, interdum eu,tincidunt sit amet, laoreet vitae, arcu. Aenean faucibuspede eu ante. Praesent enim elit, rutrum at, molestienon, nonummy vel, nisl. Ut lectus eros, malesuada sitamet, fermentum eu, sodales cursus, magna. Donec eupurus. Quisque vehicula, urna sed ultricies auctor, pedelorem egestas dui, et convallis elit erat sed nulla. Donecluctus. Curabitur et nunc. Aliquam dolor odio, com-modo pretium, ultricies non, pharetra in, velit. Integerarcu est, nonummy in, fermentum faucibus, egestas vel,odio.

3

Rysunek 33. Wyciąg z dokumentu wynikowego (strona 3)

Page 173: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Układ strony 165

Poziome strony

Wyciąg z dokumentu wynikowego pokazano na rysunkach 31–33, s. 162–164.

% strona-pozioma.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackagepdflscape\usepackagelipsum

\begindocument\lipsum[1-2]\beginlandscape\lipsum[3-4]

\endlandscape\lipsum[5-6]\enddocument

Czasami zachodzi potrzeba obrócenia pojedynczej strony. Jest tak na przy-kład wówczas, gdy chcemy umieścić w książce niezbyt długą, ale za to szero-ką tabelę. Możemy wówczas użyć pakietu pdflscape. Definiuje on środo-wisko landscape, które umieszcza swoją zawartość na osobnych stronachułożonych poziomo.

Page 174: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Zainteresowanych Czy-telników zachęcamy dozapoznania się równieżz innymi pakietami o po-dobnych zastosowaniach,np. ntheorem.

Zainteresowanych Czy-telników zachęcamy dozapoznania się równieżz innymi pakietami o po-dobnych zastosowaniach,np. ntheorem.

Otoczenia numerowane

W wielu pracach, szczególnie o charakterze matematycznym, zachodzipotrzeba zdefiniowania pewnych otoczeń, którew ramach tej książki będzie-my nazywać otoczeniami numerowanymi lub po prostu twierdzeniami, chociażmogą to być zarówno twierdzenia, jak i – przykładowo – definicje, lematy,przykłady, uwagi itd. Zbioru narzędzi przydatnych do zarządzania takimi śro-dowiskami dostarcza pakiet amsthm.

Page 175: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 167

Tworzenie otoczeń numerowanych

1. Pierwszy paragraf

Twierdzenie 1. To jest pierwsze twierdzenie.

Przykład. To jest pierwsza definicja.

Definicja 1. To jest pierwsza definicja.

2. Drugi paragraf

Twierdzenie 2. To jest drugie twierdzenie.

1

% otoczenia-numerowane.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm\newtheoremtwTwierdzenie\newtheoremdefiDefinicja\newtheorem*przyPrzykład

\begindocument\sectionPierwszy paragraf

\begintwTo jest pierwsze twierdzenie.

Page 176: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 168

\newtheorem

\newtheorem*

\endtw

\beginprzyTo jest pierwsza definicja.\endprzy

\begindefiTo jest pierwsza definicja.\enddefi

\sectionDrugi paragraf\begintwTo jest drugie twierdzenie.\endtw\enddocument

Do tworzenia otoczeń numerowanych służy polecenie \newtheorem,będące częścią pakietu amsthm. Umieszcza się je w preambule i przyjmujeono dwa argumenty obowiązkowe – pierwszy z nich określa nazwę referen-cyjną, której będziemy używać, aby odwołać się do otoczenia, drugi zaś okre-śla nazwę środowiska wypisywanąw tekście dokumentu.

Domyślnie otoczenia o różnych nazwach referencyjnych są numerowanew sposób niezależny od siebie i ciągły. Zdefiniowanie otoczenia przy użyciupolecenia \newtheorem* powoduje, że nie towarzyszymu numer.

Page 177: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 169

Numeracja zależna

1. Pierwszy paragraf

Twierdzenie 1. To jest pierwsze twierdzenie.

Definicja 2. To jest pierwsza definicja.

2. Drugi paragraf

Twierdzenie 3. To jest drugie twierdzenie.

Przykład 1. To jest pierwszy przykład.

1

% otoczenia-zalezna.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm

\newcounterlicznik

\newtheoremtw[licznik]Twierdzenie\newtheoremdefi[licznik]Definicja\newtheoremprzPrzykład

\begindocument

Page 178: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 170

\newcounter

\sectionPierwszy paragraf

\begintwTo jest pierwsze twierdzenie.\endtw

\begindefiTo jest pierwsza definicja.\enddefi

\sectionDrugi paragraf

\begintwTo jest drugie twierdzenie.\endtw

\beginprzTo jest pierwszy przykład.\endprz\enddocument

Niekiedy chcemy, aby pewne otoczenia, choć na pozór niezależne, ko-rzystały z tego samego licznika. W praktyce, często wiąże się w ten sposóbumieszczane w dokumentach matematycznych lematy i twierdzenia. W tejksiążce zdefiniowaliśmy (wykorzystywane w pierwszej części) otoczenia Py-tanie i Ćwiczenie, które korzystają z tej samej własności.

Aby zastosować numerację zależną w praktyce, należy, przy użyciu pole-cenia \newcounter, zdefiniować licznik – polecenie przyjmuje jeden argu-ment obowiązkowy, będący jego nazwą. Nazwę tę umieszcza się następniejako argument opcjonalny (pomiędzy nazwą referencyjną a nazwą drukowa-ną) przy każdymotoczeniu, którema z niego korzystać. Każdorazowewywo-łanie otoczenia korzystającego z danego licznika powoduje zwiększenie jegowartości o jeden, co pozwala uzyskać oczekiwany efekt.

Page 179: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 171

Numeracja hierarchiczna

1. Pierwszy paragraf

Twierdzenie 1.1. To jest pierwsze twierdzenie.

Definicja 1. To jest pierwsza definicja.

2. Drugi paragraf

Twierdzenie 2.1. To jest drugie twierdzenie.

Definicja 2. To jest druga definicja.

1

% otoczenia-hierarchiczna.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm

\newtheoremtwTwierdzenie[section]\newtheoremdefiDefinicja

\begindocument\sectionPierwszy paragraf

\begintw

Page 180: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 172

To jest pierwsze twierdzenie.\endtw

\begindefiTo jest pierwsza definicja.\enddefi

\sectionDrugi paragraf

\begintwTo jest drugie twierdzenie.\endtw

\begindefiTo jest druga definicja.\enddefi\enddocument

Wielokrotnie zachodzi potrzeba modyfikacji sposobu numeracji twier-dzeń tak, aby wewnątrz danego poziomu hierarchii dokumentu (rozdzia-łu, paragrafu, podparagrafu itd.) zaczynała się ona od nowa. Taki efektmożna osiągnąć, wzbogacając wywołanie polecenia \newtheorem o argu-ment opcjonalny, umieszczany w nawiasach kwadratowych za argumenta-mi obowiązkowymi, zawierający nazwę odpowiedniego poziomu (chapter,section, subsection itd.). Oczywiście, aby nie doprowadzić do sytuacji,w której w dokumencie będąwystępować dwa twierdzenia o tym samymnu-merze, poprzedza się je numerembieżącego poziomu.Wprzykładzie, numerprzy Twierdzeniu 2.1 oznacza, że jest to pierwsze twierdzenie w paragrafiedrugim.

Page 181: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 173

Numeracja hierarchiczna i zależna

1. Pierwszy paragraf

Twierdzenie 1.1. To jest pierwsze twierdzenie.

Definicja 1.2. To jest pierwsza definicja.

2. Drugi paragraf

Twierdzenie 2.1. To jest drugie twierdzenie.

Przykład 1. To jest pierwszy przykład.

1

% otoczenia-hierarchiczna-zalezna.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm

\newtheoremtwTwierdzenie[section]\newtheoremdefi[tw]Definicja\newtheoremprzPrzykład

\begindocument\sectionPierwszy paragraf

Page 182: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 174

\begintwTo jest pierwsze twierdzenie.\endtw

\begindefiTo jest pierwsza definicja.\enddefi

\sectionDrugi paragraf

\begintwTo jest drugie twierdzenie.\endtw

\beginprzTo jest pierwszy przykład.\endprz\enddocument

Nie jestmożliwe jednoczesne stosowanie numerowania hierarchicznegoi zależnego przy użyciu zewnętrznego licznika. Wynika to z faktu, że polece-nie \newtheoremmoże przyjmować co najwyżej jeden parametr opcjonal-ny na raz. Czasem jednak chcielibyśmy, aby numeracja twierdzeń byławspół-dzielona pomiędzy kilka otoczeń, a jednocześnie aby była zależna od pozio-mu hierarchii.

Na szczęście, dla każdego tworzonego otoczenia numerowanego, LATEXtworzy automatycznie licznik o nazwie takiej samej, jak jego nazwa referen-cyjna. To oznacza, że możemy odwołać się (przy użyciu odpowiedniego para-metruopcjonalnego)dotego licznika iwtensposóbuniknąćsytuacji,wktórejmusielibyśmy korzystać z dwóch parametrów opcjonalnych jednocześnie.

Page 183: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 175

Nazwy twierdzeń

Twierdzenie 1 (Zasadnicze twierdzenie). To jest pierw-sze twierdzenie.

1

% otoczenia-nazwy.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm

\newtheoremtwTwierdzenie

\begindocument\begintw[Zasadnicze twierdzenie]To jest pierwsze twierdzenie.\endtw\enddocument

Jeśli chcemy nadać twierdzeniu nazwę, możemy umieścić ją jako argu-ment opcjonalny wywoływanego środowiska. Tak zdefiniowane nazwy nietylko są pomocne czytelnikom, ale także mogą służyć do tworzenia odpo-wiednich spisów.

Page 184: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 176

Spisy otoczeń numerowanych

1. Twierdzenia

Twierdzenie 1.1 (Zasadnicze twierdzenie). To jest pierw-sze twierdzenie.

Definicja 1. To jest pierwsza definicja.

Przykład 1. To jest przykład.

Lista twierdzeń i definicji

1.1 Twierdzenie (Zasadnicze twierdzenie) . . . . . 11 Definicja . . . . . . . . . . . . . . . . . . . . . 1

1

% otoczenia-spis.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm

\usepackagethmtools\renewcommand\listtheoremnameLista twierdzeń i definicji

\newtheoremtwTwierdzenie[section]\newtheoremdefiDefinicja\newtheoremprzPrzykład

Page 185: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 177

\listtheoremname\renewcommand

\listoftheorems

\begindocument\sectionTwierdzenia

\begintw[Zasadnicze twierdzenie]To jest pierwsze twierdzenie.\endtw

\begindefiTo jest pierwsza definicja.\enddefi

\beginprzTo jest przykład.\endprz

\listoftheorems[ignoreall,show=tw,defi]\enddocument

Jak wiemy, LATEX pozwala w dość łatwy sposób tworzyć spisy treści, tabeli rysunków. Tworzenie listy twierdzeńumożliwia pakietthmtools, który na-leży dołączyć w preambule.

Warto ponownie zdefiniować polecenie \listtheoremname przy uży-ciu instrukcji\renewcommand – odpowiada ono za to, jaki tytuł będziemiałspis. Po tej operacji wystarczy wwybranymmiejscu dokumentu (z reguły nakońcu) umieścić polecenie \listoftheorems. Polecenie to domyślnie wy-pisuje listę wszystkich otoczeń numerowanych występujących w dokumen-cie. Jeśli chcemy ograniczyć się jedynie do niektórych rodzajów, możemy jewywołać z odpowiednimi parametrami opcjonalnymi. Zastosowany w przy-kładzie parametr ignoreallwskazuje, że nie chcemy wypisywać żadnegotwierdzenia, zaś przy pomocy parametru show definiujemy listę nazw refe-rencyjnych otoczeń, któremają być uwzględnione w spisie.

Pakiet thmtools daje o wiele większe możliwości, do zapoznania sięz którymi zachęcamy ambitniejszych Czytelników.

Page 186: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 178

Dowody

Twierdzenie 1. To jest pierwsze twierdzenie.

Dowód. To jest dowód twierdzenia.

Twierdzenie 2. To jest drugie twierdzenie.

Dowód. Dowód wynika wprost ze wzoru

a2 + b2 = c2.

1

% otoczenia-dowody.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm

\newtheoremtwTwierdzenie

\begindocument\begintwTo jest pierwsze twierdzenie.\endtw

\beginproofTo jest dowód twierdzenia.\endproof

Page 187: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 179

W praktyce zasada ta do-tyczy wszystkich otoczeństosowanych wewnątrzdowodu.

W praktyce zasada ta do-tyczy wszystkich otoczeństosowanych wewnątrzdowodu.

\qedhere

\listoftheorems

\begintwTo jest drugie twierdzenie.\endtw

\beginproofDowód wynika wprost ze wzoru \[a^2 + b^2 = c^2.\qedhere\]\endproof\enddocument

Pakiet amsthm dostarcza nam otoczenie proof, służące do umieszcza-niaw tekście dowodówmatematycznych. Jego cechą charakterystyczną jestnie tylko słowo Dowód na początku, ale także symbol końca dowodu (kwa-drat), umieszczanyautomatycznie jakoostatni elementwotoczeniu. Jeśli jed-nakdowódkończysięwzoremwystawionymlubwyliczeniem, należywska-zaćmiejsceumieszczenia symbolukońcadowoduręcznie, stosującpolecenie\qedhere. Sprawia to, że symbol ten umieszczany jest na wysokości ostat-niegowiersza dowodu, a nie pod nim.

Dowody nie zostaną umieszczane w spisach twierdzeń, nawet jeśli umie-ścimy nazwę referencyjną proof na liście będącej wartością parametruopcjonalnego show polecenia \listoftheorems, opisanegowcześniej.

Zmiana symbolu końca dowodu

Twierdzenie 1. To jest pierwsze twierdzenie.

Dowód. To jest dowód twierdzenia. Q.E.D.

1

Page 188: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 180

\qedsymbol\renewcommand

% otoczenia-symbol.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm\newtheoremtwTwierdzenie

\renewcommand\qedsymbolQ.E.D.

\begindocument\begintwTo jest pierwsze twierdzenie.\endtw

\beginproofTo jest dowód twierdzenia.\endproof\enddocument

Aby zmienić symbol końca dowodu, należy zdefiniować ponownie pole-cenie \qedsymbol przy użyciu znanej nam już instrukcji \renewcommand.Wywołanie polecenia \renewcommand\qedsymbol spowoduje, żestosowany będzie znak pusty.

Page 189: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 181

Rodzaje otoczeń numerowanych

Twierdzenie 1 (Zasadnicze twierdzenie). To jest pierw-sze twierdzenie.

Definicja 1. To jest pierwsza definicja.

Przykład 1. To jest przykład.

Uwaga 1. To jest uwaga.

1

% otoczenia-rodzaje.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm

\theoremstyleplain\newtheoremtwTwierdzenie

\theoremstyledefinition\newtheoremdefiDefinicja

\theoremstyleremark\newtheoremprzPrzykład\newtheoremuwaUwaga

\begindocument\begintw[Zasadnicze twierdzenie]

Page 190: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 182

\theoremstyle

To jest pierwsze twierdzenie.\endtw

\begindefiTo jest pierwsza definicja.\enddefi

\beginprzTo jest przykład.\endprz

\beginuwaTo jest uwaga.\enduwa\enddocument

Tworząc otoczenia numerowane wewnątrz dokumentu możemy stoso-wać jeden z trzech dostępnych domyślnie stylów:plain,definition orazremark.Wywołaniepolecenia\theoremstyle z jednymparametremobo-wiązkowym, będącym nazwą stylu, powoduje, że dla wszystkich otoczeń nu-merowanych zdefiniowanych później stosowany będzie wskazany styl. Jeśliniewskazano inaczej, stosowany jest stylplain (porównaj zwcześniejszymiprzykładami).

Pakiet amsthm daje bardzo szerokiemożliwości tworzenia własnych sty-lów twierdzeń. Zainteresowanych Czytelników zachęcamy do zapoznaniasię z dokumentacją pakietu, szczegółowoopisującąwiele parametrów, któremożna ustawiać.

Page 191: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 183

Zamiana numeru otoczenia i jego nazwymiejscami

1. Twierdzenie. To jest pierwsze twierdzenie.

2. Twierdzenie. To jest drugie twierdzenie.

3. Definicja. To jest pierwsza definicja.

1

% otoczenia-zamiana.tex\documentclassmwart

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska

\usepackageamsthm\makeatletter\def\swappedhead#1#2#3%\thmnumber#2.%\thmname\@ifnotempty#2~#1%\thmnote \the\thm@notefont(#3)

\makeatother\swapnumbers

\newtheoremtwTwierdzenie\newtheoremdefi[tw]Definicja

\begindocument\begintwTo jest pierwsze twierdzenie.\endtw

Page 192: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Otoczenia numerowane 184

\swapnumbers

\begintwTo jest drugie twierdzenie.\endtw

\begindefiTo jest pierwsza definicja.\enddefi\enddocument

Niekiedy, z różnych przyczyn, chcielibyśmy, aby numer twierdzenia znaj-dował się przed jego nazwą. Aby osiągnąć taki efekt, należy wywołać w pre-ambule polecenie \swapnumbers związane z pakietem amsthm.

Niestety, zwyczajem anglosaskim jest w takiej sytuacji pisanie numerutwierdzenia bez kropki. W języku polskim po liczebnikach porządkowychwinno się kropkę stawiać. Pakiet amsthm nie pozwala na łatwe osiągnięcietakiego efektu – oczywiście nie oznacza to, że nie da się go uzyskać wcale.Wpowyższymprzykładzie, zaraz po zadeklarowaniu, że będziemy korzystaćz pakietuamsthm, tak przedefiniowaliśmy jedno zwewnętrznychpoleceń te-go pakietu, by kropki pojawiły się tam, gdzie trzeba. Zauważmy również przyokazji, że zastosowaliśmy wspólną numerację twierdzeń i definicji – jak sięzdaje, jest to rozsądne rozwiązanie przy „odwróconej” numeracji.

Page 193: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

$

\(\)

Wzory i formułymatematyczne

Jak to już zostałowspomnianewElementarzu, jednązmocnychstronTEXa(a przez to i LATEXa) są zaawansowanemożliwości składuwzorów i formułma-tematycznych. Teraznadszedłmoment,wktórymbędziemymogli przekonaćsię o tym nawłasne oczy.

Prosty wzór

Ponieważ skład tekstuw języku naturalnym i składmatematyczny różniąsię znacząco, w TEXu używa się do tego ostatniego osobnego tzw. trybu ma-tematycznego. Jak się okaże, niektóre polecenia działająwyłączniew tym try-bie, innezaśwogólewnimniedziałają.Dzięki temu łatwiejwychwycić częstybłąd polegający na tym, że zapomnieliśmywłączyć (lub wyłączyć) trybmate-matyczny – najczęściej w takich sytuacjach LATEXprędzej czy później trafia na„nielegalne” polecenie i zgłasza błąd.

Najprostszym sposobem włączenia trybu matematycznego jest użyciesymboludolara ($). Fragmentypomiędzy takimi symbolami będą składane ja-kowzory. Niektórym nie odpowiada to, że ten sam symbol służy zarówno dowłączania, jak iwyłączania trybumatematycznego; dla tych osób przewidzia-no polecenia \( i \).

2+2=4 \quad $2+2=4$ \quad \(2 + 2 = 4\)

2+2=4 2 + 2 = 42 + 2 = 4

Zauważmy, że prostywzór złożony jako tekst (czyli bez znaczników trybumatematycznego) wygląda bardzo kiepsko:między liczbami a znakiem doda-wania (i znakiem równości) niemawogóle odstępów. (Wprzypadku bardziej

Page 194: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 186

\quad

skomplikowanych wzorów bywa jeszcze gorzej.) Ten sam wzór wpisany po-między znakami dolara (lub poleceniami \(…\)) wygląda już zupełnie ina-czej. W przykładzie występuje też polecenie \quad, o którym jest mowa nastronie 203.

Jak można się domyślić z powyższego przykładu, w trybie matematycz-nym LATEX ignoruje spacje (oczywiście, nadal są one potrzebne, aby oddzielićpolecenie LATEXaodnastępującego ponim tekstu), samodzielnie dbając owła-ściwe odstępymiędzy elementami formuł.

Wzorywycentrowane

Wzór w tekście (np. 12 −13 =

16 ) możemy umieścić

dość łatwo.Czasem chcemy, żeby wzór był wycentrowany:

12− 13=16. (1)

A oto ponownie wzór (1), tym razem bez numeru:

12− 13=16.

Można go zapisać równoważnie w postaci

12− 13=16.

1

% matematyka-wycentrowany.tex\documentclassmwart

Page 195: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 187

\eqref

Polecenie \eqref działatak samo, jak polecenie\ref, ale pozwala na au-tomatyczne umieszczeniew tekście odwołania oto-czonego nawiasami okrą-głymi.

Polecenie \eqref działatak samo, jak polecenie\ref, ale pozwala na au-tomatyczne umieszczeniew tekście odwołania oto-czonego nawiasami okrą-głymi.

\ref

\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackageamsmath\usepackageamssymb

\begindocumentWzór w tekście (np. $\frac12-\frac13=\frac16$)możemy umieścić dość łatwo.

Czasem chcemy, żeby wzór był wycentrowany:\beginequation\labelulamki\frac12-\frac13=\frac16\text.

\endequation

A~oto ponownie wzór~\eqrefulamki, tym razem beznumeru:\beginequation*\frac12-\frac13=\frac16\text.

\endequation*Można go zapisać równoważnie w postaci\[\frac12-\frac13=\frac16\text.\]\enddocument

Wzory otoczone symbolami dolara lub poleceniami \(…\) są składanewewnątrz akapitu.Wzorywycentrowane składa sięw otoczeniuequation,jeżeli potrzebujemy ich numeracji (do której oczywiście możemy się odwo-ływać przy użyciu poleceń \eqref lub \ref), lub equation*, jeżeli niechcemy ich numerować. Zamiast środowiska equation* można też użyćrównoważnej mu, ale krótszej konstrukcji \[…\].

Zwróćmy uwagę, że niektóre wyrażenia matematyczne (np. ułamki) wy-glądają inaczej we wzorach w tekście lub np. pod znakiem pierwiastka,a inaczej wwycentrowanych: ogólnie rzecz ujmując, formuły matematycznew tekście są składane przez LATEXa tak, by zajmowały możliwie mało miejsca

Page 196: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 188

\limits\nolimits

\int

w pionie (w przeciwnym wypadku powodowałyby zwiększenie odstępu mię-dzywierszami, coniewyglądazbytestetycznie).Możemytozmienićprzyuży-ciu poleceń \limits i \nolimits:

\sum\nolimits_n=0^\infty\sum\limits_n=0^\infty

∑∞n=0

∞∑n=0

Zgodnie z amerykańskimi zwyczajami typograficznymi, LATEX składa gra-nice całkowania obok symbolu całki (zapisywanego przy użyciu polece-nia\int) zamiast pod i nad nim. Aby to zmienić,można pisać\int\limitszamiast \int. O wiele łatwiej jest jednak wywołać pakiet amsmath z opcjąintlimits, to znaczy \usepackage[intlimits]amsmath.

Wreszcie, należy pamiętać o tym, że jeżeli wzór (równieżwycentrowany)znajduje się w środku zdania, należy go traktować jako jego część (na przy-kład wzór (1) z przykładu jest zdaniem podrzędnym, w którym rolę orzecze-nia pełni symbol=), co w szczególności oznacza poprawne użycie znaków in-terpunkcyjnych. W przypadku wzoróww tekście znaki te nie należą do wzo-ru, zatem należy je pisać poza znacznikami $…$ (lub \(…\)). W przypadkuwzorówwycentrowanych musimy włączyć interpunkcję do nich (inaczej tra-fiłaby ona do osobnegowiersza, co byłoby błędem), ale należy umieścić je ja-ko argument polecenia \text (więcej o nimmożna przeczytać w paragrafieTeksty we wzorach na stronie 204).

Pakiety amssymb (zwiększający znacząco liczbę dostępnych symboli)i amsmath (zwiększający możliwości tworzenia m.in. wielowierszowych cią-gów formuł) nie są co prawda konieczne do składania najprostszychwzorów,ale przydają się na tyle często, żewłączanie ichdodokumentu zawsze, gdypo-jawiają sięw nim treścimatematyczne, wydaje się nie być pozbawione sensu.Uwaga. W tym rozdziale w większości przypadków odstąpimy od dotych-czasowego zwyczaju, w którym przykłady były kompletnymi dokumenta-mi. Przykłady składu formułmatematycznych, niebędące samodzielnymi do-kumentami, można będzie traktować jako wpisane do pewnego ogólnegoszablonu. W trosce o czytelność przykładów będziemy najczęściej pomijaliznaczniki początku i końca trybumatematycznego; zdecydowanawiększośćprzykładów będzie składana tak, jakby była umieszczona wewnątrz akapitu.

Page 197: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 189

\tfrac\dfrac

Na przykład, poniższy fragment powinien być utożsamiany z następującympo nim dokumentem.

2+2=4 2 + 2 = 4

\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackageamsmath\usepackageamssymb

\begindocument\(2+2=4\)\enddocument

Ułamki, potęgi i indeksy dolne. Symbol Newtona.

\frac12(a_1+a_2)^2 12 (a1 + a2)

2

Powyższy przykład wymaga kilku komentarzy. Odnotujmy, że ułamek„tekstowy” (pisanymniejszympismem)możemyumieścićwdokumencieprzyużyciu polecenia \tfrac, a ułamek „duży” (taki, jak we wzorach wycentro-wanych) – przy użyciu polecenia \dfrac.

Może się też zdarzyć, że będziemy potrzebować indeksów górnych i dol-nych jednocześnie – można je wówczas podać w dowolnej kolejności (dlaLATEXa nie ma różnicy między x_0^2 a x^2_0, choć pierwszy wa-riant jest bliższy sposobowi, w jaki odczytalibyśmy taką formułę). Niekiedyteż jest potrzeba zapisania indeksów piętrowych. Konstrukcja x_n_kjest niejednoznaczna (nie wiadomo, czy indeks k stoi przy całym wyraże-niu x_n, czy przy indeksie n) i spowoduje błąd kompilacji; w takiej sytu-acji należy napisać na przykład x_n_k.

Kolejną kwestią związaną z indeksami jest oszczędnośćmiejsca iwysiłku:jeżeli indeks jest pojedynczym znakiem (lub pojedynczym poleceniem LATEXa),

Page 198: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 190

\binom\tbinom\dbinom

Kreski oznaczające war-tość bezwzględną możnauzyskać też pisząc po pro-stu np. |x|, choć wów-czas LATEX może nie byćw stanie zorientować się,która z nich jest „lewa”,a która „prawa”; w razienieprawidłowych odstępównależy wówczas napisać\lvert x\rvert.

Kreski oznaczające war-tość bezwzględną możnauzyskać też pisząc po pro-stu np. |x|, choć wów-czas LATEX może nie byćw stanie zorientować się,która z nich jest „lewa”,a która „prawa”; w razienieprawidłowych odstępównależy wówczas napisać\lvert x\rvert.

\left\right

niemapotrzebyotaczaniagonawiasamiklamrowymi –możnanp. napisaćpoprostu (a_1+a_2)^2.

\binomnk = \binomnn-k(nk

)=(nn−k)

Skoro mowa o ułamkach, odnotujmy również, że symbol Newtona, typo-graficznie pokrewny symbolowi ułamka, składa się w LATEXu przy użyciu po-lecenia \binom (przez analogię do \tfrac i \dfrac mamy też \tbinomi \dbinom):

Nawiasy

Już w szkole podstawowej dowiadujemy się, że działania arytmetycznemają swoją hierarchię, i że możemy modyfikować kolejność wykonywaniadziałań we wzorach przy użyciu nawiasów. Przy pisaniu w LATEXu istotne sądwie kwestie: jak wpisywać same nawiasy, i jak zmienić ich wielkość.

Co do pierwszej kwestii, sprawa jest prosta: nawiasy okrągłe i kwadrato-we wpisujemy „zwyczajnie”, nawiasy klamrowe (które mają szczególne zna-czenie dla LATEXa) poprzedzamy znakiem odwróconego ukośnika, natomiastbardziej wyrafinowane rodzaje nawiasów wpisujemy, korzystając z odpo-wiednich poleceń.

\langle \ [ ( \lvert x\rvert ) ] \ \rangle ⟨[(|x|)]⟩

Kwestia wielkości nawiasów jest subtelniejsza. Możemy poprzedzić na-wiasy poleceniami \left i \right – wówczas LATEX dobierze ich wielkośćtak, by objęły całe wyrażenie znajdujące się w środku.

\left[\left(x^2\right)^2\right][(x2)2]

Często się jednak zdarza, że automatycznie dobrana wielkość nawiasównie jest właściwa. Na przykład, powyższe wyrażenie wygląda trochę lepiej,gdy wszystkie nawiasy są zwykłej wielkości, lub gdy wyłącznie nawiasy kwa-dratowe są nieco większe:

Page 199: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 191

\lvert\rvert

[(x^2)^2] \quad\left[(x^2)^2\right] [(x2)2]

[(x2)2

]Wprzypadku, gdy chcemymieć pełną kontrolę nad rozmiaremnawiasów,

z pomocą przychodzą polecenia składające nawiasy żądanej wielkości.

\Biggl(\biggl(\Bigl(\bigl(( x)\bigr)\Bigr)\biggr)\Biggr)

(((((x)))))

Właściwe dobraniewielkości nawiasówbywaniełatwe, alewartowłożyćwnie trochęwysiłku, bynaszewzorywyglądałybardzoprofesjonalnie.Wpo-niższych przykładach użycie komend \left i \right powoduje, że kreskipionowe są zbyt małe (w pierwszym wzorze) lub nawiasy zbyt duże (w dru-gimwzorze). O komendzie \! jest mowa na stronie 202.

\left|\left|x-1\right|+1\right| ||x− 1|+ 1|

\bigl|\lvert x-1\rvert+1\bigr|∣∣|x− 1|+ 1∣∣

\left(\sum_n=1^\infty\lvert x_n\rvert^p\right)^\!\!1/p

( ∞∑n=1

|xn|p)1/p

\biggl(\sum_n=1^\infty\lvert x_n\rvert^p\biggr)^\!\!1/p

( ∞∑n=1

|xn|p)1/p

Zauważmy przy okazji, że choć – jak to zostało wspomniane wcześniej –lepiej jest używać poleceń \lvert i \rvert zamiast symbolu |, gdyż tenostatni jest niejednoznaczny, to jednakwprzypadkuużycia gopo takich pole-ceniach, jak \bigl czy \right problem znika – te komendy jednoznacznieokreślają bowiem, czy mamy do czynienia z kreską otwierającą, czy zamyka-jącą wyrażenie.

Page 200: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 192

Można też napisać\usepackageicommaw preambule i odróżniaćprzecinek dziesiętny odznaku przestankowegoumieszczaniem bądź niespacji po nim w pliku źró-dłowym.

Można też napisać\usepackageicommaw preambule i odróżniaćprzecinek dziesiętny odznaku przestankowegoumieszczaniem bądź niespacji po nim w pliku źró-dłowym.

Więcej o odstępach w try-bie matematycznym powie-my na s. 202.

Więcej o odstępach w try-bie matematycznym powie-my na s. 202.

\;\colon

Symbole działań, relacji, zbiorów itp.

Przez kilkawieków rozwoju notacji algebraicznejmatematycy zdołaliwy-myślić całkiem sporo różnych symboli oznaczających różne rzeczy. Każdysystem składu tekstów matematycznych powinien pozwolić umieścić przy-najmniej większość z nich w dokumencie. Nie inaczej jest z LATEXem. Nie bę-dziemy tu przytaczać in extenso tabel z komendami produkującymi te symbo-le (na to jest miejsce wDodatku A), ale poprzestaniemy na kilku przykładachilustrujących szczególnie często pojawiające się oznaczenia.

x\in(0,1)\cup(1,2) x ∈ (0, 1) ∪ (1, 2)

\pi\approx 3,1416 π ≈ 3,1416

\sqrt2\approx 2,4142√2 ≈ 2,4142

\exists y\geq 0\;\forall x:x\leq y ∃y ­ 0 ∀x : x ¬ y

f\colon X\to Y f : X → Y

f’(x)=x^2 f ′(x) = x2

(20\pm 1)\cdot(20\mp 1) (20± 1) · (20∓ 1)

Zwróćmy uwagę na pewne subtelności. Po pierwsze, przecinek (i kilka in-nych symboli, np. średnik) jest traktowany przez LATEXa jako znak przestanko-wy, czyli w trybie matematycznym pojawia się po nim wąska spacja. Jeżelichcemy tego uniknąć, należy wziąć taki symbol w nawiasy klamrowe.

Po drugie, zdarza się, że trzeba podpowiedzieć LATEXowi, jakie powinienwstawiać odstępy. Tak jest w przypadku wzoru z kwantyfikatorami, w któ-rym wstawiliśmy odstęp poleceniem \;. Podobnie jest w przypadku znakudwukropka, który – gdy jest używany jako symbol oddzielający nazwę funk-cji od jej dziedziny i przeciwdziedziny – wstawia się poleceniem \colon.

Takich subtelności jest więcej; zainteresowanym czytelnikom polecamylekturę książki TEX. Przewodnik użytkownika autorstwa Donalda E. Knutha,a pozostałych nie będziemy już zanudzać.

Page 201: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 193

\operatorname

\DeclareMathOperator

\DeclareMathOperator*

Popularne funkcje

W trybie matematycznym litery alfabetu łacińskiego składane są kursy-wą (a jeżeli font jest w takową wyposażony, to nawet specjalną kursywą ma-tematyczną, któraodzwykłej różni się głównieodstępamimiędzyliterowymi).Zgodnie z tradycją, nazwy funkcji zapisuje się z kolei pismemprostym –wtensposób można odróżnić np. iloczyn czterech czynników s, i, n, x (sinx) od si-nusa liczby x (sinx). Spora liczba często spotykanych funkcji ma swoje pole-cenia LATEXowe:

\sin^2 x+\cos^2 x=1 sin2 x+ cos2 x = 1

\sup\tg\log x sup tg log x

Wprzypadku, gdyw standardowymzestawie brak oznaczenia jakiejś rza-dziej używanej funkcji, można użyć komendy \operatorname.

\operatornameconvA convA

Jeżeli oznaczenie takiebędzieużywaneczęściej,wartozdefiniowaćnowepolecenie. Jeżeli w preambule wpiszemy linijkę

\DeclareMathOperator\convconv

będziemy mogli używać dalej polecenia \conv tak, jakby było wbudowanew LATEXa.

Na zakończenie odnotujmy, że niektóre z funkcji nazywanych kilkoma li-terami miewają indeksy dolne pisane obok nazwy funkcji (na przykład loga-rytm), a niektóre – pod tą nazwą (na przykład granica). W przypadku formuł

\log_b \lim_x\to 0 b^x logb limx→0

bx

umieszczonychwewnątrzakapituniematoznaczenia, gdyżLATEX i takumiesz-cza wszystkie indeksy obok symboli, których dotyczą (ma to na celu uniknię-cie zwiększania odstępu między wierszami), jednak przy formułach wycen-trowanych jest to istotne. Aby zdefiniować nową funkcję, której indeksy po-winny być umieszczone pod nią, należy zamiast \DeclareMathOperatorużyć polecenia \DeclareMathOperator*.

Page 202: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 194

Fraktura zwana jest popu-larnie, acz niezbyt popraw-nie pismem gotyckim.

Fraktura zwana jest popu-larnie, acz niezbyt popraw-nie pismem gotyckim.

\imath\jmath

Alfabetymatematyczne

Wwielu tekstach matematycznych pojawia się potrzeba użycia różnychkrojów pisma. Oprócz zwykłej kursywy matematycznej pojawiają się literypisane (kaligraficzne), pisane podwójną kreską (tradycyjnie tak oznacza sięzbiory liczbowe), rzadziej wytłuszczone, a także fraktura. Wszystkie te al-fabety są dostępnew LATEXu.

R\mathcalR\mathbbR\mathbfR\mathfrakR RRRRR

Oczywiście, mamy również do dyspozycji komplet liter greckich, a takżekilka początkowych znaków alfabetu hebrajskiego.

\alpha\beta\gamma \dots \omega\quad \aleph\beth\gimel αβγ . . . ω ℵℶג

Akcenty nad literami

Polecenia wstawiające akcenty w trybie tekstowym nie działają w try-bie matematycznym (i vice versa). Z łatwością można jednak używać rozma-itych akcentów równieżw składziematematycznym.Warto pamiętać o pole-ceniach\imath i\jmath, składających litery „i” oraz „j” bez kropki kursywąmatematyczną.

\hata + \dotx+ \vec\imath + \barz a+ x+ ı+ z

Funkcje dane kilkomawzorami

Całkiem często definiuje się wmatematyce funkcję kilkoma wzorami, za-leżnie od tego,w jakimpodzbiorze dziedziny znajduje się argument. (Klasycz-nym przykładem jest definicja wartości bezwzględnej.) Do składu takich de-finicji używa się otoczenia cases.

Page 203: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 195

\lvert x\rvert=\begincases x\text, & \textgdy $x\ge 0$ \\ -x\text, & \textgdy $x<0$\endcases

|x| =

x, gdy x ­ 0−x, gdy x < 0

Powyższy kod może się wydawać dość skomplikowany, ale w rzeczywi-stości jest całkiem prosty. Kolejne wiersze (poza ostatnim) kończą się ozna-czeniem końca wiersza \\. Dwie części każdego wiersza oddzielone są zna-kiem &. Fragmenty pisane w języku naturalnym umieszcza się w argumenciepolecenia \text. Wreszcie, formuły matematyczne wewnątrz argumentutego polecenia tradycyjnie otacza się symbolami dolara (oczywiście, możnarównież użyć poleceń \(…\)).

Układy równań

Układy równań, tradycyjnie obejmowane klamrą po lewej stronie, składasię podobnie, jak wartości funkcji „sklejanych” z kilku wzorów. Możemy dotego celu wykorzystać środowisko aligned.

\left\ \beginaligned Ax + By + C &= 0 \\ (x-a)^2 + (y-b)^2 &= r^2 \endaligned\right.

Ax+By + C = 0

(x− a)2 + (y − b)2 = r2

Zwróćmyuwagęna dwie kwestie. Po pierwsze, ponownie (por.wcześniej-szy paragraf) użyliśmy symboli &, aby zaznaczyć miejsca, które powinny byćwyrównanewobuwierszach, i polecenia\\, abyoznaczyćkoniecwiersza. Po

Page 204: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 196

\eqref

drugie, otoczyliśmynaszukład równańnawiasami: klamrowympo lewej stro-nie (\left\) i pustym po prawej (\right.) – komendy \left i \rightmuszą występować parami!

Ciągi równości

Dłuższe ciągi równoważnych formuł, ilustrujące bardziej złożone prze-kształcenia, wyglądają również podobnie do poprzedniego przykładu. Jestjednak istotnaróżnica: jeżeli chcemyponumerowaćkolejneetapyprzekształ-cenia (i np. odwoływać się do nich później przy użyciu poleceń \label oraz\ref), niekoniecznie będziemy chcieli zagnieździć w otoczeniu equation(odpowiedzialnym za numerowane wzory) otoczenia aligned, gdyż wów-czas mielibyśmy jeden numer całego ciągu przekształceń. W takiej sytu-acji zamiast środowiska equation należy użyć środowiska align. Należyrównież pamiętać, że do odwoływania się do wzorów używa się polecenia\eqref, które (wodróżnieniuod\ref) otaczanumernawiasamiorazskładago pismemprostym (co jest istotne np. w sformułowaniach twierdzeń, trady-cyjnie pisanych kursywą).

(x+ y)2 = (x+ y)(x+ y) = (1)

= x2 + xy + yx+ y2 = (2)

= x2 + 2xy + y2 (3)

Najpierw podnieśliśmy dane wyrażenie do kwadratu (1),potem wymnożyliśmy nawiasy (2), a na końcu zreduko-waliśmy wyrazy podobne (3).

1

Page 205: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 197

% matematyka-ciag-1.tex\documentclassmwart\usepackage[utf8]inputenc\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackageamsmath\usepackageamssymb

\begindocument\beginalign(x+y)^2 &= (x+y)(x+y) = \labelkwadrat\\

&= x^2 + xy + yx + y^2 = \labelnawiasy\\&= x^2 + 2xy +y^2 \labelredukcja

\endalignNajpierw podnieśliśmy dane wyrażenie dokwadratu~\eqrefkwadrat, potem wymnożyliśmynawiasy~\eqrefnawiasy, a~na końcu zredukowaliśmywyrazy podobne~\eqrefredukcja.\enddocument

Może się jednak okazać, że zamiast numerować kolejne wiersze i odwo-ływać się do nich później, zechcemy opisać przekształceniawraz zewzorami.Możemywówczaswykorzystać otoczeniealign*, które nie numerujewier-szy, a zamiast numerów dodać krótkie opisy.

(x+ y)2 = (x+ y)(x+ y) = kwadrat

= x2 + xy + yx+ y2 = nawiasy

= x2 + 2xy + y2 redukcja

1

Page 206: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 198

\notag

% matematyka-ciag-2.tex\documentclassmwart\usepackagelatex-ksiazka-kucharska\usepackageamsmath\usepackageamssymb

\begindocument\beginalign*(x+y)^2 &= (x+y)(x+y) = & \textkwadrat\\

&= x^2 + xy + yx + y^2 = & \textnawiasy\\&= x^2 + 2xy +y^2 & \textredukcja

\endalign*\enddocument

Wreszcie,może zajść potrzeba ponumerowania tylko niektórychwierszyw ciągu przekształceń.Wówczasmożna skorzystać z polecenia \notag.

(x+ y)2 = (x+ y)(x+ y) = (1)

= x2 + xy + yx+ y2 =

= x2 + 2xy + y2 (2)

Najpierw podnieśliśmy dane wyrażenie do kwadratu (1),potem wymnożyliśmy nawiasy, a na końcu zredukowali-śmy wyrazy podobne (2).

1

% matematyka-ciag-3.tex\documentclassmwart\usepackage[utf8]inputenc

Page 207: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 199

\usepackagepolski\usepackagelatex-ksiazka-kucharska\usepackageamsmath\usepackageamssymb

\begindocument\beginalign(x+y)^2 &= (x+y)(x+y) = \labelkwadrat\\

&= x^2 + xy + yx + y^2 = \notag\\&= x^2 + 2xy +y^2 \labelredukcja

\endalignNajpierw podnieśliśmy dane wyrażenie dokwadratu~\eqrefkwadrat, potem wymnożyliśmynawiasy, a~na końcu zredukowaliśmywyrazy podobne~\eqrefredukcja.\enddocument

Wzory związane ze sobą

Opisanywpoprzednimparagrafie sposóbnadaje siędowzorów, którepo-winnybyćwyrównanenp. na znaku równości. Zdarza się jednak, że nie zależynam na wyrównaniu (lub zgoła go nie chcemy). Tak może być m.in. wówczas,gdy chcemy złożyć kilka formuł, jedna pod drugą, przy czym niektóre z nichsąowiele krótszeniż inne.Wtakiej sytuacji przydaje się środowiskogather(lub jego odpowiednik gather*, w którymwzory nie są numerowane).

\begingather (x-a)^2+(y-b)^2=r^2\\ y=px+q\endgather

(x− a)2 + (y − b)2 = r2 (1)

y = px+ q (2)

Page 208: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 200

Autorzy spieszą donieść,że znają poprawną defini-cję, ale nie jest ich celemwywoływanie u czytelni-ków koszmarów sennych.

Autorzy spieszą donieść,że znają poprawną defini-cję, ale nie jest ich celemwywoływanie u czytelni-ków koszmarów sennych.

Jest takich środowisk jesz-cze kilka – wszystkie opi-sane są w dokumentacjipakietu amsmath

Jest takich środowisk jesz-cze kilka – wszystkie opi-sane są w dokumentacjipakietu amsmath

Nietrudno wyobrazić sobie, jak dziwnie wyglądałyby powyższe formuły,gdyby użyć środowiska align i wyrównać je na znakach równości.

Jeżeli powyższe sposoby składu formuł rozciągających się na więcej niżjeden wiersz nie wystarczają dla naszych potrzeb, najlepiej skorzystać z bo-gactwa możliwości kryjących się w pakiecie amsmath, którego dokumenta-cja podaje szereg przykładów.

Macierze

Jakwiadomo,macierze to po prostu tabelki zawierającewyrażeniamate-matyczne. Nic więc dziwnego, że opis macierzy w pliku LATEXowym jest po-dobny do opisu tabeli.

\beginpmatrix a & b \\ c & d\endpmatrix(

a b

c d

)Litera pw nazwie środowiska pmatrix pochodzi od angielskiego paren-

theses, czyli nawiasy; analogiczne środowiska bmatrix, vmatrix składajątabelki otoczone nawiasami kwadratowymi lub pionowymi kreskami, zaśw przypadku konieczności użycia jakichś nietypowych nawiasów mamy dodyspozycji środowisko matrix, składające macierz bez żadnych nawiasów,i polecenia \left i \right, wstawiające dowolne nawiasy. Zdarza się też,że wygodnie jest umieścić niewielką macierz we wzorze wewnątrz akapitu;wówczasmożnawykorzystać środowisko smallmatrix:

\bigl(\beginsmallmatrix 1 & 0 \\ 0 & 1\endsmallmatrix\bigr)(

1 00 1

)

Page 209: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 201

\dots\hdotsfor

Ostatnim trikiem dotyczącym macierzy, jaki warto znać, jest sposób nazłożenie macierzy o nieznanych rozmiarach. W takiej sytuacji tradycyjnieużywa się kropkowań. Trzy kropki w pojedynczej komórce macierzy uzysku-jemy oczywiście komendą \dots, natomiast kropkowanie przez kilka kolej-nych komórek – poleceniem \hdotsfor, którego argumentem obowiązko-wym jest liczba kolumn, przez któremają biec kropki.

\beginvmatrix 1 & 1 & 0 & \dots & 0 & 0 \\ 0 & 1 & 1 & \dots & 0 & 0 \\ 0 & 0 & 1 & \dots & 0 & 0 \\ \hdotsfor6 \\ 0 & 0 & 0 & \dots & 1 & 1 \\\endvmatrix∣∣∣∣∣∣∣∣∣∣∣

1 1 0 . . . 0 00 1 1 . . . 0 00 0 1 . . . 0 0. . . . . . . . . . . . . . . . . . . .

0 0 0 . . . 1 1

∣∣∣∣∣∣∣∣∣∣∣

Wielokropki matematyczne

Wpoprzednimparagrafiepojawił się problemwielokropkówwtrybiema-tematycznym. Związana jest z tymdelikatna kwestia: anglosaska i polska tra-dycja typograficzna nakazują składać te wielokropki całkiem inaczej, i – cogorsza – w opinii autorów tradycja anglosaska jest zdecydowanie estetycz-niejsza. Dla zachowania czystego sumienia zaznaczmy więc najpierw, że tra-dycji polskiej (kropki nawysokości linii podstawowej pisma, umieszczone bli-sko jedna przy drugiej) uczynimy zadość, pisząc po prostu – niespodzianka! –trzy kropki:

1 + 2 + ... + n = \tfracn(n + 1)2

1 + 2 + ...+ n = n(n+1)2

Page 210: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 202

\dots

\ldots\cdots

\ldots (lowered dots)składa kropki na wyso-kości linii podstawowej,zaś \cdots (centered dots)na wysokości linii środko-wej. W istocie, zalecanejest używanie jeszcze in-nych poleceń; po szczegółyodsyłamy do dokumenta-cji pakietu amsmath orazna s. 214.

\ldots (lowered dots)składa kropki na wyso-kości linii podstawowej,zaś \cdots (centered dots)na wysokości linii środko-wej. W istocie, zalecanejest używanie jeszcze in-nych poleceń; po szczegółyodsyłamy do dokumenta-cji pakietu amsmath orazna s. 214.

Jeżeli wolimy tradycję anglosaską – kropki nieco bardziej od siebie odda-lone i umieszczone na wysokości połowy małej litery, gdy znajdują się np.między symbolami dodawania – należy użyć polecenia \dots, a w rzadkichprzypadkach, gdy wybiera ona kropki na niewłaściwej wysokości – poleceń\ldots i \cdots.

1 + 2 + \dots + n = \tfracn(n + 1)2

1 + 2 + · · ·+ n = n(n+1)2

\mathbbN = \ 1,2,3,\dots \

N = 1, 2, 3, . . .

Odstępyw trybiematematycznym

Mimo, że algorytm LATEXa odpowiedzialny za wstawianie właściwej wiel-kości odstępów między częściami składowymi formuł matematycznych jeststarannie zaprojektowany, by robił to poprawnie w zdecydowanej większo-ści przypadków, zdarza się, że trzeba te odstępy ręczniemodyfikować. Bywarównież, że (głównie we wzorach wycentrowanych) zachodzi potrzeba od-dzielenia kilku podformuł większym odstępem. W takich przypadkach przy-dają się polecenia wstawiające odstępy różnych rozmiarów, zarówno dodat-nich, jak i ujemnych (te ostatnie pozwalają zmniejszać odległość między ele-mentami formuły). Polecenia te zebraliśmyw tabeli 5.

Tabela 5. Polecenia wstawiające odstępy poziome

Polecenie Odstęp Polecenie Odstęp

\, \thinspace \! \negthinspace\: \medspace \negmedspace\; \thickspace \negthickspace

\quad\qquad

Page 211: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 203

\textup

Nie jest to książka o ma-tematyce, więc pozwolimysobie nie wnikać zbyt głę-boko w szczegóły.

Nie jest to książka o ma-tematyce, więc pozwolimysobie nie wnikać zbyt głę-boko w szczegóły.

\quad

Jeden firet to kwadrato boku równym stopniowipisma, zatem przy składzierozmiarem 10pt polece-nie \quad wstawi odstęp10pt.

Jeden firet to kwadrato boku równym stopniowipisma, zatem przy składzierozmiarem 10pt polece-nie \quad wstawi odstęp10pt.

\qquad

Wiedząc już, jakwstawić odstępy, popatrzmy, kiedy jewstawiać.Oto kilkaprzykładów sytuacji, gdy trzeba wspomóc LATEXa sugestią zwiększenia (bądźzmniejszenia) odstępu.

\int_0^\infty f(x)\,\textupdx∫∞0 f(x) dx

\dfracn!k!\,(n-k)!n!

k! (n− k)!

[\,0,1) \quad \sqrt2\,x\quad x^2\!/2 [ 0, 1)

√2x x2/2

Wewszystkich tych przypadkach niewstawienie odstępu nie byłoby mo-że błędem, ale pogorszyłobywygląd formuł.

Zauważmy również, że w pierwszym z powyższych równań litera „d”(oznaczająca operator różniczki) jest złożona pismem prostym (użyliśmy dotegopolecenia\textup).Niewszyscy są zgodni codo tej konwencji, ale namwydaje się ona rozsądna.

Jak już wspomnieliśmy, drugim typem sytuacji wymagającym ręcznej in-gerencji w domyślne odstępy jest sytuacja, w której chcemy oddzielić kilkapodformuł odstępem większych rozmiarów, co mocno polepsza czytelnośćtekstu. Jakmożna się domyślić z powyższych przykładów (i tabeli 5), służą dotego polecenia \quad, wstawiające odstęp szerokości firetu, oraz \qquad,wstawiające odstęp szerokości dwóch firetów. Nie ma ogólnych norm, którepozwalałyby podjąć decyzję, czy odstęp jednego, czy dwóch firetów będziewłaściwy; wydaje się, że rozsądną regułą jest wstawianie odstępu jednego fi-retu i dopiero, gdy będzie on niewystarczający, zastosowanie odstępu więk-szego. Obejrzyjmy to na przykładach.

\binomnk = \fracn!k!\, (n-k)!, \quad 0 \le k \le n(

n

k

)=

n!k! (n− k)!

, 0 ¬ k ¬ n

Page 212: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 204

\text

x \in A \cup B\text, \qquad \textgdy \qquada \in A \quad \textlub \quad x \in B

x ∈ A ∪B, gdy a ∈ A lub x ∈ B

Jakwidać, różnicęwielkości odstępówmożnawykorzystać, bypodkreślićstrukturę logiczną wypowiedzi; wydaje się, że – o ile formuły nie są przesad-nie skomplikowane – jest to czytelniejsze niż nawiasy.

Na marginesie, zwróćmy uwagę, że reguły interpunkcji wymagają, by popierwszej części powyższej formuły znalazł się przecinek, zaś reguły typogra-fii, by był złożony w trybie tekstowym (stąd polecenie \text, o którym sze-rzejmówimywkolejnymparagrafie). Toostatnie – wbrewpozorom –mazna-czenie, jeżeli formułymatematyczne i tekst składa się innym krojem pisma.

Teksty wewzorach

Dość często zdarza się, że w formułachmatematycznych występują frag-menty pisane tekstem. Jest tak na przykład wówczas, gdy chcemy uniknąćprzesadnego formalizmu i ułatwić nieco zadanie czytelnikowi odszyfrowują-cemuwzór.W takich sytuacjach należy użyć polecenia \text, którego jedy-nymargumentemobowiązkowym jest tekst, który chcemyumieścićw formu-le (cóż za zaskoczenie!).

A = \k : \text$k$ jest względnie pierwsze z $12$\

A = k : k jest względnie pierwsze z 12

Zwróćmyuwagę, żewpierwszymprzykładziewewnątrzpolecenia\text(a więc fragmentu napisanego tekstem) umieściliśmy dwie formuły matema-tyczne. Identyczny efekt można uzyskać również i tak:

A = \k : k\text jest względnie pierwsze z 12\

A = k : k jest względnie pierwsze z 12

Pierwszy sposób (mimo, że wymaga większej liczby znaków w pliku źró-dłowym) wydaje się jednak lepszy, gdyż struktura pliku źródłowego oddaje

Page 213: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 205

strukturę formuły:wewnątrz formułymamy tu fragment tekstu, awewnątrztego fragmentu tekstumamy dwie kolejne formuły.

Innym przypadkiem, gdy możemy potrzebować fragmentu tekstu we-wnątrz formuły, sąwzory ze słowamiw indeksie dolnym.Wtakimprzypadkusprawa jest prosta.

v_\textśrednia = \fracst vśrednia =s

t

Matematyka i tekst – zgrabne połączenie

Doświadczenie uczy, że jedną z najtrudniejszych rzeczy w składzie tek-stu z zawartościąmatematyczną jest rozwiązywanie problemówna stykuma-tematyki i typografii. W takich przypadkach trzeba polegać na wyczuciu po-prawności językowej iwogóle estetyce. Poniżej zebraliśmy kilka reguł poma-gających ulepszyć skład tekstów omatematyce.— Zdania nie powinno się rozpoczynać od symbolu matematycznego. Za-

miast pisać

...takie same. $f$ jest więc injekcją.

...takie same. f jest więcinjekcją.

lepiej jest napisać

...takie same. Funkcja~$f$ jest więc iniekcją.

...takie same. Funkcja fjest więc iniekcją.

(zauważmy, żezadbaliśmyprzyokazji o to, bykolejnywiersznie rozpocząłsię od oznaczenia „f”).

— Dwa wzory występujące jeden obok drugiego powinny być oddzieloneprzynajmniej jednym pełnym słowem. Zamiast

...funkcja $f(x)$,$x\ne 0$, jest...

...funkcja f(x), x = 0,jest...

lepiej napisać

Page 214: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 206

...funkcja $f(x)$, gdzie $x\ne 0$, jest...

...funkcja f(x), gdziex = 0, jest...

a jeszcze lepiej

...funkcja $f(x)$, gdzie~$x\ne 0$, jest...

...funkcja f(x),gdzie x = 0, jest...

— Dobrze jest unikać przesadnej liczby symbolimatematycznych. Zamiast

\forall \epsilon > 0 \; \exists N\in\mathbbN : \lvert a_n\rvert < \epsilon

∀ϵ > 0 ∃N ∈ N : |an| < ϵ

lepiej napisać

dla dowolnej liczby $\epsilon>0$istnieje taka liczba $N\in\mathbbN$,że $\lvert a_n\rvert < \epsilon$,

dla dowolnej liczby ϵ > 0 istnieje taka liczba N ∈ N, że |an| < ϵ,

albo nawetdla dowolnej liczby dodatniej $\epsilon$istnieje taka liczba naturalna $N$,że~$\lvert a_n\rvert < \epsilon$.

dla dowolnej liczby dodatniej ϵ istnieje taka liczba naturalna N ,że |an| < ϵ.

— Nie należymieszać zapisu słownego i symbolicznegow zdaniu. Zamiast

zakładając, że rozwiązanie równania jest $>0$

zakładając, że rozwiązanie równania jest > 0

lepiej napisać

zakładając, że rozwiązanie równania jest dodatnie

zakładając, że rozwiązanie równania jest dodatnie

Page 215: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Wzory i formuły matematyczne 207

\unit

Wielkości z jednostkami

Jakkolwiekwsamejmatematyce (teoretycznej) nieczęstostosujemywiel-kości z jednostkami, to w zastosowaniach matematyki jest to zjawisko po-wszechne. W LATEXu mamy kilka możliwości składu wielkości z jednostkami.Prawdopodobnienajbardziej zaawansowanąznich jestwykorzystaniepakie-tu siunitx, który zawiera bardzo zaawansowaną maszynerię pozwalającąskładać najrozmaitsze jednostki. My jednak poprzestaniemy na prostszympakiecie units. Zawiera on m.in. polecenie \unit. W najprostszej wersji –z jednym parametrem (obowiązkowym) – składa ono symbol jednostki:

\unitmi to oznaczenie mili mi to oznaczenie mili

Zwróćmy uwagę, że polecenie to działa w trybie tekstowym; jak łatwosprawdzić, działa ono również prawidłowow trybie matematycznym.

Częściej przydaje się jego forma z parametrem opcjonalnym, zawierają-cym faktyczną wielkość

$\unit[3]km=\unit[300\,000]cm$ 3 km = 300 000 cm

Zauważmy, że – dla poprawnienia czytelności dużej liczby – wykorzysta-liśmywąski odstęp do oddzielenia tysięcy od setek.

Pakiet units, mimo swej prostoty, jest nader użyteczny. Stosując go,warto pamiętać o pewnej pułapce: w przypadku takich jednostek, jak centry-metry kwadratowe czy metry sześcienne, potrzebujemy trybu matematycz-nego, by złożyć odpowiedni wykładnik.

$\unit[50]cm^2$ 50 cm2

Page 216: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Polecane lektury

Na tej książce świat LATEXa się nie kończy. Jest wiele lektur, które możnapolecić, dlatego postaraliśmy się wybrać kilka najistotniejszych.

Dla nie czujących się jeszcze zbyt pewnie:— Nie za krótkiewprowadzenie do systemuLATEX2ε, autorstwaTobiasOetikera

i innych, dostępne za darmow internecie w postaci elektronicznej.— Pracamagisterska i dyplomowa z programemLATEX, autorstwaTomaszaPrze-

chlewskiego, wydana przez wydawnictwoHelion.

Dla pewniejszych siebie:— TEX. Przewodnik użytkownika autorstwaDonalda E. Knutha.— Digital Typography Using LaTeX, autorstwa Apostolosa Syropoulosa i in-

nych, w języku angielskim.— The LaTeXCompanion, autorstwaFrankaMittelbacha,MichelaGoossensa

i innych, w języku angielskim.

Wszystkiewymienionepowyżejpozycjewyczerpującowprowadzająwtema-tykę LATEXa. Jedno jest jednak prawdą – gdy mowa o sposobach wykorzysta-nia pakietów, ciężko o lepsze źródło niż ich dokumentacja. Jeśli pakiet jestumieszczony w oficjalnym repozytorium, jego dokumentację można znaleźćna stronie https://www.ctan.org/pkg/ .

Page 217: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Dodatki

Page 218: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Symbole

Wtymdodatku zebraliśmy najczęściej wykorzystywane symbole specjal-ne. O ile nie powiedziano inaczej, można je wykorzystywać jedynie w trybiematematycznym. Jeśli jednak znajdą się osoby, dla których ten zbiór okażesię niewystarczający, warto zapoznać się z najbardziej rozbudowaną z opu-blikowanych list, dostępną na serwerach ctan9.

Podstawowe symbole specjalne

^ \textasciicircum º \textordmasculine~ \textasciitilde · \textperiodcentered* \textasteriskcentered ^ \textasciicircum\ \textbackslash ¿ \textquestiondown| \textbar “ \textquotedblleft• \textbullet ” \textquotedblright— \textemdash ‘ \textquoteleft– \textendash ’ \textquoteright¡ \textexclamdown ® \textregistered> \textgreater ™ \texttrademark< \textless \textvisiblespaceª \textordfeminine

9 http://tug.ctan.org/info/symbols/comprehensive/symbols-a4.pdf

Page 219: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Symbole 211

Powyższe symbole dostępne są jedynie w trybie tekstowym. Poniższez kolei można używać zarównow trybie tekstowym, jak i matematycznym.

$ \$ _ \_ ‡ \ddag \ \ ¶ \¶© \copyright … \dots § \§† \dag £ \pounds

Symbole waluty euro występujące w pakiecie eurosym

AC \geneuro BC \geneuronarrow e \officialeuro

Alfabet grecki

α \alpha β \beta γ \gammaδ \delta ϵ \epsilon ε \varepsilonζ \zeta η \eta θ \thetaϑ \vartheta ι \iota κ \kappaλ \lambda µ \mu ν \nuξ \xi π \pi ϖ \varpiρ \rho ϱ \varrho σ \sigmaς \varsigma τ \tau υ \upsilonϕ \phi φ \varphi χ \chiψ \psi ω \omega

Γ \Gamma ∆ \Delta Θ \ThetaΛ \Lambda Ξ \Xi Π \PiΣ \Sigma Υ \Upsilon Φ \PhiΨ \Psi Ω \Omega

Page 220: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Symbole 212

Symbolematematyczne

Operatory

± \pm ∓ \mp × \times÷ \div · \cdot ∗ \ast⋆ \star † \dagger ‡ \ddagger⨿ \amalg ∩ \cap ∪ \cup⊎ \uplus ⊓ \sqcap ⊔ \sqcup∨ \vee ∧ \wedge ⊕ \oplus⊖ \ominus ⊗ \otimes \circ• \bullet ⋄ \diamond ◁ \lhd▷ \rhd ⊴ \unlhd ⊵ \unrhd⊘ \oslash ⊙ \odot ⃝ \bigcirc◁ \triangleleft \Diamond \bigtriangleup \bigtriangledown \Box ▷ \triangleright\ \setminus ≀ \wr

Relacje

¬ \le ­ \ge = \neq∼ \sim ≪ \ll ≫ \gg.= \doteq ≃ \simeq ⊂ \subset⊃ \supset ≈ \approx ≍ \asymp⊆ \subseteq ⊇ \supseteq ∼= \cong \smile ⊏ \sqsubset ⊐ \sqsupset≡ \equiv \frown ⊒ \sqsupseteq⊒ \sqsupseteq ∝ \propto ▷◁ \bowtie∈ \in ∋ \ni ≺ \prec≻ \succ ⊢ \vdash ⊣ \dashv⪯ \preceq ⪰ \succeq |= \models⊥ \perp ∥ \parallel | \mid

Page 221: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Symbole 213

Wprzypadku wielu z wymienionych wyżej symboli można uzyskać odpo-wiadające im symbole negacji poprzez poprzedzenie nazwy polecenia literąn, np. \nsim (≁) lub poprzedzenie polecenia instrukcją \not, np. \not\in( ∈).

Zauważmy, że niektóre symbole (np. uzyskiwane przez użycie polece-nia \ge) wyglądają inaczej w dokumentach, do których dołączono pakietpolski.Wynika to z zasad składu tekstówmatematycznych zaimplemento-wanychwwymienionym pakiecie.

Strzałki

← \gets → \to← \leftarrow → \rightarrow⇐ \Leftarrow ⇒ \Rightarrow↔ \leftrightarrow ⇔ \Leftrightarrow7→ \mapsto 7−→ \longmapsto \leftharpoonup \rightharpoonup \leftharpoondown \rightharpoondown← \hookleftarrow → \hookrightarrow⇐= \Longleftarrow =⇒ \Longrightarrow←− \longleftarrow −→ \longrightarrow←→ \longleftrightarrow ⇐⇒ \Longleftrightarrow↑ \uparrow ↓ \downarrow⇑ \Uparrow ⇓ \Downarrow \updownarrow \Updownarrow \nearrow \nwarrow \swarrow \searrow \rightleftharpoons \leadsto

Akcenty

x \hatx x \checkx x \dotxx \brevex x \acutex x \ddotxx \gravex x \tildex x \mathringx

Page 222: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Symbole 214

x \barx x \vecx x \overlinex x \notx xxx \widehatxxx xxx \widetildexxxx \underlinex

Symbole duże

∑\sum

∏\prod

⨿\coprod⊕

\bigoplus⊗

\bigotimes⊙

\bigodot∪\bigcup

∩\bigcap

⊎\biguplus⊔

\bigsqcup∨

\bigvee∧

\bigwedge∫\int

∮\oint

Dodatkowo, pakiet amsmath udostępnia symbole \iint, \iiint,\iiiiint oraz \idotsint, odpowiednio dla całek podwójnych, potrój-nych, poczwórnych i większej krotności.

Kropki

. . . \dotsc · · · \dotsb · · · \dotsm· · · \dotsi . . . \dotso

Wymienionewpowyższej tabeliwielokropkipowinnybyćwykorzystywa-ne odpowiednio (wierszami): do wyliczeń oddzielonych przecinkami, opera-torami, do zapisu iloczynu, do użycia zaraz po symbolach dużych i w innychsytuacjach.

Nawiasy

⟨ \langle ⟩ \rangle⌈ \lceil ⌉ \rceil⌊ \lfloor ⌋ \rfloor \ \

Page 223: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Symbole 215

Inne symbole

∞ \infty \triangle ∠ \angleℵ \aleph ℏ \hbar ı \imathȷ \jmath ℓ \ell ℘ \wpℜ \Re ℑ \Im \mho′ \prime ∅ \emptyset ∇ \nabla√

\surd ∂ \partial ⊤ \top⊥ \bot ⊢ \vdash ⊣ \dashv∀ \forall ∃ \exists ¬ \neg \flat \natural ♯ \sharp\ \backslash \Box \Diamond♣ \clubsuit \diamondsuit \heartsuit♠ \spadesuit ⋊⋉ \Join \blacksquare⋆ \bigstar

Page 224: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

\bamboleo

Pakiety

Pakiet bamboleo

Poniżej przedstawiamy kod źródłowy pakietu o nazwie bamboleo. Defi-niuje on polecenie\bamboleo, które z każdymwywołaniemwyświetla loso-wy wers tekstu piosenkiGipsy Kings o tym samym tytule. Aby z niego skorzy-stać, umieść poniższy kod w pliku bamboleo.sty, zapisz go w katalogu zeswoim dokumentem, a w nim samym zadeklaruj użycie pakietu bamboleo.Dobrej zabawy!

\NeedsTeXFormatLaTeX2e[1994/06/01]\ProvidesPackagebamboleo

\RequirePackagepgf

\pgfmathsetseed\number\pdfrandomseed

\pgfmathdeclarerandomlistbamboleoEse amor llega asi de esta maneraNo tiene la culpaCaballo de danza vanaPorque es muy despreciado por esoNo te perdona llorarEse amor llega asi esta maneraAmor de compra why ventaAmor de en el pasadoBem, bem bem bem, bem bem bem

Page 225: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Pakiety 217

Bamboleo bamboleaPorque mi vida yo la prefiero vivir asiNo tienes perden de DiosTu eres mi vida la fortuna del destinoEn el destino del desamparadoLo mismo ya que ayerLo mismo soy yoNo te encuentro l’abandonEres imposible no te encuentro de verdadPor eso un dia no encuentro si de nadaLo mismo ya que ayerLo pienso en ti

\def\bamboleo\pgfmathrandomitem\zbamboleo\z\endinput

Pakiet latex-ksiazka-kucharska

Pakietlatex-ksiazka-kucharskapozwalanaskładanieprzykładówumieszczonychwtejksiążcewtaki sposób, abymożna jebyłozaprezentowaćw skali 1:1.Więcej na temat tego rozszerzenia napisano na s. 41.

\NeedsTeXFormatLaTeX2e[1994/06/01]\ProvidesPackagelatex-ksiazka-kucharska

\RequirePackage[paperwidth=11.5cm,paperheight=15cm,margin=1.5cm]geometry

\endinput

Page 226: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Skorowidz poleceń i nazw

\(, 185\), 185\;, 192\\, 79, 106, 129

A\addbibresource, 102\aleph, 194align, 196, 200align*, 197aligned, 195, 196ams, 22amsmath, 188, 200, 202, 214amsrefs, 101amssymb, 188amsthm, 166, 168, 179, 182, 184\approx, 192article, 19,21,22,32,34,36,42,56

Bbalance, 88bamboleo, 216\bar, 194\baselineskip, 124beamer, 21\beth, 194biblatex, 102, 103\Biggl, 191\biggl, 191

\Biggr, 191\biggr, 191\Bigl, 191\bigl, 191\Bigr, 191\bigr, 191\bigskip, 78\binom, 190bmatrix, 200book, 21, 22, 32, 34, 36booktabs, 105, 106, 114\bottomrule, 106

C\caption, 109, 113\captiondelim, 113cases, 194ccaption, 113\cdot, 192\cdots, 202center, 79, 106, 109\centering, 109\chapter, 54\chapter*, 58\cite, 102\cleardoublepage, 137\clearpage, 137\cmidrule, 114\colon, 192

Page 227: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Skorowidz poleceń i nazw 219

color, 118, 120\colorbox, 118\cos, 193\cup, 204

D\dbinom, 190\DeclareMathOperator, 193\DeclareMathOperator*, 193\definecolor, 119\dfrac, 189, 203document, 20, 24\documentclass, 18, 23\dot, 194\dots, 201, 202\dywiz, 67

E\emph, 65enumerate, 42, 44, 51enumerate*, 51enumitem, 42, 45, 46, 49\eqref, 187, 196equation, 187, 196equation*, 187eurosym, 211\exists, 192

Ffancyhdr, 151, 154\fancyhf, 154figure, 132floatrow, 130flushend, 88flushleft, 79flushright, 79, 81fontenc, 29, 36\footnote, 69

\forall, 192\frac, 18, 187

Ggather, 199gather*, 199geometry, 22, 139, 141\geq, 192\gimel, 194graphicx, 126

H\hat, 194\hdotsfor, 201hyperref, 22, 70

I\i, 71\imath, 194\in, 192\indent, 74\index, 96\indexname, 96inputenc, 23, 28\int, 188, 203\item, 43, 47itemize, 42–44, 46, 51itemize*, 51

J\j, 71\jmath, 194

L\label, 93, 187landscape, 165latex-ksiazka-kucharska, 41,

217

Page 228: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Skorowidz poleceń i nazw 220

\ldots, 202\left, 190\legend, 113\leq, 192letter, 21, 32\limits, 188lipsum, 22, 23listings, 22\listoffigures, 99\listoftables, 99\listoftheorems, 177, 179\listtheoremname, 177\log, 193\lvert, 191

Mmakeidx, 95\makeindex, 95\maketitle, 64\markboth, 149\markright, 149\mathbb, 194\mathbf, 194\mathcal, 194\mathfrak, 194matrix, 200mdframed, 91\medskip, 78\medspace, 202\midrule, 106minimal, 21minipage, 81multicol, 89\multicolumn, 114multirow, 115mw*, 78, 88, 145, 149, 161mwart, 36, 113, 139, 145, 146, 149mwbk, 36, 54, 64, 113, 139, 145, 161

mwcls, 36, 51, 58mwrep, 36, 145, 146

N\negmedspace, 202\negthickspace, 202\negthinspace, 202\newcounter, 170\newpage, 136\newtheorem, 168\newtheorem*, 168\noindent, 74\nolimits, 188\nopagebreak, 138\notag, 198ntheorem, 166

O\onecolumn, 88\operatorname, 193

P\pagebreak, 136\pagecolor, 119\pageref, 93\pagestyle, 145\parbox, 81parskip, 75\part, 62pdflscape, 165\pi, 192pmatrix, 200polski, 35, 36, 67, 96, 213\ppauza, 67\printbibliography, 102\printindex, 95proof, 179

Page 229: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Skorowidz poleceń i nazw 221

Q\qedhere, 179\qedsymbol, 180\qquad, 202, 203\quad, 129, 186, 202, 203quotation, 84quote, 84

R\ref, 93, 187\renewcommand, 96, 177, 180report, 21, 32, 34, 36\right, 190\rvert, 191

S\section, 56\section*, 58\setenumerate, 50\setitemize, 49\sin, 193siunitx, 207slides, 21smallmatrix, 200\smallskip, 78\sqrt, 192subcaption, 130subfig, 129, 130\subfloat, 129\subref, 129\subsection, 56\sup, 193\swapnumbers, 184

Ttable, 109, 110\tableofcontents, 99tabular, 106

\tbinom, 190\text, 187, 204\textasteriskcentered, 46\textbackslash, 25\textbf, 66\textcolor, 118\textheight, 124\textit, 66\textup, 203\textwidth, 124\tfrac, 189\tg, 193\theoremstyle, 182\thepage, 154\thickspace, 202\thinspace, 202\thispagestyle, 146thmtools, 177tikz, 121tikzposter, 21\to, 192tocloft, 99\toprule, 106\twocolumn, 88

U\unit, 207units, 207url, 70\urldef, 70\usepackage, 23

V\vec, 194verbatim, 16verse, 84\vfill, 78vmatrix, 200

Page 230: Marcin Borkowski Bartomiej Przybylski · 2016. 3. 17. · Niektóreprawazastrzeżone.Nieautoryzowanerozpowszechnianiecałościlubfragmentuni-niejszejpublikacjiwjakiejkolwiekformie,wykonywaniekopiimetodąkserograficzną

Skorowidz poleceń i nazw 222

\vspace, 78\vspace*, 78

Xxcolor, 118–120xxcolor, 118