diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/x-res-01.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/x-res-01.mkiv | 428 |
1 files changed, 428 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/x-res-01.mkiv b/Master/texmf-dist/tex/context/base/x-res-01.mkiv new file mode 100644 index 00000000000..b82d604848b --- /dev/null +++ b/Master/texmf-dist/tex/context/base/x-res-01.mkiv @@ -0,0 +1,428 @@ +%D \module +%D [ file=x-fig-01, +%D version=2001.03.21, +%D title=\CONTEXT\ Style File, +%D subtitle=Figure Base Generation, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D See \type {x-fig-00.tex} and \type {x-fig-04.tex} for more +%D information on how to use and generate figure databases. +%D This file loads the file named \type {\jobfilename} +%D (\TEXEXEC\ will set this variable). You can apply this +%D style to a database by saying: +%D +%D \starttyping +%D context --input=d-res-01.xml auto:x-res-01.mkiv +%D \stoptyping +%D +%D The following modes are supported (not all yet in mkiv): +%D +%D \starttabulate[|lT|l|] +%D \NC letter \NC map the preview on letter size \NC \NR +%D \NC compact \NC use an alternative presentation \NC \NR +%D \NC clipgrid-distance \NC add a copy with grid overlayed \NC \NR +%D \NC clipgrid-steps \NC add a copy with grid overlayed \NC \NR +%D \NC previewpage-A4 \NC show graphic relative to A4 \NC \NR +%D \NC previewpage-letter \NC show graphic relative to letter \NC \NR +%D \NC previewpage-S6 \NC show graphic relative to S6 \NC \NR +%D \stoptabulate +%D +%D The resulting file has the following characteristics: +%D +%D \startitemize[packed] +%D \startitem the document is split into three sections: first each +%D figure is shown at its own page, then an overview of figures is +%D shown with some data alongside, and finally an index and table of +%D contents shows up \stopitem +%D \startitem there is no title page, which means that one can access +%D a figure by page number without offset \stopitem +%D \startitem the document is opened at the first overview page, that +%D is, when the viewer supports it \stopitem +%D \startitem the graphic is shown 3~times: on a page of its own, +%D scaled to a fixed dimension, and relative to a4 or letter paper +%D size \stopitem +%D \startitem the labels can be accessed in an index and list at the +%D end of the document \stopitem +%D \stopitemize + +\defineregister + [figureindex] + [figureindices] + +\setupregister + [figureindex] + [criterium=text, + interaction=text, + pagenumber=no, + indicator=no] + +\setuptolerance + [verytolerant] + +\setupbuttons + [offset=10pt, + width=broad, + strut=no, + rulethickness=1pt, + framecolor=darkred] + +\setuplayout + [topspace=15pt, + backspace=15pt, + header=0pt, + footer=0pt, + bottom=20pt, + bottomdistance=10pt, + width=middle, + height=fit] + +\setupbackgrounds + [page] + [background=, + backgroundcolor=gray] + +\setupinteractionscreen + [width=max, + height=max] + +\setupinteraction + [style=, + color=, + contrastcolor=, + state=start] + +\setuphead + [section] + [style=bfb] + +\setupinteractionmenu + [bottom] + [left=\hfill, + middle=\hskip10pt, + frame=off, + style=bold, + background=color, + backgroundcolor=darkred, + foregroundcolor=white] + +\startinteractionmenu[bottom] + \but [begin] begin \\ + \but [index] index \\ + \but [list] list \\ + \but [CloseDocument] close \\ + \but [PreviousJump] go back \\ +\stopinteractionmenu + +\setupinteraction + [openaction=begin] + +\setuppapersize + [S6][S6] + +\setupbackgrounds + [page] + [background=color] + +\setupinteraction + [menu=on] + +\setupbodyfont + [tt,10pt] + +\definesymbol [attachment] [{\strut\bf\color[darkred]{\jobname.xml}}] +\setupattachments [symbol=attachment,alternative=] +\useattachment [datafile] [\inputfilename] + +\xmlloadonly{main}{\inputfilename}{} + +\mainlanguage[\xmlattributedef{main}{/rl:library}{language}{en}] + +\startxmlsetups xml:resource:asis + \startTEXpage[pagestate=start] + \xmldoifelsetext{#1}{/rl:label} { + \edef\CurrentLabel{\xmltext{#1}{rl:label}} + } { + \edef\CurrentLabel{\xmltext{#1}{rl:file}} + } + \pagereference [ + asis:\CurrentLabel + ] + \gotobox { + \externalfigure[\xmltext{#1}{/rl:file}] + }[% tricky no space before [ + data:\CurrentLabel + ] + \stopTEXpage +\stopxmlsetups + +\definemeasure[figure:width] [210mm] +\definemeasure[figure:height][297mm] + +\startmode[letter] + \enablemode[previewpage-letter] +\stopmode + +\startmode[previewpage-A4] + \definemeasure[figure:width] [210mm] + \definemeasure[figure:height][297mm] +\stopmode + +\startmode[previewpage-letter] + \definemeasure[figure:width] [8.5in] + \definemeasure[figure:height][11in] +\stopmode + +\startmode[previewpage-S6] + \definemeasure[figure:width] [600pt] + \definemeasure[figure:height][450pt] +\stopmode + +\startxmlsetups xml:resource:a + \button + [ + width=150pt, + height=100pt, + offset=10pt, + frame=off, + background=color, + backgroundcolor=white, + color= + ] + { + \externalfigure + [\xmltext{#1}{rl:file}] + [factor=max] + } + [ + grid:\CurrentLabel + ] +\stopxmlsetups + +\startxmlsetups xml:resource:b + \framed + [ + width=150pt, + height=100pt, + offset=10pt, + frame=off, + background=color, + backgroundcolor=white, + color= + ] + { + \externalfigure [ + \xmltext{#1}{rl:file} + ] [ + factor=max + ] + } +\stopxmlsetups + +\startxmlsetups xml:resource:data + + % using a layer makes more sense but we had this ... + + \xmldoifelsetext{#1}{/rl:label} { + \edef\CurrentLabel{\xmltext{#1}{rl:label}} + } { + \edef\CurrentLabel{\xmltext{#1}{rl:file}} + } + + \button { + \hbox to \hsize { + \forgetall + \dontcomplain + \pagereference[data:\CurrentLabel] + + %\ifnum\CurrentPage=1 \pagereference[begin]\fi + + \expanded{\figureindex{\xmltext{#1}{/rl:label}}} + + \vbox to 100pt { + \hsize30pt + \vskip5pt + \hbox to \hsize { + \hss + \strut + \bf + \at[asis:\CurrentLabel] + \hss + } + \vfill + } + \advance\hsize by -30pt + \doifmodeelse {clipgrid-distance,clipgrid-steps} { + \xmlsetup{#1}{xml:resource:a} + } { + \xmlsetup{#1}{xml:resource:b} + } + \edef\CurrentWidth {\the\dimexpr\figurenaturalwidth} + \edef\CurrentHeight{\the\dimexpr\figurenaturalheight} + \advance\hsize by -150pt + \hskip10pt + \advance\hsize by -10pt + \vbox to 100pt { + \hsize40pt + \framed [ + offset=overlay, + framecolor=darkred, + rulethickness=.5pt + ] { + \scale [ + width=40pt + ] { + \framed [ + width=\measure{figure:width}, + height=\measure{figure:height}, + offset=overlay, + frame=off, + background=color, + backgroundcolor=white + ] { + \externalfigure + [ + \xmltext{#1}{rl:file} + ] [ + reset=yes + ] + } + } + } + \vfill + } + \advance\hsize by -40pt + \hskip10pt + \advance\hsize by -10pt + \vbox to 100pt { + \blank[disable] + \starttabulate[|Bel|p|] + \NC file \NC \xmltext{#1}{/rl:file} \NC \NR + \xmldoif{#1}{/rl:label} {\NC label \NC \xmltext{#1}{/rl:label} \NC \NR} + \NC dimensions \NC \CurrentWidth\ * \CurrentHeight \NC \NR + \xmldoif{#1}{/rl:copyright} {\NC copyright \NC \xmltext{#1}{/rl:copyright} \NC \NR} + \xmldoif{#1}{/rl:status} {\NC status \NC \xmltext{#1}{/rl:status} \NC \NR} + \xmldoif{#1}{/rl:comment} {\NC comment \NC \xmltext{#1}{/rl:comment} \NC \NR} + \stoptabulate + \vfill + } + } + } [ + asis:\CurrentLabel + ] + + \vskip10pt + +\stopxmlsetups + +\startxmlsetups xml:description + + \starttabulate[|lBe|p|] + \xmldoif{#1}{/rl:organization} {\NC organization \NC \xmltext{#1}{/rl:organization} \NC \NR} + \xmldoif{#1}{/rl:project} {\NC project \NC \xmltext{#1}{/rl:project} \NC \NR} + \xmldoif{#1}{/rl:product} {\NC product \NC \xmltext{#1}{/rl:product} \NC \NR} + \xmldoif{#1}{/rl:comment} {\NC comment \NC \xmltext{#1}{/rl:comment} \NC \NR} + \NC specification \NC \attachment[datafile] \NC \NR + \stoptabulate + +\stopxmlsetups + +\starttext + + \xmlfilter{main}{/rl:library/rl:resource/command(xml:resource:asis)} + + \subject {Figure collection} + + \xmlfilter{main}{/rl:library/rl:description/command(xml:description)} + + \subject [list] {List of figures} + + \xmlfilter{main}{/rl:library/rl:resource/command(xml:resource:data)} + + \page + + \subject [index] {Index of figures} + + \startcolumns + \placeregister[figureindex] + \stopcolumns + +\stoptext + +% \doifmodeelse{clipgrid-distance,clipgrid-steps}{\page}{\stoptext} + +% \startuniqueMPgraphic{clipgrid}{dx,dy,nx,ny,type} +% numeric gdx, gdy, lbx, lby ; +% if \MPvar{type}=1 : +% gdx := \MPvar{dy} ; +% gdy := \MPvar{dx} ; +% else : +% gdx := OverlayWidth /\MPvar{nx} ; +% gdy := OverlayHeight/\MPvar{ny} ; +% fi ; +% lbx := gdx ; +% lby := gdy ; +% defaultfont := "\truefontname{Mono}" ; +% defaultscale := .5 ; +% numeric pen ; pen := .25pt ; +% def MyGrid text t = +% draw vlingrid (0,OverlayWidth ,gdy,OverlayWidth ,OverlayHeight) t ; +% draw hlingrid (0,OverlayHeight,gdx,OverlayHeight,OverlayWidth ) t ; +% enddef ; +% pickup pencircle scaled pen ; +% MyGrid withcolor white ; +% MyGrid dashed evenly scaled pen ; +% draw OverlayBox withcolor white ; +% draw OverlayBox dashed evenly scaled pen ; +% draw vlinlabel.bot(0,eps+OverlayWidth /lby,2,OverlayWidth ) ; +% draw hlinlabel.lft(0,eps+OverlayHeight/lbx,2,OverlayHeight) ; +% setbounds currentpicture to OverlayBox enlarged (2*EmWidth) ; +% \stopuniqueMPgraphic + +% \presetMPvariable[clipgrid][dx=10pt] +% \presetMPvariable[clipgrid][dy=10pt] +% \presetMPvariable[clipgrid][nx=10] +% \presetMPvariable[clipgrid][ny=10] + +% \startmode[clipgrid-distance] +% \defineoverlay[grid][\uniqueMPgraphic{clipgrid}{type=1}] +% \stopmode + +% \startmode[clipgrid-steps] +% \defineoverlay[grid][\uniqueMPgraphic{clipgrid}{type=2}] +% \stopmode + +% \setupexternalfigures +% [background={color,foreground,grid}, +% backgroundcolor=white] + +% \def\StartFigureD +% {\StartFigureA} + +% \def\StopFigureD +% {\doglobal\increment\CurrentPage +% \setupbackgrounds[page][background=page] +% \startpagefigure[\XMLflush{rl:file}][offset=20pt]% +% \doifelsenothing{\XMLflush{rl:label}} +% {\expanded{\definereference[Description][about:\XMLflush{rl:file}]}% +% \expanded{\pagereference[grid:\XMLflush{rl:file}]}} +% {\expanded{\definereference[Description][about:\XMLflush{rl:label}]}% +% \expanded{\pagereference[grid:\XMLflush{rl:label}]}} +% \stoppagefigure +% %\pagefigure[\XMLflush{rl:file}][offset=20pt] +% \setupbackgrounds[page][background=] +% \egroup} + +% \defineXMLignore [rl:description] +% \defineXMLenvironment [rl:figure] \StartFigureD \StopFigureD + +% \doglobal\newcounter\CurrentPage + +% \processXMLfilegrouped{\jobfullname} \page + +\stoptext |