ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
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
___________________________________________________________________________________

  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).