Cvičení kap. 8 – Pořadová sazba, tabulky

Přejít na:
Úkol 1
Úkol 2
Úkol 3
Úkol 4
Úkol 5
Úkol 6

Úkol 1

Vysázejte zápis algoritmu pro očíslování řádků vstupu:

Jednotlivé řádky kódu algoritmu jsou odsazené. Abychom dosáhli odsazení, použijeme prostředí tabbing. Příkaz \= určuje pozici zarážky. Příkazem \+ říkáme, že následující řádek se má odsadit k zarážce definované na aktuálním řádku. Pokud definujeme zarážku dále od kraje (na pozici i+1), než je již definovaná zarážka, stará zarážka se uchová v paměti a můžeme se k ní vrátit pomocí příkazu \-.

Výstup v PDF:
Možný zdrojový kód:
\documentclass{article}
\usepackage{czech}
\begin{document}
\begin{tabbing}
%nastavení zarážky na první pozici pomocí \=
\textbf{var} \= I:word; \+ \\
%návrat na předešlou pozici zarážky pomocí \-
R: \textbf{string}; \- \\
\textbf{begin} \= I := 0; \+ \\
%nastavení zarážky na pozici i=2 pro vnitřek cyklu while
\textbf{while} \=\textbf{not} eof \textbf{do begin} \+ \\
readln(R); Inc(I); \\
%posun zpět na pozici i=1
writeln(I:5, ' ', R) \- \\
%posun na nulové odsazení i=0
\textbf{end} \- \\
\textbf{end}.
\end{tabbing}
\end{document}
zdrojový kód

Úkol 2

Vysázejte:

Pro vzorec použijeme matematické prostředí displaymath, které jej zarovná na střed do vlastního odstavce. Pro korektní zobrazení jednotlivých veličin použijeme příkaz \mbox. Odsazení posledních dvou řádků je opět realizováno v prostředí tabbing příkazy určujícími pozici zarážky.

Výstup v PDF:
Možný zdrojový kód:
\documentclass{article}
\usepackage{czech}
\begin{document}
Pro vlastní výpočet použijeme vztah:
%matematické prostředí displaymath ($$), vytvoří vlastní odstavec a zarovná obsah na střed, \mbox umístí jednotlivé veličiny do LR boxu, zobrazí se tedy normálním písmem nastaveným v dokumentu
$$\mbox{HV} = \mbox{V} - \mbox{N},$$
%v prostředí tabbing, použijeme známé příkazy \= a \+
\begin{tabbing}
kde \= HV je hospodářský výsledek, \+ \\
V\,--\,výnosy, \\
N\,--\,náklady.
\end{tabbing}
\end{document}
zdrojový kód

Úkol 3

Vysázejte tabulku:

Pro vysázení tabulky použijeme prostředí tabular. V některých řádcích je jedna buňka přes celou tabulku, v jiných je dokonce v jednom řádku sedm buněk. Sloupce tabulky tedy budeme definovat pro všech sedm buněk, se zarovnáním na střed a standardním ohraničením. Řádky, které neobsahují všech sedm sloupců, budeme slučovat. Buňka s textem "ZISK" má ve skutečnosti tři řádky, ale první a třetí nejsou ohraničené a jsou prázdné. To dosáhneme příkazem \cline, který vykreslí vodorovnou linku jen pro zadané rozmezí sloupců. Aby byly řádky tabulky od sebe oddělené větší mezerou, předefinujeme hodnotu arraystretch.

Výstup v PDF:
Možný zdrojový kód:
\documentclass{article}
\usepackage{czech}
\begin{document}
%předefinování mezery řádků
\def\arraystretch{1.8}
\sffamily
%ve druhém parametru prostředí tabular se definují sloupce, "c" je zarovnání na střed a "|" ohraničení
\begin{tabular}{|c|c|c|c|c|c|c|}
%příkaz \multicolumn umožní spojit sloupce v jeden, opět se definuje zarovnání a ohraničení, \hline vykresluje vodorovnou linku přes všechny sloupce
\hline \multicolumn{7}{|c|}{\Large PRODEJNÍ CENA VÝROBKU} \\
\hline
\multicolumn{6}{|c|}{ÚPLNÉ VLASTNÍ NÁKLADY VÝROBKU} & \\
%vodorovná linka, jen přes sloupce 1-6
\cline{1-6}
%spojení tří sloupců
\multicolumn{3}{|c|}{Přímé náklady} & \multicolumn{3}{|c|}{Režijní náklady} & ZISK \\
\cline{1-6}
mzdy & mat. & ostatní & výrobní & správ. & odbyt & \\
\hline
\multicolumn{3}{|c|}{} & \multicolumn{4}{|c|}{Hrubé rozpětí} \\
\hline
\end{tabular}
\end{document}
zdrojový kód

Úkol 4

Vysázejte tabulku:

Tabulka obsahuje hodnoty s přesností vyšší než jedna, tedy s desetinnou čárkou. Abychom hodnoty správně zarovnali, musíme číslo nalevo a napravo od desetinné čárky oddělit do vlastních sloupců a předefinujeme oddělovač mezi sloupci na desetinnou čárku (v definici sloupců bude @{,}). Buňky řádků nad nebo pod těmito hodnotamy budou spojeny v jednu buňku. V definici tabulky tedy nebude pouze pět sloupců, jak by se na první pohled zdálo, ale ještě další tři. Dále je záhlaví odděleno dvojitou čarou od zbytku tabulky, tedy dvakrát zavoláme příkaz \hline

Výstup v PDF:
Možný zdrojový kód:
\documentclass{article}
\usepackage{czech}
\begin{document}
\def\arraystretch{1.2}
%v definici sloupců je mezera pro desetinnou čárku definována @{,}, kolem ní jsou čísla zarovnána napravo resp. nalevo, sloupců je dohromady osm
\begin{tabular}{|c|c|r@{,}l|r@{,}l|r@{,}l|}
%sloupce nad čísly s desetinnou čárkou se spojí v jeden
\hline \textbf{Ukazatel} & & \multicolumn{2}{|c|}{\textbf{1996}} & \multicolumn{2}{|c|}{\textbf{1997}} & \multicolumn{2}{|c|} {\textbf{1998}}\\
%dvojitá čára oddělující záhlaví a zbytek tabulky
\hline\hline
%číslo 11 720,1 je rozděleno do dvou sloupců, poslední sloupec s prázdným místem je spojením dvou
Kapitál celkem & SHR & 9 692 & 6 & 11 720 & 1 & \multicolumn{2}{|c|}{}\\
%linka vede od druhého k osmému sloupci
\cline{2-8}
& ZD & 46 589 & 7 & 46 456 & 8 & 42 982 & 0 \\
\cline{2-8}
& s.\,r.\,o. & 17 280 & 3 & 19 638 & 3 & 17 931 & 3 \\
\hline
Závazky celkem & SHR & 3 267 & 74 & 5 440 & 97 &\multicolumn{2}{|c|}{}\\
\cline{2-8}
& ZD & 15 217 & 1 & 15 742 & 2 & 15 525 & 7 \\
\cline{2-8}
& s.\,r.\,o. & 13 297 & 5 & 9 552 & 8 & 11 803 & 0 \\
\hline
\end{tabular}
\end{document}
zdrojový kód

Úkol 5

Vysázejte tabulku:

Z tabulky vidíme, že druhý sloupec záhlaví má zlom řádku mezi slovy "Počet" a "subjeků". K řešení zlomu můžeme vysadit malou tabulku do této buňky (bude mít jeden sloupec a dva řádky). Dále je v prvním sloupci od čtvrtého řádku patrné odsazení obsahu řádku. Toto odsazení můžeme řešit vytvořením dalšího sloupce s prázdným obsahem. Aby mezi textem "z toho" a "služby pro RV" byla mezislovní mezera, předefinujeme sloupcovou mezeru příkazem @{\ } v definici sloupců tabulky. Poslední, na co je třeba si dát pozor, je zarovnání čísel v posledním sloupci podle jednotky. Tabulka má titulek kurzívou umístěný nad samotnou tabulkou.

Výstup v PDF:
Možný zdrojový kód:
\documentclass{article}
\usepackage{czech}
\begin{document}
\textit{Počet subjektů zemědělských služeb začátkem roku 1999}

%tabulka se třemi sloupci, první bude prazdný kvůli odsazení, mezera mezi prvním a druhým sloupcem je předefinována na mezislovní mezeru
\begin{tabular}{|l@{\ }l|c|}
\hline
%spojení prvního a druhého sloupce v jednu buňku
\multicolumn{2}{|l|}{\textbf{Podniky agrárních služeb}} &
%vnitřní tabulka v druhé buňce zahlaví, se zrušenou mezerou mezi sloupci (aby se mezery nesčítaly s vnější tabulkou)
\begin{tabular}{@{}c@{}}{\textbf{Počet}\\ \textbf{subjektů}\end{tabular} \\
\hline
%opět dva sloupce spojené v jednu buňku
\multicolumn{2}{|l|}{Zemědělské biologické služby} & 590 \\
%příkaz \phantom vysadí "neviditelné" předčíslí, aby byla čísla zarovnána podle jednotek
--\ z toho:& služby pro RV & \phantom{0}74\\
& služby pro ŽV & \phantom{0}34\\
& rašelinové závody & \phantom{00}3\\
& lov, odchyt a odchov zvěřiny & \phantom{00}4\\
& výroba krmiv & \phantom{0}74\\
& veterinární služby & 369\\
& ostatní biologické služby & \phantom{0}28\\
\hline
\end{tabular}
\end{table}
\end{document}
zdrojový kód

Úkol 6

Vysázejte tabulku:

Poslední dvě buňky záhlaví opět obsahují řádkový zlom. Vysadíme tedy do buněk vnitřní tabulku. Číselné hodnoty ve druhém sloupci jsou zarovnány na střed a vertikálně podle jednotek. Ve třetím sloupci jsou hodnoty zarovnané vpravo.

Výstup v PDF:
Možný zdrojový kód:
\documentclass{article}
\usepackage{czech}
\begin{document}
\def\arraystretch{1.3}
\begin{tabular}{|l|c|r|}
%ve vnitřních tabulkách jsou předefinované sloupcové mezery na prázdné místo, aby nevznikala dvojnásobná mezera
\hline Právní forma & \begin{tabular}{@{}c@{}}{Počet pracovníků\\ celkem r. 1996}\end{tabular} & \begin{tabular}{@{}c@{}}{Podíl\\ v \%}\end{tabular} \\
\hline
%číselné hodnoty zarovnáme vertikálně použitím příkazu \phantom, který vysází "neviditelné" předčíslí
Zemědělská družstva & \phantom{0}96 310 & 72,3 \\
Státní majetky & \phantom{0}17 778 & 13,3 \\
Obchodní společnosti & \phantom{0}16 506 & 12,4 \\
Příspěvkové organizace & \phantom{00}2 616 & 2,0 \\
\hline
Zemědělství celkem & 133 210 & 100,0\\
\hline
\end{tabular}
\end{document}
zdrojový kód