* \combinepages[]: Change order @ 2006-10-07 17:01 Tobias Burnus 2006-10-09 7:39 ` Wolfgang Schuster 0 siblings, 1 reply; 7+ messages in thread From: Tobias Burnus @ 2006-10-07 17:01 UTC (permalink / raw) Hello, Using \combinepages[some-pdf][nx=3,ny=5], I get: 1 2 3 4 5 6 7 8 9 10 11 12 However, I'd like to get: 1 5 9 2 6 10 3 7 11 4 8 12 How can one achieve this? (I want to create again a poster out of talk.pdf.) Tobias ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: \combinepages[]: Change order 2006-10-07 17:01 \combinepages[]: Change order Tobias Burnus @ 2006-10-09 7:39 ` Wolfgang Schuster 2006-10-10 7:25 ` Wolfgang Schuster 0 siblings, 1 reply; 7+ messages in thread From: Wolfgang Schuster @ 2006-10-09 7:39 UTC (permalink / raw) [-- Attachment #1.1: Type: text/plain, Size: 6160 bytes --] 2006/10/7, Tobias Burnus <burnus@net-b.de>: > > Hello, > > Using \combinepages[some-pdf][nx=3,ny=5], I get: > > 1 2 3 > 4 5 6 > 7 8 9 > 10 11 12 > > However, I'd like to get: > 1 5 9 > 2 6 10 > 3 7 11 > 4 8 12 > > How can one achieve this? (I want to create again a poster out of talk.pdf > .) > > Tobias Hi Tobias, I can provide a first draft of a solution to your problem. The frame around the combination should you show a small problem with my correction, it is up to you change this and maybe to wikify this. \unprotect \startvariables dutch english german czech italian romanian french horizontal: horizontal horizontal horizontal horizontal horizontal horizontal horizontal \stopvariables \def\docombinepages[#1][#2]% a=perpag b=free {\bgroup \dontcomplain \getfiguredimensions[#1]% \getparameters [\??ip] [\c!alternative=\v!a, \c!n=\noffigurepages,\c!nx=2,\c!ny=2,\c!start=1,\c!stop=\!!maxcard, \c!distance=\bodyfontsize, \c!bottom=\vfill,\c!top=\vss, \c!left=\hss,\c!right=\hss, \c!before=\page,\c!after=\page,\c!inbetween=\blank, \c!frame=,\c!background=,\c!backgroundcolor=, \c!direction=\v!horizontal, % added #2]% \@@ipbefore %\doglobal\newcounter\combinedpagescounter \globallet\combinedpagescounter\@@ipstart \doifelse\@@ipalternative\v!b\!!doneafalse\!!doneatrue \if!!donea \doifelse\@@ipdirection\v!horizontal % added % loop for left to right and top to bottom combination {\doloop {\vbox to \textheight {\hsize\textwidth % ? ? \scratchdimen\@@ipdistance \!!widtha \dimexpr(\hsize-\@@ipnx\scratchdimen+\scratchdimen)/\@@ipnx\relax \!!heighta\dimexpr(\vsize-\@@ipny\scratchdimen+\scratchdimen)/\@@ipny\relax \dorecurse\@@ipny {\hbox to \hsize {\dorecurse\@@ipnx {\vbox to \!!heighta {\hsize\!!widtha \vsize\!!heighta \@@iptop \hbox to \hsize {\@@ipleft \ifnum\combinedpagescounter>\@@ipstop\relax \globallet\@@ipn\!!zerocount \else\ifnum\combinedpagescounter>\@@ipn \else \externalfigure[#1] [\c!object=\v!no, \c!page=\combinedpagescounter, \c!factor=\v!max, \c!background=\@@ipbackground, \c!backgroundcolor=\@@ipbackgroundcolor, \c!frame=\@@ipframe]% \fi\fi \@@ipright} \@@ipbottom}% \doglobal\increment\combinedpagescounter \hfil}% \hfilneg} \vfil}% \vfilneg}% \page \ifnum\combinedpagescounter>\@@ipn \exitloop\fi}} % loop for top to bottom and left to right combination {\doloop {\vbox %to \textheight {\hsize\textwidth \scratchdimen\@@ipdistance \!!widtha \dimexpr(\hsize-\@@ipnx\scratchdimen+\scratchdimen)/\@@ipnx\relax \!!heighta\dimexpr(\vsize-\@@ipny\scratchdimen+\scratchdimen)/\@@ipny\relax \hbox to \hsize {\dorecurse\@@ipnx {\@@ipleft \vbox to \textheight {\hsize\!!widtha {\dorecurse\@@ipny {\@@iptop \hbox to \hsize {\vbox to \!!heighta {\hsize\!!widtha \vsize\!!heighta \ifnum\combinedpagescounter>\@@ipstop\relax \globallet\@@ipn\!!zerocount \else\ifnum\combinedpagescounter>\@@ipn \else \externalfigure[#1] [\c!object=\v!no, \c!page=\combinedpagescounter, \c!factor=\v!max, \c!background=\@@ipbackground, \c!backgroundcolor=\@@ipbackgroundcolor, \c!frame=\@@ipframe]% \fi\fi}} \doglobal\increment\combinedpagescounter \@@ipbottom}% %\doglobal\increment\combinedpagescounter \vfil}% \vfilneg} \hfil}% \hfilneg}} \page \ifnum\combinedpagescounter>\@@ipn \exitloop\fi}} \else \doloop {\startbaselinecorrection \scratchdimen\@@ipdistance \!!widtha\dimexpr(\hsize-\@@ipnx\scratchdimen+\scratchdimen)/\@@ipnx\relax \hbox to \hsize {\dorecurse\@@ipnx {\doglobal\increment\combinedpagescounter \ifnum\combinedpagescounter>\@@ipn \else \expanded{\externalfigure[#1] [\c!page=\combinedpagescounter, \c!width=\the\!!widtha,% todo \freezedimenmacro \c!background=\@@ipbackground, \c!backgroundcolor=\@@ipbackgroundcolor, \c!frame=\@@ipframe]}% \hfill \fi}\hfillneg}% \stopbaselinecorrection \ifnum\combinedpagescounter<\@@ipn\relax \@@ipinbetween \else \exitloop \fi} \fi \@@ipafter \egroup} \protect \starttext \framed{\combinepages[your-pdf][nx=4,ny=6,direction=vertical]} \framed{\combinepages[your-pdf][nx=4,ny=6]} \stoptext Wolfgang [-- Attachment #1.2: Type: text/html, Size: 17544 bytes --] [-- Attachment #2: Type: text/plain, Size: 139 bytes --] _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: \combinepages[]: Change order 2006-10-09 7:39 ` Wolfgang Schuster @ 2006-10-10 7:25 ` Wolfgang Schuster 2006-10-10 10:07 ` Hans Hagen 0 siblings, 1 reply; 7+ messages in thread From: Wolfgang Schuster @ 2006-10-10 7:25 UTC (permalink / raw) [-- Attachment #1.1: Type: text/plain, Size: 6547 bytes --] 2006/10/9, Wolfgang Schuster <schuster.wolfgang@googlemail.com>: > > > > 2006/10/7, Tobias Burnus <burnus@net-b.de>: > > > > Hello, > > > > Using \combinepages[some-pdf][nx=3,ny=5], I get: > > > > 1 2 3 > > 4 5 6 > > 7 8 9 > > 10 11 12 > > > > However, I'd like to get: > > 1 5 9 > > 2 6 10 > > 3 7 11 > > 4 8 12 > > > > How can one achieve this? (I want to create again a poster out of > > talk.pdf.) > > > > Tobias > > > Hi Tobias, > > I can provide a first draft of a solution to your problem. > > The frame around the combination should you show a small problem with my > correction, > it is up to you change this and maybe to wikify this. > > [old macro deleted] I changed the macro to a (for mee) more readable form. \unprotect % a new variable for horizontal (default) direction \startvariables dutch english german czech italian romanian french horizontal: horizontal horizontal horizontal horizontal horizontal horizontal horizontal \stopvariables % we extract the combine macros from the core \def\docombinepages[#1][#2]% a=perpag b=free {\bgroup \dontcomplain \getfiguredimensions[#1]% \getparameters [\??ip] [\c!alternative=\v!a, \c!n=\noffigurepages,\c!nx=2,\c!ny=2,\c!start=1,\c!stop=\!!maxcard, \c!distance=\bodyfontsize, \c!bottom=\vfill,\c!top=\vss, \c!left=\hss,\c!right=\hss, \c!before=\page,\c!after=\page,\c!inbetween=\blank, \c!frame=,\c!background=,\c!backgroundcolor=, \c!direction=\v!horizontal, #2]% \@@ipbefore %\doglobal\newcounter\combinedpagescounter \globallet\combinedpagescounter\@@ipstart \doifelse\@@ipalternative\v!b\!!doneafalse\!!doneatrue \doifelse\@@ipdirection\v!horizontal\docombinepageshorizontal\docombinepagesvertical#1 % watch the #1 ;-) \@@ipafter \egroup} % we work from left to right and from top to bottom \def\docombinepageshorizontal#1 {\if!!donea \doloop {\vbox to \textheight {\hsize\textwidth % ? ? \scratchdimen\@@ipdistance \!!widtha \dimexpr(\hsize-\@@ipnx\scratchdimen+\scratchdimen)/\@@ipnx\relax \!!heighta\dimexpr(\vsize-\@@ipny\scratchdimen+\scratchdimen)/\@@ipny\relax \dorecurse\@@ipny {\hbox to \hsize {\dorecurse\@@ipnx {\vbox to \!!heighta {\hsize\!!widtha \vsize\!!heighta \@@iptop \hbox to \hsize {\@@ipleft \ifnum\combinedpagescounter>\@@ipstop\relax \globallet\@@ipn\!!zerocount \else\ifnum\combinedpagescounter>\@@ipn \else \externalfigure[#1] [\c!object=\v!no, \c!page=\combinedpagescounter, \c!factor=\v!max, \c!background=\@@ipbackground, \c!backgroundcolor=\@@ipbackgroundcolor, \c!frame=\@@ipframe]% \fi\fi \@@ipright} \@@ipbottom}% \doglobal\increment\combinedpagescounter \hfil}% \hfilneg} \vfil}% \vfilneg}% \page \ifnum\combinedpagescounter>\@@ipn \exitloop\fi} \else \doloop {\startbaselinecorrection \scratchdimen\@@ipdistance \!!widtha\dimexpr(\hsize-\@@ipnx\scratchdimen+\scratchdimen)/\@@ipnx\relax \hbox to \hsize {\dorecurse\@@ipnx {\doglobal\increment\combinedpagescounter \ifnum\combinedpagescounter>\@@ipn \else \expanded{\externalfigure[#1] [\c!page=\combinedpagescounter, \c!width=\the\!!widtha,% todo \freezedimenmacro \c!background=\@@ipbackground, \c!backgroundcolor=\@@ipbackgroundcolor, \c!frame=\@@ipframe]}% \hfill \fi}\hfillneg}% \stopbaselinecorrection \ifnum\combinedpagescounter<\@@ipn\relax \@@ipinbetween \else \exitloop \fi} \fi} % we work from top to bottom and from left to right, no alternative=b \def\docombinepagesvertical#1 {\doloop {\vbox %to \textheight % neccesary? {\hsize\textwidth \vsize\textheight \scratchdimen\@@ipdistance \!!widtha \dimexpr(\hsize-\@@ipnx\scratchdimen+\scratchdimen)/\@@ipnx\relax \!!heighta\dimexpr(\vsize-\@@ipny\scratchdimen+\scratchdimen)/\@@ipny\relax \hbox to \hsize {\dorecurse\@@ipnx {\vbox to \vsize {\hsize\!!widtha \dorecurse\@@ipny {\@@iptop \hbox to \hsize {\@@ipleft \vbox to \!!heighta {\hsize\!!widtha \vsize\!!heighta \ifnum\combinedpagescounter>\@@ipstop\relax \globallet\@@ipn\!!zerocount \else\ifnum\combinedpagescounter>\@@ipn \else \externalfigure[#1] [\c!object=\v!no, \c!page=\combinedpagescounter, \c!factor=\v!max, \c!background=\@@ipbackground, \c!backgroundcolor=\@@ipbackgroundcolor, \c!frame=\@@ipframe]% \fi\fi}% \@@ipright} \doglobal\increment\combinedpagescounter \@@ipbottom} \vfil}% \hfil} \hfilneg} \vfilneg} \page \ifnum\combinedpagescounter>\@@ipn \exitloop\fi}} \protect > \starttext > > \framed{\combinepages[your-pdf][nx=4,ny=6,direction=vertical]} > > \framed{\combinepages[your-pdf][nx=4,ny=6]} > > \stoptext > Wolfgang [-- Attachment #1.2: Type: text/html, Size: 18235 bytes --] [-- Attachment #2: Type: text/plain, Size: 139 bytes --] _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: \combinepages[]: Change order 2006-10-10 7:25 ` Wolfgang Schuster @ 2006-10-10 10:07 ` Hans Hagen 2006-10-10 10:43 ` Wolfgang Schuster 0 siblings, 1 reply; 7+ messages in thread From: Hans Hagen @ 2006-10-10 10:07 UTC (permalink / raw) Wolfgang Schuster wrote: > > I changed the macro to a (for mee) more readable form. i changed your first patch to an 'alternative c' option with split up macro's directiuon is reserved for directional typesetting > > > > > \doifelse\@@ipdirection\v!horizontal\docombinepageshorizontal\docombinepagesvertical#1 > % watch the #1 ;-) > > see patch i sent you; we can avoid the #1 ; will be in the next beta also imagine that #1 is blabla and not a \cs ... in sich cases you really need {#1} so: ...[alternative=a|b|c|horizontal|vertical] Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl ----------------------------------------------------------------- ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: \combinepages[]: Change order 2006-10-10 10:07 ` Hans Hagen @ 2006-10-10 10:43 ` Wolfgang Schuster 2006-10-10 20:41 ` Hans Hagen 0 siblings, 1 reply; 7+ messages in thread From: Wolfgang Schuster @ 2006-10-10 10:43 UTC (permalink / raw) [-- Attachment #1.1: Type: text/plain, Size: 925 bytes --] 2006/10/10, Hans Hagen <pragma@wxs.nl>: > > Wolfgang Schuster wrote: > > > > I changed the macro to a (for mee) more readable form. > i changed your first patch to an 'alternative c' option with split up > macro's directiuon is reserved for directional typesetting > > > > > > > > > > > \doifelse\@@ipdirection\v!horizontal\docombinepageshorizontal\docombinepagesvertical#1 > > % watch the #1 ;-) > > > > > see patch i sent you; we can avoid the #1 ; will be in the next beta > > also imagine that #1 is blabla and not a \cs ... in sich cases you really > need {#1} > > so: ...[alternative=a|b|c|horizontal|vertical] > > Hans Hi Hans, if I look at your it seems to me alternative=horizontal|vertical will be similiar to alternative=b and not horizontal==a and vertical==c as I thought. You're right about the #1 but this is my method of lerning of TeX. Help other people and try to understand how things work. Wolfgang [-- Attachment #1.2: Type: text/html, Size: 1439 bytes --] [-- Attachment #2: Type: text/plain, Size: 139 bytes --] _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: \combinepages[]: Change order 2006-10-10 10:43 ` Wolfgang Schuster @ 2006-10-10 20:41 ` Hans Hagen 2006-10-11 12:30 ` Wolfgang Schuster 0 siblings, 1 reply; 7+ messages in thread From: Hans Hagen @ 2006-10-10 20:41 UTC (permalink / raw) Wolfgang Schuster wrote: > > > 2006/10/10, Hans Hagen <pragma@wxs.nl <mailto:pragma@wxs.nl>>: > > Wolfgang Schuster wrote: > > > > I changed the macro to a (for mee) more readable form. > i changed your first patch to an 'alternative c' option with split up > macro's directiuon is reserved for directional typesetting > > > > > > > > > > > \doifelse\@@ipdirection\v!horizontal\docombinepageshorizontal\docombinepagesvertical#1 > > % watch the #1 ;-) > > > > > see patch i sent you; we can avoid the #1 ; will be in the next beta > > also imagine that #1 is blabla and not a \cs ... in sich cases you > really need {#1} > > so: ...[alternative=a|b|c|horizontal|vertical] > > Hans > > > Hi Hans, > > if I look at your it seems to me alternative=horizontal|vertical will > be similiar > to alternative=b and not horizontal==a and vertical==c as I thought. can you test the beta? the code is in there now Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl ----------------------------------------------------------------- ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: \combinepages[]: Change order 2006-10-10 20:41 ` Hans Hagen @ 2006-10-11 12:30 ` Wolfgang Schuster 0 siblings, 0 replies; 7+ messages in thread From: Wolfgang Schuster @ 2006-10-11 12:30 UTC (permalink / raw) [-- Attachment #1.1: Type: text/plain, Size: 1256 bytes --] 2006/10/10, Hans Hagen <pragma@wxs.nl>: > > Wolfgang Schuster wrote: > > > > > > 2006/10/10, Hans Hagen <pragma@wxs.nl <mailto:pragma@wxs.nl>>: > > > > Wolfgang Schuster wrote: > > > > > > I changed the macro to a (for mee) more readable form. > > i changed your first patch to an 'alternative c' option with split > up > > macro's directiuon is reserved for directional typesetting > > > > > > > > > > > > > > > > > > \doifelse\@@ipdirection\v!horizontal\docombinepageshorizontal\docombinepagesvertical#1 > > > % watch the #1 ;-) > > > > > > > > see patch i sent you; we can avoid the #1 ; will be in the next beta > > > > also imagine that #1 is blabla and not a \cs ... in sich cases you > > really need {#1} > > > > so: ...[alternative=a|b|c|horizontal|vertical] > > > > Hans > > > > > > Hi Hans, > > > > if I look at your it seems to me alternative=horizontal|vertical will > > be similiar > > to alternative=b and not horizontal==a and vertical==c as I thought. > can you test the beta? the code is in there now > > Hans Hi Hans, I looked yesterday only at your E-Mail, after I tried today the new beta everything works fine and as expected with all alternatives. Wolfgang [-- Attachment #1.2: Type: text/html, Size: 2245 bytes --] [-- Attachment #2: Type: text/plain, Size: 139 bytes --] _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2006-10-11 12:30 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-10-07 17:01 \combinepages[]: Change order Tobias Burnus 2006-10-09 7:39 ` Wolfgang Schuster 2006-10-10 7:25 ` Wolfgang Schuster 2006-10-10 10:07 ` Hans Hagen 2006-10-10 10:43 ` Wolfgang Schuster 2006-10-10 20:41 ` Hans Hagen 2006-10-11 12:30 ` Wolfgang Schuster
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).