X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=macros.tex;h=3ab39f7c608e3af65c963ab3a4508aca94bca5b7;hb=HEAD;hp=96be1ccf8ebc8179a7fb862edb35b5987fb516a1;hpb=5671402068c61ea159c82c725d6c5d8e7d0c2986;p=saga.git diff --git a/macros.tex b/macros.tex index 96be1cc..3ab39f7 100644 --- a/macros.tex +++ b/macros.tex @@ -16,21 +16,18 @@ \parindent=0.8cm \parskip=3pt plus 1pt minus 1pt -\smallskipamount=4pt plus 1.2pt minus 1.2pt -\medskipamount=7pt plus 2.5pt minus 2pt -\bigskipamount=15pt plus 5pt minus 4pt - -\abovedisplayskip=15pt plus 4pt minus 10pt -\abovedisplayshortskip=0pt plus 3pt -\belowdisplayskip=15pt plus 4pt minus 10pt -\belowdisplayshortskip=8.5pt plus 3.5pt minus 4.5pt +% Parameters for final typesetting (bigger inner margins etc.) +\newif\iffinal +\finaltrue +\newdimen\hwobble +\hwobble=10mm +\advance\hsize by -10mm %%% Miscellanea %%% \def\em#1{{\it #1\/}} \def\df#1{{\it #1\/}} % when we define something \def\O{{\cal O}} -\def\<#1>{\leavevmode\hbox{\it #1\/}} \let\>=\noindent \def\qed{{\parfillskip=0pt\allowbreak\hfill\nobreak $\spadesuit$\par}} \def\qeditem{{\parfillskip=0pt\hfill\rlap{\hskip\rightskip\llap{$\spadesuit$}}\par}} @@ -44,12 +41,15 @@ \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\sgc{\mathbin{.}} \def\brk{\hfil\break} @@ -76,19 +76,7 @@ \footcnt=0 \def\foot#1{\global\advance\footcnt by 1{\parindent=0.25in\parskip=0pt\footnote{$^{\bf\the\footcnt}$}{#1}}} -%%% Fonts %%% - -\font\twelverm=cmr12 -\font\twelveit=cmti12 -\font\twelvebf=cmbx12 - -%\font\twelverm=pplr8z at 12pt -%\font\twelveit=pplri8z at 12pt -%\font\twelvebf=pplb8z at 12pt - -\font\twelvesl=cmsl12 -\font\twelveb=cmb12 -\font\twelvesc=cmcsc12 +%%% Font definition macros (used in fonts.tex) %%% \def\mathf@nt#1#2#3#4{% \toks0=\expandafter{\csname#1#2\endcsname}% @@ -98,67 +86,6 @@ \fi% \edef\m@@f{\the\toks0}} -\def\fntmathsize{12} -\def\fntmathtok{twelve} -\def\fntmathssize{8} -\def\fntmathstok{eight} -\def\fntmathsssize{6} -\def\fntmathsstok{six} - -\mathf@nt{\fntmathtok}{r}{\fntmathsize}{cm}\textfont0=\m@@f -\mathf@nt{\fntmathstok}{r}{\fntmathssize}{cm}\scriptfont0=\m@@f -\mathf@nt{\fntmathsstok}{r}{\fntmathsssize}{cm}\scriptscriptfont0=\m@@f -\mathf@nt{\fntmathtok}{mi}{\fntmathsize}{cm}\skewchar\m@@f='177\textfont1=\m@@f -\mathf@nt{\fntmathstok}{mi}{\fntmathssize}{cm}\skewchar\m@@f='177\scriptfont1=\m@@f -\mathf@nt{\fntmathsstok}{mi}{\fntmathsssize}{cm}\skewchar\m@@f='177\scriptscriptfont1=\m@@f -\mathf@nt{\fntmathtok}{sy}{\fntmathsize}{cm}\skewchar\m@@f='60\textfont2=\m@@f -\mathf@nt{\fntmathstok}{sy}{\fntmathssize}{cm}\skewchar\m@@f='60\scriptfont2=\m@@f -\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{\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 -\font\bbtwelve=bbm12 -\font\bbeight=bbm8 -\font\bbsix=bbm6 -\textfont\bbfam=\bbtwelve -\scriptfont\bbfam=\bbeight -\scriptscriptfont\bbfam=\bbsix -\def\bb{\bbtwelve\fam\bbfam} - -% Font switches -\def\rm{\fam\z@\twelverm} -\def\it{\fam\itfam\twelveit} -\def\bo{\fam\bffam\twelveb} -\def\bf{\fam\bffam\twelvebf} -\def\tt{\fam\ttfam\twelvett\hyphenchar\twelvett=-1\relax} -\def\sc{\twelvesc} -\def\sl{\fam\slfam\twelvesl} - -% Switch to 12pt baselines -\rm -\baselineskip=14.4pt -\lineskip=1.2pt -\setbox\strutbox=\hbox{\vrule height 10.2pt depth 4.2pt width 0pt} - -% Other fonts -\font\chapfont=csssdc17 scaled \magstep1 -\font\secfont=csb14 -\font\secitfont=csbxti14 - -%%% FIXME -\footline={\hss\twelverm\folio\hss} - %%% Enumerated lists %%% \newif\ifitem\itemtrue @@ -182,6 +109,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$}} @@ -310,31 +238,74 @@ \newcount\chapcount \newcount\seccount \newcount\thmcount +\newcount\tmpcount \chapcount=0 \seccount=0 \thmcount=0 \def\currentid{??} +\def\currentchap{??} + +\def\appendices{\chapcount=99} -\def\chapter#1{\vfill\supereject -\advance\chapcount by 1 +\def\oddpage{% +\iffinal + \ifodd\pageno + \else + \hglue 1in \vfill\supereject + \fi +\fi +} + +\def\rawchapter#1{\vfill\supereject +\oddpage +\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 +% Chapter name + \ifnum\chapcount>99 + \tmpcount=\chapcount + \advance\tmpcount by -100 + \edef\currentchap{\ifcase\tmpcount A\or B\or C\or D\or E\or ZZZ\fi} + \else + \edef\currentchap{\the\chapcount} + \fi +\edef\currentid{\currentchap} +\rawchapter{\currentid. #1} +\writetoc{chap}{#1} } -\def\section#1{\bigskip -\advance\seccount by 1 -\thmcount=0 -\edef\currentid{\the\chapcount.\the\seccount} -\leftline{\secfont\currentid. #1} +\def\vensure#1{\dimen0=#1 +\vskip 0pt plus \dimen0 +\penalty-1000 +\vskip 0pt plus -\dimen0 +} + +\def\rawsection#1{\bigskip\vensure{0.5in} +\leftline{\secfont #1} +\nobreak \medskip +\nobreak +} + +\def\section#1{\advance\seccount by 1 +\thmcount=0 +\edef\currentid{\currentchap.\the\seccount} +\rawsection{\currentid. #1} +\writetoc{sec}{#1} } \def\para{\advance\thmcount by 1 -\edef\currentid{\the\chapcount.\the\seccount.\the\thmcount} +\edef\currentid{\currentchap.\the\seccount.\the\thmcount} \noindent {\bo \currentid.\enspace}} \def\proclaim#1{\para {\bo #1.\enspace}} @@ -352,7 +323,8 @@ \def\example{\proclaim{Example}} \def\label#1{{\sl (#1)\/}\enspace} -\def\labelx#1{\label{#1}\hfil\break\kern 0pt} % Eat spaces +\def\labelx#1{\label{#1}\hfil\break\eatspaces} +\def\eatspaces{\kern0pt} \def\thmn{\thm\labelx} \def\lemman{\lemma\labelx} @@ -364,11 +336,40 @@ \def\problemn{\problem\labelx} \def\remn{\rem\labelx} -\def\paran#1{\para {\sl #1:}} +\def\paran#1{\para {\sl #1.\/}\enspace\eatspaces} \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\pageno} + \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 @@ -395,7 +396,7 @@ %%% Bibliography %%% %\bibliographystyle{abbrv} -\bibliographystyle{alpha} +\bibliographystyle{mjalpha} \def\dumpbib{ \def\bblhook{\parskip=2pt plus 1pt minus 0.5pt} \bibliography{biblio} @@ -403,14 +404,16 @@ %%% 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 @@ -429,6 +432,29 @@ \vfill\supereject\end } +%%% Hyphenation %%% + +\hyphenation{Ra-ma-chan-dran} + +%%% Output routine %%% + +\output{\sagaoutput} + +\def\sagaoutput{ +\iffinal + \ifodd\pageno \hoffset=\hwobble \else \hoffset=0pt \fi +\fi +\plainoutput} + +\def\makefootline{\baselineskip30pt\lineskiplimit 0pt\line{\the\footline}} + +\footline={\ifodd\pageno + {\hfil\mi\the\pageno}% +\else + {\mi\the\pageno\hfil}% +\fi +} + %%% The End %%% \catcode`@=12