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