2013-08-11

Zalety i wady LaTeX-a

Jest takie miłe niedzielne popołudnie (przed chwilą nawet przestało wiać), że szkoda by było nie napisać tego wpisu, co by mógł być ściągawką dla ewangelizatorów LaTeX-a i ich antagonistów.
Bo LaTeX potęgą jest i basta, tylko jakoś mało osób go używa.


Główne zalety:
  • Tryb matematyczny – uznawany za wzorcowy i potrafiący bardzo wiele. Składnia LaTeX-a jest używana do renderowania wzorów na wielu forach matematycznych/fizycznych oraz na stronach opartych na mechanizmie wiki (m.in. na Wikipedii). Także edytor formuł w Libre/Open Office ma składnie wzorowaną na LaTeX-owej.
  • LaTeX wymusza stosowanie logicznej struktury dokumentu, co z kolei prowadzi do spójnego formatowania dokumentu – np. wszystkie tytuły sekcji posiadają takie same formatowanie. Oczywiście można by było iść pod prąd i zakodować np. \textbf{\Large{1. Nazwa sekcji}} zamiast \section{Nazwa sekcji}, ale po co to robić, skoro wysiłek włożony w "błędne" kodowanie jest większy niż wysiłek włożony w poprawne kodowanie. Z drugiej strony, zmiana formatowania wszystkich np. tytułów sekcji w dokumencie sprowadza się do dodania kilku wpisów w preambule – w przypadku procesorów tekstu typu Word byłoby to o wiele więcej pracy.
  • Jawność instrukcji sterujących, a w szczególności: (a) brak "ukrytego formatowania", występującego często pod spacjami w dokumentach Wordowych; (b) możliwość dokładnego określenia tego co chcemy zrobić (w końcu LaTeX to WYSIWYM – What You See Is What You Mean – "to co widzisz jest tym, co masz na myśli"), np. łatwo można zdefiniować czy chcemy użyć łącznika (instrukcja LaTeX-a "-"), półpauzy ("--"), czy pauzy("---") – w Wordzie czy Libre/OpenOffice większość użytkowników zazwyczaj stawia "kreskę" (czyli po prostu "-" z klawiatury, bo komu chciałoby się szukać znaku pauzy w tabeli znaków albo pamiętać odpowiedni skrót klawiaturowy) która wskutek autokorekty jest, albo i nie, zamieniana na pauzę, co prowadzi często do bałaganu z "kreskami".
  • Źródła LaTeX-a to pliki tekstowe – można zatem stosować na nich przetwarzanie strumieniowe za pomocą sed/awk, używać na nich systemów kontroli wersji, podzielić na fragmenty i pracować grupowo/zdalnie nie mając nawet dostępu do kompilatora.
  • Automatyczne numerowanie rozdziałów, sekcji, rysunków, tabel, cytowań, przypisów, itp.; generowanie spisu treści/rysunków/tabel jednym poleceniem.
  • Pliki PDF generowane przez LaTeX-a są bardzo ładne wizualnie i zgodne z normami składu.
  • Dużo dostępnych pakietów tworzonych przez społeczność, nakierowanych na ulepszenie danego, często nawet małego, elementu składu. Dość dużo dostępnych szablonów.
  • Możliwość tworzenie wykresów/diagramów wprost w kodzie, za pomocą dedykowanych pakietów, np. pgf/tikz.
  • LaTeX jest wolny – istnieją jego dystrybucje na różne systemy operacyjne (Windows, GNU/Linux, MacOS X), istnieje wiele edytorów kodu, także internetowych (np. www.sharelatex.com, www.writelatex.com).

Główne wady:
  • Wygląda zbyt "programistycznie", co odstrasza wielu potencjalnych użytkowników.
  • Ze względu na konieczność stosowania preambuły, stworzenie krótkiego i prostego dokumentu w Wordzie jest szybsze niż w LaTeX-u; chociaż tendencja odwraca się w przypadku bardziej złożonych dokumentów (zobacz także ten rysunek).
  • Generowanie całkowicie nowej klasy dokumentów jest czasochłonne i niezbyt łatwe.
  • Ustawienie niektórych parametrów formatowania dokumentu (np. korzystanie z rozmiaru fonta innego niż domyślnie możliwe) jest trudne dla mniej doświadczonych użytkowników LaTeX-a.
  • Pozycjonowanie tzw. wstawek ("pływających" rysunków i tabel) może czasami przyprawić o zdziwienie lub nawet o lekką palpitację serca.
  • Zaznaczanie zmian w tekście za pomocą komentarzy nie jest tak wygodne jak tryb śledzenia zmian w Wordzie czy Libre/OpenOffice.
  • Aby płynnie używać LaTeX-a należy pamiętać jego komendy. Dość dużo komend. Co więcej, opartych na angielskich słowach, co nie ułatwia ich zapamiętywania osobom nie znającym tego języka (Word i Libre/OpenOffice są spolszczone).
  • LaTeX wymusza stosowanie logicznej struktury dokumentu – więc trzeba włożyć trochę więcej wysiłku aby stworzyć ładnie wydlądajacy dokument bez wyraźnej struktury, np. bez sekcji, z wieloma bardzo krótkimi akapitami bez wcięć.
  • [Aktualizacja: 2013-08-31] Komunikaty błędów są często tak niejasne, że nie wiadomo czego dotyczą i gdzie się popelniło błąd.

Jak pogoda dopisze, to niedługo postaram się opublikować post o mitach dotyczących LaTeX-a.