Procházka Lukáš Ing. - Pontex s. r. o.
22. Juni 2015 09:35
Hello,

I'm trying to \setuphead[part] to have the following features:

1. Part head to fill the whole page.

2. Part number and name to be placed (approx.) in the golden ratio of the page.

3. Page background (for the \part only!) to be colored, e.g. blue.

----
\define[2]\MyPartCmd{%
    {%
      \vbox to\vsize{%
        \vfill\vfill%
        #1
        \blank[big]
        #2
        \vfill\vfill\vfill%
      }
    }%
}

\define[1]\MyPartCmdText{%
  \hbox to\hsize{\hfill \bf DĂl #1\hfill}%
}

\definefontsize[e]
\definebodyfontenvironment[default][e=5.]

\define[1]\MyPartCmdNum{%
  \hbox to\hsize{\hfill \bfe\sc#1\hfill}%
}

\setuphead[part]
  [command=\MyPartCmd,
   numbercommand=\MyPartCmdText,
   textcommand=\MyPartCmdNum,
   placehead=yes,header=none,page=odd,
   before={\setupbackgrounds[page][background=color,backgroundcolor=blue,state=start]},
   %after={\setupbackgrounds[page][background=]},
  ]

\starttext
  \showboxes
  \part{Part}
  \input knuth
\stoptext
----

The code above doesn't satisfy the features:

Ad 1: Some text (from knuth) appears in the bottom (should be solved by "after=\page", but is there a better solution, e.g. to affect height of the \vbox in \MyPartCmd?)
The \page command is needed here.
Ad 3: I'm able to make only the part page blue (now all pages are blue; when I uncomment "after={\setupbackgrounds[page][background=]},", no page is blue).
You can use the \pushbackground and \popbackground command to limit the background changes to a certain part of your document.
Could anyone help me to "tune" the \setuphead[part]?
\defineheadalternative
  [partpage]
  [renderingsetup=partpage]

\startsetups[partpage]

    \startmakeup[part]
        \headsetupspacing
        \headnumbercontent
        \blank[big]
        \headtextcontent
    \stopmakeup

\stopsetups

\definemakeup
  [part]
  [align=middle,
   top=\vfill\vfill,
   bottom=\vfill\vfill\vfill]

\setuphead
  [part]
  [placehead=yes,
   alternative=partpage,
   page=right,
   before={\pushbackground[page]\setupbackgrounds[page][background=color,backgroundcolor=blue]},
   after={\page\popbackground},
   bodypartlabel=part,
   align=middle,
   numberstyle=\bfb,
   textstyle=\bfd\sc]

\setuplabeltext[en][part=DĂl ]

\starttext
  \part{Part}
  \input knuth
\stoptext

BTW: Where is Ad 2?

Wolfgang