%D \module %D [ file=page-run, %D version=2000.10.20, %D title=\CONTEXT\ Page Macros, %D subtitle=Runtime Macros, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA / Hans Hagen \& Ton Otten}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \writestatus{loading}{ConTeXt Page Macros / Runtime Macros} \unprotect \gdef\doshowprint[#1][#2][#3]% {\framed [\c!offset=\v!overlay, \c!strut=\v!no] {\forgetall \dontcomplain \globaldefs\minusone \dimen\zerocount\pagegoal \definepapersize[X][\c!width=4em, \c!height=6em]% \definepapersize[Y][\c!width=12em,\c!height=14em]% \setuppapersize[#1,X][#2,Y]% \setuplayout[#3]% \setbox\zerocount\vbox {\framed [\c!offset=\v!overlay,\c!strut=\v!no, \c!width=\paperwidth,\c!height=\paperheight] {\ss ABC\par DEF}}% \doublesidedfalse \def\cutmarklength{.5em}% \addpagecutmarks \zerocount \replicatepagebox\zerocount \scalepagebox \zerocount \mirrorpaperbox \zerocount \orientpaperbox \zerocount \centerpagebox \zerocount \mirrorprintbox \zerocount \orientprintbox \zerocount \offsetprintbox \zerocount \pagegoal\dimen\zerocount \box0}} \gdef\showprint {\dotripleempty\doshowprint} % \switchnaarkorps[8pt] % % \startcombinatie[4*4] % {\toonprint} {\strut} % {\toonprint[][][plaats=midden]} {\type{plaats=midden}} % {\toonprint[][][plaats=midden,markering=aan]} {\type{markering=aan}\break % \type{plaats=midden}} % {\toonprint[][][plaats=midden,markering=aan,nx=2]} {\type{markering=aan}\break % \type{plaats=midden}\break % \type{nx=2}} % {\toonprint[][][plaats=links]} {\type{plaats=links}} % {\toonprint[][][plaats=rechts]} {\type{plaats=rechts}} % {\toonprint[][][plaats={links,onder}]} {\type{plaats={links,onder}}} % {\toonprint[][][plaats={rechts,onder}]} {\type{plaats={rechts,onder}}} % {\toonprint[][][nx=2,ny=1]} {\type{nx=2,ny=1}} % {\toonprint[][][nx=1,ny=2]} {\type{nx=1,ny=2}} % {\toonprint[][][nx=2,ny=2]} {\type{nx=2,ny=2}} % {\toonprint[][][nx=2,ny=2,plaats=midden]} {\type{nx=2,ny=2}\break % \type{plaats=midden}} % {\toonprint[][][rugoffset=3pt]} {\type{rugoffset=.5cm}} % {\toonprint[][][kopoffset=3pt]} {\type{kopoffset=.5cm}} % {\toonprint[][][schaal=1.5]} {\type{schaal=1.5}} % {\toonprint[][][schaal=0.8]} {\type{schaal=0.8}} % \stopcombinatie % % \startcombinatie[3*4] % {\toonprint[liggend][][plaats=midden]} {\type{liggend}} % {\toonprint[][liggend][plaats=midden]} {\strut\break\type{liggend}} % {\toonprint[liggend][liggend][plaats=midden]} {\type{liggend}\break\type{liggend}} % {\toonprint[90][][plaats=midden]} {\type{90}} % {\toonprint[][90][plaats=midden]} {\strut\break\type{90}} % {\toonprint[90][90][plaats=midden]} {\type{90}\break\type{90}} % {\toonprint[180][][plaats=midden]} {\type{180}} % {\toonprint[][180][plaats=midden]} {\strut\break\type{180}} % {\toonprint[180][180][plaats=midden]} {\type{180}\break\type{180}} % {\toonprint[gespiegeld][][plaats=midden]} {\type{gespiegeld}} % {\toonprint[][gespiegeld][plaats=midden]} {\strut\break\type{gespiegeld}} % {\toonprint[gespiegeld][gespiegeld][plaats=midden]} {\type{gespiegeld}\break\type{gespiegeld}} % \stopcombinatie % maybe we will have page-run.lua \startluacode local function todimen(name,unit,fmt) return number.todimen(tex.dimen[name],unit,fmt) end local function showdimension(name) context.NC() context.tex(interfaces.interfacedcommand(name)) context.NC() context(todimen(name,"pt","%0.4fpt")) context.NC() context(todimen(name,"cm","%0.4fcm")) context.NC() context(todimen(name,"bp","%0.4fbp")) context.NC() context(todimen(name,"dd","%0.4fdd")) context.NC() context.NR() end local function showmacro(name) context.NC() context.tex(interfaces.interfacedcommand(name)) context.NC() context.getvalue(name) context.NC() context.NR() end local function reportdimension(name) commands.writestatus("layout",string.format("%-24s %12s %12s %12s %12s", interfaces.interfacedcommand(name), todimen(name,"pt","%0.4fpt"), todimen(name,"cm","%0.4fcm"), todimen(name,"bp","%0.4fbp"), todimen(name,"dd","%0.4fdd") )) end function commands.showlayoutvariables() if tex.count.textlevel == 0 then -- especially for Luigi: reportdimension("paperheight") reportdimension("paperwidth") reportdimension("printpaperheight") reportdimension("printpaperwidth") reportdimension("topspace") reportdimension("backspace") reportdimension("makeupheight") reportdimension("makeupwidth") reportdimension("topheight") reportdimension("topdistance") reportdimension("headerheight") reportdimension("headerdistance") reportdimension("textheight") reportdimension("footerdistance") reportdimension("footerheight") reportdimension("bottomdistance") reportdimension("bottomheight") reportdimension("leftedgewidth") reportdimension("leftedgedistance") reportdimension("leftmarginwidth") reportdimension("leftmargindistance") reportdimension("textwidth") reportdimension("rightmargindistance") reportdimension("rightmarginwidth") reportdimension("rightedgedistance") reportdimension("rightedgewidth") reportdimension("bodyfontsize") reportdimension("lineheight") else context.starttabulate { "|l|Tr|Tr|Tr|Tr|" } showdimension("paperheight") showdimension("paperwidth") showdimension("printpaperheight") showdimension("printpaperwidth") showdimension("topspace") showdimension("backspace") showdimension("makeupheight") showdimension("makeupwidth") showdimension("topheight") showdimension("topdistance") showdimension("headerheight") showdimension("headerdistance") showdimension("textheight") showdimension("footerdistance") showdimension("footerheight") showdimension("bottomdistance") showdimension("bottomheight") showdimension("leftedgewidth") showdimension("leftedgedistance") showdimension("leftmarginwidth") showdimension("leftmargindistance") showdimension("textwidth") showdimension("rightmargindistance") showdimension("rightmarginwidth") showdimension("rightedgedistance") showdimension("rightedgewidth") context.NR() showdimension("bodyfontsize") showdimension("lineheight") context.NR() showmacro("strutheightfactor") showmacro("strutdepthfactor") showmacro("topskipfactor") showmacro("maxdepthfactor") context.stoptabulate() end end function commands.showlayout() if tex.count.textlevel == 0 then commands.showlayoutvariables() else context.page() context.bgroup() context.showframe() context.setuplayout { marking = interfaces.variables.on } for i=1,4 do commands.showlayoutvariables() context.page() end context.egroup() end end \stopluacode \gdef\doshowframe[#1][#2]% {\ifsecondargument \setupbackgrounds [\v!page] [\c!frame=\v!on, \c!corner=\v!rectangular, \c!frameoffset=\!!zeropoint, \c!framedepth=\!!zeropoint, \c!framecolor=layout:page] \setupbackgrounds [#1][#2] [\c!background=, \c!frame=\v!on, \c!corner=\v!rectangular, \c!frameoffset=\!!zeropoint, \c!framedepth=\!!zeropoint, \c!framecolor=] \else\iffirstargument \showframe [\v!header,\v!text,\v!footer] [#1] \else \showframe [\v!top,\v!header, \v!text, \v!footer,\v!bottom] [\v!leftedge,\v!leftmargin, \v!text, \v!rightmargin,\v!rightedge] \fi\fi \setupbackgrounds [\c!state=\v!repeat]} \gdef\showframe {\dodoubleempty\doshowframe} \gdef\showsetups {\ctxcommand{showlayoutvariables()}} \gdef\showlayout % interfereert lelijk met een \typefile er na {\ctxcommand{showlayout()}} \gdef\showmargins {\starttabulate \NC asynchrone \NC \doifoddpageelse {odd} {even} \NC \NR \NC synchrone \NC \doifrightpageelse {right} {left} \NC \NR \NC right margin \NC \the\rightmarginwidth \NC \NR \NC left margin \NC \the\leftmarginwidth \NC \NR \NC outer margin \NC \the\outermarginwidth \NC \NR \NC inner margin \NC \the\innermarginwidth \NC \NR \stoptabulate} \protect \endinput