X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=macros.tex;h=b4c1a2d67e36d6d01d502f28ab0691b2abe68e77;hb=d036f7b5ba50252b445546431509f5c99e7a0c69;hp=9dba90d1254a2e17775ee07d50a5d61d843b286e;hpb=b4ec539791b595f64d064b80054e7ac7c311aaf4;p=saga.git diff --git a/macros.tex b/macros.tex index 9dba90d..b4c1a2d 100644 --- a/macros.tex +++ b/macros.tex @@ -16,6 +16,19 @@ \parindent=0.8cm \parskip=3pt plus 1pt minus 1pt +% Parameters for final typesetting (bigger inner margins etc.) +\newif\iffinal +\finaltrue +\newdimen\hwobble +\advance\hsize by -10mm + +\iffinal +\hwobble=10mm +\else +\hwobble=0mm +\fi + +% Glue \smallskipamount=4pt plus 1.2pt minus 1.2pt \medskipamount=7pt plus 2.5pt minus 2pt \bigskipamount=15pt plus 5pt minus 4pt @@ -54,6 +67,7 @@ \def\E{{\bb E}} \def\crpt{\mathbin{\Uparrow}} \def\C{{\cal C}} +\def\sgc{\mathbin{.}} \def\brk{\hfil\break} @@ -323,31 +337,72 @@ \newcount\chapcount \newcount\seccount \newcount\thmcount +\newcount\tmpcount \chapcount=0 \seccount=0 \thmcount=0 \def\currentid{??} +\def\currentchap{??} + +\def\appendices{\chapcount=99} + +\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{\vfill\supereject -\advance\chapcount by 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\vensure#1{\dimen0=#1 +\vskip 0pt plus \dimen0 +\penalty-1000 +\vskip 0pt plus -\dimen0 } \def\section#1{\bigskip +\vensure{0.5in} \advance\seccount by 1 \thmcount=0 -\edef\currentid{\the\chapcount.\the\seccount} +\edef\currentid{\currentchap.\the\seccount} \leftline{\secfont\currentid. #1} +\nobreak \medskip +\nobreak +\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}} @@ -365,7 +420,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} @@ -377,11 +433,40 @@ \def\problemn{\problem\labelx} \def\remn{\rem\labelx} -\def\paran#1{\para {\sl #1.\/}\enspace} +\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 @@ -408,7 +493,7 @@ %%% Bibliography %%% %\bibliographystyle{abbrv} -\bibliographystyle{alpha} +\bibliographystyle{mjalpha} \def\dumpbib{ \def\bblhook{\parskip=2pt plus 1pt minus 0.5pt} \bibliography{biblio} @@ -448,6 +533,22 @@ \hyphenation{Ra-ma-chan-dran} +%%% Output routine %%% + +\output{\sagaoutput} + +\def\sagaoutput{\ifodd\pageno \hoffset=\hwobble \else \hoffset=0pt \fi +\plainoutput} + +\def\makefootline{\baselineskip30pt\lineskiplimit 0pt\line{\the\footline}} + +\footline={\ifodd\pageno + {\hfil\twelvemi\the\pageno}% +\else + {\twelvemi\the\pageno\hfil}% +\fi +} + %%% The End %%% \catcode`@=12