NMSA230 - Cvičenie 4

Softwarové prostředky pro matematiku a stochastiku

Po: 21/11/16 | (týždeň 8)



LaTeX | Obrázky a tabuľky


Program štvrtého cvičenia NMSA 230
  • Vytváranie jednoduchých tabuliek v práca s tabulkami v samotnom texte.
  • Vkládanie obrázkov do textu a práca s obrázkami.
  • Niektoré grafické nástroje v LaTeX-u.

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. Vytváranie LaTeX-ových tabuliek

Základným prostredím v LaTeX-u na vytváranie rôznych druhov tabuliek je prostredie tabular. Formálne dochádza k inicializácii tohto prostredia pomocou párových príkazov

\begin{tabular}{table spec}
...
\end{tabular}

Argumenty v zátvorke (table spec) špecifikujú konkrétny typ tabuľky (celkový počet sĺpcov) a spôsob zarovnania obsahu vrámci každého stĺpca zvláť. Povolené sú nasledujúce hodnoty:

  • l - left adjusted colum;
  • c - centered colum;
  • r - right adjusted colum;
  • p{‘width’} - column width the text vertically alligned at the top;
  • m{‘width’} - column width the text vertically alligned in the middle;
  • b{‘width’} - column width the text vertically alligned at the bottom;

Okrem toho je možne používať aj špecialny znak | pre vytvorenie vertikálnej čiary oddlujúcej dva stĺpce, prípadne zdvojený znak || pre dvojitú vertikálnu čiaru oddľujúcu dva stĺpce. Jednoduchá tabuľka vytvorená v LaTeX-u môže vyzerať napríklad takto:

\begin{tabular}{table spec}
\begin{tabular}{l|cr}
column 1 & column 2 & column 3 \\\hline
  1.1 & 2.2 & 3 \\
  4 & 5.22 & 6.2 \\
  7.11 & 8 & 9.33 \\
\end{tabular}
\end{tabular}

Z estetického hľadiska nie niekedy vhodné zarovnať desatinné hodnoty v tabuľke vzhľadom k desatinnej čiarke. V LaTeX-u je takéto zarovnanie možné pomocou výrazu @{.}, ktorý je potrebne umiestniť do špecifikácie tabuľky všade tam, kde chceme zarovnt stĺpce vzhľadom k desatinnej čiarke (technicky to funguje tak, že LaTeX vytvorí dva samostatne stĺpce - jeden pre hodnoty pred desatinnou čiarkou a druhy pre desatinne miesta, pričom tieto dva stĺpce z ktorých je prvý zarovnaný napravo a druhý naľavo, prepojí pomocou desatinnej tečky.

Porovnajte predchádzajúcu tabuľku s nasledujúcou:

\begin{tabular}{table spec}
\begin{tabular}{l@{.}r|l@{.}rl@{.}r}
\multicolumn{2}{c}{column 1} & \multicolumn{2}{c}{column 2} & \multicolumn{2}{c}{column 3} \\\hline
  1 & 1 & 2 & 2 & 3 &  \\
  4 & & 5 & 22 & 6 & 2 \\
  7 & 11 & 8 & & 9 & 33 \\
\end{tabular}
\end{tabular}



Užitočné


V LaTeX-u je mo6n0 vytvoriť rôzne typy a druhy tabuľiek. Niekedy je k tomu potrebná dodatočná knižnica, ktorú je nutné načítať v preambule zdrojového kódu.

  • horizontány text v tabuľke pomocou balíčka \usepackage{rotating} a prostredia

    \begin{sideways} ... \end{sideways}
    

    alebo

    \begin{turn}{angle} ... \end{turn}
    
    kde angle je veľkosť uhla v stupňoch.
  • text cez niekoľko stĺpcov vrámci jedného řádku pomocou príkazu \multicolumn{}{}{};
  • text cez niekoľko řádkov vrámci jedného sloupce pomocou príkazu balíčky \usepackage{multirow} a príkazu \multirow{}{}{};

    \begin{tabular}{|c|c|c|c|}
    \hline
    A & B & C & D \\ \hline
    \multirow{ 2}{*}{1} & 0 & 6 & 230 \\
    & 1 & 5 & 195 \\ \hline
    \end{tabular}
    
  • tabuľky s využitím rôznych farieb pomocou balíčku \usepackage{colortbl} a príkazov \rowcolor{} a \columncolor{};



2. LaTeX-é prostredie table

Z hľadiska štrukturovania komplexnejšieho textu je užitočné naučiť sa pracovať s prostredím table, ktoré je v LaTeX-u definované pomocou dvojice príkazov

\begin{table}
...
\end{table}

LaTeX interpretuje obsah v tomto prostredí ako element tabuľky, ku ktorej je dopĺnený popisok a label. Pomovou príkazu \caption{} vytvoríme popisok k tabuľke a pomocou príkazu \lable{} vytvoríme meno, pomocou ktorého sa prostredníctvom príkazu ref{} môžeme na tabuľku v ďalšom texte odkazovať. Výsledný element tabuľky v texte teda vznikne nasledujúcou kombináciou

\begin{table}
\label{tabulka1}
\caption{Toto je testovacia tabuľka č.1}
\begin{tabular}{|c|c|c|c|}
\hline
A & B & C & D \\ \hline
\multirow{ 2}{*}{1} & 0 & 6 & 230 \\
& 1 & 5 & 195 \\ \hline
\end{tabular}
\end{table}

Na túto tabuľku sa následne v texte odkažeme pomocou príkazu \ref{tabulka1}. V prípade, že chceme tabuľku horizontálne vycentrovať, môže byť užitočné prostredie center, ktoré vytvoríme pomocou dvojice príkazov

\begin{center}
...
\end{center}



3. Obrázky a grafika

Obrázky a grafy rôznych súborových typov (pdf, eps, png, jpg a iné) sa vkládajú do LaTeX-ového kódu pomocou príkazu \includegraphics[options]{adresa súboru}. Volitelné parametre (options) umožnujú meniť šírku a výšku výsledného obrázku (napr. width = 10cm, heiht = 10cm a podobne), veľkosť obrázku (napr. scale = 1.2), alebo orientáciu obrázku (napr. angle = 90). K správnemu fungovaniu je ale potrebný balíček \usepackage{graphicx}.

Podobne ako v prípade tabuliek, je možné aj obrázok interpretovať ako samostatný element - vytvoriť príslušný popisok a pomocou názvu (label) sa na daný obrázok následne v texte odkazovať. Slúži k tomu prostredie analogické k prostrediu table - prostredie figure. Vymedzene je opäť dvojicou príkazov

\begin{figure}
...
\end{figure}

ktorá može (a väčšinou aj je) dopĺnená dvojicou príkazov \label{}, ktorý vytvára méno (label) obrázku a \caption{}, ktorý vytvára popisok k obrázku. Výsledny “figure element” v LaTeX-ovom zdrojovom kóde potom vyzera následovne

\begin{figure}
\label{obrazok1}
\caption{Toto je testovací obrázok č.1}
\includegraphics[scale = 0.8]{figures/obrazok1.png}
\end{figure}



Užitočné


V prípade, že LaTeX-ový kód kompilujeme s PDFLaTeX-om, máme k dispozícii širšiu škálu možnosti pre rôzne typy súborov, ktoré použiť ako obrázok. Jedna sa hlavne o súbory typu PDF, PNG a JPG.

V prípade, že potrebujeme použiť obrázok vo vektorovom formáte (súbor typu EPS alebo PS), je nutné zdrojový kód najprv preložiť LaTeX-om, až následne vygenerovať finálny PDF súbor. EPS súbor obrázku je jediný typ, ktorý prekladé LaTeX kompilátor.

V prípade, že chcete použíť EPS súbor obrázku, ale zdrojový kód prekladať iba PDFLaTeX-om, je potrebné použiť dodatočný balíček \usepackage{epstopdf}, ktorý zabezpečí správne fungovanie.




4. Vlastné grafické nástroje v LaTeX-u

Okrem samotného vkládania predpripravených grafov a obrázkov je možné pomocou LaTeX-u obrázky aj vytvárať - do zdrojového kódu vkládať príslušne pasáže, ktoré pri kompilácii vytvoria požadovaný obrázok/graf. Jeden z balíčkov, ktorý umožňuje vytvárať takéto obrázky je \usepackage{tikz}. Jednoduchý príklad môže vyzerať napr. takto:

\documentclass{article}

\usepackage{tikz}

\begin{document}
\begin{figure}[h!]
  \begin{center}
    \begin{tikzpicture}
      \draw [red,dashed] (-2.5,2.5) rectangle (-1.5,1.5) node [black,below] {Start}; % Draws a rectangle
      \draw [thick] (-2,2) % Draws a line
      to [out=10,in=190] (2,2)
      to [out=10,in=90] (6,0) 
      to [out=-90,in=30] (-2,-2);    
      \draw [fill] (5,0.1) rectangle (7,-0.1) node [black,right] {Obstacle}; % Draws another rectangle
      \draw [red,fill] (-2,-2) circle [radius=0.2] node [black,below=4] {Point of interest}; % Draws a circle
    \end{tikzpicture}
    \caption{Example graphic made with tikz.}
  \end{center}
\end{figure}
\end{document}

Po preložení kódu LaTeX-om dostaneme nasledujúci obrázok:



Ďalšie ukážky a podrobné návody sú napr. na stránke http://www.texample.net/tikz/examples/.



Domáca úloha (to be submitted)

(Deadline: 5. cvičenie | Po: 04.12.2016)

PDF report, ktorý ste vypracovali ako predchádzajúcu úlohu doplňte o následujúce:

  • Aspoň dve tabuľky s popisnými charakteristikami aspoň dvoch premenných z dátoveho súboru, ktorý v reporte uvažujete. K tabuľkam doplňte vhodný popisok a pomocou mena (label) sa na tabuľky vo vhodnom mieste v texte odkážte.
  • Aspoň tri obrázky, ktoré budú vhodnym spôsobom ilustrovať nejakú zaujímavú vlastnosť vo vašich datach. K obrázkom doplňte vhodný popisok a pomocom mena (label) sa na obrázky na vhodnom mieste v texte odkážte.

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 maciakkarlin.mff.cuni.cz, a to najneskôr 04.12.2016.