NMSA230 - Softwarové prostředky pro matematiku a stochastiku
Zimný semester 2018/2019 | Cvičenie 4 | Ut 04/12/18
LaTeX | Obrázky a tabuľky
Program štvrtého cvičenia NMSA 230
-
Vytváranie jednoduchých tabuliek v LaTeX-u a práca s tabuľkami v samotnom texte.
-
Vkládanie obrázkov do textu, štruktúra a formátovanie textu s obrázkami/grafmi.
-
Niektoré základné 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 zdrojový kód v kódovaní utf8)
Základné princípy a spôsob fungovania LaTeX-u, vrátanie niekoľkých konkrétnych príkladov ako formulovať (sádzať) a formátovať matematický text (rôzne prostredia pre matematické vzorce, možnosti odkazovania na jednotlivé výrazy a úprava matematického textu), sú stručne popísane aj na tejto stránke.
1. Vytváranie jednoduchých 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. 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 oddeľujúcej dva stĺpce, prípadne zdvojený znak || pre dvojitú vertikálnu čiaru oddeľ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 je väčšinou 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}
Samotný príkaz @{} je ale možné použiť pre systematické vloženie ľubovolného znaku (alebo súboru znakov) medzi dva stĺpce v tabuľke. Príslušný znak (resp. súbor znakov) je špecifikovaný v zátvorkach.
Užitočné
V LaTeX-u je možné 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{} ;
-
Obecně platí, že tabuľka by mala obsahovať čo najmenej horizontálných aj vertikálnych čiar (napr. príkazov
\hline , alebo znakov | a || ). Vyzuálne krajšiu tabulku je možné vytvoriť s pomocou balíčku \usepackage{booktabs} a príkazov \toprule , \midrule a \bottomrule . Ďalšie podrobnosti a príklady použitia v manuále pre daný balíček: booktabs manuál
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. Pomocou príkazu \caption{} vytvoríme popisok k tabuľke a pomocou príkazu \label{} vytvoríme meno, pomocou ktorého sa prostredníctvom príkazu \ref{} môžeme na tabuľku v ďalšom texte odkazovať (podobný princíp funguje aj pri odkazovaní sa na matematické výrazy – pomocou príkazu \eqref{} , alebo na obrázky – príkaz \ref{} ). Finálna tabuľka 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}
Užitočné
-
Správna tabulka by mala vždy obsahovať dostatočne výstižný popisok. Desatinné miesta by mali byť uvedené na rovnaký počet desatinných miest (aspoň v každom stĺpci zvlášť) a čisla by mali byť zarovnané na desatinnú čiarku (tečku) a centrované vrámci stĺpca.
-
Vizuálna štruktúra tabuľky by malá pomáhať a ulahčovať orientáciu v tabuľke a čítanie obsiahnutých informácii.
-
Správna tabuľka by nemala byť utopená v texte, ale mala by byť odsadená buď vo vrchnej časti stránky, prípadne v spodnej časti stránky, ale nie uprostred.
-
Tabuľka je samostatnou a plnohodnotnou časťou samotného textu. Z tabuľky a jej popisku by malo byť dostatočne zrejmé, čo tabuľka obsahuje, čoho sa informácie týkajú a akým spôsobom tabuľku čítať.
3. Obrázky a grafika v LaTeX-u
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.
-
V prípade, že do LaTeX-u chceme vložiť obrázok vytvorený v programe R, je dobré tento obrázok v Rku vytvoriť už s požadovanými rozmermi a vyhnúť sa tak dodatočnému škálovaniu v LaTeX-u. Užitočné funkcie, ktoré v programe R vyexportuju obrázok vo formáte eps a pdf sú
postscript() a pdf() . Obe uvedené funkcie používajú dodatočné parametre width = … a height = … pre nastavenie požadovanej šírky a výšky vyexportovaného obrázku. Uvedené rozmery sú v palcoch.
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
(Deadline: 5. cvičenie | Ut: 18.12.2018)
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.
|