X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=macros.tex;h=b7f43851465e8b438812e34eb3d447a03afc45f5;hb=f76518370c437b42604c7c2c5ef56df95d471b32;hp=f04fa0087b8827e9549444bc5460c1432fbc54ef;hpb=5712fe2c0737d308cca007bae72c2a6bca767b34;p=saga.git diff --git a/macros.tex b/macros.tex index f04fa00..b7f4385 100644 --- a/macros.tex +++ b/macros.tex @@ -3,6 +3,7 @@ \input epsf.tex \input btxmac.tex +\input amssym.tex \catcode`@=11 @@ -29,19 +30,50 @@ \def\em#1{{\it #1\/}} \def\df#1{{\it #1\/}} % when we define something \def\O{{\cal O}} -\def\<#1>{\leavevmode\hbox{\it #1\/}} +\def\<#1>{\ifmmode + \mathchoice{\hbox{\it #1\/}}{\hbox{\it #1\/}}{\hbox{\eightti #1\/}}{\hbox{\sixti #1\/}}% + \else\leavevmode\hbox{\it #1\/}\fi} \let\>=\noindent \def\qed{{\parfillskip=0pt\allowbreak\hfill\nobreak $\spadesuit$\par}} \def\qeditem{{\parfillskip=0pt\hfill\rlap{\hskip\rightskip\llap{$\spadesuit$}}\par}} +\def\qedmath{\eqno{\spadesuit}} \def\FIXME#1{\>{\bo TODO:} #1} \def\symdiff{\mathbin{\Delta}} -\def\hphantas#1#2{\setbox0=\hbox{#2}\hbox to \wd0{#1\hss}} +\def\rack#1#2{\setbox0=\hbox{#1}\hbox to \wd0{#2}} \def\o#1{\accent23 #1} \def\mst{\mathop{\rm mst}} +\def\msf{\mathop{\rm msf}} \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{\mathbin{\Uparrow}} +\def\C{{\cal C}} + +\def\brk{\hfil\break} + +% Bit strings +\def\0{{\bf 0}} +\def\1{{\bf 1}} +\def\(#1){\mathord{\left<#1\right>}} + +% Bitwise operations +\def\shl{\mathbin{<\!<}} +\def\shr{\mathbin{>\!>}} +\def\bop#1{\mathbin{\hbox{\sc #1}}} +\def\band{\bop{and}} +\def\bor{\bop{or}} +\def\bxor{\bop{xor}} +\def\bnot{\mathop{\hbox{\sc not}}} + +% A reversed version of \ddots with extra space at the top to get good alignment of exponents. +\def\rddots{\mathinner{\mkern1mu\raise\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu + \raise4\p@\hbox{.}\mkern2mu\raise7\p@\hbox{.}\raise11\p@\hbox{}\mkern1mu}} % Footnotes \newcount\footcnt @@ -88,9 +120,17 @@ \mathf@nt{\fntmathsstok}{sy}{\fntmathsssize}{cm}\skewchar\m@@f='60\scriptscriptfont2=\m@@f \mathf@nt{\fntmathtok}{ex}{\fntmathsize}{cm}\textfont3=\m@@f\scriptfont3=\m@@f\scriptscriptfont3=\m@@f \mathf@nt{\fntmathtok}{ti}{\fntmathsize}{cm}\textfont\itfam=\m@@f +\mathf@nt{\fntmathstok}{ti}{\fntmathssize}{cm}\scriptfont\itfam=\m@@f +\mathf@nt{\fntmathsstok}{ti}{\fntmathssize}{cm}\scriptscriptfont\itfam=\m@@f \mathf@nt{\fntmathtok}{sl}{\fntmathsize}{cm}\textfont\slfam=\m@@f \mathf@nt{\fntmathtok}{bx}{\fntmathsize}{cm}\textfont\bffam=\m@@f \mathf@nt{\fntmathtok}{tt}{\fntmathsize}{cm}\hyphenchar\m@@f=-1\textfont\ttfam=\m@@f +\mathf@nt{\fntmathtok}{msam}{\fntmathsize}{}\textfont\msafam=\m@@f +\mathf@nt{\fntmathstok}{msam}{\fntmathssize}{}\scriptfont\msafam=\m@@f +\mathf@nt{\fntmathsstok}{msam}{\fntmathsssize}{}\scriptscriptfont\msafam=\m@@f +\mathf@nt{\fntmathtok}{msbm}{\fntmathsize}{}\textfont\msbfam=\m@@f +\mathf@nt{\fntmathstok}{msbm}{\fntmathssize}{}\scriptfont\msbfam=\m@@f +\mathf@nt{\fntmathsstok}{msbm}{\fntmathsssize}{}\scriptscriptfont\msbfam=\m@@f % Blackboard bold font \newfam\bbfam @@ -120,10 +160,17 @@ % Other fonts \font\chapfont=csssdc17 scaled \magstep1 \font\secfont=csb14 +\font\secitfont=csbxti14 %%% FIXME \footline={\hss\twelverm\folio\hss} +% We have to redefine \big and friends as we are using 12pt symbols +\def\big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}} +\def\Big#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}} +\def\bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}} +\def\Bigg#1{{\hbox{$\left#1\vbox to20.5\p@{}\right.\n@space$}}} + %%% Enumerated lists %%% \newif\ifitem\itemtrue @@ -147,6 +194,7 @@ \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$}} @@ -280,14 +328,23 @@ \thmcount=0 \def\currentid{??} -\def\chapter#1{\vfill\supereject -\advance\chapcount by 1 +\def\rawchapter#1{\vfill\supereject +\leftline{\chapfont #1} +\bigskip +} + +\def\unchapter#1{ +\rawchapter{#1} +\writetoc{unchap}{#1} +} + +\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 @@ -295,7 +352,10 @@ \thmcount=0 \edef\currentid{\the\chapcount.\the\seccount} \leftline{\secfont\currentid. #1} +\nobreak \medskip +\nobreak +\writetoc{sec}{#1} } \def\para{\advance\thmcount by 1 @@ -317,15 +377,52 @@ \def\example{\proclaim{Example}} \def\label#1{{\sl (#1)\/}\enspace} +\def\labelx#1{\label{#1}\hfil\break\kern 0pt} % Eat spaces -\def\thmn{\thm\label} -\def\lemman{\lemma\label} -\def\defnn{\defn\label} +\def\thmn{\thm\labelx} +\def\lemman{\lemma\labelx} +\def\defnn{\defn\labelx} +\def\corn{\cor\labelx} \def\algn{\alg\label} +\def\notan{\nota\labelx} +\def\examplen{\example\labelx} +\def\problemn{\problem\labelx} +\def\remn{\rem\labelx} + +\def\paran#1{\para {\sl #1.\/}\enspace\kern 0pt} \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 +} + +\newwrite\tok +\def\includetoc{ +\immediate\openin\tok=\jobname.tok +\ifeof\tok +\else +\input \jobname.tok +\fi +\immediate\closein\tok +} + +\def\tocchap#1#2#3{\smallskip\line{\bo #1.~~#2 \dotfill ~#3}} +\def\tocsec#1#2#3{\line{#1.~~#2 \dotfill ~#3}} +\def\tocunchap#1#2#3{\smallskip\line{\bo #2 \dotfill ~#3}} + %%% References %%% \newwrite\ids @@ -360,14 +457,26 @@ %%% 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 +\parindent=0pt +\leftskip=0pt plus 0.3\hsize +\rightskip=\leftskip +\parfillskip=0pt +#1 +}} + %%% Stand-alone chapters %%% \def\endpart{ @@ -376,6 +485,10 @@ \vfill\supereject\end } +%%% Hyphenation %%% + +\hyphenation{Ra-ma-chan-dran} + %%% The End %%% \catcode`@=12