]> mj.ucw.cz Git - saga.git/blobdiff - macros.tex
Added mention of red and blue rules to the intro of opt.
[saga.git] / macros.tex
index 19972c873b13541f28532c636d5f025d8640fda3..5877abacfe422071815ee42efd7d0583e583438c 100644 (file)
 \def\deg{\mathop{\rm deg}}
 \def\timesalpha{\mskip2mu\alpha}
 \def\timesbeta{\mskip2mu\beta}
-\def\tower{\mathop\uparrow}
+\def\tower{\mathbin\uparrow}
 \def\Forb{{\rm Forb}}
 \def\minorof{\preccurlyeq}
 \def\per{\mathop{\rm per}}
 \def\poly{\mathop{\rm poly}}
 \def\E{{\bb E}}
-\def\crpt{\mathop{\Uparrow}}
+\def\crpt{\mathbin{\Uparrow}}
 \def\C{{\cal C}}
 
 \def\brk{\hfil\break}
 \def\endlist{\interlistskip\endgroup}
 
 \def\ibull{\raise0.2ex\hbox{$\bullet$}} % Signs frequently used for \itemize
+\def\icirc{\raise0.2ex\hbox{$\circ$}} % Signs frequently used for \itemize
 \def\idot{\raise0.2ex\hbox{$\cdot$}}
 \def\istar{\raise0.2ex\hbox{$\ast$}}
 
 \newcount\chapcount
 \newcount\seccount
 \newcount\thmcount
-\chapcount=0
+\chapcount=-1
 \seccount=0
 \thmcount=0
 \def\currentid{??}
 
-\def\chapter#1{\vfill\supereject
-\advance\chapcount by 1
+\def\rawchapter#1{\vfill\supereject
+\leftline{\chapfont #1}
+\bigskip
+}
+
+\def\chapter#1{\advance\chapcount by 1
 \seccount=0
 \thmcount=0
 \footcnt=0
 \edef\currentid{\the\chapcount}
-\leftline{\chapfont\currentid. #1}
-\bigskip
+\rawchapter{\currentid. #1}
+\writetoc{chap}{#1}
 }
 
 \def\section#1{\bigskip
 \thmcount=0
 \edef\currentid{\the\chapcount.\the\seccount}
 \leftline{\secfont\currentid. #1}
+\nobreak
 \medskip
+\nobreak
+\writetoc{sec}{#1}
 }
 
 \def\para{\advance\thmcount by 1
 \def\problemn{\problem\labelx}
 \def\remn{\rem\labelx}
 
-\def\paran#1{\para {\sl #1:}}
+\def\paran#1{\para {\sl #1.\/}\enspace}
 
 \def\proof{\noindent {\sl Proof.}\enspace}
 \def\proofsketch{\noindent {\sl Proof sketch.}\enspace}
 
+%%% Table of contents %%%
+
+\newwrite\toc
+\immediate\openout\toc=\jobname.toc
+\newif\iftoc
+\tocfalse
+
+\def\writetoc#1#2{
+  \toctrue
+  \toks0={\the\count0}
+  \edef\tocaux{\write\toc{\noexpand\expandafter\noexpand\string\noexpand\csname toc#1\noexpand\endcsname{\currentid}{#2}{\the\toks0}}}
+  \tocaux
+  \tocfalse
+}
+
+\def\includetoc{
+\immediate\closeout\toc
+\input \jobname.toc
+}
+
+\def\tocchap#1#2#3{\smallskip\line{\bo #1.~~#2 \dotfill ~#3}}
+\def\tocsec#1#2#3{\line{#1.~~#2 \dotfill ~#3}}
+
 %%% References %%%
 
 \newwrite\ids
 
 %%% Figures %%%
 
-\def\figure#1#2#3{\midinsert
+\def\float#1#2{\midinsert
 \medskip
-\centerline{\epsfxsize=#2\epsfbox{pic/#1}}
+\centerline{#1}
 \medskip
 \smallskip
-\centerline{#3}
+\centerline{#2}
 \endinsert}
 
+\def\figure#1#2#3{\float{\epsfxsize=#2\epsfbox{pic/#1}}{#3}}
+
 \def\multicap#1{
 \let\\=\break
 \vbox{\hsize=0.7\hsize