Tomasz PRZECHLEWSKI Praca magisterska i dyplomowa z programem LaTeX Jak szybko tworzyć profesjonalnie wyglądające dokumenty Warszawa 2011
SPIS TREŚCI Wstęp / 9 1. Rozpoczęcie pracy z L A TEX-em / 13 1.1. Skąd się wziął LaTEX i dlaczego jest taki dziwaczny / 13 1.1.1. Formatowanie wizualne a formatowanie logiczne / 13 1.1.2. Składniki systemu TEX /17 1.2. Instalacja i rozpoczęcie pracy z LaTEX-em / 19 1.2.1. Instalacja MikTEX-a/TEXLive i edytora TEXworks / 19 1.2.2. Kompilacja pierwszego dokumentu / 22 1.2.3. Błędy i ostrzeżenia / 24 1.3. Redagowanie pliku źródłowego / 27 1.3.1. Dopisywanie tekstu / 27 1.3.2. Instrukcje LaTEX-a / 30 1.3.3. Otoczenia / 31 1.3.4. Deklaracje / 31 1.3.5. Struktura pliku źródłowego / 32 1.3.6. Podział dokumentu źródłowego na mniejsze pliki / 34 1.3.7. Uwagi na temat polonizacji LaTEX-a / 35 2. Podstawowe polecenia i otoczenia L A TEX-a / 38 2.1. Tytuły i śródtytuły / 38 2.1.1. Strona tytułowa / 38 2.1.2. Śródtytuły / 39 2.1.3. Spisy treści / 41 2.1.4. Odsyłacze / 42 2.2. Pozostałe instrukcje formatujące / 44 2.2.1. Otoczenia itemize, enumerate i description / 44 2.2.2. Otoczenia flushleft, flushright i center / 44 2.2.3. Otoczenia quote i quotation /45 2.2.4. Tekst drukowany literalnie / 46 2.2.5. Przypisy i notki / 46 2.3. Wzory matematyczne / 47 5
Spis treści 2.3.1. Krótkie wprowadzenie / 47 2.3.2. Podstawowe elementy składowe wzorów matematycznych / 47 2.3.3. Macierze i tablice / 50 2.3.4. Wzory wielowierszowe / 51 2.3.5. Uwagi końcowe o składaniu wzorów matematycznych / 52 2.4. Formatowanie wizualne w LaTEX-u / 53 2.4.1. Formatowanie logiczne nie zawsze wystarcza / 53 2.4.2. Odstępy pionowe i poziome / 53 2.4.3. Skład akapitu i łamanie stron / 56 2.4.4. Polecenia zmiany kroju pisma / 60 2.4.5. Wykorzystanie innych krojów pisma / 63 3. Tabele, rysunki i spisy literatury / 66 3.1. Składanie i umieszczanie tabel w tekście / 66 3.1.1. Włamywanie tabel i ilustracji wstawki / 66 3.1.2. Składanie tabel otoczenie tabular / 70 3.1.3. Tabele o zadanej szerokości / 74 3.2. Skład skomplikowanych tabel przegląd pakietów / 76 3.2.1. Pakiet array /76 3.2.2. Tabele o zadanej szerokości pakiet tabularx / 78 3.2.3. Tabele wielostronicowe i pakiet longtable /79 3.2.4. Łączenie rubryk w pionie / 80 3.2.5. Uwagi końcowe / 81 3.3. Ilustracje / 81 3.3.1. Grafika wektorowa i bitmapowa / 81 3.3.2. Pakiet graphicx /83 3.4. Odsyłacze bibliograficzne i spis literatury / 85 3.4.1. Otoczenie thebibliography /85 3.4.2. Automatyczne generowanie spisów program bibtex / 88 3.4.3. Wiele spisów pakiet multibib / 93 4. Dopasowywanie L A TEX-a do własnych potrzeb / 94 4.1. Po co modyfikować działanie LaTEX-a / 94 4.2. W jaki sposób TEX składa tekst / 94 4.2.1. Pudełka, kleje i kary / 94 4.2.2. Tryby pracy TEX-a / 95 4.2.3. Tworzenie strony wynikowej / 96 4.3. Definiowanie poleceń LaTEX-a / 97 4.3.1. Definiowanie nowych instrukcji LaTEX-a / 97 4.3.2. Definiowanie nowych otoczeń LaTEX-a / 101 4.3.3. Polecenia kruche / 102 4.3.4. Polecenia TEX-a / 104 4.3.5. Liczniki / 105 6
Spis treści 4.4. Pudełka i kreski / 107 4.4.1. Pudełka / 107 4.4.2. Kreski / 110 4.5. Modyfikowanie wybranych elementów tekstowych / 110 4.5.1. Modyfikowanie wyliczeń i wyszczególnień / 110 4.5.2. Śródtytuły / 112 4.5.3. Spisy / 114 4.6. Modyfikowanie układu graficznego strony / 115 4.6.1. Układ graficzny strony w standardowym LaTEX-u / 115 4.6.2. Modyfikowanie sposoby numeracji stron / 117 4.6.3. Modyfikowanie układu graficznego pagin / 117 4.7. Projektowanie własnych pakietów / 119 4.7.1. Metoda kopiuj wklej nie zawsze wystarcza / 119 4.7.2. Struktura plików pakietów i klas / 119 4.7.3. Błędy i ostrzeżenia / 122 4.7.4. Przegląd użytecznych pakietów / 123 5. Studium przypadku: praca magisterska / 125 5.1. Konstrukcja pracy magisterskiej / 125 5.1.1. Konstrukcja, treść i styl / 125 5.1.2. Wstęp i zakończenie / 125 5.1.3. Rozdziały, punkty, wyliczenia i wyszczególnienia / 130 5.2. W jaki sposób należy składać i włamywać tabele / 133 5.3. Ilustracje / 137 5.3.1. Rodzaje ilustracji / 137 5.3.2. Włamywanie ilustracji / 142 5.4. Bibliografia / 142 5.4.1. Zasady konstruowania spisów bibliograficznych / 142 5.4.2. Opis pozycji bibliograficznych / 144 5.4.3. Opis tradycyjny / 146 5.4.4. Dokumenty internetowe i uwagi końcowe / 148 5.5. Naukowy styl narracji / 149 Co teraz? / 152 Bibliografia / 153 Skorowidz / 155 7
WSTĘP Dla kogo jest przeznaczona ta książka? Mówiąc krótko, dla półprofesjonalistów, to jest takich, którzy z tych lub innych względów chcą lub muszą przygotować samodzielnie dłuższy dokument (praca magisterska lub licencjacka jest typowym przykładem). Jednocześnie chcieliby oni albo chce tego osoba nadzorująca (redaktor, promotor, przełożony), aby to, co stworzą, wyglądało lepiej niż typowa produkcja powstała przy użyciu edytorów biurowych typu MS Word albo OpenOffice Writer, ale nie mogą lub nie chcą poświęcić zbyt dużo czasu na opanowanie umiejętności posługiwania się tymi programami w stopniu umożliwiającym redagowanie ładnych dokumentów. Nie chcą też inwestować czasu, pieniędzy i wysiłku w poznanie prawdziwych systemów składu typu QuarkXpress albo Adobe InDesign 1. Takim właśnie autorom polecamy LaTEX-a system ze środkowej półki, w którym łatwo tworzy się przyzwoicie wyglądające dokumenty typu książka, a który przy tym co jest ważne wymaga zainwestowania ułamka czasu w jego naukę w porównaniu przykładowo do edytora MS Word. Jeżeli Czytelniku nie interesuje Cię schludnie wyglądający dokument, który tworzysz, to ta książka, mówiąc szczerze, nie jest dla Ciebie. Nie jest także dla profesjonalnych składaczy nie zamierzamy udowadniać, że LaTEX jest lepszy od QuarkXpressa 2. Sama umiejętność posługiwania się nawet najlepszym edytorem nie wystarczy do stworzenia dobrego dzieła. Publikacje naukowe, naukowo-techniczne, prace magisterskie itp. książki są skomplikowane, bo składają się z różnych elementów takich jak: tabele, ilustracje, wzory matematyczne, wykazy literatury, przypisy, odsyłacze itd. Do tego treść jest podzielona hierarchicznie według ścisłych reguł, a użyty styl argumentacji powinien być zgodny z przyjętą konwencją. Zatem tworząc pracę naukową, naukowo-techniczną lub magisterską, musimy znać przynajmniej podstawowe reguły dotyczące ich konstrukcji, formy graficznej oraz tzw. stylu naukowego. Mając na uwadze braki w tym, co wydano na temat LaTEX-a do tej pory, niniejsza książka jest pomyślana jako kompletny podręcznik zawierający to, co jest niezbędne 1 I mają rację. Po co kupować browar, żeby napić się piwa? 2 W wielu wypadkach jest, ale wiedzą to ci, co znają już LaTEX-a od podszewki. 9
Wstęp z punktu widzenia wyżej wspomnianego autora półprofesjonalisty pomija przy tym to, co uważamy za zbędne. Są tu opisane w szczególności: większość (ale nie wszystkie) poleceń standardowego LaTEX-a; pakiety przydatne przy redagowaniu książek; praktyczne zalecenia i wskazówki dotyczące importowania i konwersji plików graficznych do dokumentów LaTEX-a; środowisko pracy, czyli jak posługiwać się konkretną implementacją tego systemu (w większości innych książek ten aspekt jest przedstawiony marginalnie lub nie ma go wcale); zalecenia odnośnie do redagowania dokumentów zgodnie z polskimi normami i zwyczajami oraz wskazówki, jak te zalecenia zaimplementować w LaTEX-u. Reasumując: dobór materiału, uwzględniający potrzeby autora pewnego typu oraz aktualność naszym zdaniem wyróżnia tę książkę od innych publikacji o LaTEX-u. Nie zamierzamy opisywać LaTEX-a na 1000 stronach jak Mittelbach (2004), nie wchodzimy w szczegóły dotyczące składu skomplikowanych wzorów jak Icha (2007) albo Diller (2001). Książka ma zawierać wszystko to, co jest potrzebne do przygotowania typowej pracy magisterskiej (czytaj dowolnej książki) szczególnie z dziedziny nauk społecznych. Pozostali powinni doczytać trochę więcej, zwłaszcza o składzie wzorów matematycznych. W związku z powyższym książka jest podzielona na pięć rozdziałów. W pierwszym opowiadamy, co to jest LaTEX, skąd się wziął, z czego się składa i dlaczego jest taki dziwny. Następnie pokazujemy, jak zainstalować ten system oraz na podstawie przykładowej sesji jak rozpocząć z nim pracę. Rozdział 2 to opis tworzenia podstawowych konstrukcji tekstowych, takich jak tytuły, śródtytuły, wyliczenia, przypisy itd. W rozdziale tym znajduje się także (niewyczerpujące) wprowadzenie do składania wzorów matematycznych. W rozdziale 3 zajmujemy się zaawansowanymi sprawami: składem tabel, wstawianiem grafiki oraz redagowaniem spisów bibliograficznych. W rozdziale 4 opisujemy, w jaki sposób zaadaptować LaTEX-a do własnych (lub pomysłów przełożonych) potrzeb i wizji. W ostatnim rozdziale omawiamy konstrukcję, układ graficzny i zasady redagowania typowej pracy magisterskiej. Zakładamy, że czytelnik nie zna i nie używał do tej pory LaTEX-a. Nie jest zatem wymagana żadna wiedza ani umiejętności w tym zakresie, poza podstawowymi umiejętnościami posługiwania się komputerem. Zalecanym sposobem korzystania z podręcznika jest przeczytanie go w całości. Ważne jest samodzielne wykonanie przykładów. Nie ma zadań i ćwiczeń zamiast tego zachęcamy do samodzielnych prób, eksperymentowania i modyfikowania przykładów. W podręczniku zostały zastosowane następujące konwencje typograficzne. Nazwy pakietów i klas oznaczono krojem bezszeryfowym. Polecenia LaTEX-a i przykładowe fragmenty tekstu zostały złożone krojem imitującym pismo stosowane kiedyś w maszynach do pisania. W taki sam sposób są oznaczone nazwy plików lub ich 10
Wstęp rozszerzenia. Krótkie przykłady są wtrącone wewnątrz akapitu. Większe przykłady są składane pomiędzy akapitami, przy zastosowaniu nieco mniejszego stopnia, na przykład: średni społeczny poziom wyobraźni jest przygnębiająco \mbox{niski}. Przy opisie składni poleceń kursywą maszynową zostały zaznaczone fragmenty, których nie należy przepisywać literalnie, ale oznaczają pewne pojęcia: \begin{figure}[miejsce ]... \end{figure\/} W powyższym przykładzie zamiast wyrazu miejsce należy wstawić pewną wartość, np.!htb. Czasami upraszczamy przykłady, wstawiając... (wielokropek) zamiast tekstu, który zawiera treści jeszcze nieomówione. Przykładowo, wewnątrz \begin{figure}... \end{figure} wstawia się zwykle polecenia \includegraphics i \caption, ale wpisywanie tego wszystkiego od razu wymagałoby omawiania wielu rzeczy na raz, stwarzając zupełnie niepotrzebnie wrażenie, jakoby nauka LaTEX-a była czymś trudnym. Przykłady oznaczone na marginesie symbolami lub są dostępne elektronicznie pod adresem http://mirror.ctan.org/info/examples/przechlewski -book-examples/ nie trzeba ich przepisywać. Numer po (strony nieparzyste) lub przed symbolem (strony parzyste) oznacza numer pliku z przykładem. Zatem 99 oznacza, że treść przykładu znajduje się w pliku p-99.tex. Staraliśmy się zaprezentować LaTEX-a, unikając przykładów banalnych, stąd od czasu do czasu pojawiają się w nich konstrukcje objaśniane później, których znaczenia czytelnik może jeszcze nie znać. W tego typu sytuacjach, w objaśnieniach do przykładu, pojęcia jeszcze nieomówione są zawsze oznaczone odsyłaczem w przód do miejsca, gdzie są objaśniane, co jest m.in. sygnałem dla czytelnika, że przykład może być nie do końca zrozumiały. Nie ma potrzeby korzystania z odsyłacza od razu, lepiej wrócić do przykładu po przeczytaniu podręcznika do końca, a wtedy wszystko powinno być jasne. Inspiracją dla części przykładów jest klasyczne już wprowadzenie do Imagineskopii Otrembusa-Podgrobelskiego (1977). Czy system LaTEX lepiej powiększa wyobraźnię od imagineskopu Jabcona? Nie wiadomo, bo nauka jeszcze tego nie ustaliła, ale nie ulega najmniejszej wątpliwości, że użytkowanie LaTEX-a wyobraźni wymaga. System LaTEX, jako program tworzony i rozpowszechniany na zasadach open source, jest wynikiem pracy tysięcy ludzi. Ten podręcznik dedykuję im wszystkim, a zwłaszcza: Bogusławowi Jackowskiemu, Januszowi M. Nowackiemu, Mariuszowi Olce, Markowi Ryćce i Marcinowu Wolińskiemu, dzięki którym LaTEX-em możemy posługiwać się po polsku. 11
1. ROZPOCZĘCIE PRACY Z L a T E X-EM 1.1. Skąd się wziął L a T E X i dlaczego jest taki dziwaczny 1.1.1. Formatowanie wizualne a formatowanie logiczne Sposób pracy z każdym procesorem tekstów pomijając nieistotne szczegóły jest identyczny. Autor wpisuje treść i jednocześnie określa za pomocą specyficznych dla danego programu poleceń formatujących jego formę graficzną. Potocznie i często używa się terminu formatowanie tekstu na określenie tego drugiego aspektu tworzenia dokumentu. W najpopularniejszych współcześnie systemach, takich jak edytory Microsoft Word albo Open Office Writer, polecenia formatujące, tj. polecenia określające formę graficzną tekstu uruchamiane przez odpowiednie manipulacje myszką lub zastosowanie skrótów klawiszowych wykonywane są natychmiast, a sformatowany dokument jest wyświetlany na ekranie. Jeżeli polecenia formatujące dotyczą bezpośrednio wyglądu dokumentu mówimy o formatowaniu wizualnym, a jeżeli dotyczą jego struktury logicznej mówimy o formatowaniu logicznym. Formatowanie wizualne to odstępy, stopień i krój pisma, kolory itp. Formatowanie logiczne nie opisuje bezpośrednio wyglądu, lecz strukturę logiczną i/lub znaczenie fragmentów tekstu, operując między innymi takimi pojęciami jak: tytuł rozdziału, tytuł punktu, tabela, tytuł tabeli, odsyłacz, fragment tekstu w języku niemieckim. Edytory typu Microsoft Word umożliwiają zarówno formatowanie wizualne, jak i logiczne. Jeżeli śródtytuł wyróżniamy przez zaznaczenie bloku tekstu, kliknięcie ikony zamieniającej krój na półgruby, wybranie większego stopnia pisma a następnie określenie stosownych odstępów nad i pod śródtytułem, to niewątpliwie posługujemy się formatowaniem wizualnym. Używając stylów, wykorzystujemy formatowanie logiczne. Określenie wyglądu elementów dokumentu przy użyciu stylów jest lepsze w przypadku edytorów biurowych sprowadza się do kliknięcia ikony i wybrania stosownej nazwy stylu. Resztę załatwia program. Oto trzy największe zalety formatowania logicznego: tworzenie dokumentu jest dużo prostsze, ponieważ autor nie musi być fachowcem w dziedzinie typografii i druku; 13
1. Rozpoczęcie pracy z LaTEX-em forma graficzna strukturalnie identycznych elementów tekstu jest jednakowa, co w praktyce jest niemożliwe do osiągnięcia przy stosowaniu formatowania wizualnego 1 ; zmiana układu formatowania sprowadza się do zmiany szablonu bez potrzeby pracochłonnego poprawiania całego dokumentu. Można postawić śmiałą tezę, że w przypadku tworzenia większych dokumentów, zwłaszcza dokumentów naukowo-technicznych odznaczających się skomplikowaną strukturą i typowo zawierających wiele różnych elementów takich jak: śródtytuły, tabele, rysunki, wzory matematyczne, przypisy, odsyłacze, które siłą rzeczy winny być sformatowane jednakowo, formatowanie logiczne ma zdecydowaną przewagę nad wizualnym, zwiększa wygodę pracy, wydajność autorów, obniża koszty i zmniejsza liczbę popełnianych błędów. Ponieważ w procesorach tekstu typu Microsoft Word efekt zastosowania szablonu jest natychmiast widoczny na ekranie, większość użytkowników nie uświadamia sobie dużej różnicy między ich konsekwentnym stosowaniem a formatowaniem wizualnym 2. Tymczasem, jeżeli zastanowimy się chwilę, to dojdziemy do wniosku, że natychmiastowa wizualizacja logicznej struktury dokumentu jest przy zastosowaniu logicznego sposobu formatowania czymś drugorzędnym. Przecież pisząc pracę, koncentrujemy się na treści i strukturze forma jest mało istotna. Jest mało istotna z co najmniej czterech powodów: zarówno forma może się zmienić, jak i ta sama treść może być opublikowana w różnej formie; wielu użytkownikom możliwość bezpośredniej manipulacji formą przeszkadza w efektywnej pracy nad treścią zaczynają cyzelować formę graficzną, zamiast skupić się na pisaniu tekstu; w dokumentach o skomplikowanym układzie logicznym strukturalnie różne elementy mogą być wizualnie podobne, co utrudnia ich poprawne formatowanie; układ logiczny jest lepszy na etapie redagowania dokumentu, na przykład hasła skorowidza są wstawiane w innym miejscu dokumentu, a w innym pojawią się w gotowej książce 3. Sceptyczny czytelnik mógłby w tym miejscu zadać pytanie: skoro to formatowanie logiczne jest aż takie świetne, to dlaczego jego konsekwentne stosowanie 1 Zwłaszcza w przypadku gdy układ logiczny dokumentu jest skomplikowany albo gdy dokument jest wspólnym dziełem zespołu autorów. 2 Ograniczenia w funkcjonalności szablonów oraz typowa dla większości użytkowników edytorów biurowych słaba znajomość narzędzia, którego używają powoduje, że większość używa obu sposobów formatowania jednocześnie, skutecznie eliminując w ten sposób zalety konsekwentnie stosowanego formatowania logicznego. 3 Inny przykład, to podręcznik zawierający zadania z rozwiązaniami. Treść zadania i rozwiązanie powinny być redagowane w jednym miejscu a dopiero program formatujący powinien je powstawiać tam, gdzie trzeba. 14
1.1. Skąd się wziął LaTEX i dlaczego jest taki dziwaczny w edytorach typu Microsoft Word jest tak trudne, że (prawie) nikt w taki sposób nie redaguje dokumentów? Ano nie jest proste z kilku powodów: W procesorach tekstu pokazujących natychmiast wynik formatowania 4 czynnikiem ograniczającym jest interfejs graficzny (GUI 5 ). To, że dokument będzie sformatowany, to jeszcze mało program musi go sformatować natychmiast, a wynik pokazać na ekranie. Producent nie będzie implementował funkcjonalności, której nie podoła graficzny interfejs użytkownika 6. Koło się zamyka. Prowieniencją oraz głównym obszarem zastosowania edytorów biurowych są co nie jest zaskakujące zastosowania w biurze. Dokumenty biurowe różnią się od książek: są schematyczne, zwykle objętościowo małe, a jeżeli już są duże, to zwykle są strukturalnie proste problemy, o których opowiadamy w tym punkcie, w biurze nie występują 7. Oprócz edytorów biurowych stosujących bezpośrednią manipulację i tryb WYSIWYG, są dużo mniej znane i popularne edytory WYSIWYM, pracujące na zasadzie what you see is what you mean, co się przekłada jako to, co widzisz, jest tym, o co ci chodzi. Takie programy uniemożliwiają wizualne redagowanie dokumentu można tylko stosować to, co jest zdefiniowane w szablonie. Przykładem 100% edytorów WYSIWYM są edytory strukturalne (zwane także edytorami sterowanymi składnią). Edytor strukturalny widzi dokument jako formalnie zdefiniowaną hierarchiczną strukturę elementów różnych typów. Formalna definicja-schemat (np. wykorzystująca schematy XML lub standard RNG 8 ) umożliwia weryfikację poprawności dokumentu autor nie może stworzyć dokumentu niepoprawnego składniowo. Przykładowo, jeżeli schemat określa, że każdy rysunek musi mieć podpis i źródło, to edytor nie pozwoli na utworzenie dokumentu zawierającego dajmy na to rysunek bez podpisu. Edytory strukturalne nie są dla ludzi, są zwykle fragmentem systemu zarządzania dokumentami. Systemy takie kosztowne zarówno w fazie wdrożenia, jak i eksploatacji są stosowane w przedsiębiorstwach, i to dużych przedsiębiorstwach 9, a ich używanie w małej skali jest ekonomicznie nieuzasadnione. Chyba, że ktoś ma dużo czasu i potraktuje to jako intelektualne wyzwanie. Półprofesjonaliści potrzebują czegoś pomiędzy zbyt wizualnie zorientowanymi edytorami WYSIWYG a bezwzględnie ograniczającymi inwencję autora edytorami strukturalnymi. Takim programem jest 4 Często określanych akronimem WYSIWYG od ang. What You See Is What You Get (co znaczy: to, co widzisz, jest tym, co otrzymasz po wydrukowaniu dokumentu). 5 Od ang. Graphical User Interface. 6 Każdy kij ma dwa końce. Drugim końcem kija nazywającego się bezpośrednia manipulacja (direct manipulation), na którym to paradygmacie są oparte edytory typu WYSIWYG, jest ograniczenie funkcjonalności programu do możliwości GUI. 7 Wytwórcy edytorów biurowych mają zatem znikomą motywację do ich ulepszania (czyli z ich punktu widzenia ponoszenia kosztów) pod kątem potrzeb marginalnego odsetka użytkowników. 8 Co to jest RNG jest wyjaśnione np. w RELAX NG Tutorial (2001). 9 Duzi wydawcy, ale też inne przedsiębiorstwa, jak przykładowo firmy farmaceutyczne, dla których sprawny obieg dokumentów ma istotne znaczenie i obniża koszty. 15