summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/lshort-czech/src/graphic.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/lshort-czech/src/graphic.tex')
-rw-r--r--Master/texmf-dist/doc/latex/lshort-czech/src/graphic.tex641
1 files changed, 641 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/lshort-czech/src/graphic.tex b/Master/texmf-dist/doc/latex/lshort-czech/src/graphic.tex
new file mode 100644
index 00000000000..2f16e35d38a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/lshort-czech/src/graphic.tex
@@ -0,0 +1,641 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\setcounter{chapter}{4}
+\newcommand{\graphicscompanion}{\emph{The \LaTeX{} Graphics Companion}~\cite{graphicscompanion}}
+\newcommand{\hobby}{\emph{A User's Manual for \MP{}}~\cite{metapost}}
+\newcommand{\hoenig}{\emph{\TeX{} Unbound}~\cite{unbound}}
+\newcommand{\graphicsinlatex}{\emph{Graphics in \LaTeXe{}}~\cite{ursoswald}}
+
+\chapter{Tvorba matematické grafiky}
+\label{chap:graphics}
+
+\begin{intro}
+Podobně jako zadáváme text, můžeme \LaTeX u zadat pokyny pro vytvoření
+grafického výstupu. Možnosti, které při tom
+máme, jsou trochu omezené, ale existuje řada \LaTeX ových
+rozšíření, které tato omezení překonávají. V~této sekci se o~několika
+z~nich dozvíte.
+\end{intro}
+
+\section{Úvodní přehled}
+Prostředí \ei{picture} umožňuje programování obrázků přímo prostřednictvím
+\LaTeX u. Podrobný popis lze nalézt v~\manual. Existují výrazná omezení,
+protože sklony úseček stejně jako poloměry kružnic jsou omezené na malou
+skupinu hodnot. Na druhou stranu ale \LaTeXe\ prostředí \ei{picture} přináší
+příkaz \ci{qbezier} (\uv{\texttt{q}} jako quadratic -- kvadratické).
+Kvadratickými Bézierovými
+křivkami lze uspokojivě aproximovat mnoho často používaných křivek (např.\
+kružnice, elipsy nebo řetězovky), i~když to může vyžadovat trochu
+matematické dřiny. Jestliže se navíc pro generování \ci{qbezier} bloků
+\LaTeX ových vstupních souborů použije programovací jazyk, např. typu Java,
+prostředí \ei{picture} se stává docela mocným.
+
+Přestože programování obrázků přímo v~\LaTeX u je výrazně omezené
+a~často docela únavné, má své výhody. Dokumenty
+vytvořené tímto způsobem zabírají méně místa
+a~není třeba udržovat žádné grafické soubory.
+
+Balíky, např. \pai{epic} a~\pai{eepic} (popsané např. v~\companion) nebo \pai{pstricks}
+pomáhají eliminovat omezení původního prostředí \ei{picture}
+a~výrazně posilují grafické schopnosti \LaTeX u.
+
+Zatímco první dva balíky jen obohacují prostředí \ei{picture}, balík \pai{pstricks}
+má své vlastní kreslící prostředí, \ei{pspicture}. Síla \pai{pstricks} vychází
+z~toho, že tento balík intenzivně využívá možností jazyka \PSi. Mnoho balíků bylo
+navíc vytvořeno pro konkrétní použití. Řada z~těchto balíků je detailně popsána
+v~\graphicscompanion, neplést si prosím s~\companion.
+
+Asi nejsilnějším grafickým nástrojem spřízněným s~\LaTeX em je \MP, dvojče programu \MF{}
+Donalda E. Knutha. \MP\ obsahuje sofistikovaný programovací jazyk \MF u. Na rozdíl
+od \MF u~(který generuje bitmapy) generuje \MP\ zapouzdřené \PSi{} soubory,
+které mohou být importovány do \LaTeX u. Úvod do programu \MP\ naleznete v~\hobby\ nebo
+v~tutoriálu \cite{ursoswald}.
+
+Velmi důkladná diskuze \LaTeX ových a~\TeX ových strategií pro zacházení s~grafikou
+(a~fonty) je součástí \hoenig.
+
+\section{Prostředí \texttt{picture}}
+\secby{Urs Oswald}{osurs@bluewin.ch}
+
+\subsection{Základní příkazy}
+
+Prostředí \ei{picture}\footnote{Věřte nevěřte, ale prostředí \texttt{picture} je k~dispozici
+přímo ve standardním \LaTeXe, není tedy třeba nahrávat žádné speciální balíky.} se vytvoří
+jedním z~následujících dvou příkazů
+\begin{lscommand}
+\ci{begin}\verb|{picture}(|$x,y$\verb|)|\ldots\ci{end}\verb|{picture}|
+\end{lscommand}
+\noindent nebo
+\begin{lscommand}
+\ci{begin}\verb|{picture}(|$x,y$\verb|)(|$x_0,y_0$\verb|)|\ldots\ci{end}\verb|{picture}|
+\end{lscommand}
+Čísla $x,\,y,\,x_0,\,y_0$ jsou odkazy na \ci{unitlength}, které mohou být kdykoliv nastaveny
+na původní hodnoty (ale ne uvnitř prostředí \ei{picture}) např. příkazem
+\begin{lscommand}
+\ci{setlength}\verb|{|\ci{unitlength}\verb|}{1.2cm}|
+\end{lscommand}
+Implicitní hodnota \ci{unitlength} je \texttt{1pt}. První pár, $(x,y)$, zajistí v~rámci
+dokumentu vynechání obdélníkového místa pro obrázek. Volitelný druhý pár,
+$(x_0,y_0)$, přiřadí libovolné souřadnice spodnímu levému rohu vyhrazeného obdélníku.
+
+Většina kreslících příkazů má jednu ze dvou forem
+\begin{lscommand}
+\ci{put}\verb|(|$x,y$\verb|){|\emph{object}\verb|}|
+\end{lscommand}
+\noindent nebo
+\begin{lscommand}
+\ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{object}\verb|}|\end{lscommand}
+Výjimkou jsou Bézierovy křivky, které se kreslí příkazem
+\begin{lscommand}
+\ci{qbezier}\verb|(|$x_1,y_1$\verb|)(|$x_2,y_2$\verb|)(|$x_3,y_3$\verb|)|
+\end{lscommand}
+%\newpage
+
+
+
+\subsection{Řádkové segmenty}
+\begin{example}
+\setlength{\unitlength}{5cm}
+\begin{picture}(1,1)
+ \put(0,0){\line(0,1){1}}
+ \put(0,0){\line(1,0){1}}
+ \put(0,0){\line(1,1){1}}
+ \put(0,0){\line(1,2){.5}}
+ \put(0,0){\line(1,3){.3333}}
+ \put(0,0){\line(1,4){.25}}
+ \put(0,0){\line(1,5){.2}}
+ \put(0,0){\line(1,6){.1667}}
+ \put(0,0){\line(2,1){1}}
+ \put(0,0){\line(2,3){.6667}}
+ \put(0,0){\line(2,5){.4}}
+ \put(0,0){\line(3,1){1}}
+ \put(0,0){\line(3,2){1}}
+ \put(0,0){\line(3,4){.75}}
+ \put(0,0){\line(3,5){.6}}
+ \put(0,0){\line(4,1){1}}
+ \put(0,0){\line(4,3){1}}
+ \put(0,0){\line(4,5){.8}}
+ \put(0,0){\line(5,1){1}}
+ \put(0,0){\line(5,2){1}}
+ \put(0,0){\line(5,3){1}}
+ \put(0,0){\line(5,4){1}}
+ \put(0,0){\line(5,6){.8333}}
+ \put(0,0){\line(6,1){1}}
+ \put(0,0){\line(6,5){1}}
+\end{picture}
+\end{example}
+Řádkové segmenty se kreslí příkazem
+\begin{lscommand}
+\ci{put}\verb|(|$x,y$\verb|){|\ci{line}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}|
+\end{lscommand}
+Příkaz \ci{line} má dva argumenty:
+\begin{enumerate}
+ \item směrový vektor,
+ \item délka (\emph{length}).
+\end{enumerate}
+Komponenty směrového vektoru jsou omezeny na celá čísla
+\[
+ -6,\,-5,\,\ldots,\,5,\,6,
+\]
+a~musejí být nesoudělné (nemající kromě jedničky žádného společného dělitele). Obrázek
+ukazuje všech dvacet pět možných směrových hodnot v~prvním kvadrantu. Argument délka je
+relativní vzhledem k~\ci{unitlength}. Délka je vertikální souřadnice
+v~případě vertikálního řádkového segmentu a~horizontální souřadnice ve všech ostatních
+případech.
+
+\subsection{Šipky}
+
+\begin{example}
+\setlength{\unitlength}{0.75mm}
+\begin{picture}(60,40)
+ \put(30,20){\vector(1,0){30}}
+ \put(30,20){\vector(4,1){20}}
+ \put(30,20){\vector(3,1){25}}
+ \put(30,20){\vector(2,1){30}}
+ \put(30,20){\vector(1,2){10}}
+ \thicklines
+ \put(30,20){\vector(-4,1){30}}
+ \put(30,20){\vector(-1,4){5}}
+ \thinlines
+ \put(30,20){\vector(-1,-1){5}}
+ \put(30,20){\vector(-1,-4){5}}
+\end{picture}
+\end{example}
+Šipky se kreslí příkazem
+\begin{lscommand}
+\ci{put}\verb|(|$x,y$\verb|){|\ci{vector}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}|
+\end{lscommand}
+Hodnoty směrových vektorů šipek jsou omezeny ještě více než u~řádkových segmentů,
+konkrétně se jedná o~celá čísla
+\[
+ -4,\,-3,\,\ldots,\,3,\,4.
+\]
+Opět platí, že komponenty musí být nesoudělné. Všimněte si efektu příkazu \ci{thicklines}
+na šipky ukazující nahoru doleva.
+
+\subsection{Kružnice}
+
+\begin{example}
+\setlength{\unitlength}{1mm}
+\begin{picture}(60, 40)
+ \put(20,30){\circle{1}}
+ \put(20,30){\circle{2}}
+ \put(20,30){\circle{4}}
+ \put(20,30){\circle{8}}
+ \put(20,30){\circle{16}}
+ \put(20,30){\circle{32}}
+
+ \put(40,30){\circle{1}}
+ \put(40,30){\circle{2}}
+ \put(40,30){\circle{3}}
+ \put(40,30){\circle{4}}
+ \put(40,30){\circle{5}}
+ \put(40,30){\circle{6}}
+ \put(40,30){\circle{7}}
+ \put(40,30){\circle{8}}
+ \put(40,30){\circle{9}}
+ \put(40,30){\circle{10}}
+ \put(40,30){\circle{11}}
+ \put(40,30){\circle{12}}
+ \put(40,30){\circle{13}}
+ \put(40,30){\circle{14}}
+
+ \put(15,10){\circle*{1}}
+ \put(20,10){\circle*{2}}
+ \put(25,10){\circle*{3}}
+ \put(30,10){\circle*{4}}
+ \put(35,10){\circle*{5}}
+\end{picture}
+\end{example}
+Příkaz
+\begin{lscommand}
+ \ci{put}\verb|(|$x,y$\verb|){|\ci{circle}\verb|{|\emph{diameter}\verb|}}|
+\end{lscommand}
+\noindent nakreslí kružnici se středem $(x,y)$ a~průměrem (ano, nikoliv poloměrem) \emph{diameter}.
+Maximální průměr, který prostředí \ei{picture} akceptuje, je zhruba 14\,mm,
+ale použít nelze ani některé menší průměry. Příkaz \ci{circle*} nakreslí disky
+(vyplněné kružnice).
+
+Podobně jako u~řádkových segmentů je možno použít přídavné balíky, např.
+\pai{eepic} nebo \pai{pstricks}. Tyto balíky jsou důkladně popsány
+v~\graphicscompanion.
+
+Kdo se nebojí provádět (sám nebo pomocí programu) nezbytné výpočty, může
+v~prostředí \ei{picture} z~kvadratických B\'ezierových křivek složit dohromady
+libovolné kružnice a~elipsy. Příklady a~zdrojové soubory v~Javě jsou
+uvedeny v~\graphicsinlatex.
+
+
+\subsection{Text a~vzorce}
+
+\begin{example}
+\setlength{\unitlength}{0.8cm}
+\begin{picture}(6,5)
+ \thicklines
+ \put(1,0.5){\line(2,1){3}}
+ \put(4,2){\line(-2,1){2}}
+ \put(2,3){\line(-2,-5){1}}
+ \put(0.7,0.3){$A$}
+ \put(4.05,1.9){$B$}
+ \put(1.7,2.95){$C$}
+ \put(3.1,2.5){$a$}
+ \put(1.3,1.7){$b$}
+ \put(2.5,1.05){$c$}
+ \put(0.3,4){$F=
+ \sqrt{s(s-a)(s-b)(s-c)}$}
+ \put(3.5,0.4){$\displaystyle
+ s:=\frac{a+b+c}{2}$}
+\end{picture}
+\end{example}
+Jak ukazuje tento příklad, text a~vzorce mohou být obvyklým způsobem vepsány do prostředí
+\ei{picture} pomocí příkazu \ci{put}.
+
+\subsection{\ci{multiput} a~\ci{linethickness}}
+
+\begin{example}
+\setlength{\unitlength}{2mm}
+\begin{picture}(30,20)
+ \linethickness{0.075mm}
+ \multiput(0,0)(1,0){26}%
+ {\line(0,1){20}}
+ \multiput(0,0)(0,1){21}%
+ {\line(1,0){25}}
+ \linethickness{0.15mm}
+ \multiput(0,0)(5,0){6}%
+ {\line(0,1){20}}
+ \multiput(0,0)(0,5){5}%
+ {\line(1,0){25}}
+ \linethickness{0.3mm}
+ \multiput(5,0)(10,0){2}%
+ {\line(0,1){20}}
+ \multiput(0,5)(0,10){2}%
+ {\line(1,0){25}}
+\end{picture}
+\end{example}
+Příkaz
+\begin{lscommand}
+ \ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{object}\verb|}|
+\end{lscommand}
+\noindent má 4 argumenty: počáteční bod, vektor pro překlad z~jednoho objektu
+do jiného, počet objektů a~objekt, který se má nakreslit.
+
+Příkaz \ci{linethickness}
+se vztahuje na horizontální a~vertikální linkové segmenty, ale ne na šikmé linkové segmenty
+ani kružnice. \ci{linethickness} se také vztahuje na kvadratické B\'ezierovy křivky!
+
+\subsection{Ovály}
+
+\begin{example}
+\setlength{\unitlength}{0.75cm}
+\begin{picture}(6,4)
+ \linethickness{0.075mm}
+ \multiput(0,0)(1,0){7}%
+ {\line(0,1){4}}
+ \multiput(0,0)(0,1){5}%
+ {\line(1,0){6}}
+ \thicklines
+ \put(2,3){\oval(3,1.8)}
+ \thinlines
+ \put(3,2){\oval(3,1.8)}
+ \thicklines
+ \put(2,1){\oval(3,1.8)[tl]}
+ \put(4,1){\oval(3,1.8)[b]}
+ \put(4,3){\oval(3,1.8)[r]}
+ \put(3,1.5){\oval(1.8,0.4)}
+\end{picture}
+\end{example}
+Příkaz
+\begin{lscommand}
+ \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)}|
+\end{lscommand}
+\noindent nebo
+\begin{lscommand}
+ \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)[|\emph{position}\verb|]}|
+\end{lscommand}
+\noindent nakreslí ovál se středem $(x,y)$, šířkou $w$ a~výškou $h$. Volitelné \emph{poziční}
+argumenty \texttt{b}, \texttt{t}, \texttt{l}, \texttt{r} se vztahují
+k~\uv{horní}, \uv{spodní}, \uv{levé} a~\uv{pravé} straně a~mohou být kombinovány,
+jak je ukázáno na obrázku.
+
+Šířku čar je možno upravovat buď příkazem \ci{linethickness}\verb|{|\emph{length}\verb|}| nebo příkazy
+\ci{thinlines} a~\ci{thicklines}. \ci{linethickness}\verb|{|\emph{length}\verb|}|
+se vztahuje jen na horizontální a~vertikální čáry (a~kvadratické B\'ezierovy křivky),
+zatímco \ci{thinlines} a~\ci{thicklines} lze navíc použít na šikmé čárové segmenty, kružnice a~ovály.
+
+\subsection{Vícenásobné použití předdefinovaných boxů s~obrázky}
+
+\begin{example}
+\setlength{\unitlength}{0.5mm}
+\begin{picture}(120,168)
+\newsavebox{\foldera}
+\savebox{\foldera}
+ (40,32)[bl]{% definition
+ \multiput(0,0)(0,28){2}
+ {\line(1,0){40}}
+ \multiput(0,0)(40,0){2}
+ {\line(0,1){28}}
+ \put(1,28){\oval(2,2)[tl]}
+ \put(1,29){\line(1,0){5}}
+ \put(9,29){\oval(6,6)[tl]}
+ \put(9,32){\line(1,0){8}}
+ \put(17,29){\oval(6,6)[tr]}
+ \put(20,29){\line(1,0){19}}
+ \put(39,28){\oval(2,2)[tr]}
+}
+\newsavebox{\folderb}
+\savebox{\folderb}
+ (40,32)[l]{% definition
+ \put(0,14){\line(1,0){8}}
+ \put(8,0){\usebox{\foldera}}
+}
+\put(34,26){\line(0,1){102}}
+\put(14,128){\usebox{\foldera}}
+\multiput(34,86)(0,-37){3}
+ {\usebox{\folderb}}
+\end{picture}
+\end{example}
+Box s~obrázkem je možno \emph{deklarovat} příkazem
+\begin{lscommand}
+ \ci{newsavebox}\verb|{|\emph{name}\verb|}|
+\end{lscommand}
+\noindent a~následně \emph{definovat} pomocí
+\begin{lscommand}
+ \ci{savebox}\verb|{|\emph{name}\verb|}(|\emph{width,height}\verb|)[|\emph{position}\verb|]{|\emph{content}\verb|}|
+\end{lscommand}
+\noindent a~potom \emph{vykreslit} libovolně mnohokrát pomocí
+\begin{lscommand}
+ \ci{put}\verb|(|$x,y$\verb|){|\ci{usebox}\verb|{|\emph{name}\verb|}}|
+\end{lscommand}
+Nepovinný parametr \emph{position} specifikuje \emph{referenční bod} saveboxu.
+V~našem příkladu je tento parameter specifikován hodnotou \texttt{bl}, což
+umístí referenční bod do spodního levého rohu saveboxu (\texttt{b}ottom -- spodní část
+a~\texttt{l}eft~\discretionary{--}{--}{--}~vlevo). Zbylé hodnoty,
+ze kterých je možno složit specifikaci pozice, jsou \texttt{t} (\texttt{t}op -- horní část)
+a~\texttt{r} (\texttt{r}ight -- vpravo).
+
+Argument \emph{name} se odkazuje na \LaTeXe ové \uv{skladiště materiálu}
+a~má proto charakter příkazu, proto jsou v~našem příkladu zpětná lomítka. Boxy nesoucí
+obrázky mohou být vnořené: v~našem příkladě je použito \ci{foldera} uvnitř definice
+\ci{folderb}.
+
+Museli jsme použít příkaz \ci{oval}, protože příkaz \ci{line} nefunguje, pokud je délka
+segmentu menší než zhruba 3\,mm.
+
+\subsection{Kvadratické B\'ezierovy křivky}
+
+\begin{example}
+\setlength{\unitlength}{0.8cm}
+\begin{picture}(6,4)
+ \linethickness{0.075mm}
+ \multiput(0,0)(1,0){7}
+ {\line(0,1){4}}
+ \multiput(0,0)(0,1){5}
+ {\line(1,0){6}}
+ \thicklines
+ \put(0.5,0.5){\line(1,5){0.5}}
+ \put(1,3){\line(4,1){2}}
+ \qbezier(0.5,0.5)(1,3)(3,3.5)
+ \thinlines
+ \put(2.5,2){\line(2,-1){3}}
+ \put(5.5,.5){\line(-1,5){.5}}
+ \linethickness{1mm}
+ \qbezier(2.5,2)(5.5,0.5)(5,3)
+ \thinlines
+ \qbezier(4,2)(4,3)(3,3)
+ \qbezier(3,3)(2,3)(2,2)
+ \qbezier(2,2)(2,1)(3,1)
+ \qbezier(3,1)(4,1)(4,2)
+\end{picture}
+\end{example}
+Jak tento příklad ukazuje, rozdělení kružnice na čtyři kvadratické B\'ezierovy křivky
+nevede k~uspokojivému výsledku. Křivek je potřeba alespoň osm. Obrázek opět ukazuje
+efekt příkazu \ci{linethickness} na horizontální a~vertikální čáry a~příkazů
+\ci{thinlines} a~\ci{thicklines} na šikmé čárové segmenty. Ukazuje také, že oba
+typy příkazů ovlivňují kvadratické B\'ezierovy křivky, každý z~příkazů \uv{přepisující}
+nastavení toho předchozího.
+
+Nechť $P_1=(x_1,\,y_1),\,P_2=(x_2,\,y_2)$ značí koncové body a~$m_1,\,m_2$
+příslušné sklony kvadratické B\'ezierovy křivky. Střední kontrolní bod
+$S=(x,\,y)$ potom splňuje rovnici
+\begin{equation} \label{zwischenpunkt}
+ \left\{
+ \begin{array}{rcl}
+ x & = & \displaystyle \frac{m_2 x_2-m_1x_1-(y_2-y_1)}{m_2-m_1}, \\
+ y & = & y_i+m_i(x-x_i)\qquad (i=1,\,2).
+ \end{array}
+ \right.
+\end{equation}
+\noindent \graphicsinlatex\ obsahuje Javový program, který generuje nezbytnou
+příkazovou řádku pro \ci{qbezier}.
+
+\subsection{Řetězovka}
+
+\begin{example}
+\setlength{\unitlength}{1cm}
+\begin{picture}%
+ (4.3,3.6)(-2.5,-0.25)
+\put(-2,0){\vector(1,0){4.4}}
+\put(2.45,-.05){$x$}
+\put(0,0){\vector(0,1){3.2}}
+\put(0,3.35){\makebox(0,0){$y$}}
+\qbezier(0.0,0.0)(1.2384,0.0)
+ (2.0,2.7622)
+\qbezier(0.0,0.0)(-1.2384,0.0)
+ (-2.0,2.7622)
+\linethickness{.075mm}
+\multiput(-2,0)(1,0){5}
+ {\line(0,1){3}}
+\multiput(-2,0)(0,1){4}
+ {\line(1,0){4}}
+\linethickness{.2mm}
+\put( .3,.12763){\line(1,0){.4}}
+\put(.5,-.07237){\line(0,1){.4}}
+\put(-.7,.12763){\line(1,0){.4}}
+\put(-.5,-.07237){\line(0,1){.4}}
+\put(.8,.54308){\line(1,0){.4}}
+\put(1,.34308){\line(0,1){.4}}
+\put(-1.2,.54308){\line(1,0){.4}}
+\put(-1,.34308){\line(0,1){.4}}
+\put(1.3,1.35241){\line(1,0){.4}}
+\put(1.5,1.15241){\line(0,1){.4}}
+\put(-1.7,1.35241){\line(1,0){.4}}
+\put(-1.5,1.15241){\line(0,1){.4}}
+\put(-2.5,-0.25){\circle*{0.2}}
+\end{picture}
+\end{example}
+Každá ze symetrických polovin paraboly $y=\cosh x-1$ na tomto obrázku lze přibližně získat
+pomocí B\'ezierovy křivky. Pravá polovina křivky končí v~bodě \((2,\,2.7622)\), kde má
+sklon hodnotu \(m=3.6269\). Pokud opět použijeme rovnici (\ref{zwischenpunkt}), můžeme
+vypočítat střední kontrolní body, které v~našem případě jsou $(1.2384,\,0)$ a~$(-1.2384,\,0)$.
+Křížky značí body \emph{skutečné} paraboly. Chyba, menší než jedno procento, je stěží postřehnutelná.
+
+V~následujícím příkladu je u~\verb|\begin{picture}| použit nepovinný parametr.
+Obrázek se definuje pomocí vhodných \uv{matematických} souřadnic, zatímco příkazem
+\begin{lscommand}
+ \ci{begin}\verb|{picture}(4.3,3.6)(-2.5,-0.25)|
+\end{lscommand}
+\noindent přiřadíme levému dolnímu rohu (viz černý kotouč) souřadnice $(-2.5,-0.25)$.
+
+\subsection{Rychlost ve speciální teorii relativity}
+
+\begin{example}
+\setlength{\unitlength}{0.8cm}
+\begin{picture}(6,4)(-3,-2)
+ \put(-2.5,0){\vector(1,0){5}}
+ \put(2.7,-0.1){$\chi$}
+ \put(0,-1.5){\vector(0,1){3}}
+ \multiput(-2.5,1)(0.4,0){13}
+ {\line(1,0){0.2}}
+ \multiput(-2.5,-1)(0.4,0){13}
+ {\line(1,0){0.2}}
+ \put(0.2,1.4)
+ {$\beta=v/c=\tanh\chi$}
+ \qbezier(0,0)(0.8853,0.8853)
+ (2,0.9640)
+ \qbezier(0,0)(-0.8853,-0.8853)
+ (-2,-0.9640)
+ \put(-3,-2){\circle*{0.2}}
+\end{picture}
+\end{example}
+Kontrolní body obou B\'ezierových křivek byly získány pomocí vzorců (\ref{zwischenpunkt}).
+Kladná část se určí pomocí $P_1=(0,\,0)$, $m_1=1$, $P_2=(2,\,\tanh 2)$ a~$m_2=1/\cosh^2 2$.
+Obrázek je opět definován pomocí vhodných souřadnic a~levému dolnímu rohu
+jsou přiřazeny matematické souřadnice $(-3,-2)$, to je onen černý kotouč.
+
+\section{Grafický balík Ti\emph{k}Z \& PGF}
+V~dnešní době umí každý systém generující \LaTeX ový výstup vytvořit pěknou
+vektorovou grafiku, jen rozhraní se poněkud liší. Balík PGF poskytuje abstraktní
+vrstvu nad těmito rozhraními a~umožňuje používat jednoduché příkazy
+pro vytvoření složité vektorové grafiky přímo \uv{zevnitř} \LaTeX ového dokumentu.
+Balík PGF obsahuje více než sedmisetstránkovou dokumentaci~\cite{pgfplot},
+my si však dovolíme být v~této sekci o~pár set stran stručnější.
+%my proto v~této sekci budeme struční.
+
+Pro přístup k~funkcím \uv{vyšší úrovně} balíku PGF byste si měli nahrát
+balík \pai{tikz}, s~kterým můžete používat výkonné příkazy ke kreslení grafiky
+přímo ze svého dokumentu. Kreslící instrukce vložte dovnitř prostředí \ei{tikzpicture}.
+
+\begin{example}
+\begin{tikzpicture}[scale=3]
+ \clip (-0.1,-0.2)
+ rectangle (1.8,1.2);
+ \draw
+ [step=.25cm,gray,very thin]
+ (-1.4,-1.4) grid (3.4,3.4);
+ \draw (-1.5,0) -- (2.5,0);
+ \draw (0,-1.5) -- (0,1.5);
+ \draw (0,0) circle (1cm);
+ \filldraw[fill=green!20!white,
+ draw=green!50!black]
+ (0,0) -- (3mm,0mm)
+ arc (0:30:3mm) -- cycle;
+\end{tikzpicture}
+\end{example}
+Pokud jste obeznámeni s~dalšími programovacími jazyky, možná si všimnete
+povědomého středníku (\texttt{;}) použitého k~oddělení příkazů.
+
+Pomocí
+příkazu \ci{usetikzlibrary} v~preambuli můžete aktivovat řadu rozšiřujících
+rysů pro kreslení speciálních tvarů, např. tento box, který je trochu prohnutý.
+\begin{example}
+\usetikzlibrary{%
+ decorations.pathmorphing}
+\begin{tikzpicture}[
+ decoration={bent,aspect=.3}]
+ \draw [decorate,fill=lightgray]
+ (0,0) rectangle (5.5,2);
+ \node[circle,draw]
+ (A) at (.5,.5) {A};
+ \node[circle,draw]
+ (B) at (5,1.5) {B};
+ \draw[->,decorate] (A) -- (B);
+ \draw[->,decorate] (B) -- (A);
+\end{tikzpicture}
+\end{example}
+
+Můžete dokonce kreslit diagramy, které jako by vypadly z~knihy o~programování
+v~Pascalu. Kód takového diagramu je rozsáhlejší než v~předchozím příkladu,
+takže ukážeme jenom výsledek. V~PGF dokumentaci je důkladný popis kresby
+tohoto diagramu.
+
+\begin{center}
+\begin{tikzpicture}[point/.style={coordinate},thick,draw=black!50,>=stealth',
+ tip/.style={->,shorten >=1pt},every join/.style={rounded corners},
+ skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)}},
+ hv path/.style={to path={-| (\tikztotarget)}},
+ vh path/.style={to path={|- (\tikztotarget)}},
+ terminal/.style={
+ rounded rectangle,
+ minimum size=6mm,
+ thick,draw=black!50,
+ top color=white,bottom color=black!20,
+ font=\ttfamily\tiny},
+ nonterminal/.style={
+ rectangle,
+ minimum size=6mm,
+ thick,
+ draw=red!50!black!50, % 50% red and 50% black,
+ top color=white, % a shading that is white at the top...
+ bottom color=red!50!black!20, % and something else at the bottom
+ font=\itshape\tiny}]
+\matrix[column sep=3mm] {
+ % First row:
+ & & & & & & & & & & & \node (plus) [terminal] {+};\\
+ % Second row:
+ \node (p1) [point] {}; & \node (ui1) [nonterminal] {unsigned integer}; &
+ \node (p2) [point] {}; & \node (dot) [terminal] {.}; &
+ \node (p3) [point] {}; & \node (digit) [terminal] {digit}; &
+ \node (p4) [point] {}; & \node (p5) [point] {}; &
+ \node (p6) [point] {}; & \node (e) [terminal] {E}; &
+ \node (p7) [point] {}; & &
+ \node (p8) [point] {}; & \node (ui2) [nonterminal] {unsigned integer}; &
+ \node (p9) [point] {}; & \node (p10) [point] {};\\
+ % Third row:
+ & & & & & & & & & & & \node (minus)[terminal] {-};\\
+};
+{ [start chain]
+ \chainin (p1);
+ \chainin (ui1) [join=by tip];
+ \chainin (p2) [join];
+ \chainin (dot) [join=by tip];
+ \chainin (p3) [join];
+ \chainin (digit) [join=by tip];
+ \chainin (p4) [join];
+ { [start branch=digit loop]
+ \chainin (p3) [join=by {skip loop=-6mm,tip}];
+ }
+ \chainin (p5) [join,join=with p2 by {skip loop=6mm,tip}];
+ \chainin (p6) [join];
+ \chainin (e) [join=by tip];
+ \chainin (p7) [join];
+ { [start branch=plus]
+ \chainin (plus) [join=by {vh path,tip}];
+ \chainin (p8) [join=by {hv path,tip}];
+ }
+ { [start branch=minus]
+ \chainin (minus) [join=by {vh path,tip}];
+ \chainin (p8) [join=by {hv path,tip}];
+ }
+ \chainin (p8) [join];
+ \chainin (ui2) [join=by tip];
+ \chainin (p9) [join,join=with p6 by {skip loop=-11mm,tip}];
+ \chainin (p10) [join=by tip];
+}
+\end{tikzpicture}
+\end{center}
+
+\pagebreak
+Potřebujete-li kreslit grafy číselných hodnot nebo funkcí, měli
+byste se důkladněji seznámit s~balíky \pai{pgfplots} a~\pai{pgfplotstable}, které poskytují
+všechno potřebné. Vyhodnocení funkcí, které chcete zobrazit, umí
+dokonce udělat vyvoláním externího programu \texttt{gnuplot}, \url{http://www.gnuplot.info/}.
+
+Pro ještě náročnější čtenáře zmiňujeme existenci jazyka~R -- výpočetní prostředí zaměřené na statistiku, \url{http://www.r-project.org/}, a~pomocného balíku \textsf{Sweave}.
+
+Nelze opominout též systém Sage -- prostředí zaměřené na matematiku, \url{http://www.sagemath.org/}, a~pomocný balík Sage\TeX, kde má našinec na vývoji a~testování nemalé zásluhy (Robert Mařík, Brno).
+
+%%% Local Variables:
+%%% TeX-master: "lshort.tex"
+%%% mode: flyspell
+%%% TeX-PDF-mode: t
+%%% End: