%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 ADE \& \CONTEXT\ Development Team}] %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]% only english {\setbuffer[crap]% \unprotect \definepapersize[X][\c!width=4em, \c!height=6em] \definepapersize[Y][\c!width=12em,\c!height=14em] \setuppapersize[X,#1][Y,#2] \setuplayout[#3] \setuplayout[\v!page] \framed [\c!offset=\v!overlay,\c!strut=\v!no, \c!width=\paperwidth,\c!height=\paperheight] {\ss ABC\par DEF}% \protect \endbuffer \framed[\c!offset=\v!overlay,\c!strut=\v!no]{\typesetbuffer[crap]}} \gdef\showprint {\dotripleempty\doshowprint} % \switchtobodyfont[8pt] % % \startcombination[4*4] % {\showprint} {\strut} % {\showprint[][][location=middle]} {\type{location=middle}} % {\showprint[][][location=middle,marking=on]} {\type{markering=aan}\break\type{location=middle}} % {\showprint[][][location=middle,marking=on,nx=2]} {\type{markering=aan}\break\type{location=middle}\break\type{nx=2}} % {\showprint[][][location=left]} {\type{location=left}} % {\showprint[][][location=right]} {\type{location=right}} % {\showprint[][][location={left,bottom}]} {\type{location={left,bottom}}} % {\showprint[][][location={right,bottom}]} {\type{location={right,bottom}}} % {\showprint[][][nx=2,ny=1]} {\type{nx=2,ny=1}} % {\showprint[][][nx=1,ny=2]} {\type{nx=1,ny=2}} % {\showprint[][][nx=2,ny=2]} {\type{nx=2,ny=2}} % {\showprint[][][nx=2,ny=2,location=middle]} {\type{nx=2,ny=2}\break\type{location=middle}} % {\showprint[][][backoffset=3pt]} {\type{rugoffset=.5cm}} % {\showprint[][][topoffset=3pt]} {\type{kopoffset=.5cm}} % {\showprint[][][scale=1.5]} {\type{schaal=1.5}} % {\showprint[][][scale=0.8]} {\type{schaal=0.8}} % \stopcombination % % \startcombination[3*4] % {\showprint[landscape][] [location=middle]} {\type{landscape}} % {\showprint[] [landscape][location=middle]} {\strut\break\type{landscape}} % {\showprint[landscape][landscape][location=middle]} {\type{landscape}\break\type{landscape}} % {\showprint[90] [] [location=middle]} {\type{90}} % {\showprint[] [90] [location=middle]} {\strut\break\type{90}} % {\showprint[90] [90] [location=middle]} {\type{90}\break\type{90}} % {\showprint[180] [] [location=middle]} {\type{180}} % {\showprint[] [180] [location=middle]} {\strut\break\type{180}} % {\showprint[180] [180] [location=middle]} {\type{180}\break\type{180}} % {\showprint[mirrored] [] [location=middle]} {\type{mirrored}} % {\showprint[] [mirrored] [location=middle]} {\strut\break\type{mirrored}} % {\showprint[mirrored] [mirrored] [location=middle]} {\type{mirrored}\break\type{mirrored}} % \stopcombination % 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