X-Git-Url: https://git.distorted.org.uk/~mdw/mdwtools/blobdiff_plain/86f6a31e4b41acb71ba37f3838a9ce75f7743330..f5a14467558d34dabf42e936ff435eb31a631723:/crypto.dtx diff --git a/crypto.dtx b/crypto.dtx index 92f381c..6c622a1 100644 --- a/crypto.dtx +++ b/crypto.dtx @@ -1,18 +1,11 @@ % \begin{meta-comment} % -% $Id: crypto.dtx,v 1.1 2002/02/03 20:49:03 mdw Exp $ +% $Id: crypto.dtx,v 1.2 2003/09/05 16:13:14 mdw Exp $ % % Typesetting crypto papers % % (c) 2001 Mark Wooding % -%----- Revision history ----------------------------------------------------- -% -% $Log: crypto.dtx,v $ -% Revision 1.1 2002/02/03 20:49:03 mdw -% Checkin for new build system. -% -% % \end{meta-comment} % % \begin{meta-comment} @@ -41,7 +34,7 @@ %<+package> [2001/09/16 1.0 Crypto typesetting] % \end{meta-comment} % -% \CheckSum{215} +% \CheckSum{258} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -100,7 +93,7 @@ % table~\ref{tab:kw}. The typsetting of these is done by the |\kw| command, % which usually sets its argument in text bold face, but can be redefined. % The standard definition uses |\xspace| so that you don't need to remember -% to say \verb*+\ *+ after a keyword command. +% to say \verb*+\ + after a keyword command. % \begin{table} % \centering % \def\row#1{\texttt{\string#1} & #1 \\} @@ -122,12 +115,17 @@ % \row\TO % \row\ABORT % \row\PARSE +% \row\NEW % \row\AS % \end{tabular} % \caption{Keywords available for algorithm typesetting} % \label{tab:kw} % \end{table} % +% \DescribeMacro\ind +% Within a \env{program} environment, the |\ind| command shunts the indent +% level 1\,em to the right. +% % \DescribeMacro\gets % \DescribeMacro\getsr % \DescribeMacro\inr @@ -140,6 +138,12 @@ % using the |\inr| command, which just typesets an $\in$ sign with a % subscript `R': `$\inr$'. % +% Should one wish, one can use a different character than `R' to denote +% randomness. Some authors use `\$', for example. I know of one +% (cheapskate?) author who has used `\rlap/c'. Redefining the |\random| +% command lets you do this. For example, you can say +% |\newcommand{\random}{\$}| should you so wish. +% % \DescribeMacro\id % Long identifiers can be typeset using the |\id| command. giving the % identifier name as an argument. The |\id| command is only valid in maths @@ -173,10 +177,11 @@ % \DescribeMacro\Adv % \DescribeMacro\InSec % \DescribeMacro\Expt +% \DescribeMacro\Game % \begin{synshorts} % Some standard `things' are provided: "\\Succ{""}{""}", -% "\\Adv{""}{""}", "\\InSec{""}", and -% "\\Expt{""}{""}". +% "\\Adv{""}{""}", "\\InSec{""}", +% "\\Expt{""}{""}", and "\\Game{""}{""}". % \end{synshorts} % % \DescribeMacro\G @@ -214,7 +219,7 @@ \RequirePackage{amstext} \RequirePackage{xspace} % \end{macrocode} - +% % \subsection{Algorithm typsetting} % % \begin{macro}{\cookie} @@ -241,8 +246,9 @@ % nicer. % % \begin{macrocode} -\def\inr{\mathrel{\in_R}} -\def\getsr{\mathrel{\mathop{\gets}\limits^{\scriptscriptstyle R}}} +\providecommand\random{R} +\def\inr{\mathrel{\in_{\random}}} +\def\getsr{\mathrel{\mathop{\gets}\limits^{\scriptscriptstyle\random}}} % \end{macrocode} % % \end{macro} @@ -274,15 +280,20 @@ \def\FOREACH{\kw{for\,each}} \def\FROM{\kw{from}} \def\IN{\kw{in}} -\def\TO{\kw{in}} +\def\TO{\kw{to}} \def\ABORT{\kw{abort}} \def\PARSE{\kw{parse}} \def\AS{\kw{as}} +\def\NEW{\ifmmode\mathop{\kw{new}}\else\kw{new}\fi} +\def\SEND{\kw{send}} +\def\OUTPUT{\kw{output}} +\def\STOP{\kw{stop}} % \end{macrocode} % % \begin{environment}{program} % \begin{macro}{\next} % \begin{macro}{\newline} +% \begin{macro}{\ind} % % Now for the \env{program} environment and its associated twiddling. This % is actually a little fiddly. @@ -298,6 +309,9 @@ \@tempswatrue\ifvmode\@tempswafalse\fi% \def\next{\program@end\vrule\program@begin}% \def\newline{\program@endline\medskip\program@startline}% + \def\ind{\quad\=\+\kill}% + \ifdim\topsep<\parskip\topsep\parskip\fi% + \ifdim\@topsepadd<\z@\@topsepadd\z@\fi% \begingroup\trivlist% \advance\@topsep-\parskip\advance\@topsepadd-\parskip\item% \program@startline% @@ -312,7 +326,7 @@ % \begin{macrocode} \def\endprogram{% \program@endline\endtrivlist\endgroup% - \if@tempswa\noindent\fi\@ignoretrue% + \if@tempswa\@endparenv\fi\@ignoretrue% } % \end{macrocode} % @@ -347,7 +361,7 @@ \setbox\z@\lastbox\unskip\unskip\unskip\setbox\z@\lastbox\unskip% \endgroup% \prevdepth-\@m\p@% - \@startfield\strut% + \@startfield\strut\ignorespaces% } % \end{macrocode} % @@ -379,6 +393,7 @@ % % \end{macro} % \end{macro} +% \end{macro} % \end{environment} % % \subsection{Other stuff} @@ -388,9 +403,10 @@ % \begin{macro}{\Adv} % \begin{macro}{\InSec} % \begin{macro}{\Expt} +% \begin{macro}{\Game} % % Typesetting |\Thing| is easy. This acts as a style hook for the rest of -% these things.. +% these things. % % \begin{macrocode} \def\Thing#1#2#3{\text{\normalfont\bfseries#1}^{\text{\normalfont#2}}_{#3}} @@ -403,6 +419,7 @@ \def\Adv{\Thing{Adv}} \def\InSec#1{\Thing{InSec}{#1}{}} \def\Expt{\Thing{Expt}} +\def\Game{\Thing{Game}} % \end{macrocode} % % \end{macro} @@ -410,6 +427,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \begin{macro}{\G} %