]> mj.ucw.cz Git - ga.git/blob - sgr.tex
Floyd: V Seidelove algoritmu opraveno floor na ceil
[ga.git] / sgr.tex
1 % Makra pro sazbu skripticek o grafovych algoritmech
2
3 \input mjmac.tex
4 \input epsf.tex
5 \input btxmac.tex
6 \input amssym.tex
7
8 \language=\czech
9 \chyph
10 \lefthyphenmin=2
11 \righthyphenmin=2
12
13 % A4 s 0.5in okraji
14 %\hsize=184.6mm
15 %\vsize=271.6mm
16 %\parindent=0.25in
17
18 % A5 s 1cm okraji, dolni rozsiren o 10pt, aby se tam veslo cislo stranky
19 \hsize=128mm
20 \vsize=190mm
21 \advance\vsize by -10pt
22 \parindent=0.8cm
23
24 % Zacatek prednasky {cislo prednasky}{jmeno prednasky}{jmeno zapisovatele}
25 \def\prednaska#1#2#3{%
26 \prechapter{#1}{#2}
27 \vbox{%
28 \line{{\Large\bf #1. #2} \hfil {\it #3}}
29 \vskip 4pt
30 \hrule}
31 \medskip
32 }
33 \def\prechapter#1#2{}
34
35 % Nadpis {text}
36 \def\h#1{\medbreak\leftline{\bf #1}\nobreak\smallskip\nobreak}
37
38 % Zvyrazneny zacatek odstavce coby podnadpis (napr. vety apod.)
39 \def\s#1{\noindent {\bo #1}}
40
41 % A kdyz stoji samostatne (aby se naodlamoval)
42 \def\ss#1{\noindent {\bo #1}\par\nobreak}
43
44 % Dùkaz
45 \def\proof{\noindent {\sl Dùkaz:} }
46
47 % Ctverecek na konci dukazu
48 %\def\qed{{\parfillskip=0pt\quad\hfil\hbox{\I QED} \par}}
49 \def\qed{{\parfillskip=0pt\allowbreak\hfill\nobreak $\heartsuit$\par}}
50
51 % pokud je v seznamu:
52 \def\qeditem{{\parfillskip=0pt\hfill\rlap{\hskip\rightskip\llap{$\heartsuit$}}\par}}
53
54 % Poznamky pod carou
55 \newcount\footcnt
56 \footcnt=0
57 \def\foot#1{\global\advance\footcnt by 1{\parindent=0.25in\parskip=0pt\footnote{$^{\left<\the\footcnt\right>}$}{#1}}}
58
59 % \noindent se casto hodi, tak na nej mame zkratku
60 \let\>=\noindent
61
62 % Sazba algoritmu:
63 %       \algo
64 %       \:krok
65 %       \:krok
66 %       \::vnoreny krok
67 %       \endalgo
68
69 \def\algo{
70 \interlistskip
71 \begingroup
72 \let\:=\algoitem
73 \let\*=\algohang
74 \parskip=1pt plus 0.2pt minus 0.3pt
75 \rightskip=2em
76 \itemcount=0
77 }
78 \def\endalgo{\interlistskip\endgroup}
79 \def\algoitem{\par
80 \parindent=2em
81 \hangindent=4em
82 \hangafter=1
83 \advance\itemcount by 1
84 \leavevmode\hbox to 2em{\hss \the\itemcount. }%
85 \futurelet\next\algoitemh}
86 \def\algoitemh{\ifx\next:\let\next=\algohang\else\let\next=\relax\fi\next}
87 \def\algohang:{\advance\hangindent by 2em \hskip 2em\futurelet\next\algoitemh}
88
89 % Nekolikapismenkova promenna (mozno pouzit v textovem i math modu)
90 \def\<#1>{\leavevmode\hbox{\it #1\/}}
91
92 % Asymptoticke O-cko
93 \def\O{{\cal O}}
94
95 % Vlozeni obrazku {obrazek}{popisek}{sirka}
96 \def\figure#1#2#3{\bigskip\vbox{\centerline{\epsfxsize=#3\epsfbox{#1}}\smallskip\centerline{#2}}\bigskip}
97
98 % Varianta bez popisku
99 \def\fig#1#2{\medskip\centerline{\epsfxsize=#2\epsfbox{#1}}\medskip}
100
101 % Dva obrazky vedle sebe s popiskami
102 \def\twofigures#1#2#3#4#5#6{\bigskip\centerline{\vbox{\halign{\hfil##\hfil\hskip 4em&\hfil##\hfil\cr
103 \epsfxsize=#3\epsfbox{#1}&\epsfxsize=#6\epsfbox{#4}\cr
104 \noalign{\smallskip}
105 #2&#5\cr}}}\bigskip}
106
107 % Obrazek vlozeny do praveho okraje odstavce {obrazek}{sirka}
108 % Pouzit na zacatku odstavce a nejlepe celou konstrukci zavrit do vboxu, aby se nerozlomila
109 \def\inlinefig#1#2{
110 \setbox0=\hbox{\epsfxsize=#2\epsfbox{#1}}
111 \hangindent=-\wd0
112 \advance\hangindent by -3em
113 \dimen0=\ht0
114 \advance\dimen0 by 8ex
115 \advance\dimen0 by \normalbaselineskip
116 \count0=\dimen0
117 \divide\count0 by \normalbaselineskip
118 \hangafter=-\count0
119 \dimen0=\normalbaselineskip
120 \multiply\dimen0 by \count0
121 \vbox to 0pt{}
122 \nointerlineskip
123 \vbox to 0pt{\vbox to \dimen0{\vss\rightline{\box0\hskip 1em}\vss}\vss}
124 \nointerlineskip
125 }
126
127 % Todo
128 \def\todo#1{{\bf TODO: \it #1}}
129
130 % Blackboard bold font
131 \newfam\bbfam
132 \font\bbten=bbm10
133 \textfont\bbfam=\bbten
134 \def\bb{\bbten\fam\bbfam}
135
136 % Reference na konci kapitoly
137 \bibliographystyle{abbrv}
138 \def\references{\h{Literatura}\dumprefs}
139 \def\dumprefs{
140 \def\bblhook{\parskip=2pt plus 1pt minus 0.5pt}
141 \bibliography{../ga}
142 }
143
144 % Predefinujeme odsazovani odrazek z mjmacu
145 \def\itemspacingrules{\ifitem\advance\leftskip by \parindent\parindent=0pt\itemfalse\else
146 \advance\leftskip by 2.5em\fi\rightskip=\leftskip}
147
148 % Matematicke symboly
149 \def\symdiff{\mathop{\Delta}}
150
151 % Ujisti se, ze na strance je dostatek mista, pripadne zacne novou stranku
152 \def\checkroom#1{\vskip 0pt plus #1\goodbreak\vskip 0pt plus -#1}
153
154 % Hacky pro finalni sazbu
155 \def\separatefix#1{#1}
156 \def\finalfix#1{}
157
158 % Cislovani verzi
159 \def\currentversion{%
160 \the\year
161 -\ifnum\month<10\relax 0\fi\the\month
162 -\ifnum\day<10\relax 0\fi\the\day
163 }
164
165 \footline={\hfil {\tenrm\the\count0}\hfil \llap{\sevenrm\currentversion}}