On 2012-02-25 14:55, Thomas A. Schmitz wrote:
> On 02/24/2012 05:09 PM, Wolfgang Schuster wrote:
> >Marks aren’t the right tool for this because they are meant for text which
> >goes into the header and footer after the page is finished. There is another
> >mechanism which does what you want.
> >
> >\setupheadertexts[chapter]
> >
> >\define[2]\ChapterCommand
> >   {\vbox\bgroup\starttabulate
> >    \NC Title   \EQ \structurevariable{title}   \NC\NR
> >    \NC Marking \EQ \structurevariable{marking} \NC\NR
> >    \stoptabulate\egroup}
> >
> >\setuphead[chapter][command=\ChapterCommand]
> >
> >\starttext
> >
> >\startchapter[title={Hello World},marking={A}]
> >
> >\starttabulate
> >\NC Title   \EQ \namedstructurevariable{chapter}{title}   \NC\NR
> >\NC Marking \EQ \namedstructurevariable{chapter}{marking} \NC\NR
> >\stoptabulate
> >
> >\stopchapter
> >
> >\stoptext
> >
> >Wolfgang
> 
> Hi Wolfgang,
> 
> may I ask two additional questions?
> 
> 1. From what I see on dev-context, there's a problem right now, so
> it may be better to wait a bit with these commands. Correct?
> 
> 2. What would be the equivalent in lua? I'm looking for something like this:
> 
> function chaptertest(s)
>   if chapter.structurevariable == "A" then
>     context(s) context(" is in chapter A!")
>   else
>     context(s) context(" is in a different chapter!")
>   end
> end

If you only need the current section at the position where the
test occurs, then you can try the following (beware this might
not be canonical).

····· chaptertest.lua ··················································
local context = context
local check_structure = function (s)
  context(s)
  local current = structures.sections.current()
  if current.userdata and current.userdata.location == "A" then
    context" is in chapter A"
  else
    context" is elsewhere."
  end
end

commands.checkstructure = function (s) check_structure(s) end
········································································

····· chaptertest.tex ··················································
\ctxloadluafile{chaptertest}
\unprotect
\def\lookup#1{\ctxcommand{checkstructure\!!bs#1\!!es}}
\protect

\starttext

\startchapter[title=foo] [location=A]
\lookup{My dear something}\par
\input knuth
\stopchapter

\startchapter[title=bar] [location=B]
\lookup{My dear something}\par
\input knuth
\stopchapter

\stoptext
········································································

For more info about the local structure you might want to have a
look at table.print(structures.sections.current())

Regards
Philipp




> 
> Is this possible? What would be the correct call for my pseudo-code
> chapter.structurevariable (could be either to the chaptermark or to
> the chapter title, I just need something to test against).
> 
> Thanks a lot
> 
> Thomas
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________

-- 
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments

Attachment: pgpKoAkR0zFAj.pgp
Description: PGP signature

___________________________________________________________________________________
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 via email to