X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Utils%2FLambda.tex;h=1128c465044e3bd0c5769bea891acb935e0a7689;hp=6df98575367829aa84a0cdc18c7d6230fe098d37;hb=eca7fe3f235fe5c9b87371f75e17e00664b1e320;hpb=29d388c341b81ef805d4755ee61817a2b06d123a diff --git a/Utils/Lambda.tex b/Utils/Lambda.tex index 6df9857..1128c46 100644 --- a/Utils/Lambda.tex +++ b/Utils/Lambda.tex @@ -27,7 +27,7 @@ path a, b; % Create a rectangle of the full size a := unitsquare xyscaled(\overlaywidth,\overlayheight); % Randomize it a bit -b := a randomized (\overlaywidth / 25) ; +b := a randomized (min(\overlayheight, \overlaywidth) / 25) ; % And draw it drawoptions (withpen pencircle scaled .75mm withcolor black) ; draw b; @@ -36,11 +36,7 @@ draw b; \defineoverlay[box][\useMPgraphic{box}] % Define \{start,stop}boxed with a nice metapost box around it. -\defineframedtext[boxed][background=box,frame=off] -% A boxed variant with the width forced to page width. This is used in -% \startrans, since the content somehow doesn't scale the box around it -% properly. -\defineframedtext[wideboxed][background=box,frame=off,width=\textwidth,offset=.02\textwidth] +\defineframedtext[boxed][width=fit,background=box,frame=off] % Install the lambda calculus pretty-printer, as defined in pret-lam.lua. \installprettytype [LAM] [LAM] @@ -53,7 +49,7 @@ draw b; % Install the transformation pretty-printer, as defined in pret-trans.lua. \installprettytype [TRANS] [TRANS] % Define \starttrans \stoptrans -\definetyping[trans][option=TRANS,style=normal,before=\startwideboxed,after=\stopwideboxed] +\definetyping[trans][option=TRANS,style=normal,before=\startboxed,after=\stopboxed] % Install the haskell pretty-printer, as defined in pret-haskell.lua. \installprettytype [HASKELL] [HASKELL] @@ -61,3 +57,30 @@ draw b; \definetyping[haskell][option=HASKELL,before=\startboxed,after=\stopboxed] % Define \hs \definetype[hs][option=HASKELL,style=mono] + +% Type the given buffer with the lambda typing style. +% e.g., \typebufferlam{buffname} +\define[1]\typebufferlam{ + % We can't use \startlambda here defined by definetyping[lambda] above when + % typing buffers, so instead we'll redfine the options here. + \setuptyping[option=LAM,style=sans,before=,after=] + \startboxed + \typebuffer[#1] + \stopboxed + % Reset the typing options + \setuptyping[option=none,style=\tttf] +} + +% Display a useMPgraphic in a pretty box +\define[1]\boxedgraphic{ + \startboxed + \useMPgraphic{#1} + \stopboxed +} + +% Define a "definition" float. We would like some more backgroundoffset, but +% this offset doesn't move the caption, causing the border to cross the +% caption... Also, centering the content didn't seem to work... +% TODO: Make more pretty. +\definefloat[definition][definitions] +\setupfloat[definition][background=box,backgroundoffset=1mm]