Set background color for a single page
Sometimes, I only want a single page, say, the titlepage or page 32, with colored background rather that the whole document. Here are some codes: \starttext% titlepage (yellow) \startmakeup[standard] \midaligned{How to make document} \stopmakeup % page1 (gray) Many \CONTEXT\ users $\ldots$ \page % page2 (darkyellow) Many \TEX\ users $\ldots$ \stoptext Of course, it is awful that if I set the titlepage yellow, page1 gray and page2 darkyellow. How can I achieve this? regrads, Tim
On Tue, 23 Apr 2013, Tim Li wrote:
Sometimes, I only want a single page, say, the titlepage or page 32, with colored background rather that the whole document. Here are some codes: \starttext% titlepage (yellow) \startmakeup[standard] \midaligned{How to make document} \stopmakeup % page1 (gray) Many \CONTEXT\ users $\ldots$ \page % page2 (darkyellow) Many \TEX\ users $\ldots$ \stoptext Of course, it is awful that if I set the titlepage yellow, page1 gray and page2 darkyellow. How can I achieve this? regrads, Tim
See: http://thread.gmane.org/gmane.comp.tex.context/75726/focus=75743 Another alternative is to pick the color from a list using \convertnumber{colors}{userpage}, similar to the solution at http://tex.stackexchange.com/a/54062/323 Aditya
Aditya, Thanks. Defining a color conversion is a good idea, and we can apply this conversion easily to somethings like chapter, section, etc. which has a `color' filed to assign, but not pages. Is there a way to set the color of a page like that done for chapters and sections? Tim
Date: Tue, 23 Apr 2013 07:28:09 -0400 From: adityam@umich.edu To: ntg-context@ntg.nl Subject: Re: [NTG-context] Set background color for a single page
On Tue, 23 Apr 2013, Tim Li wrote:
Sometimes, I only want a single page, say, the titlepage or page 32, with colored background rather that the whole document. Here are some codes: \starttext% titlepage (yellow) \startmakeup[standard] \midaligned{How to make document} \stopmakeup % page1 (gray) Many \CONTEXT\ users $\ldots$ \page % page2 (darkyellow) Many \TEX\ users $\ldots$ \stoptext Of course, it is awful that if I set the titlepage yellow, page1 gray and page2 darkyellow. How can I achieve this? regrads, Tim
See: http://thread.gmane.org/gmane.comp.tex.context/75726/focus=75743
Another alternative is to pick the color from a list using \convertnumber{colors}{userpage}, similar to the solution at http://tex.stackexchange.com/a/54062/323
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 ___________________________________________________________________________________
On Tue, 23 Apr 2013, Tim Li wrote:
Aditya, Thanks. Defining a color conversion is a good idea, and we can apply this conversion easily to somethings like chapter, section, etc. which has a `color' filed to assign, but not pages. Is there a way to set the color of a page like that done for chapters and sections? Tim
Do you want to assign a specific color to each page, or do you want the pages to cycle through a finite list of colors. Aditya
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
Date: Tue, 23 Apr 2013 09:47:32 -0400 From: adityam@umich.edu To: ntg-context@ntg.nl Subject: Re: [NTG-context] Set background color for a single page
On Tue, 23 Apr 2013, Tim Li wrote:
Aditya, Thanks. Defining a color conversion is a good idea, and we can apply this conversion easily to somethings like chapter, section, etc. which has a `color' filed to assign, but not pages. Is there a way to set the color of a page like that done for chapters and sections? Tim
Do you want to assign a specific color to each page, or do you want the pages to cycle through a finite list of colors.
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 ___________________________________________________________________________________
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
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 ___________________________________________________________________________________
participants (2)
-
Aditya Mahajan
-
Tim Li