ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* deferred variable lookup in environment?
@ 2013-02-01 23:09 Ingo Hohmann
  2013-02-01 23:31 ` Marco Patzer
  0 siblings, 1 reply; 4+ messages in thread
From: Ingo Hohmann @ 2013-02-01 23:09 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

sorry if the subject is misleading, I'm not sure how to say it in few words.

I'm trying to have the date in a layer in an environment. In the text 
using the environment, I want to be able to set the date.
If the date is not set, the current date should be used, otherwise the 
set date.
This is what I've tried, but it is always the currentdate, that is 
displayes.

Environment file:

\def\mydate{}

\definelayer[firstpage]  % name of the layer
     [x=0mm, y=0mm,  % from upper left corner of paper
      width=\paperwidth, height=\paperheight] % let the layer cover the 
full paper

\setlayer[firstpage]    % name of the layer
     [hoffset=14cm, voffset=3.5cm]  % placement (from upper left corner 
of the layer)
     {\framed[frame=on, width=4cm, height=2cm]{

% always shows \currentdate
\doiftextelse{\mydate}{\mydate}{\currentdate}
}}

\setupbackgrounds[page][background={firstpage}]


File using this environment:

\environment[testenv]

\def\mydate{2011-11-11}

\starttext

% this shows the value from mydate
\doiftextelse{\mydate}{\mydate}{\currentdate}

\stoptext


Is it possible to get \mydate in the layer?


Kind regards,

Ingo


___________________________________________________________________________________
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] 4+ messages in thread

* Re: deferred variable lookup in environment?
  2013-02-01 23:09 deferred variable lookup in environment? Ingo Hohmann
@ 2013-02-01 23:31 ` Marco Patzer
  2013-02-05 15:01   ` Ingo Hohmann
  0 siblings, 1 reply; 4+ messages in thread
From: Marco Patzer @ 2013-02-01 23:31 UTC (permalink / raw)
  To: ntg-context


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

On 2013–02–02 Ingo Hohmann wrote:

> I'm trying to have the date in a layer in an environment. In the
> text using the environment, I want to be able to set the date.
> If the date is not set, the current date should be used, otherwise
> the set date.
> This is what I've tried, but it is always the currentdate, that is
> displayes.

You are trying to use the date before it is defined. You can use a
two-pass mechanism:

\define\mydate{\datasetvariable{mydata}{date}{date}}

\definelayer
  [firstpage]

\setlayer
  [firstpage]
  [hoffset=14cm, voffset=3.5cm]
  {\framed[frame=on, width=4cm, height=2cm]{%%
    \doiftextelse{\mydate}{\mydate}{\currentdate}}}

\setupbackgrounds
  [page]
  [background=firstpage]

\definedataset
  [mydata]

\setdataset
  [mydata]
  [date]
  [date=2011-11-11]

\starttext
  \doiftextelse{\mydate}{\mydate}{\currentdate}
\stoptext

Marco

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 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] 4+ messages in thread

* Re: deferred variable lookup in environment?
  2013-02-01 23:31 ` Marco Patzer
@ 2013-02-05 15:01   ` Ingo Hohmann
  2013-02-05 15:29     ` Marco Patzer
  0 siblings, 1 reply; 4+ messages in thread
From: Ingo Hohmann @ 2013-02-05 15:01 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On 02/02/2013 12:31 AM, Marco Patzer wrote:
> On 2013–02–02 Ingo Hohmann wrote:
>
>> I'm trying to have the date in a layer in an environment. In the
>> text using the environment, I want to be able to set the date.
>> If the date is not set, the current date should be used, otherwise
>> the set date.
>> This is what I've tried, but it is always the currentdate, that is
>> displayes.
> You are trying to use the date before it is defined. You can use a
> two-pass mechanism:
>
> \define\mydate{\datasetvariable{mydata}{date}{date}}

Thank you Marco, this works.

Is it possible to update fields in the datasetvariables table, or is it 
only possible to replace the whole table?

\setdataset[data][info][date=\currentdate]
\setdataset[data][info][subject={subject}]

After the second line, the first value is gone.


Thank you,

Ingo


___________________________________________________________________________________
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] 4+ messages in thread

* Re: deferred variable lookup in environment?
  2013-02-05 15:01   ` Ingo Hohmann
@ 2013-02-05 15:29     ` Marco Patzer
  0 siblings, 0 replies; 4+ messages in thread
From: Marco Patzer @ 2013-02-05 15:29 UTC (permalink / raw)
  To: ntg-context


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

On 2013–02–05 Ingo Hohmann wrote:

> Is it possible to update fields in the datasetvariables table, or is
> it only possible to replace the whole table?

I don't know of an interface allowing that without directly dealing
with the Lua tables. Maybe you can use the tag for that:

> \setdataset[data][info][date=\currentdate]
> \setdataset[data][info][subject={subject}]

\setdataset[data][dateinfo]   [date=\currentdate]
\setdataset[data][subjectinfo][subject={subject}]


Marco

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 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] 4+ messages in thread

end of thread, other threads:[~2013-02-05 15:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-01 23:09 deferred variable lookup in environment? Ingo Hohmann
2013-02-01 23:31 ` Marco Patzer
2013-02-05 15:01   ` Ingo Hohmann
2013-02-05 15:29     ` Marco Patzer

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