From: Hans Hagen <pragma@wxs.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: bug with showlayout
Date: Mon, 16 May 2011 12:21:20 +0200 [thread overview]
Message-ID: <4DD0FAA0.90801@wxs.nl> (raw)
In-Reply-To: <BANLkTi=Ax96a9NZWSZyEKDKDSqNuCR+=iQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 956 bytes --]
On 16-5-2011 11:53, luigi scarso wrote:
> On Mon, May 16, 2011 at 11:43 AM, Hans Hagen<pragma@wxs.nl> wrote:
>> On 16-5-2011 11:30, Wolfgang Schuster wrote:
>>>
>>> Am 16.05.2011 um 11:20 schrieb luigi scarso:
>>>
>>>> but showing meta informations between \starttext \stoptext it's a bit
>>>> strange.
>>
>> it's not meta-info ... it's typeset content
> paperwidth, paperheight, bodyfontsize, the frames etc are meta-info of
> the document
yes, but they are *typeset* so we need to start the text first
anyhow, the attached can make you happy i guesa
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
[-- Attachment #2: page-run.mkiv --]
[-- Type: text/x-matlab, Size: 9820 bytes --]
%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}
\f
\protect \endinput
[-- Attachment #3: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
next prev parent reply other threads:[~2011-05-16 10:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-16 8:57 luigi scarso
2011-05-16 9:04 ` Wolfgang Schuster
2011-05-16 9:11 ` Hans Hagen
2011-05-16 9:20 ` luigi scarso
2011-05-16 9:30 ` Wolfgang Schuster
2011-05-16 9:43 ` Hans Hagen
2011-05-16 9:53 ` luigi scarso
2011-05-16 10:21 ` Hans Hagen [this message]
2011-05-16 10:26 ` luigi scarso
2011-05-16 9:52 ` Hans Hagen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DD0FAA0.90801@wxs.nl \
--to=pragma@wxs.nl \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).