petak, 19 aprila, 2024
Sam svoj majstor

Uvod u LaTeX

Autor: Danilo Đokić

U seriji članaka o ovom paketu za obradu teksta bavićemo se kroz nekoliko narednih brojeva LiBRE! časopisa. Jednostavnost kodiranja i veliki broj mogućnosti su mu doneli mesto jednog od najpriznatijih formata teksta na svetu. On je posebno koristan za izradu naučnih, seminarskih, diplomskih i sličnih radova u bilo kojim oblastima. Posebno je koristan zbog svog jedinstvenog i neprevaziđenog sistema zapisivanja jednačina, te će najviše prednosti imati radovi iz oblasti prirodnih nauka. Veliki broj izdavača matematičkih knjiga koristi ovaj paket da bi ih uređivali. Iz ovog razloga, zapravo, većina matematičkih knjiga izgledaju slično. Pozabavimo se prvo istorijom ovog izuzetnog paketa.

TeX

TeX je nastao za potrebe proizvodnje i obrade tekstova na računaru, sedamdesetih godina prošlog veka. Osmislio ga je dr Donald Knut (engl. Donald Knuth) sa univerziteta u Stanfordu. On je imao ideju o digitalnom paketu za obradu teksta. Sama pomisao o izradi jednog takvog paketa je potekla od njegovog mišljenja da drugo izdanje njegove knjige „Umetnost programiranja računara” („The art of computer programming”) ne izgleda posebno dobro sa tadašnjim tehnikama štampanja knjiga. Te tehnike uključuju princip „šta vidiš to i dobiješ” (WYSIWYG – What you see is what you get) – umesto toga on je smislio programski jezik koji opisuje kako dokument treba da izgleda (kakvo je poravnanje, koji simbol tu treba da se postavi i sl.) Dakle, dokument se sastoji od kôda. Taj kôd nije čitljiv za svakog korisnika, njega može da čita samo osoba koja poznaje programski jezik (u ovom slučaju TeX), te da bi on postao čitljiv za krajnjeg korisnika on se mora kompajlirati (compile), odnosno prevesti na neki od standardnih tipova dokumenta (PDF, DVI i sl.). Dakle, on je programski jezik koji se sastoji od naredbi koje formatiraju tekst. Nećemo se dalje baviti TeX paketom (makar ne direktno), već ćemo preći na jednu njegovu nadogradnju – LaTeX.

LaTeX

Nastao po potrebi da se TeX približi većoj grupi korisnika, LaTeX je orijentisan više ka sadržaju za razliku od TeX-a koji je orijentisan ka formatiranju. LaTeX je skup makro komandi koje definišu često korišćene stvari (naslov, bibliografija, sadržaj, broj stranice…). LaTeX te dodatke donosi u vidu novih naredbi.

Svaka naredba u LaTeX-u počinje znakom „\” (backslash), dalje iza njega idu slova engleskog alfabeta; neke od naredbi su: \documentclass, \usepackage i sl. Ove naredbe ne bi bile preterano korisne da nemaju neke argumente koje koriste. Na primer, ako postoji naredba za naslov, toj naredbi nekako treba reći koji naslov želimo da bude postavljen. Ovakvi argumenti se stavljaju u vitičaste zagrade ({}), a navedeni primer bi glasio \section{Naslov}. Takođe, neke naredbe imaju i opcije koje mogu da definišu način na koji će argument biti opisan, na primer, ako definišemo dokument mogli bismo da mu kažemo da se radi o formatu papira A4. Opcije se stavljaju u srednje zagrade ([]), a navedeni primer bi glasio \documentclass[a4paper]{article}. Dodatno ćemo pojasniti ulogu ove linije u sledećem primeru kôda:

\documentclass[a4paper]{article}
\begin{document}
Zdravo svete
\end{document}

Opišimo šta koja linija kôda radi:

  1. \documentclass[a4paper]{article}: Služi da se definiše tip dokumenta koji se izrađuje. On definiše kako će se ponašati brojanje stranica, pozicioniranje naslova i sl. U ovom slučaju, to je članak (article), mada on može uzeti i veliki broj drugih tipova (book, minimal, a5paper …), a možemo i sami da napravimo naš tip dokumenta. Takođe, ona definiše i format stranice koristeći opciju a4paper.
  2. \begin{document}: Naredba kojom se označava početak dokumenta. Sve do ove linije se naziva preambula.
  3. Zdravo svete.: Linija bez komandi nepromenjena ide u dokument
  4. \end{document}: Naredba kojom označavamo da je dokument završen. Sve linije u kôdu koje se nalaze iza ove linije će biti ignorisane.

Konačno, ovako bi izgledao tako otkucani dokument:

Kompajleri i razvojna okruženja za LaTeX

Da bismo koristili LaTeX, imamo dve mogućnosti: da koristimo neki od brojnih LaTeX editora/kompajlera koji su na internetu (writeLaTeX, scribtex), dok je druga opcija instalacija kompajlera na računaru. Da bi se to uradilo treba instalirati texlive paket, kolekciju kompajlera za jezike koji su zasnovani na TeX-u. Na operativnim sistemima zasnovanim na Debian-u to se može uraditi naredbom:

sudo apt-get install texlive-latex-base

Kako je LaTeX programski jezik, za njegov razvoj nije potrebno ništa više od omiljenog tekst editora (vim, nano, gedit i sl.). Dodatno postoje i razvojna okruženja posebno razvijena za razvoj LaTeX dokumenata, kao na primer kile. Ova okruženja poseduju posebne dodatke koji olakšavaju rad (na primer, tabele posebnih karaktera, koji su takođe naredbe).