diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/grph-fig.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/grph-fig.mkiv | 217 |
1 files changed, 68 insertions, 149 deletions
diff --git a/Master/texmf-dist/tex/context/base/grph-fig.mkiv b/Master/texmf-dist/tex/context/base/grph-fig.mkiv index fad1c864a6f..1908e644522 100644 --- a/Master/texmf-dist/tex/context/base/grph-fig.mkiv +++ b/Master/texmf-dist/tex/context/base/grph-fig.mkiv @@ -5,7 +5,7 @@ %D subtitle=Figure Inclusion, %D author=Hans Hagen, %D date=\currentdate, -%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for @@ -33,27 +33,32 @@ \setfalse\externalfigurelevel \settrue \externalfigureflush +\installcorenamespace{externalfigures} + \def\doplaceexternalfigure[#1][#2][#3][#4][#5]% {\doifsomething{#2}% catches \defineexternalfigure dummies - {\doifundefinedelse{\??ef\??ef#2} - {\dodoplaceexternalfigure[#1][#2][#3][#4][#5]} - {\doifelse{#1}{#2} - {\dodoplaceexternalfigure[#1][#2][#3][#4][#5]} - {\getvalue{\??ef\??ef#2}[#5]}}}} + {\ifcsname\??externalfigures#2\endcsname + \doifelse{#1}{#2} + {\dodoplaceexternalfigure[#1][#2][#3][#4][#5]} + {\getvalue{\??externalfigures#2}[#5]}% + \else + \dodoplaceexternalfigure[#1][#2][#3][#4][#5]% + \fi}} + +\ifdefined\dotagfigure \else \let\dotagfigure\relax \fi \def\dodoplaceexternalfigure[#1][#2][#3][#4][#5]% {\bgroup \dostarttagged\t!image\empty \let\textunderscore\letterunderscore % {\string _} % space needed as _ is now letter in unprotected mode \calculateexternalfigure[][#1][#2][#3][#4][#5]% [] is dummy dwcomp + \dotagfigure \naturalvbox attr \imageattribute 2 {\box\foundexternalfigure}% \dostoptagged \egroup} \def\externalfigurereplacement#1#2#3% - {\setupcolors - [\c!state=\v!local]% - \normalexpanded{\localframed + {\normalexpanded{\localframed [\??ef] [\c!width=\figurewidth, \c!height=\figureheight, @@ -93,10 +98,7 @@ {\dodoubleargument\dodefineexternalfigure} \def\dodefineexternalfigure[#1][#2]% - {\setvalue{\??ef\??ef#1}{\doplaceexternalfigure[#1][][][#2]}} - -\def\getexternalfigure#1% efef has 4 args already and take an 5th - {\wait} % OBSOLETE + {\setvalue{\??externalfigures#1}{\doplaceexternalfigure[#1][][][#2]}} % \useexternalfigure[alpha][koe] % \useexternalfigure[beta] [koe] [breedte=1cm] @@ -132,20 +134,6 @@ \def\useexternalfigure {\doquadrupleempty\douseexternalfigure} -% \def\douseexternalfigure[#1][#2][#3][#4]% -% {\doifelsenothing{#1} -% {\doifsomething{#2} -% {\doifassignmentelse{#3} -% {\setvalue{\??ef\??ef#2}{\doplaceexternalfigure[#2][#2][#3][#4]}} -% {\setvalue{\??ef\??ef#2}{\doplaceexternalfigure[#2][#2][][#4]}}}} -% {\doifelsenothing{#2} -% {\doifassignmentelse{#3} -% {\setvalue{\??ef\??ef#1}{\doplaceexternalfigure[#1][#1][][#3]}} -% {\setvalue{\??ef\??ef#1}{\doplaceexternalfigure[#1][#1][#3][#4]}}} -% {\doifassignmentelse{#3} -% {\setvalue{\??ef\??ef#1}{\doplaceexternalfigure[#1][#2][][#3]}} -% {\setvalue{\??ef\??ef#1}{\doplaceexternalfigure[#1][#2][#3][#4]}}}}} - \def\douseexternalfigure[#1][#2][#3][#4]% {\doifelsenothing{#1} {\doifsomething{#2} @@ -161,7 +149,7 @@ {\dodouseexternalfigure{#1}{#2}{#3}{#4}}}}} \def\dodouseexternalfigure#1#2#3#4% - {\setvalue{\??ef\??ef#1}{\doplaceexternalfigure[#1][#2][#3][#4]}% + {\setvalue{\??externalfigures#1}{\doplaceexternalfigure[#1][#2][#3][#4]}% \doanalyzeexternalfigurecollection[#2][#4]} \newconditional\inexternalfigurecollection @@ -229,135 +217,67 @@ \def\dosetefparameters#1#2#3% parent_id use_settings current_settings {\doifelsenothing{#1} % inherit from parent {\getparameters[\??ef][#2,#3]} - {\doifdefinedelse{\??ef\??ef#1} - {\pushmacro\doplaceexternalfigure - \def\doplaceexternalfigure[##1][##2][##3][##4]{\getparameters[\??ef][##4,#2,#3]}% - \getvalue{\??ef\??ef#1}% - \popmacro\doplaceexternalfigure} - {\getparameters[\??ef][#2,#3]}}} + {\ifcsname\??externalfigures#1\endcsname + \pushmacro\doplaceexternalfigure + \def\doplaceexternalfigure[##1][##2][##3][##4]{\getparameters[\??ef][##4,#2,#3]}% + \getvalue{\??externalfigures#1}% + \popmacro\doplaceexternalfigure + \else + \getparameters[\??ef][#2,#3]% + \fi}} \unexpanded\def\externalfigure {\dotripleempty\doexternalfigure} +% \def\doexternalfigure[#1][#2][#3]% [label][file][settings] | [file][settings] | [file][parent][settings] +% {\bgroup +% \doifelsenothing{#1} +% {\framed[\c!width=\defaultfigurewidth,\c!height=\defaultfigureheight]{external\\figure\\no name}} +% {\ifcsname\??externalfigures#1\endcsname +% \doifassignmentelse{#2} +% {\getvalue{\??externalfigures#1}[#2]}% +% {\getvalue{\??externalfigures#1}[#3]}% +% \else +% \useexternalfigure[\s!dummy][#1][#2][#3]% +% \getvalue{\??externalfigures\s!dummy}[]% [] is dummy arg 5 +% \fi}% +% \globallet\currentresourcecomment\empty +% \egroup} + \def\doexternalfigure[#1][#2][#3]% [label][file][settings] | [file][settings] | [file][parent][settings] - {\bgroup - \doifelsenothing{#1} - {\framed[\c!width=\defaultfigurewidth,\c!height=\defaultfigureheight]{external\\figure\\no name}} - {\doifundefinedelse{\??ef\??ef#1} - {\useexternalfigure[\s!dummy][#1][#2][#3]% - \getvalue{\??ef\??ef\s!dummy}[]} % [] is dummy arg 5 - {\doifassignmentelse{#2} - {\getvalue{\??ef\??ef#1}[#2]}% - {\getvalue{\??ef\??ef#1}[#3]}}}% + {\bgroup % also catched #1 == empty ... scales nicer now + \ifcsname\??externalfigures#1\endcsname + \doifassignmentelse{#2} + {\getvalue{\??externalfigures#1}[#2]}% + {\getvalue{\??externalfigures#1}[#3]}% + \else + \useexternalfigure[\s!dummy][#1][#2][#3]% + \getvalue{\??externalfigures\s!dummy}[]% [] is dummy arg 5 + \fi \globallet\currentresourcecomment\empty \egroup} -\long\def\resourcecomment#1% - {\long\gdef\currentresourcecomment{#1}} +\def\resourcecomment#1% + {\gdef\currentresourcecomment{#1}} -\long\unexpanded\def\startresourcecomment#1\stopresourcecomment - {\long\gdef\currentresourcecomment{#1}} +\unexpanded\def\startresourcecomment#1\stopresourcecomment + {\gdef\currentresourcecomment{#1}} \let\currentresourcecomment\empty - -\def\showexternalfigures % maybe run time command is better, but no core-run, unless figs-run ... + +\unexpanded\def\showexternalfigures % maybe run time command is better, but no core-run, unless figs-run ... {%\writestatus\m!system{for \string\showexternalfigures\space see \truefilename{x-res-20}.tex} - \usemodule[res-20]\showexternalfigures} % so for the moment we do it this way - -\def\overlayfigure#1% + \usemodule[res-20]% + \showexternalfigures} % so for the moment we do it this way + +\unexpanded\def\overlayfigure#1% {\externalfigure[#1][\c!width=\overlaywidth,\c!height=\overlayheight]} - -%D Still undocumented! No one uses it I think, better be done with layers. -% when there is need for this i'll reimplement it -% -% \newcount\efreference -% \newdimen\efxsteps -% \newdimen\efysteps -% -% \def\calculateefsteps -% {\ifnum0\@@exxmax=\zerocount -% \ifnum0\@@exymax=\zerocount -% \def\@@exymax{24}% -% \fi -% \efysteps\figureheight \divide\efysteps \@@exymax -% \efxsteps\efysteps -% \dimen0=\figurewidth -% \advance\dimen0 \efysteps -% \divide \dimen0 \efysteps -% \edef\@@exxmax{\number\dimen0}% -% \else -% \efxsteps\figurewidth \divide\efxsteps \@@exxmax -% \efysteps\figureheight \divide\efysteps \@@exymax -% \fi} -% -% \def\efcomment#1(#2,#3)#4(#5,#6)% {kader}(x,y)(h,b)[...]{tekst} -% {\def\complexefdocomment[##1]##2% -% {\position(#2,#3)% -% {\setnostrut -% \framed -% [\c!width=#5\efxsteps, -% \c!height=#6\exysteps, -% \c!offset=\v!none, -% \c!frame=#1, -% ##1]% -% {##2}}}% -% \complexorsimpleempty\efdocomment} -% -% \def\efnocomment(#1,#2)#3(#4,#5)% (x,y)(h,b)[...]{tekst} -% {\def\complexefdonocomment[##1]##2{}% -% \complexorsimpleempty\efdonocomment} -% -% \def\efdomarker(#1,#2)#3#4% (h,b){kader}{tekst} -% {\framed -% [\c!width=#1\efxsteps, -% \c!height=#2\efysteps, -% \c!offset=\v!none, -% \c!frame=#3]% -% {#4}} -% -% \def\effigure#1% -% {\position(0,0){\getvalue{#1}}} -% -% \def\efdoarea(#1,#2)#3#4% (h,b){kader}{tekst} -% {\bgroup -% \setnostrut -% \framed -% [\c!width=#1\efxsteps, -% \c!height=#2\efysteps, -% \c!offset=\!!zeropoint, -% \c!frame=#3] -% {#4}% -% \egroup} -% -% \def\efgoto(#1,#2)#3[#4]% (h,b)kader[ref] -% {\setbox0=\vbox{\efdoarea(#1,#2)#3{}}% -% \gotobox{\copy0}[#4]} -% -% \def\efmark(#1,#2)#3(#4,#5)#6[#7]% -% {\advance\efreference \plusone -% \position(#1,#2) -% {\hbox{\the\efreference}}% -% \position(#1,#2) -% {\gotosomeinternal\s!vwb{#7}\realfolio -% {\efdomarker(#4,#5)\v!on{\thisissomeinternal\s!vwa{#7}}}}} -% -% \def\eftext#1(#2,#3)#4(#5,#6)#7[#8]% -% {\advance\efreference \plusone -% \hbox -% {\quad -% \thisissomeinternal\s!vwb{#8}% -% \gotosomeinternal \s!vwa{#8}\realfolio -% {\hbox to 1.5em{\the\efreference\presetgoto\hfill}}% -% \quad#1 (#2,#3) (#5,#6) [#8]\hfill}% -% \endgraf} -% -% \def\efthisis(#1,#2)#3[#4]% -% {\efdoarea(#1,#2){#3}{\pagereference[#4]}} +%D Whatever \newbox\colorbarbox -\def\makecolorbar[#1]% +\unexpanded\def\makecolorbar[#1]% {\def\docommand##1% {\color[##1] {\blackrule @@ -370,7 +290,7 @@ \processcommalist[#1]\docommand}% \global\setbox\colorbarbox\vbox {\hskip2em\box\colorbarbox}% - \global\wd\colorbarbox\zeropoint} + \wd\colorbarbox\zeropoint} \unexpanded\def\placestartfigure[#1][#2][#3]#4\placestopfigure[#5]% {\hbox @@ -407,7 +327,7 @@ {\teststartfigure[#1][#2][#3]#4\teststopfigure \let\@@exframes\v!on} {\let\@@exframes\v!off}% - \setvalue{\??ef\??ef#1}% + \setvalue{\??externalfigures#1}% {\dosingleempty{\placestartfigure[#1][#2][#3]#4\placestopfigure}}% }% no longer \doifundefined{#1}{\setvalue{#1}{\getexternalfigure{#1}}}} @@ -476,7 +396,7 @@ {\teststartfigure[#1][#2][#3]#4\teststopfigure \let\@@exframe\v!on} {\let\@@exframe\v!off}% - \setvalue{\??ef\??ef#1}% + \setvalue{\??externalfigures#1}% {\def\next{\placestartfigure[#1][#2][#3]#4\placestopfigure}% \dosingleempty\next}% }% no longer: \doifundefined{#1}{\setvalue{#1}{\getexternalfigure{#1}}}} @@ -525,7 +445,7 @@ \def\dodotypesetbufferindeed#1% {} - + % for me only (manuals and such) % % \definetypesetting [name] [options] [settings-a] @@ -540,17 +460,17 @@ % \typesetfile[oepsoeps.tex][width=10cm,frame=on] % \stoptext -\definesystemvariable{tz} +\installcorenamespace{typesettingfile} \unexpanded\def\definetypesetting{\dotripleempty\dodefinetypesetting} \unexpanded\def\typesetfile {\dotripleempty\dotypesetfile} \def\dodefinetypesetting[#1][#2][#3]% <name> options settings-a - {\doifsomething{#1}{\setvalue{\??tz#1}{\dodotypesetfile{#2}{#3}}}} + {\doifsomething{#1}{\setvalue{\??typesettingfile#1}{\dodotypesetfile{#2}{#3}}}} \def\dotypesetfile[#1][#2][#3]% <name> filename settings-b | filename options settings - {\ifcsname\??tz#1\endcsname - \csname\??tz#1\endcsname{#2}{#3}% + {\ifcsname\??typesettingfile#1\endcsname + \csname\??typesettingfile#1\endcsname{#2}{#3}% \else\ifthirdargument % filename options settings \dodotypesetfile{#2}{#3}{#1}{}% \else\ifsecondargument % filename settings @@ -570,7 +490,6 @@ \c!maxheight=\@@efheight, \c!bodyfont=\bodyfontsize, \c!directory=, - \c!file=\f!utilityfilename.\f!figureextension, \c!radius=.5\bodyfontsize, \c!corner=\v!rectangular, \c!frame=\v!off, |