Changes

Jump to navigation Jump to search
2,479 bytes added ,  08:39, 20 July 2022
remove todo template
 
The following code is an example of how to draw a graphic on every page of a document. The graphic (a grey rectangle) appears in a different place for each chapter, and the chapter number appears in the rectangle as well. This is often called a thumb index - your thumb can flip the pages of a book while you watch the contents flash past...
<texcode>
% by Hans Hagen, of course :-)
<context source="yes">% these first lines are just for wiki layout and visualisation\unprotected setuppapersize[A8][A5,landscape] \showframe\setuppaper[nx=4,ny=2]\setuparranging[XY]\usemodule[visual] \def\rawsectionnumber#1currentchapternumber {\countervaluesomenamedheadnumber{chapter}{current}} \??se#1def\lastchapternumber {\somenamedheadnumber{chapter}{last}} % will be in kernel
\setuppagenumbering
[alternative=doublesided]
 
\setupcolors
[state=start]
\setupbackgrounds
[\setups{thumbs}]
\defnewdimen\NOfChapters{4} % i need to make this one availablethumbheight
\startsetups thumbs
\ifnum \lastchapternumber > 0 \definemeasure[thumbheight][=\dimexpr\paperheight/\NOfChapterslastchapternumber\relax] \fi
\vbox to \paperheight \bgroup
\vskip \rawsectionnumber{section-2} currentchapternumber \measure{thumbheight} \vskip -1 \measure{thumbheight}
\doifoddpageelse\hfill\donothing
\framed
[background=color,
backgroundcolor=darkgrayblue,
frame=off,
foregroundcolor=white,
height=\measure{thumbheight}, width=1cm5mm] {\bfa \rawsectionnumber{section-2}currentchapternumber}
\doifoddpageelse\donothing\hfill
\vss
\starttext
\chapterdorecurse{first4} \dorecurse{10}{\input tufte }\chapter{second} \dorecursefakewords{101}{\input davis 5}}\chapter{third} \dorecurse{10}{\input zapf }\chapterfakewords{fourth50} \dorecurse{10100}{\input bryson }
\stoptext
</texcodecontext== Another Example ==An example (MkIV) for using Metapost to create thumb indices for chapters. <context source="yes">% these first lines are just for wiki layout and visualisation\setuppapersize[A8][A4] \showframe\setuppaper[nx=4,ny=4]\setuparranging[XY]\usemodule[visual] \setuplayout [width=middle, % margin=\dimexpr\backspace-\margindistance\relax location=middle] \definecolor[chap_frame][g=1,t=1,a=12]\definecolor[sect_frame][b=1,t=1,a=12]\definecolor[textcolor] [r=1,t=1,a=12] \startuseMPgraphic{chapter thumb} path chap_frame, sect_frame ; pair pos,a,b ; picture text ;  if \somenamedheadnumber{chapter}{current} > 0 : curr_chap := \somenamedheadnumber{chapter}{current} ; else : curr_chap := 1 ; fi; if \somenamedheadnumber{chapter}{last} > 0 : last_chap := \somenamedheadnumber{chapter}{last} ; else : last_chap := 1 ; fi; if \somenamedheadnumber{section}{current} > 0 : curr_sect := \somenamedheadnumber{section}{current} ; else: curr_sect := 1 ; fi; if \somenamedheadnumber{section}{last} > 0 : last_sect := \somenamedheadnumber{section}{last}; else: last_sect := 1; fi;   skip := TextHeight * (curr_chap-1)/last_chap ; height := TextHeight/last_chap ; sskip := height*curr_sect/last_sect ; text := textext("\ssbfb\textcolor Chapter\enspace\getmarking[chapternumber]");  StartPage ; chap_frame := fullsquare xyscaled(RightMarginWidth,height) ;  a := ulcorner chap_frame ; b := urcorner chap_frame ;  sect_frame := a--b--(xpart b,ypart b-sskip)--(xpart a,ypart a-sskip)--cycle;  pos := urcorner Field[Text][RightMarginSeparator] - ulcorner chap_frame - (0,skip);  fill chap_frame shifted pos withcolor \MPcolor{chap_frame}; unfill sect_frame shifted pos withcolor white ; fill sect_frame shifted pos withcolor \MPcolor{sect_frame}; draw text rotated 90 shifted pos ; StopPage ;\stopuseMPgraphic  \defineoverlay[chapter thumb][\useMPgraphic{chapter thumb}] \setupbackgrounds[page][background=chapter thumb]  \starttext \showframe\dorecurse{3}{\chapter{Test Chapter #1} Chapter \someheadnumber[chapter][current] of \someheadnumber[chapter][last] \dorecurse{9}{\section{Test Section} Section \someheadnumber[section][current] of \someheadnumber[section][last] \blank \fakewords{10}{20} \par }}\stoptext</context> [[Category:Sample documents]][[Category:Graphics]]

Navigation menu