]> mj.ucw.cz Git - ga.git/blob - sgr.tex
Sazba pdfTeXem
[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 \pdfpagewidth=148mm
20 \pdfpageheight=210mm
21 \pdfvorigin=10mm
22 \pdfhorigin=10mm
23 \hsize=128mm
24 \vsize=190mm
25 \advance\vsize by -10pt
26 \parindent=0.8cm
27
28 % Zacatek prednasky {cislo prednasky}{jmeno prednasky}{jmeno zapisovatele}
29 \def\prednaska#1#2#3{%
30 \prechapter{#1}{#2}
31 \vbox{%
32 \line{{\Large\bf #1. #2} \hfil {\it #3}}
33 \vskip 4pt
34 \hrule}
35 \medskip
36 }
37 \def\prechapter#1#2{}
38
39 % Nadpis {text}
40 \def\h#1{\medbreak\leftline{\bf #1}\nobreak\smallskip\nobreak}
41
42 % Zvyrazneny zacatek odstavce coby podnadpis (napr. vety apod.)
43 \def\s#1{\noindent {\bo #1}}
44
45 % A kdyz stoji samostatne (aby se naodlamoval)
46 \def\ss#1{\noindent {\bo #1}\par\nobreak}
47
48 % Důkaz
49 \def\proof{\noindent {\sl Důkaz:} }
50
51 % Ctverecek na konci dukazu
52 %\def\qed{{\parfillskip=0pt\quad\hfil\hbox{\I QED} \par}}
53 \def\qed{{\parfillskip=0pt\allowbreak\hfill\nobreak $\heartsuit$\par}}
54
55 % pokud je v seznamu:
56 \def\qeditem{{\parfillskip=0pt\hfill\rlap{\hskip\rightskip\llap{$\heartsuit$}}\par}}
57
58 % Poznamky pod carou
59 \newcount\footcnt
60 \footcnt=0
61 \def\foot#1{\global\advance\footcnt by 1{\parindent=0.25in\parskip=0pt\footnote{$^{\left<\the\footcnt\right>}$}{#1}}}
62
63 % \noindent se casto hodi, tak na nej mame zkratku
64 \let\>=\noindent
65
66 % Sazba algoritmu:
67 %       \algo
68 %       \:krok
69 %       \:krok
70 %       \::vnoreny krok
71 %       \endalgo
72
73 \def\algo{
74 \interlistskip
75 \begingroup
76 \let\:=\algoitem
77 \let\*=\algohang
78 \parskip=1pt plus 0.2pt minus 0.3pt
79 \rightskip=2em
80 \itemcount=0
81 }
82 \def\endalgo{\interlistskip\endgroup}
83 \def\algoitem{\par
84 \parindent=2em
85 \hangindent=4em
86 \hangafter=1
87 \advance\itemcount by 1
88 \leavevmode\hbox to 2em{\hss \the\itemcount. }%
89 \futurelet\next\algoitemh}
90 \def\algoitemh{\ifx\next:\let\next=\algohang\else\let\next=\relax\fi\next}
91 \def\algohang:{\advance\hangindent by 2em \hskip 2em\futurelet\next\algoitemh}
92
93 % Nekolikapismenkova promenna (mozno pouzit v textovem i math modu)
94 \def\<#1>{\leavevmode\hbox{\it #1\/}}
95
96 % Asymptoticke O-cko
97 \def\O{{\cal O}}
98
99 % Vlozeni obrazku {obrazek}{popisek}{sirka}
100 \def\figure#1#2#3{\bigskip\vbox{\centerline{\epsfxsize=#3\epsfbox{#1}}\smallskip\centerline{#2}}\bigskip}
101
102 % Varianta bez popisku
103 \def\fig#1#2{\medskip\centerline{\epsfxsize=#2\epsfbox{#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 \epsfxsize=#3\epsfbox{#1}&\epsfxsize=#6\epsfbox{#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{\epsfxsize=#2\epsfbox{#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}}