ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Size of the last shipped page by Lua?
@ 2016-09-07 15:12 Procházka Lukáš Ing.
  2016-09-07 19:39 ` josephcanedo
  0 siblings, 1 reply; 8+ messages in thread
From: Procházka Lukáš Ing. @ 2016-09-07 15:12 UTC (permalink / raw)
  To: ConTeXt

Hello,

is there a way to detect by Lua what is the size (width and height) of the last shipped page?

Especially I'm interested in the situation when page via \start/\stopTEXpage has been shipped, like:

----
\startluacode
   LastPageSize = function()
     -- What to come here?
     return w, h
   end
\stopluacode

\starttext
   \startluacode
      local w, h = LastPageSize()

      context("w="..w .. ", h=" ..h) -- Should give "w=210mm, h=297mm" (or other units)
   \stopluacode

   \startTEXpage[with=10cm,height=15cm]
   \stopTEXpage

   \startluacode
      local w, h = LastPageSize()

      context("w="..w .. ", h=" ..h) -- Should give "w=100mm, h=150mm" (or other units)
   \stopluacode
\stoptext
----

This would be very useful when I need to insert a page of size of the last page to move to odd page when A4 and A3 pages are mixed, to allow simple duplex printing on the printer.

So - how about 'LastPageSize()' function?

Best regards,

Lukas


-- 
Ing. Lukáš Procházka | mailto:LPr@pontex.cz
Pontex s. r. o.      | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn
Bezová 1658
147 14 Praha 4

Tel: +420 241 096 751 (+420 720 951 172)
Fax: +420 244 461 038

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Size of the last shipped page by Lua?
  2016-09-07 15:12 Size of the last shipped page by Lua? Procházka Lukáš Ing.
@ 2016-09-07 19:39 ` josephcanedo
  2016-09-07 22:21   ` Hans Hagen
  0 siblings, 1 reply; 8+ messages in thread
From: josephcanedo @ 2016-09-07 19:39 UTC (permalink / raw)
  To: Procházka Lukáš Ing., ConTeXt


[-- Attachment #1.1: Type: text/plain, Size: 314 bytes --]

Hi,

There are dimensions related to this :

local paper_width = tex.getdimen('paperwidth')
local paper_height = tex.getdimen('paperheight')

There is also :

tex.pageheight
tex.pagewidth 

Not sure these are always same. Hope this helps,

Regards,

Joseph Canedo

De : Procházka Lukáš Ing.

[-- Attachment #1.2: Type: text/html, Size: 6080 bytes --]

[-- Attachment #2: 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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Size of the last shipped page by Lua?
  2016-09-07 19:39 ` josephcanedo
@ 2016-09-07 22:21   ` Hans Hagen
  2016-09-08 19:47     ` josephcanedo
  0 siblings, 1 reply; 8+ messages in thread
From: Hans Hagen @ 2016-09-07 22:21 UTC (permalink / raw)
  To: ntg-context

On 9/7/2016 9:39 PM, josephcanedo@gmail.com wrote:

> There are dimensions related to this :
>
> local paper_width = tex.getdimen('paperwidth')
>
> local paper_height = tex.getdimen('paperheight')
>
> There is also :
>
> tex.pageheight
> tex.pagewidth

don't mess with these and don't rely on them

> Not sure these are always same. Hope this helps,

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Size of the last shipped page by Lua?
  2016-09-07 22:21   ` Hans Hagen
@ 2016-09-08 19:47     ` josephcanedo
  2016-09-08 20:12       ` Hans Hagen
  0 siblings, 1 reply; 8+ messages in thread
From: josephcanedo @ 2016-09-08 19:47 UTC (permalink / raw)
  To: Hans Hagen, ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 347 bytes --]

If by messing it’s meant modifying their values, I agree that’s a bad idea 😊, the requirement is likely to read the value only (at least this is my usage of these in shipouts « after » callback).
If these are not reliable, what’s the reliable way to get the page width and height ?

Thanks
Regards

Joseph 

De : Hans Hagen

[-- Attachment #1.2: Type: text/html, Size: 4614 bytes --]

[-- Attachment #2: 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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Size of the last shipped page by Lua?
  2016-09-08 19:47     ` josephcanedo
@ 2016-09-08 20:12       ` Hans Hagen
  2016-09-12  6:13         ` Procházka Lukáš Ing.
  2016-09-23 11:50         ` Procházka Lukáš Ing.
  0 siblings, 2 replies; 8+ messages in thread
From: Hans Hagen @ 2016-09-08 20:12 UTC (permalink / raw)
  To: josephcanedo, ntg-context

On 9/8/2016 9:47 PM, josephcanedo@gmail.com wrote:
> If by messing it’s meant modifying their values, I agree that’s a bad
> idea 😊, the requirement is likely to read the value only (at least this
> is my usage of these in shipouts « after » callback).
>
> If these are not reliable, what’s the reliable way to get the page width
> and height ?

\starttext

\ctxlua{context(number.topoints(tex.dimen.paperwidth))}

\ctxlua{context(number.topoints(tex.dimen.paperheight))}

\stoptext


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Size of the last shipped page by Lua?
  2016-09-08 20:12       ` Hans Hagen
@ 2016-09-12  6:13         ` Procházka Lukáš Ing.
  2016-09-23 11:50         ` Procházka Lukáš Ing.
  1 sibling, 0 replies; 8+ messages in thread
From: Procházka Lukáš Ing. @ 2016-09-12  6:13 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Helo,

thanks both for proposals - I really need just to READ the values (and not to modify them).

Best regards,

Lukas


On Thu, 08 Sep 2016 22:12:49 +0200, Hans Hagen <pragma@wxs.nl> wrote:

> On 9/8/2016 9:47 PM, josephcanedo@gmail.com wrote:
>> If by messing it’s meant modifying their values, I agree that’s a bad
>> idea 😊, the requirement is likely to read the value only (at least this
>> is my usage of these in shipouts « after » callback).
>>
>> If these are not reliable, what’s the reliable way to get the page width
>> and height ?
>
> \starttext
>
> \ctxlua{context(number.topoints(tex.dimen.paperwidth))}
>
> \ctxlua{context(number.topoints(tex.dimen.paperheight))}
>
> \stoptext
>
>
> -----------------------------------------------------------------
>                                            Hans Hagen | PRAGMA ADE
>                Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>         tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
> -----------------------------------------------------------------
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________


-- 
Ing. Lukáš Procházka | mailto:LPr@pontex.cz
Pontex s. r. o.      | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn
Bezová 1658
147 14 Praha 4

Tel: +420 241 096 751 (+420 720 951 172)
Fax: +420 244 461 038

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Size of the last shipped page by Lua?
  2016-09-08 20:12       ` Hans Hagen
  2016-09-12  6:13         ` Procházka Lukáš Ing.
@ 2016-09-23 11:50         ` Procházka Lukáš Ing.
  2016-09-23 13:00           ` Hans Hagen
  1 sibling, 1 reply; 8+ messages in thread
From: Procházka Lukáš Ing. @ 2016-09-23 11:50 UTC (permalink / raw)
  To: mailing list for ConTeXt users

[-- Attachment #1: Type: text/plain, Size: 2768 bytes --]

Hello,

still a problem - consider the following code:

----
\ifx\startpapersize\undefined
   \unprotect
     \def\startpapersize{\page\pushmacro\page_paper_restore\setuppapersize}
   \protect
\fi

\ifx\stoppapersize\undefined
   \unprotect
     \def\stoppapersize{\page\popmacro\page_paper_restore\setuppapersize}
   \protect
\fi

%

\startluacode
   local tomm = function(v) return v * (210 / 39158276) end

   pgsz = function()
     context("w=%.1f, h=%.1f", tomm(tex.dimen.paperwidth), tomm(tex.dimen.paperheight))
   end
\stopluacode

%

\starttext
   A
   \ctxlua{pgsz()}

   \startpapersize[A3,landscape]
     B
     \ctxlua{pgsz()}
   \stoppapersize

   \startTEXpage[width=200mm,height=100mm]
     C % 3rd page
     \ctxlua{pgsz()}
   \stopTEXpage
\stoptext
----

In the case of 3rd page (with text "C"), page size "w=210.0, h=297.0" is printed instead of "w=200.0, h=100.0".

So how to access values 200 and 100 mm for the page produced by \startTEXpage[width=...,height=...]?

Best regards,

Lukas


On Thu, 08 Sep 2016 22:12:49 +0200, Hans Hagen <pragma@wxs.nl> wrote:

> On 9/8/2016 9:47 PM, josephcanedo@gmail.com wrote:
>> If by messing it’s meant modifying their values, I agree that’s a bad
>> idea 😊, the requirement is likely to read the value only (at least this
>> is my usage of these in shipouts « after » callback).
>>
>> If these are not reliable, what’s the reliable way to get the page width
>> and height ?
>
> \starttext
>
> \ctxlua{context(number.topoints(tex.dimen.paperwidth))}
>
> \ctxlua{context(number.topoints(tex.dimen.paperheight))}
>
> \stoptext
>
>
> -----------------------------------------------------------------
>                                            Hans Hagen | PRAGMA ADE
>                Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>         tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
> -----------------------------------------------------------------
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________


-- 
Ing. Lukáš Procházka | mailto:LPr@pontex.cz
Pontex s. r. o.      | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn
Bezová 1658
147 14 Praha 4

Tel: +420 241 096 751 (+420 720 951 172)
Fax: +420 244 461 038

[-- Attachment #2: PgSz.mkiv --]
[-- Type: application/octet-stream, Size: 713 bytes --]

\ifx\startpapersize\undefined
  \unprotect
    \def\startpapersize{\page\pushmacro\page_paper_restore\setuppapersize}
  \protect
\fi

\ifx\stoppapersize\undefined
  \unprotect
    \def\stoppapersize{\page\popmacro\page_paper_restore\setuppapersize}
  \protect
\fi

%

\startluacode
  local tomm = function(v) return v * (210 / 39158276) end

  pgsz = function()
    context("w=%.1f, h=%.1f", tomm(tex.dimen.paperwidth), tomm(tex.dimen.paperheight))
  end
\stopluacode

%

\starttext
  A
  \ctxlua{pgsz()}

  \startpapersize[A3,landscape]
    B
    \ctxlua{pgsz()}
  \stoppapersize

  \startTEXpage[width=200mm,height=100mm]
    C
    \ctxlua{pgsz()}
  \stopTEXpage
\stoptext

[-- Attachment #3: PgSz.pdf --]
[-- Type: application/pdf, Size: 6383 bytes --]

[-- Attachment #4: 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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Size of the last shipped page by Lua?
  2016-09-23 11:50         ` Procházka Lukáš Ing.
@ 2016-09-23 13:00           ` Hans Hagen
  0 siblings, 0 replies; 8+ messages in thread
From: Hans Hagen @ 2016-09-23 13:00 UTC (permalink / raw)
  To: ntg-context

On 9/23/2016 1:50 PM, Procházka Lukáš Ing. wrote:
> Hello,
>
> still a problem - consider the following code:
>
> ----
> \ifx\startpapersize\undefined
>   \unprotect
>     \def\startpapersize{\page\pushmacro\page_paper_restore\setuppapersize}
>   \protect
> \fi
>
> \ifx\stoppapersize\undefined
>   \unprotect
>     \def\stoppapersize{\page\popmacro\page_paper_restore\setuppapersize}
>   \protect
> \fi
>
> %
>
> \startluacode
>   local tomm = function(v) return v * (210 / 39158276) end
>
>   pgsz = function()
>     context("w=%.1f, h=%.1f", tomm(tex.dimen.paperwidth),
> tomm(tex.dimen.paperheight))
>   end
> \stopluacode
>
> %
>
> \starttext
>   A
>   \ctxlua{pgsz()}
>
>   \startpapersize[A3,landscape]
>     B
>     \ctxlua{pgsz()}
>   \stoppapersize
>
>   \startTEXpage[width=200mm,height=100mm]
>     C % 3rd page
>     \ctxlua{pgsz()}
>   \stopTEXpage

the papersize of a TEXpage is known when that page is flushed and when 
you ask for it the way you do now tex is still constructing the box

it's all a matter of timing

\starttext

\appendtoks
     \ctxlua{
         print(
             number.topoints(tex.dimen.paperwidth ),
             number.topoints(tex.dimen.paperheight)
         )
     }%
\to \everyshipout

\setuppapersize[A4] test

\startTEXpage test \stopTEXpage

\setuppapersize[A3] test

\stoptext


> \stoptext
> ----
>
> In the case of 3rd page (with text "C"), page size "w=210.0, h=297.0" is
> printed instead of "w=200.0, h=100.0".
>
> So how to access values 200 and 100 mm for the page produced by
> \startTEXpage[width=...,height=...]?
>
> Best regards,
>
> Lukas
>
>
> On Thu, 08 Sep 2016 22:12:49 +0200, Hans Hagen <pragma@wxs.nl> wrote:
>
>> On 9/8/2016 9:47 PM, josephcanedo@gmail.com wrote:
>>> If by messing it’s meant modifying their values, I agree that’s a bad
>>> idea 😊, the requirement is likely to read the value only (at least this
>>> is my usage of these in shipouts « after » callback).
>>>
>>> If these are not reliable, what’s the reliable way to get the page width
>>> and height ?
>>
>> \starttext
>>
>> \ctxlua{context(number.topoints(tex.dimen.paperwidth))}
>>
>> \ctxlua{context(number.topoints(tex.dimen.paperheight))}
>>
>> \stoptext
>>
>>
>> -----------------------------------------------------------------
>>                                            Hans Hagen | PRAGMA ADE
>>                Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>>         tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
>> -----------------------------------------------------------------
>> ___________________________________________________________________________________
>>
>> 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
>> ___________________________________________________________________________________
>>
>
>
>
>
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________
>


-- 

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-09-23 13:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-07 15:12 Size of the last shipped page by Lua? Procházka Lukáš Ing.
2016-09-07 19:39 ` josephcanedo
2016-09-07 22:21   ` Hans Hagen
2016-09-08 19:47     ` josephcanedo
2016-09-08 20:12       ` Hans Hagen
2016-09-12  6:13         ` Procházka Lukáš Ing.
2016-09-23 11:50         ` Procházka Lukáš Ing.
2016-09-23 13:00           ` Hans Hagen

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