#+TITLE: Emacs a Org-mode
#+AUTHOR: Tomáš Jašek
#+EMAIL: xjasek@fi.muni.cz

#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: fibeamer
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC

* Čo je to Emacs?
- oficiálne (gnu.org):
#+BEGIN_QUOTE
Rozšíriteľný, prispôsobiteľný a slobodný textový editor.
#+END_QUOTE
- aha, takže je to len "ďalší textový editor"?
  - nie

* Funkcie Emacsu
- príprava dokumentov
- debugovanie (gdb)
- prehliadanie internetu (webkit)
- čítanie, písanie, odosielanie, prijímanie e-mailov
- čítanie noviniek (RSS/Atom)
- (de)šifrovanie textu pomocou GPG
- objednávanie pizze
- sledovanie času
- zostavovanie faktúr
- *prezentovanie*
- /...mnoho ďalších.../

* Čo je to Emacs (pokr.)
- *užívateľské prostredie* (podobná úroveň ako GTK)
- pre mnohých operačný systém
** Hlavné Koncepty
- jednotnosť prístupu k programom
- jednoduché vytváranie makier na čokoľvek \approx bash aliasy
- context-aware
- naprogramovaný v lispe, rozšíriteľný v lispe
- klávesové skratky volajú lisp funkcie
* Org-Mode
= balíček do Emacsu
- organizácia myšlienok
- kalendár
- denníček
- poznámky
- tabuľkový procesor (ala Excel)
- *príprava dokumentov* (aj prezentácií)
* Formát org-mode
- jednoduchý textový súbor (prípona =.org=)
- markdown + LaTeX + Emacs
- možnosti:
  - nadpisy
  - odrážky
  - vkladanie tabuliek
  - matematika
  - grafy
  - zdrojový kód
  - ...
* Výhody a nevýhody použitia
** Výhody
- výborná integrácia do emacsu
- možnosť využitia správy verzií
- mnoho podôb rovnakého dokumentu (exportery)
** Nevýhody
- nedáva zmysel bez použitia Emacs
  - *ale* má zmysel používať Emacs len na org-mode
- nutnosť učiť sa niečo nové
  - čím viac sa naučíte, tým vyššia produktivita
* Demo
- odstavce, sekcie, zoznamy
- export do LaTeX-u
- LaTeX a matematika
- =\usepackage=
- =org-babel= python

* Odstavce, sekcie a zoznamy
- zmena poradia
- zmena urovne
- nova odrazka/sekcia

* Export do LaTeX-u
- Ctrl+c Ctrl+e l l LaTeX file
- Ctrl+c Ctrl+e l p LaTeX =PDF=

* Vkladanie LaTeX-u do org-mode
- automaticke zvyraznenie sekvencie =LaTeX=
- priame vkladanie: f(x) = y^2

* Vlastnosti Dokumentu
- autor
  #+BEGIN_SRC org
    ,#+AUTHOR: Neviem Kto
    ,#+EMAIL: nejaky@mail.cz
  #+END_SRC
- Table of Contents
  #+BEGIN_SRC org
    ,#+OPTIONS: toc:nil
  #+END_SRC
- datum
  #+BEGIN_SRC org
      ,#+OPTIONS: date:nil
  #+END_SRC

* LaTeX balicky
- do preambule:
#+BEGIN_SRC org

#+LATEX_HEADER: \usepackage[english]{babel}

#+END_SRC

* Org-babel
- vykonanie vlozeneho bloku kodu

#+BEGIN_SRC python
  def fib(n):
    a = 1
    b = 1
    for i in range(0,n):
      a,b = b, a+b
          
    return a

  # navrat zo source blocku
  return fib(1)
#+END_SRC

#+RESULTS:
: 1

* Org-babel Gnuplot
  #+BEGIN_SRC gnuplot :exports code :file graf.png
    set title "Parabola"
    f(x) = x ** 2
    plot f(x)
  #+END_SRC

  #+RESULTS:
  [[file:graf.png]]

#+LATEX_OPTIONS: height:1em
[[file:graf.png]]

* Ďakujem za pozornosť!
- ak máte záujem naučiť sa viac
  - =info emacs= - oficiálna dokumentácia emacsu
  - https://orgmode.org/ - oficiálna dokumentácia org-mode
  - Talk o Org-Mode: https://www.youtube.com/watch?v=SzA2YODtgK4
- vyskúšajte Emacs na fakultných strojoch =nymfe=


