# LaTeX

## Uvod v LaTeX

### Kaj je LaTeX?

LaTeX je sistem za pripravo dokumentov. Deluje drugače kot Microsoft Word in podobni programi:

1. V Microsoft Word uporabnik neposredno oblikuje dokument in vidi njegovo končno oblik ("What you see is what you get" - WYISYG).
2. V LaTeXu uporabnik pripravi vhodno datoteko `.tex`, ki vsebuje golo besedilo in ukaze za oblikovanje, nato pa datoteko s programom `pdflatex` pretvori v PDF.

Prvi način je bolj prijazen večini uporabnikov, ki niso tehnično podkovani in ki ne želijo investirati časa v učenje bolj zahtevnega, a tudi bolj kvalitetnega in zmogljivega sistema.

Včasih je treba ukaz `pdflatex` pognati večkrat zapored, da lahko LaTeX preračuna sklice na izreke in številke strani. Uporabnik lahko to stori bodisi sam, bodisi uporabi program `latexmk`, ki sam po potrebi požene `pdflatex` (in tudi ostale programe, v sklopu sistema LaTeX).

Ukazov ni treba poganjati iz ukazne vrstice, ker zna Visual Studio Code to narediti sam.

### Struktura LaTeX dokumenta

LaTeX dokument shranimo v datoteko s končnico `.tex`. Dokument je lahko shranjen tudi v večih datotekah, ki jih z ukazom `\input{datoteka.tex}` vključimo v glavno datoteko.

Struktura glavne LaTeX datoteke je naslednja:

    \documentclass[...]{...}
    
    ⟨preambula⟩
    
    \begin{document}
    
      ⟨vsebina⟩
    
    \end{document}


Ukaz `\documentclass` določa zvrst dokumenta (članek, knjiga, pismo, ...).
Ime rezreda vpišemov zavite oklepaje, nastavitve v oglate, npr. `\documentclass[a4paper]{article}`.
Nastavitve lahko tudi opustimo in pišemo samo `\documentclass{...}`.

V preambuli v dokument vključimo razne pakete, uredimo nastavitve in definiramo makroje:

* paket vključimo z ukazom `\usepackage[...]{imePaketa}`, kjer v `[...]` podamo razne nastavitve.
* nastavitve so odvisne od zvrsti dokumenta.
* makro je okrajšava, ki jo lahko uporabljamo v dokumentu, definiramo ga z
  `\newcommand{\imeMakroja}....`, o tem se bomo več učili kasneje.

LaTeX ima okoli [6000 paketov](https://www.ctan.org). Najbolj uporabni so že vključeni v
distribucijo LaTeXa, ki ste jo namestili na svojo računalnik.

### Ukazi

V LaTeXu ukaze pišemo z `\imeUkaza`. Ukazu lahko dodamo tudi argumente, ki jih pišemo v `{...}`, na primer:

* `\section{Turingovi stroji}` naredi nov razdelek z naslovom "Turingovi stroji"
* `\textbf{....}` oblikuje besedilo v **krepkem** tisku.

Ukaz lahko sprejme tudi več argumentov, na primer `\ukaz{arg₁}{arg₂}...{argᵢ}`, poznamo pa tudi neobvezne argumente, ki jih lahko bodisi izpustimo bodisi podamo v oglatih oklepajih, na primer `\ukaz[arg₁]{arg₂}`.

### Razlika med oblikovnimi in vsebinskimi ukazi

Besedilo lahko oblikujemo na dva načina:

1. **Oblikujemo videz** z ukazi, ki nastavijo velikost in stil pisave, z ukazi za prelom vrstice, vstavljamo zamike ipd.
2. **Določimo vsebinski pomen** z ukazi, ki nakazujejo *pomen* kosov besedila, na primer ukazi za nov razdelek, podrazdelek, okolje za zapis izreka, okolje za zapis dokaza, itd.

Vsebinsko oblikovanje dokumenta je dosti bolj prijazno uporabniku, sistematično in fleksibilno.
LaTeX tako oblikovanje zelo dobro podpira.

V LaTeXu označimo vsebnski pomen okolja z ukazi oblike

    \begin{imeOkolja}
    ...
    \end{imeOkolja}

Nekatero vsebino označujemo s posebnimi ukazi, na primer `\section`, `\subsection`, `\footnote`, ...

### Več o LaTeXu

Več o osnovah LaTeX si oglejte v datoteki [`pregledLaTeXa.tex`](./pregledLaTeXa.tex).
Predvsem primerjajte vsebino datoteke s PDF dokumentom, ki ga naredi LaTeX.
