diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/page-sel.mkvi')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/page-sel.mkvi | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/page-sel.mkvi b/Master/texmf-dist/tex/context/base/mkiv/page-sel.mkvi index eb83890328e..335d0118734 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/page-sel.mkvi +++ b/Master/texmf-dist/tex/context/base/mkiv/page-sel.mkvi @@ -45,6 +45,9 @@ %D %D This macros inserts the page, according to the settings provided. +%D Beware: width is not the width of the image, but height can be used to control +%D its dimensions. + \installcorenamespace{withpages} \installsetuponlycommandhandler \??withpages {withpages} @@ -64,7 +67,11 @@ {\bgroup \dontcomplain \getfiguredimensions[#filename]% - \setupcurrentwithpages[\c!width=\zeropoint,\c!n=\noffigurepages,#settings]% + \setupcurrentwithpages + [\c!width=\zeropoint,% + \c!n=\noffigurepages,% + \c!category=,% + #settings]% \global\c_page_selectors_n\directwithpagesparameter\c!n\relax \scratchwidth\directwithpagesparameter\c!width\relax \doifinset0{#emptylist} @@ -82,7 +89,11 @@ {\bgroup \dontcomplain \getfiguredimensions[#filename]% - \setupcurrentwithpages[\c!width=\zeropoint,\c!n=\noffigurepages,#settings]% + \setupcurrentwithpages + [\c!width=\zeropoint,% + \c!n=\noffigurepages,% + \c!category=,% + #settings]% \global\c_page_selectors_n\directwithpagesparameter\c!n\relax \scratchwidth\directwithpagesparameter\c!width\relax \edef\p_selection{#selection}% @@ -108,13 +119,19 @@ \egroup} \def\page_selectors_filter_a_page#filename#page% - {\hbox to \textwidth + {\hpack to \textwidth {\ifdim\scratchwidth>\zeropoint \rightorleftpageaction{\scratchwidth\zeropoint}{\hfill}% \fi - \setbox\scratchbox\hbox + \setbox\scratchbox\hpack {\hskip-\scratchwidth - \externalfigure[#filename][\c!page=#page,\c!height=\textheight]\hss}% + \edef\p_category{\directwithpagesparameter\c!category}% \useexternalfigure[foo][width=\textwidth] + \ifx\p_category\empty + \externalfigure[#filename][\c!page=#page,\c!height=\textheight]% + \else + \externalfigure[#filename][\p_category][\c!page=#page]% + \fi + \hss}% \wd\scratchbox\zeropoint \box\scratchbox} \page} @@ -125,14 +142,19 @@ \def\page_selectors_copy[#filename][#settings][#figuresettings]% {\bgroup \getfiguredimensions[#filename]% - \setupcurrentwithpages[\c!marking=\v!off,\c!offset=\zeropoint,\c!n=\noffigurepages,#settings]% + \setupcurrentwithpages + [\c!marking=\v!off,% + \c!offset=\zeropoint,% + \c!n=\noffigurepages,% + \c!category=,% + #settings]% \global\c_page_selectors_n\directwithpagesparameter\c!n\relax \scratchoffset\directwithpagesparameter\c!offset\relax \dorecurse\c_page_selectors_n {\vbox to \textheight {\hsize\textwidth \centeredbox - {\doifelse{\directwithpagesparameter\c!marking}\v!on\cuthbox\hbox % only place where cuthbox is used + {\doifelse{\directwithpagesparameter\c!marking}\v!on\cuthbox\hpack % only place where cuthbox is used {\ifdim\scratchoffset>\zeropoint\relax \advance\vsize -2\scratchoffset \advance\hsize -2\scratchoffset @@ -187,6 +209,7 @@ \c!before=\page,\c!after=\page,\c!inbetween=\blank, \c!frame=,\c!background=,\c!backgroundcolor=, \c!name={#filename}, + \c!category=, #settings]% \global\c_page_selectors_n\directwithpagesparameter\c!n\relax \directwithpagesparameter\c!before @@ -199,7 +222,7 @@ \directwithpagesparameter\c!after \egroup} -\setvalue{\??combinepagesalternative\v!a}% +\setvalue{\??combinepagesalternative\v!a}% use hpacks {\global\combinedpagescounter\directwithpagesparameter\c!start\relax \doloop {\vbox to \textheight @@ -322,8 +345,14 @@ \global\let\slicedpagenumber\!!zerocount \getfiguredimensions[#filename]% \setupcurrentwithpages - [\c!offset=\zeropoint,\c!hoffset=\zeropoint,\c!voffset=\zeropoint, - \c!width=\figurewidth,\c!height=\figureheight,\c!n=\noffigurepages,#oddsettings]% + [\c!offset=\zeropoint,% + \c!hoffset=\zeropoint,% + \c!voffset=\zeropoint, + \c!width=\figurewidth,% + \c!height=\figureheight,% + \c!n=\noffigurepages,% + \c!category=,% + #oddsettings]% \global\c_page_selectors_n\directwithpagesparameter\c!n\relax \ifnum\c_page_selectors_n>\zerocount \definepapersize |