NMSA230 - Softwarové prostředky
pro matematiku a stochastiku

Zimný semester 2017/2018 | Cvičenie 5 | Po 04/12/17



LaTeX & BibTeX


Program piatého cvičenia NMSA 230
  • Práca s literatúrou a zoznamom literatúry v LaTeX-u a BibTeX-u.
  • Odkazovanie na literárne zdroje a príprava vlastného súboru s potrebnou literatúrou.
  • Základy vytvárania jednoduchých LaTeX-ových prezentácii pomocou beameru a konferenčných posterov (aspoň stručne).

Užitočné materiály pre prácu s LaTeX-om
  • Tobias Oetiker a kol.: Ne příliš stručný úvod do systému LaTeX 2ε. (PDF súbor)
  • Kolektív AF UPOL: Drsný úvod do LaTeX-u. (PDF súbor)
  • Warbrick, J.: Essential LaTeX ++ (PDF súbor)

  • Olšák, P.: Typografický systém TeX, Konvoj, 1995.
  • Knuth, D.: Computer and Typesetting Series, Vol. A: The TeX Book, Addison Wesley, 1986.
  • Knuth, D.: Computer and Typesetting Series, Vol. B: TeX The Program, Addison Wesley, 1986.

K doplneniu informácii obsiahnutých na tejto webovej stránke je možné využiť aj tento PDF dokument vytvorený v LaTeX-u.
(k stiahnutiu aj zdrojový kod v kódovaní cp1250 a tiež zdrojový kód v kódovaní utf8)


1. BibTeX

BibTeX je softwarový nástroj štandardne používaný s LaTeX-om je určený k vytváraniu, spravovaniu a správnemu formátovaniu bibliografických záznamov vo finálnom PDF dokumente/texte.

K správnemu fungovaniu vyžaduje BibTeX na vstupe tri samostatne súbory na základe ktorých následne vytvorí potrebný podkladový súbor pre LaTeX:

  • súbor aux, ktorý je vytvorený ako medzikrok pri tvorbe PDF dokumentu v LaTeX-u.
  • súbor bst, ktorý definuje konkrétny štýl formátovania bibliografických zázanamov vo finálnom texte.
  • súbor bib, ktorý obsahuje databázu bibliografických záznamov, z ktorých niektoré (nie nutne všetky) sa používajú v texte.

Uživateľom vytváraný a dodávaný súbor je iba bib súbor s potrebným bibliografickým zoznamom (napr. ukážka súboru súbor bib je tu). Všimnite si, že jednotlivé záznamy maju podobnú štruktúru:

@BOOK{Andel07,
  title = {Základy matematické statistiky},
  publisher = {Matfyzpress},
  year = {2007},
  author = {Anděl, Jiří},
  address = {Praha},
  series = {Druhé opravené vydání},
  isbn = {80-7378-001-1}
}

prípadne

@ARTICLE{Cox72,
  author = {Cox, David R.},
  title = {Regression Models and Life-Tables (with {D}iscussion)},
  journal = {Journal of the Royal Statistical Society, Series B},
  year = {1972},
  volume = {34},
  pages = {187--220},
  number = {2}
}

Základný rozdiel vo vyššie uvedených príkladoch je ten, že prvý zdroj cituje publikáciu (knihu) a druhý cituje časť knižky, resp. článok. BibTeX teda rozoznáva konkrétny typ záznamu, s ktorým pracuje a podľa toho prispôsobi požiadavky a potrebné informácie, ktoré je potrebné z bibliografickom zázname špecifikovať (napr. pre článok nie je potrebne uvádza vydávateľa, tzv. publisher, a naopak, v prípade knižneho záznamu nie je nutné špecifikovať rozsah strán, a pod.).

Okrem typov article a book rozoznáva BibTeX aj iné typy literatúry: booklet, conference, inbook, manual, proceedings, inproceedings, misc, phdthesis, unpublished a prípadne ďalšie. Kompletný zoznam možnosti spolu s príkladmi a dalšími podrobnosťami je na tejto stránke: https://en.wikipedia.org/wiki/BibTeX.

BibTeX funguje následovne:

  • v LaTeX-ovom zdrojovom kóde na miestach, kde chceme citovať konkrétný literárny zdroj, použijeme príkaz \cite{} (prípadne iné modifikácie ako \citep{} alebo \citet{}).
  • pri kompilácii zdrojového kódu LaTeX-om sa vytvorí súbor aux (podívajte sa do pracovného adresáru a nájdite príslušný súbor a nahledněte doň).
  • v súbore aux vyhľadá BibTeX miesta s výskytom citáci a tieto miesta nahradí vhodným kódom, ktorý presne špecifikuje požadované formátovanie v záverečnom zozname literatúry (spôsob formátovania je špecifikovaný v súbore bst).
  • následne opäť LaTeX-ovom skompilujeme zdrojový kód - na miestach s citáciami sa objavý požadovaný odkaz na literatúru a na záver článku bude vytlačený zoznam citovanej literatúry.
  • v prípade, že chceme v zozname literatúry uviesť aj článok, ktorý v samotnom texte necitujeme, je potrebné použiť príkaz \nocite{}.



Užitočné


  • Jednoduchá ukážka na prácu s BibTeX-om je napríklad tu: LaTeX03.tex. K dispozícii je súbor s databázou bibliografických záznamov (súbor literatura.bib) a tiež súbor základných štýlov pre český jazyk (súbor czplainnat.bst).

  • K dispozícii sú mnohé iné štýly, napr. plainnat.bst, alebo chicago.bst.

  • Pri písaní odborného textu v ktorom sa nachádzajú rôzne literárne zdroje sa zvykne v záverečnom zozname literatúry uvadzať pouze taký zdroj, ktorý je v samotnom dokumente/texte explicitne spomínaný (v prípade nutnosti zahrnúť do zoznamu literatúry aj zdroj, na ktorý sa v texte explictne neodkazuje, je potrebné použíť príkaz \nocite{}). Najlepším riešením (a v mnohých renomovaných časopisoch zároven aj jediným) je explicitne citovať všetky zdroje uvedené v zozname literatúry.



2. Beamer prezentácia

Pomocou LaTeX-u je možné vytvárať aj velmi efektné PDF prezentácie (od jednoduchých štýlov a templatov, až po komplexné a náročné prezentácie, vyžadujúce nemalu mieru programovacích zručnosti). Typ dokumentu (document class), ktorý umožnuje vytvárať prezentácie, sa nazýva beamer a obsahuje celú řadu různych funkcii a makro, ktoré sú pre tvorbu prezentácii ideálne.

Formátovanie samotného textu a matematických výrazov je analogické, ako pri vytváraní klasického PDF dokumentu (napr. typ article, book, paper, a podobne). Okrem toho je dobré poznať a používať aj dalšie užitočné makrá a preddefinovaé funkcie.

Prezentácia v LaTeX-u teda začína následovne:

\documentclass{beamer}

a jednotlivé transparencie (slidy) sú vždy definované pomocou párových príkazov

\begin{frame}
 ... obsah jednej transparencie ...
\end{frame}

Jednoduchá (pouze titulná strana) prezentácia vytvorená v LaTeX-u by mohla vyzerať napr. takto:

\documentclass{beamer}
\usetheme{Boadilla}

\title{My Presentation}
\subtitle{Using Beamer}
\author{Joe Bloggs}
\institute{University of ShareLaTeX}
\date{\today}

\begin{document}
\begin{frame}
\titlepage
\end{frame}
\end{document}



Vyššiš uvedený zdrojový kod je samozrejme nutné skompilovať pomocou PDF-LaTeX-u. Po kompilácii bude výsledná prezentácia dostupná ako PDF súbor v príslušnom pracovnom adresári.



Užitočné





3. Konferenčný poster

Pomocou LaTeX-u je možné jednoducho (a s použitím analogických príkazov, ako pri štandardnom PDF dokumente, alebo aj Beamer prezentácii) vytvoriť aj konferenčný poster. K dispozícii je opäť množstvo rôzných formátov a štruktúr, ktoré sa dajú nájsť na internete. Základný súbor makier a príkazov je napr. v dokumente typu tikzposter, t.j., poster vytváraný v LaTeX-u by mal začínať následovne:

\documentclass[24pt, a0paper, portrait]{tikzposter}
\usepackage[utf8]{inputenc}
 
\title{Tikz Poster Example}
\author{ShareLaTeX Team}
\date{\today}
\institute{ShareLaTeX Institute}
 
\usetheme{Board}
 
\begin{document}
 
\maketitle
 
\end{document}

Používať sa ale dá aj samotný beamer štýl. Niekoľko jednoduchých príkladov a vzorových templatov je k na stránke https://www.sharelatex.com/learn/Posters, ale na internete sa dajú nájsť volne dostupne a omnoho zaujímavejšie verzie.

O niečo zaujimavejšie a komplexnejšie príklady (s možnosťou priamého stiahnutia a následného použitia) sú na tejto stránke: https://www.latextemplates.com/cat/conference-posters.



Domáca úloha (to be submitted)

(Deadline: 6. cvičenie | Po: 18.12.2017)

PDF report, ktorý ste doteraz vypracovali, postupne doplňte o následujúce:

  • Vytvorte si vlastnú (aspo stručnú) databázu bibliografických záznamov, kde budete mať minimálne tri rôzne typy záznamov (napr. article, book, misc, a pod.).
  • Váš PDF report doplňte o krátky (zmysluplný text) v ktorom budete citovať aspoň tri literárne zdroje z vyššie vytvorenej biblio-databázy.
  • Zoznam literatúry na konci textu doplňte aspoň o dva ďalšie zdroje, ktoré v texte síce explicitne necitujete, ale chcete ich mať v zozname literatúry uvedené.



Výsledný PDF súbor, ktorý bude obsahovať všetky vyššie uvedené časti, pomenujte prijmeni_jmeno.pdf a následne ho odošlite emailom na adresu maciak AT karlin.mff.cuni.cz, a to najneskôr 18.12.2017.