Aditya, thanks. I like this Lua way, but I have to explore the Lua world first. Ok, reading PIL and coding in Lua. Tim> Date: Tue, 23 Apr 2013 10:51:24 -0400
From: adityam@umich.edu To: ntg-context@ntg.nl Subject: Re: [NTG-context] Set background color for a single page
Aditya, I want to know both please. Now I use the \start \definecolor ... ... \startmakeup[standard] ... \stopmakeup \stopto assign a specific color to the tilepage whose content is on a single page exactly. But I don't know how to set the background for a single page, say, page 3 if a document has more than three pages. Also, I don't know how to cycle pages through a finite list of colors. Can you show me that? Tim
One way to do this is to set
\setupbackgrounds[page][background=color, backgroundcolor=\PageColor]
and define \PageColor such that it expands to an appropriate color. For arbitrary control, you can use a lua function, for example:
\startluacode thirddata = thirddata or {}
function thirddata.getpagecolor(num) -- A lua function that assigns colors based on page numbers if num == 3 then context("blue") elseif num == 5 then context("red") end end \stopluacode
\def\PageColor% {\ctxlua{thirddata.getpagecolor(\rawcountervalue[userpage])}}
\setupbackgrounds[page][background=color, backgroundcolor=\PageColor]
\setuppapersize[S3] \starttext
\dorecurse{10}{\input knuth \par}
\stoptext
You can also use a lua table to assign colors, and then you do not have to build a ladder of if statements.
Aditya ___________________________________________________________________________________ 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 ___________________________________________________________________________________