Warsztat narzędziowy przydatny podczas pisania pracy dyplomowej cz. 1

W najbliższym czasie przedstawię kilka spostrzeżeń i wniosków związanych z narzędziami, które warto wykorzystywać podczas prac nad jakimkolwiek większym projektem. Niekoniecznie informatycznym. Niekoniecznie pracą dyplomową. Ponieważ sam dosyć długo eksperymentowałem, zanim odnalazłem (w mojej ocenie) najbardziej efektywne rozwiązania, chciałbym podzielić się wnioskami, które czytelnik mógłby bezpośrednio wykorzystać, żeby ułatwić sobie życie. Dzisiejszy post jest pierwszym w serii omawiającej 3 zagadnienia: LaTeX, system kontroli wersji, narzędzie do tworzenia kopii zapasowych.

Używanie LaTeX’a

Na wstępie dwa słowa, jeżeli ktoś z czytelników nigdy nie słyszał tej nazwy. Generalnie, wszystkie powszechnie znane edytory tekstu działają na zasadzie WYSIWYG, What You See Is What You Get. Edytuje się tekst, który jest rozmieszczony na stronie. Po wydrukowaniu uzyskuje się dokładnie to samo, co było na ekranie. LaTeX to zupełnie odmienne podejście. Wygląd dokumentu opisywany jest za pomocą komend. Za rozmieszczenie tekstu tak, jak to zostało zadeklarowane, odpowiada program kompilujący LaTeX, który jako rezultat, powiedzmy w uproszczeniu zwraca dokument PDF.

Na temat LaTeX’a istnieją jedynie skrajne opinie. Albo ktoś go nie używa i uważa za wariatów ludzi, którzy zaśmiecają sobie umysł jakimiś komendami, zamiast po prostu uruchomić Word’a; albo ktoś go używa i nie wyobraża sobie pisania dłuższych tekstów w innym narzędziu. Sam przeszedłem ewolucję od pierwszego do drugiego “typu” ludzi. W mojej ocenie, LaTeX w znaczący sposób ułatwia pracę nad długim tekstem i ma szereg zalet w porównaniu do klasycznych edytorów. Początkujący użytkownik napotyka jednak na kilka problemów, z których pierwszym jest wybór edytora.

Osobiście próbowałem używać różnych narzędzi, np. TeXnicCenter, Kile czy LEd, ale wszystkie one wydawały mi się skomplikowane i nieintuicyjne. LyX z kolei, moim zdaniem nakłada zbyt wiele ograniczeń na ogromne możliwości LaTeX’a. Wielu profesjonalistów używa po prostu Vim’a, ale moim zdaniem do wygodnej pracy potrzebnych jest wiele funkcjonalności oferowanych przez specjalistyczne edytory. Mam na myśli np. automatyczne wyświetlanie podglądu struktury dokumentu, sprawdzanie pisowni, zwijanie bloków kodu, dostępność “na wyciągnięcie ręki” najczęściej używanych komend itd. Narzędziem, które sam wybrałem i gorąco polecam jest TeXStudio. Oferuje on duży zbiór funkcjonalności, ma intuicyjny i zdumiewająco prosty w obsłudze interfejs oraz pozwala na szybką i łatwą konfigurację sprawdzania pisowni “w locie”. Moim zdaniem wielką zaletą tego narzędzia jest to, iż po bardzo krótkim zapoznaniu się z nim, można rozpocząć wydajną pracę. Gdy mamy już edytor, możemy przejść do konkretów - dlaczego LaTeX jest lepszy od tradycyjnych edytorów:

  1. Bardzo precyzyjna kontrola nad strukturą dokumentu. Wszelkie zmiany typu przesunięcie rozdziału do podrozdziału czy zmiana lokalizacji w strukturze dokumentu wykonują się bezboleśnie.

  2. W ogóle bardzo precyzyjna kontrola nad formatowaniem. W przypadku edytorów klasycznych, bardzo często zdarza się, że edytor zwyczajnie odmawia wykonania tego, co byśmy chcieli, żeby zrobił. Sam widziałem sytuację gdy Microsoft Word uparł się, że w dość długim dokumencie, na każdej stronie każdy pierwszy akapit miał zmniejszone marginesy w stosunku do reszty tekstu. Nie było żadnej możliwości, aby przekonać program, żeby to zmienił. W LaTeX’u takie rzeczy się nie zdarzają.

  3. Gdy wszystko jest już ustawione, można jedynie pisać swój tekst i nie martwić się, jak to będzie wyglądać. Ty koncentrujesz się jedynie na merytorycznej stronie pracy. Resztą zajmie się LaTeX. Używanie LaTeX’a jest jak zatrudnienie specjalisty od składania tekstu, który wykonuje dla nas czarną robotę za friko. Twój tekst zostanie tak rozmieszczony na stronach, że będzie wyglądał profesjonalnie.

  4. Jeżeli potrzebujesz pisać nietypowo sformatowane rzeczy, w dodatku zagnieżdżane jedne w drugich, np. wielokrotne wypunktowania z wklejonymi wyróżnianymi fragmentami od nowej linii (np. kod), to bardzo szybko docenisz potęgę LaTeX’a. Tego typu rzeczy po prostu działają. Nigdy nie zepsują Ci układu dokumentu. Będą wyglądać dokładnie tak, jak chcesz.

  5. Gdy zapragniesz dodać ilustrację w środku tekstu, również masz gwarancję, że nic w układzie tekstu “nie rozjedzie się”.

Word

  1. Masz pełną, w dodatku bardzo szybką i wygodną kontrolę nad odnośnikami do czegokolwiek w tekście. Dzięki tekstowym etykietom odnośników, na pierwszy rzut oka wiesz, do czego prowadzi odnośnik.

  2. Dokument jest czystym plikiem tekstowym, w związku z tym można na nim wykonywać dowolne operacje klasycznymi narzędziami jak grep/sed/awk/diff.

  3. Gdy w gotowym już dokumencie musisz wprowadzić jakiekolwiek zmiany, również nie musisz obawiać się, że cokolwiek “się zepsuje”.

  4. Dysponujesz gotowymi szablonami różnych typów dokumentów. Nie musisz martwić się jak powinna wyglądać książka, raport czy list. Po prostu używasz odpowiedniej klasy.

  5. Jeżeli uważasz że większość prezentacji wykonanych przy użyciu Microsoft PowerPoint wygląda mało profesjonalnie, to poczytaj sobie o klasie Beamer. To zupełnie nowa jakość jeśli chodzi o estetykę prezentacji.

  6. Dokumenty można edytować i kompilować na różnych systemach operacyjnych. TeXStudio działa bezproblemowo w systemie Microsoft Windows 7 i Linux.

Osobiście byłem pełen obaw, zanim podjąłem decyzję o pisaniu pracy magisterskiej w LaTeX’u. Mam porównanie, ponieważ pracę inżynierską pisałem w OpenOffice Writerze. Decyzja o wybraniu LaTeX’a była jednak bardzo dobra. Początkowo obawiałem się, że podczas pisania pojawią się takie rzeczy, których nie będę umiał zrobić. Nie należy się tego obawiać. W edytorach typu Microsoft Word, jeśli nie umiesz czegoś zrobić, to często nawet nie wiadomo jakie zapytanie wpisać do wyszukiwarki, aby rozwiązać problem. W LaTeX’u tak naprawdę jest dużo łatwiej. W każdym przypadku, zawsze, szybciej lub później udawało mi się znaleźć potrzebną do rozwiązania komendę.

Innym częstym problemem jest strona tytułowa, której układ sformalizowany dla danej uczelni może być kłopotliwy do samodzielnego uzyskania. Polecam w tym przypadku poszukać gotowych szablonów, najlepiej wśród studentów uczelni. Mniej obeznany użytkownik LaTeX’a faktycznie może mieć problemy z samodzielnym wytworzeniem stron tytułowych. Przed zabraniem się do poważniejszej pracy polecam również metodę polegającą na przećwiczeniu sobie najpotrzebniejszych zadań oraz komend potrzebnych do ich zrealizowania np. tabelki, bibliografii, wypunktowania etc. Z takich ćwiczeń warto jest utworzyć sobie jeden dokument zawierający przykłady użycia komend. We właściwej pracy można wtedy posiłkować się taką ściągawką i całkowicie skupić się ma zawartości merytorycznej tekstu.

Czy LaTeX ma jakieś wady? Aby opanować LaTeX’a należy się trochę wysilić. Opanowanie całości jest raczej niemożliwe i z pewnością bardzo trudne. Osobiście uważam, że słabo znam LaTeX’a. Ciekawe jest jednak to, iż znając nawet stosunkowo niewielki podzbiór komend można już zacząć wydajnie pracować. Inną wadą może być proces dostrajania różnych drobiazgów. Czasami bywa tak, że z pewnymi komendami trzeba eksperymentować, wielokrotnie kompilować dokument i patrzeć, czy rezultat jest właściwy. W pewnych przypadkach może to być uciążliwe, ale de facto jest to częścią procesu uczenia się LaTeX’a. Jeżeli natrafimy na dobre wytłumaczenie danej komendy wraz z przykładem to, można tego uniknąć.