# UNIZA Beamer – prezentačná šablóna LaTeXová šablóna pre tvorbu prezentácií v **Beameri** s vlastnými rozloženiami slajdov, typografiou, farbami, pätou, logom organizácie a pomocnými príkazmi na vkladanie tabuliek, obrázkov a zdrojového kódu. Súbor `main.tex` slúži ako ukážková prezentácia a zároveň ako praktický katalóg dostupných príkazov. Vlastné makrá a vzhľad sú oddelené do modulov, takže obsah prezentácie možno upravovať bez potreby meniť všetky súčasti šablóny. ## Obsah - [Štruktúra projektu](#štruktúra-projektu) - [Ako zmeniť organizáciu, farby a logo](#ako-zmeniť-organizáciu-farby-a-logo) - [Čo obsahujú jednotlivé súbory](#čo-obsahujú-jednotlivé-súbory) - [Príkazy na tvorbu slajdov](#príkazy-na-tvorbu-slajdov) - [Tabuľky, obrázky a zdrojový kód](#tabuľky-obrázky-a-zdrojový-kód) - [Riešenie bežných problémov](#riešenie-bežných-problémov) - [Atribúcia a licencia](#atribúcia-a-licencia) ## Štruktúra projektu ```text . ├── main.tex ├── uni.sty ├── styles/ │ ├── colors.sty │ ├── contents.sty │ ├── fonts.sty │ ├── footer.sty │ ├── lists.sty │ ├── slides.sty │ └── titles.sty ├── organisation/ │ ├── info.sty │ ├── feit-uniza/ │ │ ├── info.sty │ │ └── logo-footer.png │ ├── kris-feit-uniza/ │ │ ├── info.sty │ │ └── logo-footer.png │ └── uniza/ │ ├── info.sty │ └── logo-footer.pdf └── snippets/ ├── maximum.py ├── mean-func.py └── mean.py ``` **Dôležité:** cesty k modulom, logám a ukážkovým zdrojovým súborom sú relatívne ku koreňovému priečinku projektu. Pri kompilácii preto pracujte v priečinku, v ktorom sa nachádza `main.tex`, a zachovajte názvy a štruktúru priečinkov. ## Ako prezentáciu skompilovať ### Potrebné nástroje - LaTeX distribúcia, napríklad TeX Live alebo MiKTeX. - Trieda `beamer` a balíky používané šablónou, vrátane `graphicx`, `booktabs`, `amsmath`, `minted`, `caption`, `calc`, `adjustbox` a `multicol`. - Python a balík **Pygments**, ktorý používa `minted` na zvýrazňovanie syntaxe kódu. - Povolené spúšťanie externých príkazov v LaTeXu (*shell escape*), pretože `minted` spúšťa Pygments. ### Kompilácia pomocou `latexmk` V koreňovom priečinku projektu spustite: ```bash latexmk -pdf -shell-escape main.tex ``` Ak `latexmk` nemáte, môžete použiť `pdflatex`: ```bash pdflatex -shell-escape main.tex pdflatex -shell-escape main.tex ``` Druhé spustenie pomáha aktualizovať odkazy, obsah a celkový počet slajdov. V online editore, napríklad Overleaf, vyberte kompatibilný LaTeX kompilátor a povoľte nastavenia potrebné pre `minted`, ak ich editor vyžaduje. Výstupom je súbor `main.pdf`. ## Ako zmeniť organizáciu, farby a logo Výber organizačného profilu sa robí v jedinom centrálnom súbore: **`organisation/info.sty`**. Tento súbor aktuálne obsahuje: ```latex \input{organisation/kris-feit-uniza/info.sty} ``` Tým sa aktivuje profil `uniza`. Na prepnutie na inú z pripravených organizácií zmeňte tento jeden riadok. ### Príklad: prechod na FEIT UNIZA V súbore `organisation/info.sty` nahraďte riadok: ```latex \input{organisation/kris-feit-uniza/info.sty} ``` riadkom: ```latex \input{organisation/feit-uniza/info.sty} ``` Zmena aktivuje farebný profil a logo z priečinka `organisation/feit-uniza/`. Obsah slajdov v `main.tex` meniť nemusíte. ### Ktoré nastavenia profil určuje? Každý profil má vlastný súbor `info.sty`, v ktorom sa definujú farby a cesta k logu v päte. Napríklad profil `organisation/feit-uniza/info.sty` mapuje konkrétne farby na významové premenné: ```latex \colorlet{colorBg}{white} \colorlet{colorText}{black} \colorlet{colorTextHighlight}{darkOrange} \colorlet{colorFooterFg}{white} \colorlet{colorFooterBg}{feitOrange} \providecommand{\orgLogoFooter}{organisation/feit-uniza/logo-footer.png} ``` Význam premenných: - `colorBg` – základné pozadie slajdov. - `colorText` – predvolená farba hlavného textu. - `colorTextHighlight` – zvýrazňovacia farba, využívaná napríklad štruktúrnymi prvkami a nadpismi. - `colorFooterFg` – farba textu a prvkov v päte. - `colorFooterBg` – farba pozadia päty; používa sa aj ako pozadie farebného záverečného slajdu. - `orgLogoFooter` – cesta k obrázku loga zobrazovaného v päte. Farby možno definovať aj pomocou RGB, napríklad: ```latex \providecolor{myBlue}{RGB}{0, 90, 160} \colorlet{colorTextHighlight}{myBlue} \colorlet{colorFooterBg}{myBlue} ``` Hodnoty RGB sú tri celé čísla od `0` do `255`. Pri zmene farieb je praktické ponechať názvy významových premenných (`colorBg`, `colorText` a podobne) a meniť iba ich priradenia. Tak sa úprava automaticky prejaví v moduloch, ktoré tieto premenné používajú. ### Vytvorenie vlastného profilu organizácie 1. Vytvorte priečinok, napríklad `organisation/moj-profil/`. 2. Vložte doň súbor `info.sty` s definíciami farieb a cesty k logu. 3. Uložte logo v danom priečinku a v `\orgLogoFooter` uveďte správny názov a formát súboru. 4. Zmeňte `organisation/info.sty` tak, aby načítaval nový profil, napríklad `\input{organisation/moj-profil/info.sty}`. 5. Skompilujte prezentáciu a skontrolujte kontrast textu, čitateľnosť päty a správne zobrazenie loga. Príklad minimálneho súboru vlastného profilu: ```latex % organisation/moj-profil/info.sty \providecolor{myBrand}{RGB}{0, 90, 160} \colorlet{colorBg}{white} \colorlet{colorText}{black} \colorlet{colorTextHighlight}{myBrand} \colorlet{colorFooterFg}{white} \colorlet{colorFooterBg}{myBrand} \providecommand{\orgLogoFooter}{organisation/moj-profil/logo-footer.png} ``` Logo musí existovať presne na uvedenej ceste. Ak používate iný súbor alebo formát, upravte hodnotu `\orgLogoFooter`. ## Čo obsahujú jednotlivé súbory ### Koreň projektu #### `main.tex` – ukážková prezentácia Hlavný dokument, ktorý autor prezentácie zvyčajne upravuje. Na začiatku načíta triedu Beamer, balík `uni`, jazykové a kódovacie nastavenia a metadáta prezentácie. Ďalej demonštruje titulné slajdy, obsah, sekcie, jednostĺpcové a dvojstĺpcové rozloženia, zoznamy, tabuľky, obrázky, matematiku a zdrojové kódy. Pri príprave vlastnej prezentácie upravte najmä: ```latex \author{Meno Priezvisko} \title{Názov prezentácie} \subtitle{Podnadpis prezentácie} ``` Potom nahraďte ukážkové sekcie a obsah vlastným materiálom. Súbor je vhodný aj ako referencia syntaxe vlastných makier. #### `uni.sty` – hlavný balík šablóny Koordinačný balík, ktorý sa načítava príkazom `\usepackage{uni}`. Načíta potrebné LaTeX balíky, nastaví základné vlastnosti Beameru, definuje počítadlo pre označenie kódových blokov a postupne načíta moduly zo `styles/`. Ak chcete meniť iba obsah prezentácie alebo organizačnú tému, zvyčajne tento súbor upravovať nepotrebujete. Zásah doň je vhodný pri rozširovaní samotnej šablóny alebo pri pridávaní ďalších závislostí či modulov. ### `styles/` – vzhľad a správanie šablóny Táto zložka rozdeľuje vzhľad a vlastné príkazy do tematických modulov. Uľahčuje údržbu: typografiu možno meniť v `fonts.sty`, pätičku v `footer.sty` a rozloženia slajdov v `slides.sty`. #### `styles/colors.sty` Načíta vybraný organizačný profil z `organisation/info.sty` a priradí jeho významové farby ku komponentom Beameru. Nastavuje farbu bežného textu a pozadia, štruktúrnych prvkov, päty a položiek obsahu prezentácie. Ak chcete prepínať medzi pripravenými organizáciami, zmeňte centrálny výber profilu; tento súbor na bežnú zmenu značky meniť netreba. #### `styles/contents.sty` Definuje príkazy pre tabuľky, obrázky a zdrojové kódy: - `\tab` vytvorí tabuľku s popisom a menovkou. - `\fig` vloží obrázok s popisom a menovkou; ak súbor obrázka neexistuje, zobrazí náhradný rámček. - `\code` vloží kód zo samostatného súboru pomocou `minted`. Nehviezdičkovaná verzia pridáva označenie typu `(L1)`, `(L2)` atď.; hviezdičkovaná verzia číslovanie vynecháva. Súbor obsahuje aj rozmery a parametre kódových blokov, napríklad veľkosť písma, odsadenie čísel riadkov a typ rámčeka. #### `styles/fonts.sty` Nastavuje typografiu prezentácie: základnú veľkosť písma, veľkosti nadpisov a podnadpisov, meno autora, text v päte a jednotlivé úrovne zoznamov. Ak má prezentácia pôsobiť jednotne, globálne veľkosti písma meňte práve tu, nie samostatne na každom slajde. #### `styles/footer.sty` Zodpovedá za pätu slajdov. Načíta organizačné nastavenia, určuje rozmery päty a loga a podľa typu slajdu zobrazí logo spolu s dátumom na titulnej strane alebo logo spolu s číslom aktuálneho a celkového počtu slajdov na bežných slajdoch. Skrýva predvolené navigačné symboly Beameru. Pri zmene loga upravte organizačný profil; rozmery a zarovnanie päty meňte v tomto súbore iba vtedy, ak chcete meniť spoločný dizajn. #### `styles/lists.sty` Nastavuje vzhľad odrážok pre prvú, druhú a tretiu úroveň nečíslovaných zoznamov. Číslované zoznamy naďalej vytvárate štandardným prostredím LaTeX `enumerate`. #### `styles/slides.sty` Hlavný modul na rozloženia slajdov. Definuje titulné slajdy, obsah, oddeľovacie slajdy sekcií a jednostĺpcové či dvojstĺpcové rozloženia. Obsahuje tiež rozmery, napríklad medzeru medzi stĺpcami a odstupy v titulných slajdoch. Pri vytváraní obsahu používajte dostupné príkazy, aby jednotlivé slajdy zachovali jednotný vzhľad. Tento súbor upravujte vtedy, keď chcete meniť samotné rozloženie. #### `styles/titles.sty` Definuje formát titulkov bežných slajdov a označenie pokračovania viacstranových rámcov. Určuje vertikálne odsadenie, zarovnanie a použitie nastaveného písma nadpisov. ### `organisation/` – profily značky #### `organisation/info.sty` Centrálny prepínač organizácie. Načítava jeden konkrétny profil, ktorý obsahuje farby a cestu k logu. Toto je prvé miesto, ktoré treba upraviť pri zmene organizačnej témy. #### `organisation/feit-uniza/info.sty` Farebný profil Fakulty elektrotechniky a informačných technológií UNIZA. V aktuálnych definíciách používa oranžovú farbu päty (`feitOrange`, RGB `244,119,35`) a tmavooranžovú zvýrazňovaciu farbu (`darkOrange`, RGB `228,92,18`). Načítava `organisation/feit-uniza/logo-footer.png`. #### `organisation/kris-feit-uniza/info.sty` Profil KRIS FEIT UNIZA. Aktuálne používa tyrkysovú farbu `krisCyan` (RGB `18,102,113`) pre zvýraznenie aj pozadie päty a načítava `organisation/kris-feit-uniza/logo-footer.png`. Tento profil je predvolene aktívny cez `organisation/info.sty`. #### `organisation/uniza/info.sty` Všeobecný profil Univerzity Žilina. Definuje modré odtiene, používa `unizaBlue` (RGB `0,45,113`) pre pätu a `darkbBlue` (RGB `24,47,105`) pre zvýraznenie. Načítava vektorové logo `organisation/uniza/logo-footer.pdf`. #### Súbory `logo-footer.*` Grafické súbory loga, ktoré sa umiestňujú do päty. Každý profil odkazuje na vlastné logo. Ak ho nahradíte, zachovajte cestu uvedenú v `\orgLogoFooter`, alebo túto definíciu aktualizujte. Dbajte na oprávnenie používať logo a na dodržiavanie pravidiel vizuálnej identity organizácie. ### `snippets/` – ukážkové zdrojové kódy Obsahuje samostatné ukážky Pythonu, ktoré v `main.tex` vkladá makro `\code`. Udržiavanie kódu v osobitných súboroch zjednodušuje jeho úpravu a umožňuje zachovať zvýrazňovanie syntaxe. - `mean.py` – stručný výpočet aritmetického priemeru hodnôt `[2, 4, 6, 8]`. - `mean-func.py` – ukážka výpočtu priemeru pomocou funkcie `calculate_mean`. - `maximum.py` – funkcia `find_maximum`, ktorá hľadá najväčšiu hodnotu v zozname. Pri príkaze `\code` použite cestu k súboru relatívnu ku koreňu projektu, napríklad `snippets/mean.py`. ## Príkazy na tvorbu slajdov Všetky nižšie uvedené príkazy sú definované šablónou a používajú sa v `main.tex` po načítaní `\usepackage{uni}`. ### Titulok a obsah ```latex \slideTitle \slideTitleColor \slideTableOfContents \slideTableOfContents[2] ``` - `\slideTitle` vytvorí titulný slajd z údajov `\title`, `\subtitle` a `\author`. - `\slideTitleColor` vytvorí záverečný/titulný slajd s farebným pozadím podľa farby päty. - `\slideTableOfContents` vloží obsah; voliteľný argument je počet stĺpcov. Ak argument vynecháte, použije sa jeden stĺpec. ### Oddeľovacie slajdy sekcií ```latex \slideSection{Názov sekcie} \slideSection*{Sekcia bez zápisu do obsahu} \slideSectionSubtitle{Názov sekcie}{Podnadpis} ``` Neoznačené (nehviezdičkované) verzie zapíšu názov sekcie do štruktúry Beameru, a tým ovplyvnia automatický obsah. Hviezdička potlačí automatické zaregistrovanie sekcie. Pri `\slideSectionSubtitle` druhý povinný argument obsahuje podnadpis. ### Jednostĺpcové slajdy ```latex \slideOneColumn{Nadpis slajdu} { Text, zoznam alebo iný obsah slajdu. } \slideOneColumn*{Nadpis bez registrácie sekcie} { Obsah slajdu. } \slideOneColumnPlain { Obsah bez nadpisu rámca. } ``` - `\slideOneColumn{nadpis}{obsah}` vytvorí štandardný slajd s nadpisom. - `\slideOneColumn*` zobrazí nadpis, ale nezaregistruje ho ako sekciu v obsahu. - `\slideOneColumnPlain{obsah}` vytvorí slajd bez štandardného nadpisu. ### Dvojstĺpcové slajdy ```latex \slideTwoColumns{Porovnanie}{0.45} { Obsah ľavého stĺpca. } { Obsah pravého stĺpca. } \slideTwoColumnsPlain{0.45} { Ľavý stĺpec bez nadpisu. } { Pravý stĺpec bez nadpisu. } ``` Číselný argument určuje podiel šírky ľavého stĺpca voči šírke textovej oblasti. Napríklad `0.45` znamená 45 % šírky pre ľavý stĺpec; medzi stĺpcami sa navyše ponecháva definovaná medzera. Pravý stĺpec zaberie zvyšný priestor. Podľa potreby použite pomer ako `0.4`, `0.45` alebo `0.5` a skontrolujte, či sa obsah zmestí. Hviezdičková verzia `\slideTwoColumns*{nadpis}{pomer}{ľavý obsah}{pravý obsah}` potlačí automatické registrovanie sekcie. ## Tabuľky, obrázky a zdrojový kód ### Tabuľka ```latex \tab{lrr}{tab:vysledky}{Porovnanie výsledkov} { \toprule \textbf{Parameter} & \textbf{Metóda A} & \textbf{Metóda B} \\ \midrule Čas [s] & 12.4 & 14.8 \\ Presnosť [\%] & 95 & 97 \\ \bottomrule } ``` Argumenty v poradí: špecifikácia stĺpcov, menovka na odkazovanie, popis tabuľky a samotný obsah. V špecifikácii sa používajú bežné typy zarovnania LaTeXu, napríklad `l` (vľavo), `c` (na stred) a `r` (vpravo). Vodorovné čiary `\toprule`, `\midrule` a `\bottomrule` poskytuje balík `booktabs`. ### Obrázok ```latex \fig{0.8}{fig:architektura}{Schéma architektúry}{images/architektura.png} ``` Argumenty sú: šírka ako násobok `\linewidth`, menovka, popis a cesta k obrázku. Hodnota `0.8` znamená najviac 80 % šírky dostupného riadku. Obrázok musí existovať na zadanej ceste. Ak neexistuje, makro zobrazí rámček s textom `Placeholder`, čo pomáha odhaliť chýbajúci súbor bez prerušenia vkladania obrázka. ### Zdrojový kód ```latex \code{python}{code:mean}{snippets/mean.py} \code*{python}{lst:maximum}{snippets/maximum.py} ``` Argumenty: jazyk pre zvýraznenie syntaxe, menovka a cesta k zdrojovému súboru. `\code` zobrazí kód s číslami riadkov a označením `L1`, `L2` atď. vedľa bloku. `\code*` použije plnú šírku a nezvyšuje počítadlo kódových blokov. Cesty musia smerovať na existujúce súbory a kompilácia musí mať správne nastavený `minted`/Pygments. ## Riešenie bežných problémov - **Chyba pri `minted` alebo Pygments:** skontrolujte, či je nainštalovaný Pygments a či kompilátor používa `-shell-escape`. - **Nezobrazuje sa logo:** overte hodnotu `\orgLogoFooter`, existenciu súboru a kompiláciu z koreňového priečinka projektu. - **Zobrazí sa `Placeholder` namiesto obrázka:** cesta uvedená v `\fig` je nesprávna alebo obrázok chýba. V dodanom ukážkovom `main.tex` sa používa `demo-image.png`, ktorý v zozname súborov tejto šablóny nie je; nahraďte ho vlastným existujúcim obrázkom alebo pridajte súbor na túto cestu. - **Zmena farieb sa neprejaví:** overte, ktorý profil načítava `organisation/info.sty`, a upravujte významové premenné v aktívnom profile. - **Odkazy alebo celkový počet slajdov nie sú aktualizované:** spustite kompiláciu druhýkrát alebo použite `latexmk`. - **Obsah sa nezobrazuje podľa očakávania:** skontrolujte, či používate nehviezdičkované príkazy pre sekcie tam, kde sa majú automaticky registrovať do obsahu. ## Atribúcia a licencia Táto šablóna je licencovaná pod medzinárodnou licenciou **[Creative Commons Attribution 4.0 International (CC BY 4.0)](http://creativecommons.org)**. * **Autor aktuálnej verzie a úprav:** Matúš Nečas (október 2026) * **Pôvodná práca (autor pôvodnej šablóny):** Ján Šumský (august 2024) — `jan.sumsky@gmail.com`