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