1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16\writestatus
{
loading
}{
ConTeXt
Page
Macros
Pagebody
Building
}
17
18\unprotect
19
20
21
22
23
24
25
26\newtoks
\t_page_text_data
27
28\unexpanded
\def
\starttextdata
#
1
\stoptextdata
29 {
\glet
\page_shipouts_flush_text_data
\page_shipouts_flush_text_data_indeed
30 \globaladdtotoks
\t_page_text_data
{
#
1
}}
31
32\let
\stoptextdata
\relax
33
34\def
\page_shipouts_flush_text_data_indeed
35 {
\vsmashed
{
\the
\t_page_text_data
}
36 \global
\t_page_text_data
\emptytoks
37 \glet
\page_shipouts_flush_text_data
\relax
}
38
39\let
\page_shipouts_flush_text_data
\relax
40
41\prependtoks
42 \page_shipouts_flush_text_data
43\to
\everylastshipout
44
45
46
47
48
49
50
51
52
53
54\installcorenamespace
{
shipoutmethod
}
55\installcorenamespace
{
layoutarranger
}
56\installcorenamespace
{
layoutarrangeoption
}
57
58\newcount
\shippedoutpages
59\newcount
\combinedpagescounter
60
61\let
\pagestoshipout
\empty
62\newconstant
\whichpagetoshipout
63
64\newbox
\shipoutscratchbox
65
66\setnewconstant
\shipoutfinalizemethod
\plusone
67
68\unexpanded
\def
\shipoutrange
#
1
#
2
69 {
\begingroup
70 \scratchtoks
\emptytoks
71 \dostepwiserecurse
{
#
1
}{
\numexpr
#
2
\plusone
\relax
}
\plusone
{
\etoksapp
\scratchtoks
{
##
1
,
}}
72 \xdef
\pagestoshipout
{
\the
\scratchtoks
,
\number
#
2
}
73 \doglobal\appendtoks
74 \ifnum
\realpageno
>
\numexpr
#
2
\plusone
\relax
75 \global\everypar
{
\normalend
}
76 \fi
77 \to
\everyaftershipout
78 \endgroup
}
79
80\unexpanded
\def
\installshipoutmethod
#
1
#
2
81 {
\setgvalue
{
\??shipoutmethod
#
1
}
##
1
{
#
2
{
##
1
}}}
82
83\let
\installpagehandler
\installshipoutmethod
84
85\unexpanded
\def
\invokepagehandler
#
1
86 {
\expandnamespacevalue
\??shipoutmethod
{
#
1
}
\v!normal
}
87
88\def
\page_shipouts_handle
89 {
\ifcsname
\??shipoutmethod
\v_page_target_method
\endcsname
90 \expandafter\lastnamedcs
91 \else
92 \expandafter
\page_shipouts_ignore
93 \fi
}
94
95\installshipoutmethod
\v!normal
96 {
\ifarrangingpages
97 \expandafter
\page_shipouts_arrange
98 \else
99 \expandafter
\page_shipouts_normal
100 \fi
}
101
102\installshipoutmethod
\v!none
103 {
\page_shipouts_ignore
}
104
105
106
107\newcount
\c_page_boxes_flush_n
108
109\let
\page_boxes_flush_before
\relax
110\let
\page_boxes_flush_after
\relax
111
112
113
114\def
\page_boxes_shipout
#
1
115 {
\dontcomplain
116 \ifcase
\c_page_boxes_flush_n
\else
117 \page_boxes_flush_before
118 \fi
119 \the
\everybeforeshipout
120 \ifcase
\shipoutfinalizemethod
121 \page_shipouts_handle
{
#
1
}
122 \else
123 \setbox
\shipoutscratchbox
\hpack
124 {
#
1
}
125 \page_shipouts_handle
126 {
\finalizeshipoutbox
\shipoutscratchbox
127 \box
\shipoutscratchbox
}
128 \fi
129 \setnextrealpageno
130 \the
\everyaftershipout
131 \ifcase
\c_page_boxes_flush_n
\else
132 \page_boxes_flush_after
133 \fi
}
134
135\def
\page_shipouts_ignore
#
1
136 {
\begingroup
137 \writestatus
\m!system
138 {
\ifarrangingpages
arranged
\fi
page
139 \ifarrangingpages
\the
\arrangeno
\else\the
\realpageno
\fi
\normalspace
140 not
flushed
}
141
142
143 \deadcycles
\zerocount
144 \endgroup
}
145
146\def
\page_otr_flush_every_stuff
147 {
\begingroup
148 \setbox
\scratchbox
\hpack
149 {
150 \ifcase
\realfolio
\or
151 \the
\everyfirstshipout
152 \global
\everyfirstshipout
\emptytoks
153 \fi
154
155 \the
\everyshipout
\relax
156
157 \ifnum
\realpageno
=
\lastpage
\relax
158 \the
\everylastshipout
159 \global
\everylastshipout
\emptytoks
160 \fi
}
161 \smashbox
\scratchbox
162 \box
\scratchbox
163 \endgroup
}
164
165
166
167
168
169
170\unexpanded
\def
\page_shipout_box
#
1
171 {
\clf_shipoutpage
#
1
\relax
172 \global\setbox
#
1
\emptybox
173 \global\deadcycles
\zerocount
}
174
175\def
\page_shipouts_normal
#
1
176 {
\global\advance
\shippedoutpages
\plusone
177
178 \ifx
\pagestoshipout
\empty
179 \ifcase
\whichpagetoshipout
\relax
180 \donetrue
181 \or
182 \ifodd
\shippedoutpages
\relax
\donetrue
\else
\donefalse
\fi
183 \or
184 \ifodd
\shippedoutpages
\relax
\donefalse
\else
\donetrue
\fi
185 \else
186 \donetrue
187 \fi
188 \else
189 \normalexpanded
{
\doifelseinset
{
\the
\shippedoutpages
}{
\pagestoshipout
}}
\donetrue\donefalse
190 \fi
191 \ifdone
192 \setbox
\shipoutscratchbox
\hpack
193 {
#
1
}
194 \ifcase
\shipoutfinalizemethod
195 \finalizeshipoutbox
\shipoutscratchbox
196 \fi
197 \setbox
\shipoutscratchbox
\vpack
198 {
\scratchdimen
\clf_shipoutoffset
\relax
199 \ifdim
\scratchdimen
=
\zeropoint
\else
200 \offinterlineskip
201 \vkern\scratchdimen
202 \hkern\scratchdimen
203 \fi
204 \hpack
205 {
\page_otr_flush_every_stuff
206 \page_otr_flush_special_content
207 \box
\shipoutscratchbox
}}
208 \page_shipout_box
\shipoutscratchbox
209 \else
210 \page_shipouts_ignore
{
#
1
}
211 \fi
}
212
213\newconditional
\c_page_shipouts_use_objects
\settrue
\c_page_shipouts_use_objects
214
215\installcorenamespace
{
arrangedpage
}
216
217\def
\page_shipouts_arrange
#
1
218 {
\begingroup
219 \setbox
\shipoutscratchbox
\hpack
220 {
#
1
}
221 \setbox
\shipoutscratchbox
\hpack
222 {
\page_otr_flush_every_stuff
223 \page_otr_flush_special_content
224 \box
\shipoutscratchbox
}
225
226 \ifconditional
\c_page_shipouts_use_objects
227 \setobject
\??arrangedpage
{
\the
\realpageno
}
\hpack
{
\box
\shipoutscratchbox
}
228 \setbox
\shipoutscratchbox
\hpack
{
\getobject
\??arrangedpage
{
\the
\realpageno
}}
229 \fi
230
231 \pusharrangedpage
\shipoutscratchbox
232 \deadcycles
\zerocount
233 \endgroup
}
234
235
236
237\newbox
\arrangedpageA
\newbox
\arrangedpageB
238\newbox
\arrangedpageC
\newbox
\arrangedpageD
239\newbox
\arrangedpageE
\newbox
\arrangedpageF
240\newbox
\arrangedpageG
\newbox
\arrangedpageH
241
242\newconditional
\arrangedswapstate
243\newconditional
\arrangednegatestate
244\newconditional
\arrangedmirrorstate
245\newconditional
\arrangeddoublestate
246\newconditional
\arrangingdisabledstate
247\newconditional
\arrangedbackgroundstate
248
249\def
\arrangedrotationO
{
0
}
250\def
\arrangedrotationE
{
0
}
251
252\newcount
\arrangedpageN
253\newcount
\arrangedpageM
254
255\newcount
\arrangedpageT
\arrangedpageT
\plusone
256\newcount
\arrangedpageX
\arrangedpageX
\plusone
257\newcount
\arrangedpageY
\arrangedpageY
\plusone
258
259\def
\page_paper_set_offsets
260 {
\global
\paperoffset
\v_page_target_offset
261 \global\advance
\paperwidth
2
\dimexpr
\paperoffset
\arrangedpageX
\relax
262 \global\advance
\paperheight
2
\dimexpr
\paperoffset
\arrangedpageY
\relax
}
263
264\def
\doinstallarrangedoption
#
1
#
2
265 {
\setvalue
{
\??layoutarrangeoption
#
1
}{
#
2
}}
266
267\def
\doinstalledarrangedoption
#
1
268 {
\ifcsname
\??layoutarrangeoption
#
1
\endcsname
269 \csname
\??layoutarrangeoption
#
1
\endcsname
270 \else
271 \checkinstalledpagearrangement
{
#
1
}
272 \fi
}
273
274\doinstallarrangedoption
\empty
275 {}
276
277\doinstallarrangedoption
\v!disable
278 {
\global
\settrue
\arrangingdisabledstate
}
279
280\doinstallarrangedoption
\v!mirrored
281 {
\global
\settrue
\arrangedmirrorstate
}
282
283\doinstallarrangedoption
\v!doublesided
284 {
\global
\settrue
\arrangeddoublestate
}
285
286\doinstallarrangedoption
\v!negative
287 {
\global
\settrue
\arrangednegatestate
}
288
289\doinstallarrangedoption
\v!rotated
290 {
\gdef
\arrangedrotationO
{
9
0
}
291 \gdef
\arrangedrotationE
{
2
7
0
}
292 \swapcounts
\c_page_marks_nx
\c_page_marks_ny
}
293
294\doinstallarrangedoption
{
9
0
}
295 {
\gdef
\arrangedrotationO
{
9
0
}
296 \gdef
\arrangedrotationE
{
2
7
0
}
297 \swapcounts
\c_page_marks_nx
\c_page_marks_ny
}
298
299\doinstallarrangedoption
{
1
8
0
}
300 {
\gdef
\arrangedrotationO
{
1
8
0
}
301 \gdef
\arrangedrotationE
{
0
}}
302
303\doinstallarrangedoption
{
2
7
0
}
304 {
\gdef
\arrangedrotationO
{
2
7
0
}
305 \gdef
\arrangedrotationE
{
9
0
}
306 \swapcounts
\c_page_marks_nx
\c_page_marks_ny
}
307
308\doinstallarrangedoption
\s!reset
309 {
\global
\arrangingpagesfalse
}
310
311\doinstallarrangedoption
\v!background
312 {
\global
\settrue
\arrangedbackgroundstate
}
313
314\unexpanded
\def
\setuparranging
[#
1
]
315 {
\ifconditional
\arrangingdisabledstate
\else
316
317 \global
\arrangingpagestrue
318 \global
\setfalse
\arrangednegatestate
319 \global
\setfalse
\arrangedmirrorstate
320 \global
\setfalse
\arrangeddoublestate
321 \global
\setfalse
\arrangedswapstate
322 \gdef
\arrangedrotationO
{
0
}
323 \gdef
\arrangedrotationE
{
1
8
0
}
324 \processcommalist
[#
1
]
\doinstalledarrangedoption
325 \ifx
\handlearrangedpage
\undefined
326 \global
\arrangingpagesfalse
327 \fi
328 \setuppapersize
329 \ifarrangingpages
330 \ifconditional
\c_page_shipouts_use_objects
\else
331 \clf_disablejobsave
332 \clf_synctexdisable
333
334 \fi
335 \fi
336 \fi
}
337
338\def
\installpagearrangement
#
1
339 {
\setgvalue
{
\??layoutarranger
#
1
}}
340
341\def
\checkinstalledpagearrangement
#
1
342 {
\begincsname
\??layoutarranger
#
1
\endcsname
}
343
344\let
\poparrangedpages
\relax
345\let
\pusharrangedpage
\relax
346
347\def
\dosetuparrangement
#
1
#
2
#
3
#
4
#
5
#
6
#
7
#
8
348 {
\global
\arrangedpageX
#
1
349 \global
\arrangedpageY
#
2
350 \global
\arrangedpageT
#
3
351 \global
\c_page_marks_nx
#
4
352 \global
\c_page_marks_ny
#
5
353 \glet
\pusharrangedpage
#
6
354 \glet
\poparrangedpages
#
7
355 \glet
\handlearrangedpage
#
8
}
356
357\installpagearrangement
{
\v!normal
}
358 {
\global
\arrangingpagesfalse
}
359
360\installpagearrangement
2
*
1
6
361 {
\dosetuparrangement
{
4
}{
4
}{
1
6
}{
5
}{
5
}
362 \pusharrangedpageTHIRTYTWO
\poparrangedpagesAB
\relax
}
363
364\installpagearrangement
2
*
8
365 {
\dosetuparrangement
{
4
}{
2
}{
8
}{
5
}{
3
}
366 \pusharrangedpageSIXTEEN
\poparrangedpagesAB
\relax
}
367
368\installpagearrangement
2
*
4
369 {
\dosetuparrangement
{
2
}{
2
}{
4
}{
3
}{
3
}
370 \pusharrangedpageEIGHT
\poparrangedpagesAB
\relax
}
371
372\installpagearrangement
2
*
2
373 {
\dosetuparrangement
{
2
}{
1
}{
2
}{
3
}{
2
}
374 \pusharrangedpageFOURA
\poparrangedpagesAB
\relax
}
375
376\installpagearrangement
2
*
*
2
377 {
\dosetuparrangement
{
2
}{
1
}{
2
}{
3
}{
2
}
378 \pusharrangedpageFOURB
\poparrangedpagesAB
\relax
}
379
380\installpagearrangement
2
SIDE
381 {
\dosetuparrangement
{
2
}{
1
}{
2
}{
3
}{
2
}
382 \pusharrangedpageSIDETOP
\poparrangedpagesTWO
\handlearrangedpageSIDE
}
383
384\installpagearrangement
2
TOP
385 {
\dosetuparrangement
{
1
}{
2
}{
2
}{
2
}{
3
}
386 \pusharrangedpageSIDETOP
\poparrangedpagesTWO
\handlearrangedpageTOP
}
387
388\installpagearrangement
2
UP
389 {
\dosetuparrangement
{
2
}{
1
}{
4
}{
3
}{
2
}
390 \pusharrangedpageTWO
\poparrangedpagesTWO
\handlearrangedpageTWOUP
}
391
392\installpagearrangement
2
DOWN
393 {
\dosetuparrangement
{
1
}{
2
}{
4
}{
2
}{
3
}
394 \pusharrangedpageTWO
\poparrangedpagesTWO
\handlearrangedpageTWODOWN
}
395
396\installpagearrangement
2
*
4
*
2
397 {
\dosetuparrangement
{
2
}{
2
}{
4
}{
3
}{
3
}
398 \pusharrangedpageSIXTEENTWO
\poparrangedpagesAtoD
\relax
}
399
400\installpagearrangement
2
*
2
*
4
401 {
\dosetuparrangement
{
2
}{
1
}{
8
}{
3
}{
2
}
402 \pusharrangedpageSIXTEENFOUR
\poparrangedpagesAtoH
\relax
}
403
404\installpagearrangement
2
TOPSIDE
405 {
\dosetuparrangement
{
1
}{
2
}{
4
}{
2
}{
3
}
406 \pusharrangedpageTWOTOPSIDE
\poparrangedpagesTWOTOPSIDE
\handlearrangedpageTOP
}
407
408\def
\filluparrangedpages
409 {
\ifarrangingpages
410 \scratchcounter
\numexpr
\realpageno
\plusone
\relax
411 \dosetmodulo
\scratchcounter
\arrangedpageT
\scratchcounter
412 \ifcase
\scratchcounter
\else
413 \advance
\scratchcounter
\plusone
414 \dostepwiserecurse\scratchcounter
\arrangedpageT
\plusone
415 {
\noheaderandfooterlines
\page_otr_insert_dummy_page
}
416 \fi
417 \fi
}
418
419\def
\handlearrangedpageXandY
#
1
#
2
#
3
#
4
#
5
420 {
\global\setbox
#
5
\hpack
to
\arrangedpageX
\paperwidth
421 {
\setbox
\scratchbox
\vpack
to
\arrangedpageY
\paperheight
422 {
\offinterlineskip
423 \vskip
#
4
\paperheight
424 \hskip
#
3
\paperwidth
425 \dorotatebox
{
\ifcase
#
2
0
\else
1
8
0
\fi
}
\hpack
{
\box
#
1
}
426 \vfill
}
427 \wd
\scratchbox
\zeropoint
428 \box
\scratchbox
\box
#
5
\hss
}}
429
430\def
\gotonextarrangepage
431 {
\global\advance
\arrangeno
\plusone
432 \def
\pagecutmarksymbol
{
\the
\arrangeno
}}
433
434\def
\outputarrangedbox
#
1
435 {
\begingroup
436 \forgetall
437 \dontcomplain
438 \gotonextarrangepage
439 \ifnum
\arrangedrotationO
\arrangedrotationE
>
\zerocount
440 \setbox
#
1
\vpack
441 {
\ifconditional
\arrangeddoublestate
442 \ifodd
\arrangeno
443 \dorotatebox
\arrangedrotationO
\hpack
{
\box
#
1
}
444 \else
445 \dorotatebox
\arrangedrotationE
\hpack
{
\box
#
1
}
446 \fi
447 \else
448 \dorotatebox
\arrangedrotationO
\hpack
{
\box
#
1
}
449 \fi
}
450 \fi
451 \ifconditional
\arrangedmirrorstate
452 \page_boxes_apply_mirror
{
#
1
}
453 \fi
454 \ifconditional
\arrangednegatestate
455 \page_boxes_apply_negate
{
#
1
}
456 \fi
457 \page_marks_add_more
#
1
458 \page_boxes_apply_center
#
1
459 \page_boxes_apply_mirror_print
#
1
460 \page_boxes_apply_orientate_print
#
1
461 \page_boxes_apply_offset
#
1
462 \page_boxes_apply_negate_print
#
1
463
464 \ifconditional
\arrangedbackgroundstate
465 \page_backgrounds_add_to_print
#
1
466 \fi
467
468 \page_shipouts_normal
{
\box
#
1
}
469 \endgroup
}
470
471
472
473
474\def
\reportarrangedpage
#
1
475 {
\showmessage
\m!system
{
2
3
}{
\the
\realpageno
.
\the
\pageno
\ifnum
\subpageno
>
0
.
\the
\subpageno
\fi
,
\number
#
1
}}
476
477\def
\advancearrangedpageN
478 {
\global\advance
\arrangedpageN
\plusone
}
479
480
481
482
483
484\def
\poparrangedpagesAB
485 {
\ifnum
\arrangedpageN
>
\zerocount
486 \paperwidth
\arrangedpageX
\paperwidth
487 \paperheight
\arrangedpageY
\paperheight
488 \outputarrangedbox
\arrangedpageA
489 \outputarrangedbox
\arrangedpageB
490 \global
\arrangedpageN
\zerocount
491 \fi
}
492
493\def
\pusharrangedpageTHIRTYTWO
#
1
494 {
\advancearrangedpageN
495 \reportarrangedpage
\arrangedpageN
496 \ifcase
\arrangedpageN
497 \or
\handlearrangedpageXandY
{
#
1
}
0
3
3
\arrangedpageA
498 \or
\handlearrangedpageXandY
{
#
1
}
0
0
3
\arrangedpageB
499 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageB
500 \or
\handlearrangedpageXandY
{
#
1
}
1
3
0
\arrangedpageA
501 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageA
502 \or
\handlearrangedpageXandY
{
#
1
}
1
3
0
\arrangedpageB
503 \or
\handlearrangedpageXandY
{
#
1
}
0
3
3
\arrangedpageB
504 \or
\handlearrangedpageXandY
{
#
1
}
0
0
3
\arrangedpageA
505 \or
\handlearrangedpageXandY
{
#
1
}
1
0
2
\arrangedpageA
506 \or
\handlearrangedpageXandY
{
#
1
}
1
3
2
\arrangedpageB
507 \or
\handlearrangedpageXandY
{
#
1
}
0
3
1
\arrangedpageB
508 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageA
509 \or
\handlearrangedpageXandY
{
#
1
}
0
3
1
\arrangedpageA
510 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageB
511 \or
\handlearrangedpageXandY
{
#
1
}
1
0
2
\arrangedpageB
512 \or
\handlearrangedpageXandY
{
#
1
}
1
3
2
\arrangedpageA
513 \or
\handlearrangedpageXandY
{
#
1
}
1
2
2
\arrangedpageA
514 \or
\handlearrangedpageXandY
{
#
1
}
1
1
2
\arrangedpageB
515 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageB
516 \or
\handlearrangedpageXandY
{
#
1
}
0
2
1
\arrangedpageA
517 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageA
518 \or
\handlearrangedpageXandY
{
#
1
}
0
2
1
\arrangedpageB
519 \or
\handlearrangedpageXandY
{
#
1
}
1
2
2
\arrangedpageB
520 \or
\handlearrangedpageXandY
{
#
1
}
1
1
2
\arrangedpageA
521 \or
\handlearrangedpageXandY
{
#
1
}
0
1
3
\arrangedpageA
522 \or
\handlearrangedpageXandY
{
#
1
}
0
2
3
\arrangedpageB
523 \or
\handlearrangedpageXandY
{
#
1
}
1
2
0
\arrangedpageB
524 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageA
525 \or
\handlearrangedpageXandY
{
#
1
}
1
2
0
\arrangedpageA
526 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageB
527 \or
\handlearrangedpageXandY
{
#
1
}
0
1
3
\arrangedpageB
528 \or
\handlearrangedpageXandY
{
#
1
}
0
2
3
\arrangedpageA
529 \poparrangedpages
530 \fi
}
531
532\def
\pusharrangedpageSIXTEEN
#
1
533 {
\advancearrangedpageN
534 \reportarrangedpage
\arrangedpageN
535 \ifcase
\arrangedpageN
536 \or
\handlearrangedpageXandY
{
#
1
}
0
3
1
\arrangedpageA
537 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageB
538 \or
\handlearrangedpageXandY
{
#
1
}
0
3
1
\arrangedpageB
539 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageA
540 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageA
541 \or
\handlearrangedpageXandY
{
#
1
}
1
3
0
\arrangedpageB
542 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageB
543 \or
\handlearrangedpageXandY
{
#
1
}
1
3
0
\arrangedpageA
544 \or
\handlearrangedpageXandY
{
#
1
}
1
2
0
\arrangedpageA
545 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageB
546 \or
\handlearrangedpageXandY
{
#
1
}
1
2
0
\arrangedpageB
547 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageA
548 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageA
549 \or
\handlearrangedpageXandY
{
#
1
}
0
2
1
\arrangedpageB
550 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageB
551 \or
\handlearrangedpageXandY
{
#
1
}
0
2
1
\arrangedpageA
552 \poparrangedpages
553 \fi
}
554
555\def
\pusharrangedpageEIGHT
#
1
556 {
\advancearrangedpageN
557 \reportarrangedpage
\arrangedpageN
558 \ifcase
\arrangedpageN
559 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageA
560 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageB
561 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageB
562 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageA
563 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageA
564 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageB
565 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageB
566 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageA
567 \poparrangedpages
568 \fi
}
569
570\def
\pusharrangedpageFOURA
{
\pusharrangedpageFOURdo
0
1
}
571\def
\pusharrangedpageFOURB
{
\pusharrangedpageFOURdo
1
0
}
572
573\def
\pusharrangedpageFOURdo
#
1
#
2
#
3
574 {
\advancearrangedpageN
575 \reportarrangedpage
\arrangedpageN
576 \ifcase
\arrangedpageN
577 \or
\handlearrangedpageXandY
{
#
3
}
0
1
0
\arrangedpageA
578 \or
\handlearrangedpageXandY
{
#
3
}
0
{
#
1
}
0
\arrangedpageB
579 \or
\handlearrangedpageXandY
{
#
3
}
0
{
#
2
}
0
\arrangedpageB
580 \or
\handlearrangedpageXandY
{
#
3
}
0
0
0
\arrangedpageA
581 \poparrangedpages
582 \fi
}
583
584\def
\pusharrangedpageSIDETOP
#
1
585 {
\advancearrangedpageN
586 \reportarrangedpage
\arrangedpageN
587 \ifcase
\arrangedpageN
588 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
589 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
590 \poparrangedpages
591 \fi
}
592
593\def
\handlearrangedpageSIDE
594 {
\wd
\arrangedpageA
\paperwidth
595 \wd
\arrangedpageB
\paperwidth
596 \global\setbox
\arrangedpageA
\hpack
597 {
\box
\arrangedpageA
\box
\arrangedpageB
}
598 \ht
\arrangedpageA
\paperheight
}
599
600\def
\handlearrangedpageTOP
601 {
\ht
\arrangedpageA
\paperheight
602 \ht
\arrangedpageB
\paperheight
603 \global\setbox
\arrangedpageA
\vpack
604 {
\offinterlineskip
\vskip
\paperheight
605 \box
\arrangedpageA
\box
\arrangedpageB
}
606 \global\setbox
\arrangedpageB
\box
\scratchbox
}
607
608
609
610\def
\splitoffarrangedpagesTWO
611 {
\splittopskip
\zeropoint
612 \global\setbox
\arrangedpageA
\vsplit
\arrangedpageB
to
\onepoint
613 \scratchdimen
\dimexpr\ht
\arrangedpageB
\onepoint
\relax
614 \ifdim
\scratchdimen
>
\onepoint
615 \setbox
\scratchbox
\vsplit
\arrangedpageB
to
\scratchdimen
616 \fi
}
617
618\def
\handlearrangedpageTWOUP
619 {
\splitoffarrangedpagesTWO
620 \ht
\arrangedpageA
\paperheight
621 \ht
\arrangedpageB
\paperheight
622 \ifconditional
\arrangedswapstate
623 \global\setbox
\arrangedpageA
\hpack
624 {
\page_boxes_apply_clip_print_left
\arrangedpageA
625 \box
\arrangedpageA
626 \page_boxes_apply_clip_print_right
\arrangedpageB
627 \box
\arrangedpageB
}
628 \setfalse
\arrangedswapstate
629 \else
630 \global\setbox
\arrangedpageA
\hpack
631 {
\page_boxes_apply_clip_print_left
\arrangedpageB
632 \box
\arrangedpageB
633 \page_boxes_apply_clip_print_right
\arrangedpageA
634 \box
\arrangedpageA
}
635 \settrue
\arrangedswapstate
636 \fi
637 \global\setbox
\arrangedpageB
\box
\scratchbox
}
638
639\def
\handlearrangedpageTWODOWN
640 {
\splitoffarrangedpagesTWO
641 \ht
\arrangedpageA
\paperheight
642 \ht
\arrangedpageB
\paperheight
643 \ifconditional
\arrangedswapstate
644 \global\setbox
\arrangedpageA
\vpack
645 {
\offinterlineskip
646 \vskip
\paperheight
647 \box
\arrangedpageA
648 \box
\arrangedpageB
}
649 \setfalse
\arrangedswapstate
650 \else
651 \global\setbox
\arrangedpageA
\vpack
652 {
\offinterlineskip
653 \vskip
\paperheight
654 \box
\arrangedpageB
655 \box
\arrangedpageA
}
656 \settrue
\arrangedswapstate
657 \fi
658 \global\setbox
\arrangedpageB
\box
\scratchbox
}
659
660\def
\poparrangedpagesTWO
661 {
\ifnum
\arrangedpageN
>
\zerocount
662 \setfalse
\arrangedswapstate
663 \doloop
664 {
\handlearrangedpage
665 \bgroup
666 \paperwidth
\arrangedpageX
\paperwidth
667 \paperheight
\arrangedpageY
\paperheight
668 \ht
\arrangedpageA
\paperheight
669 \wd
\arrangedpageA
\paperwidth
670 \outputarrangedbox
\arrangedpageA
671 \egroup
672 \ifdim
\ht
\arrangedpageB
=
\zeropoint
673 \exitloop
674 \fi
}
675 \global
\arrangedpageN
\zerocount
676 \fi
}
677
678\def
\pusharrangedpageTWO
#
1
679 {
\advancearrangedpageN
680 \reportarrangedpage
\arrangedpageN
681 \global\setbox
\arrangedpageB
\vpack
682 {
\offinterlineskip
683 \unvbox
\arrangedpageB
684 \allowbreak
685 \setbox
#
1
\vpack
{
\box
#
1
}
686 \ht
#
1
\onepoint
687 \dp
#
1
\zeropoint
688 \vpack
{
\box
#
1
}}}
689
690\def
\poparrangedpagesTWOTOPSIDE
691 {
\ifnum
\arrangedpageN
>
\zerocount
692 \bgroup
693 \global
\arrangedpageN
\plustwo
694 \poparrangedpagesTWO
695 \let
\arrangedpageA
\arrangedpageC
696 \let
\arrangedpageB
\arrangedpageD
697 \global
\arrangedpageN
\plustwo
698 \poparrangedpagesTWO
699 \global
\arrangedpageN
\zerocount
700 \egroup
701 \fi
}
702
703\def
\pusharrangedpageTWOTOPSIDE
#
1
704 {
\advancearrangedpageN
705 \reportarrangedpage
\arrangedpageN
706 \ifcase
\arrangedpageN
707 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
708 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageC
709 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
710 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageD
711 \poparrangedpages
712 \fi
}
713
714
715
716\def
\poparrangedpagesAtoH
717 {
\ifnum
\arrangedpageN
>
\zerocount
718 \paperwidth
\arrangedpageX
\paperwidth
719 \paperheight
\arrangedpageY
\paperheight
720 \outputarrangedbox
\arrangedpageA
721 \outputarrangedbox
\arrangedpageB
722 \outputarrangedbox
\arrangedpageC
723 \outputarrangedbox
\arrangedpageD
724 \outputarrangedbox
\arrangedpageE
725 \outputarrangedbox
\arrangedpageF
726 \outputarrangedbox
\arrangedpageG
727 \outputarrangedbox
\arrangedpageH
728 \global
\arrangedpageN
\zerocount
729 \fi
}
730
731
732
733\def
\poparrangedpagesAtoD
734 {
\ifnum
\arrangedpageN
>
\zerocount
735 \paperwidth
\arrangedpageX
\paperwidth
736 \paperheight
\arrangedpageY
\paperheight
737 \outputarrangedbox
\arrangedpageA
738 \outputarrangedbox
\arrangedpageB
739 \outputarrangedbox
\arrangedpageC
740 \outputarrangedbox
\arrangedpageD
741 \global
\arrangedpageN
\zerocount
742 \fi
}
743
744
745
746\def
\pusharrangedpageSIXTEENFOUR
#
1
747 {
\advancearrangedpageN
748 \reportarrangedpage
\arrangedpageN
749 \ifcase
\arrangedpageN
750 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
751 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
752 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageC
753 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageD
754 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageE
755 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageF
756 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageG
757 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageH
758 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageH
759 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageG
760 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageF
761 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageE
762 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageD
763 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageC
764 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
765 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
766 \poparrangedpages
767 \fi
}
768
769
770
771\def
\pusharrangedpageSIXTEENTWO
#
1
772 {
\advancearrangedpageN
773 \reportarrangedpage
\arrangedpageN
774 \ifcase
\arrangedpageN
775 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageA
776 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageB
777 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageC
778 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageD
779 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageD
780 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageC
781 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageB
782 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageA
783 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageA
784 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageB
785 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageC
786 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageD
787 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageD
788 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageC
789 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageB
790 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageA
791 \poparrangedpages
792 \fi
}
793
794
795
796
797
798
799\installpagearrangement
2
*
8
*
Z
800 {
\dosetuparrangement
{
2
}{
4
}{
8
}{
3
}{
5
}
801 \pusharrangedpageSIXTEENZ
\poparrangedpagesAB
\relax
}
802
803\def
\pusharrangedpageSIXTEENZ
#
1
804 {
\advancearrangedpageN
805 \reportarrangedpage
\arrangedpageN
806 \ifcase
\arrangedpageN
807 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
808 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
809 \or
\handlearrangedpageXandY
{
#
1
}
1
0
1
\arrangedpageB
810 \or
\handlearrangedpageXandY
{
#
1
}
1
1
1
\arrangedpageA
811 \or
\handlearrangedpageXandY
{
#
1
}
0
1
2
\arrangedpageA
812 \or
\handlearrangedpageXandY
{
#
1
}
0
0
2
\arrangedpageB
813 \or
\handlearrangedpageXandY
{
#
1
}
1
0
3
\arrangedpageB
814 \or
\handlearrangedpageXandY
{
#
1
}
1
1
3
\arrangedpageA
815 \or
\handlearrangedpageXandY
{
#
1
}
1
0
3
\arrangedpageA
816 \or
\handlearrangedpageXandY
{
#
1
}
1
1
3
\arrangedpageB
817 \or
\handlearrangedpageXandY
{
#
1
}
0
1
2
\arrangedpageB
818 \or
\handlearrangedpageXandY
{
#
1
}
0
0
2
\arrangedpageA
819 \or
\handlearrangedpageXandY
{
#
1
}
1
0
1
\arrangedpageA
820 \or
\handlearrangedpageXandY
{
#
1
}
1
1
1
\arrangedpageB
821 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
822 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
823 \poparrangedpages
824 \fi
}
825
826
827
828
829\installpagearrangement
2
*
6
*
Z
830 {
\dosetuparrangement
{
2
}{
3
}{
6
}{
3
}{
4
}
831 \pusharrangedpageTWELVEZ
\poparrangedpagesAB
\relax
}
832
833\def
\pusharrangedpageTWELVEZ
#
1
834 {
\advancearrangedpageN
835 \reportarrangedpage
\arrangedpageN
836 \ifcase
\arrangedpageN
837 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
838 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
839 \or
\handlearrangedpageXandY
{
#
1
}
1
0
1
\arrangedpageB
840 \or
\handlearrangedpageXandY
{
#
1
}
1
1
1
\arrangedpageA
841 \or
\handlearrangedpageXandY
{
#
1
}
0
1
2
\arrangedpageA
842 \or
\handlearrangedpageXandY
{
#
1
}
0
0
2
\arrangedpageB
843 \or
\handlearrangedpageXandY
{
#
1
}
0
1
2
\arrangedpageB
844 \or
\handlearrangedpageXandY
{
#
1
}
0
0
2
\arrangedpageA
845 \or
\handlearrangedpageXandY
{
#
1
}
1
0
1
\arrangedpageA
846 \or
\handlearrangedpageXandY
{
#
1
}
1
1
1
\arrangedpageB
847 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
848 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
849 \poparrangedpages
850 \fi
}
851
852
853
854
855\installpagearrangement
1
*
8
856 {
\dosetuparrangement
{
4
}{
2
}{
8
}{
5
}{
3
}
857 \pusharrangedpageEIGHTSINGLESIDEDFOLDED
\poparrangedpagesTWO
\relax
}
858
859\def
\pusharrangedpageEIGHTSINGLESIDEDFOLDED
#
1
860 {
\advancearrangedpageN
861 \reportarrangedpage
\arrangedpageN
862 \ifcase
\arrangedpageN
863 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
864 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageA
865 \or
\handlearrangedpageXandY
{
#
1
}
0
3
0
\arrangedpageA
866 \or
\handlearrangedpageXandY
{
#
1
}
1
3
1
\arrangedpageA
867 \or
\handlearrangedpageXandY
{
#
1
}
1
2
1
\arrangedpageA
868 \or
\handlearrangedpageXandY
{
#
1
}
1
1
1
\arrangedpageA
869 \or
\handlearrangedpageXandY
{
#
1
}
1
0
1
\arrangedpageA
870 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
871 \poparrangedpages
872 \fi
}
873
874
875
876
877\installpagearrangement
1
*
4
878 {
\dosetuparrangement
{
2
}{
2
}{
4
}{
3
}{
3
}
879 \pusharrangedpageFOURSINGLESIDEDFOLDED
\poparrangedpagesTWO
\relax
}
880
881\def
\pusharrangedpageFOURSINGLESIDEDFOLDED
#
1
882 {
\advancearrangedpageN
883 \reportarrangedpage
\arrangedpageN
884 \ifcase
\arrangedpageN
885 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageA
886 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageA
887 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageA
888 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageA
889 \poparrangedpages
890 \fi
}
891
892
893
894
895\installpagearrangement
3
SIDE
896 {
\dosetuparrangement
{
3
}{
1
}{
3
}{
4
}{
2
}
897 \pusharrangedpageTHREESIDE
\poparrangedpagesAB
\relax
}
898
899\def
\pusharrangedpageTHREESIDE
#
1
900 {
\advancearrangedpageN
901 \reportarrangedpage
\arrangedpageN
902 \ifcase
\arrangedpageN
903 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
904 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
905 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageA
906 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
907 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
908 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageB
909 \poparrangedpages
910 \fi
}
911
912
913
914
915\installpagearrangement
TRYPTICHON
916 {
\dosetuparrangement
{
3
}{
1
}{
3
}{
4
}{
2
}
917 \pusharrangedpageFLYERSIX
\poparrangedpagesAB
\relax
}
918
919\def
\pusharrangedpageFLYERSIX
#
1
920 {
\advancearrangedpageN
921 \reportarrangedpage
\arrangedpageN
922 \ifcase
\arrangedpageN
923 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageA
924 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
925 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
926 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageB
927 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
928 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
929 \poparrangedpages
930 \fi
}
931
932
933
934
935\installpagearrangement
ZFLYER
8
936 {
\dosetuparrangement
{
4
}{
1
}{
4
}{
5
}{
2
}
937 \pusharrangedpageZFLYEREIGHT
\poparrangedpagesAB
\relax
}
938
939\def
\pusharrangedpageZFLYEREIGHT
#
1
940 {
\advancearrangedpageN
941 \reportarrangedpage
\arrangedpageN
942 \ifcase
\arrangedpageN
943 \or
\handlearrangedpageXandY
{
#
1
}
0
3
0
\arrangedpageA
944 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
945 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
946 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageB
947 \or
\handlearrangedpageXandY
{
#
1
}
0
3
0
\arrangedpageB
948 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
949 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
950 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageA
951 \poparrangedpages
952 \fi
}
953
954
955
956
957\installpagearrangement
ZFLYER
1
0
958 {
\dosetuparrangement
{
5
}{
1
}{
5
}{
6
}{
2
}
959 \pusharrangedpageZFLYERTEN
\poparrangedpagesAB
\relax
}
960
961\def
\pusharrangedpageZFLYERTEN
#
1
962 {
\advancearrangedpageN
963 \reportarrangedpage
\arrangedpageN
964 \ifcase
\arrangedpageN
965 \or
\handlearrangedpageXandY
{
#
1
}
0
4
0
\arrangedpageA
966 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
967 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
968 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageB
969 \or
\handlearrangedpageXandY
{
#
1
}
0
3
0
\arrangedpageB
970 \or
\handlearrangedpageXandY
{
#
1
}
0
4
0
\arrangedpageB
971 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
972 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
973 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageA
974 \or
\handlearrangedpageXandY
{
#
1
}
0
3
0
\arrangedpageA
975 \poparrangedpages
976 \fi
}
977
978
979
980
981\installpagearrangement
ZFLYER
1
2
982 {
\dosetuparrangement
{
6
}{
1
}{
6
}{
7
}{
2
}
983 \pusharrangedpageZFLYERTWELVE
\poparrangedpagesAB
\relax
}
984
985\def
\pusharrangedpageZFLYERTWELVE
#
1
986 {
\advancearrangedpageN
987 \reportarrangedpage
\arrangedpageN
988 \ifcase
\arrangedpageN
989 \or
\handlearrangedpageXandY
{
#
1
}
0
5
0
\arrangedpageA
990 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
991 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
992 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageB
993 \or
\handlearrangedpageXandY
{
#
1
}
0
3
0
\arrangedpageB
994 \or
\handlearrangedpageXandY
{
#
1
}
0
4
0
\arrangedpageB
995 \or
\handlearrangedpageXandY
{
#
1
}
0
5
0
\arrangedpageB
996 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
997 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
998 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageA
999 \or
\handlearrangedpageXandY
{
#
1
}
0
3
0
\arrangedpageA
1000 \or
\handlearrangedpageXandY
{
#
1
}
0
4
0
\arrangedpageA
1001 \poparrangedpages
1002 \fi
}
1003
1004
1005
1006
1007\installpagearrangement
MAPFLYER
1
2
1008 {
\dosetuparrangement
{
3
}{
2
}{
6
}{
4
}{
3
}
1009 \pusharrangedpageMFLYERTWELVE
\poparrangedpagesAB
\relax
}
1010
1011\def
\pusharrangedpageMFLYERTWELVE
#
1
1012 {
\advancearrangedpageN
1013 \reportarrangedpage
\arrangedpageN
1014 \ifcase
\arrangedpageN
1015 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageA
1016 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
1017 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageB
1018 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
1019 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageB
1020 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageB
1021 \or
\handlearrangedpageXandY
{
#
1
}
0
2
1
\arrangedpageB
1022 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
1023 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageA
1024 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
1025 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageA
1026 \or
\handlearrangedpageXandY
{
#
1
}
0
2
1
\arrangedpageA
1027 \poparrangedpages
1028 \fi
}
1029
1030
1031
1032
1033\installpagearrangement
DOUBLEWINDOW
1034 {
\dosetuparrangement
{
4
}{
1
}{
4
}{
5
}{
2
}
1035 \pusharrangedpageDOUBLEWINDOWEIGHT
\poparrangedpagesAB
\relax
}
1036
1037\def
\pusharrangedpageDOUBLEWINDOWEIGHT
#
1
1038 {
\advancearrangedpageN
1039 \reportarrangedpage
\arrangedpageN
1040 \ifcase
\arrangedpageN
1041 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageA
1042 \or
\handlearrangedpageXandY
{
#
1
}
0
3
0
\arrangedpageA
1043 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
1044 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
1045 \or
\handlearrangedpageXandY
{
#
1
}
0
2
0
\arrangedpageB
1046 \or
\handlearrangedpageXandY
{
#
1
}
0
3
0
\arrangedpageB
1047 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
1048 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
1049 \poparrangedpages
1050 \fi
}
1051
1052
1053
1054
1055
1056
1057\installpagearrangement
1
*
2
Conference
1058 {
\dosetuparrangement
{
1
}{
2
}{
4
}{
3
}{
2
}
1059 \pusharrangedpageCONFERENCETWO
\poparrangedpagesAB
\relax
}
1060
1061\def
\pusharrangedpageCONFERENCETWO
#
1
1062 {
\advancearrangedpageN
1063 \reportarrangedpage
\arrangedpageN
1064 \ifcase
\arrangedpageN
1065 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageA
1066 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageA
1067 \poparrangedpages
1068 \fi
}
1069
1070
1071
1072
1073\installpagearrangement
1
*
4
Conference
1074 {
\dosetuparrangement
{
1
}{
2
}{
4
}{
3
}{
2
}
1075 \pusharrangedpageCONFERENCEFOUR
\poparrangedpagesAB
\relax
}
1076
1077\def
\pusharrangedpageCONFERENCEFOUR
#
1
1078 {
\advancearrangedpageN
1079 \reportarrangedpage
\arrangedpageN
1080 \ifcase
\arrangedpageN
1081 \or
\handlearrangedpageXandY
{
#
1
}
0
0
1
\arrangedpageA
1082 \or
\handlearrangedpageXandY
{
#
1
}
1
0
0
\arrangedpageA
1083 \or
\handlearrangedpageXandY
{
#
1
}
0
1
1
\arrangedpageB
1084 \or
\handlearrangedpageXandY
{
#
1
}
1
1
0
\arrangedpageB
1085 \poparrangedpages
1086 \fi
}
1087
1088
1089
1090
1091
1092
1093\installpagearrangement
2
*
2
*
2
1094 {
\dosetuparrangement
{
2
}{
1
}{
2
}{
3
}{
2
}
1095 \pusharrangedpageEIGHTTWO
\poparrangedpagesAtoD
\relax
}
1096
1097\def
\pusharrangedpageEIGHTTWO
#
1
1098 {
\advancearrangedpageN
1099 \reportarrangedpage
\arrangedpageN
1100 \ifcase
\arrangedpageN
1101 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
1102 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
1103 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageC
1104 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageD
1105 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageD
1106 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageC
1107 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
1108 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
1109 \poparrangedpages
1110 \fi
}
1111
1112
1113
1114
1115
1116\def
\poparrangedpagesAtoF
1117 {
\ifnum
\arrangedpageN
>
\zerocount
1118 \paperwidth
\arrangedpageX
\paperwidth
1119 \paperheight
\arrangedpageY
\paperheight
1120 \outputarrangedbox
\arrangedpageA
1121 \outputarrangedbox
\arrangedpageB
1122 \outputarrangedbox
\arrangedpageC
1123 \outputarrangedbox
\arrangedpageD
1124 \outputarrangedbox
\arrangedpageE
1125 \outputarrangedbox
\arrangedpageF
1126 \global
\arrangedpageN
\zerocount
1127 \fi
}
1128
1129\installpagearrangement
2
*
2
*
3
1130 {
\dosetuparrangement
{
2
}{
1
}{
2
}{
3
}{
2
}
1131 \pusharrangedpageTWELVETWO
\poparrangedpagesAtoF
\relax
}
1132
1133\def
\pusharrangedpageTWELVETWO
#
1
1134 {
\advancearrangedpageN
1135 \reportarrangedpage
\arrangedpageN
1136 \ifcase
\arrangedpageN
1137 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageA
1138 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageB
1139 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageC
1140 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageD
1141 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageE
1142 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageF
1143 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageF
1144 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageE
1145 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageD
1146 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageC
1147 \or
\handlearrangedpageXandY
{
#
1
}
0
1
0
\arrangedpageB
1148 \or
\handlearrangedpageXandY
{
#
1
}
0
0
0
\arrangedpageA
1149 \poparrangedpages
1150 \fi
}
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230\unexpanded
\def
\pusharrangedpageXY
#
1
1231 {
\advancearrangedpageN
1232 \global\advance
\arrangedpageM
\plusone
1233 \reportarrangedpage
\arrangedpageN
1234 \global\setbox
\arrangedpageB
\hpack
\ifdim
\v_page_target_width
>
\zeropoint
to
\v_page_target_width
\fi
1235 {
\ifvoid
\arrangedpageB
\else
1236 \unhbox
\arrangedpageB
1237 \ifdim
\v_page_target_dx
>
\zeropoint
1238 \hskip
\v_page_target_dx
1239 \else
1240 \hss
1241 \hskip
\v_page_target_dx
1242 \hss
1243 \fi
1244 \fi
1245 \box
#
1
}
1246 \ifnum
\arrangedpageM
<
\arrangedpageX
\else
1247 \global\setbox
\arrangedpageA
\vpack
\ifdim
\v_page_target_height
>
\zeropoint
to
\v_page_target_height
\fi
1248 {
\offinterlineskip
1249 \ifvoid
\arrangedpageA
\else
1250 \unvbox
\arrangedpageA
1251 \ifdim
\v_page_target_dy
>
\zeropoint
1252 \vskip
\v_page_target_dy
1253 \else
1254 \vss
1255 \vskip
\v_page_target_dy
1256 \vss
1257 \fi
1258 \fi
1259 \box
\arrangedpageB
}
1260 \global
\arrangedpageM
\zerocount
1261 \fi
1262 \ifnum
\arrangedpageN
<
\arrangedpageT
\else
1263 \poparrangedpages
1264 \fi
}
1265
1266\unexpanded
\def
\poparrangedpagesXY
1267 {
\ifnum
\arrangedpageN
>
\zerocount
1268 \paperwidth
\arrangedpageX
\paperwidth
1269 \paperheight
\arrangedpageY
\paperheight
1270 \outputarrangedbox
\arrangedpageA
1271 \global
\arrangedpageN
\zerocount
1272 \global
\arrangedpageM
\zerocount
1273 \fi
}
1274
1275\installpagearrangement
XY
1276 {
\dosetuparrangement
1277 \v_page_target_nx
1278 \v_page_target_ny
1279 \v_page_target_xy
1280 \zerocount
1281 \zerocount
1282 \pusharrangedpageXY
\poparrangedpagesXY
\relax
}
1283
1284
1285
1286\def
\page_imposition_xy_height
1287 {
\dimexpr
1288 \dimexpr
1289 \v_page_target_height
1290 \numexpr
\v_page_target_ny
1
\relax
\v_page_target_dy
1291 \relax
1292 \v_page_target_ny
1293 \relax
}
1294
1295\def
\page_imposition_xy_width
1296 {
\dimexpr
1297 \dimexpr
1298 \v_page_target_width
1299 \numexpr
\v_page_target_nx
1
\relax
\v_page_target_dx
1300 \relax
1301 \v_page_target_nx
1302 \relax
}
1303
1304\definepapersize
1305 [
XY
]
1306 [
\c!height
=
\page_imposition_xy_height
,
1307 \c!width
=
\page_imposition_xy_width
]
1308
1309\setuppaper
1310 [
\c!width
=
\dimexpr
\printpaperwidth
2
\v_page_target_backspace
\relax
,
1311 \c!height
=
\dimexpr
\printpaperheight
2
\v_page_target_topspace
\relax
]
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330\installcorenamespace
{
pageshift
}
1331
1332\unexpanded
\def
\definepageshift
1333 {
\dotripleargument
\page_boxes_define_shift
}
1334
1335\def
\page_boxes_define_shift
[#
1
][#
2
][#
3
]
1336 {
\setvalue
{
\??pageshift
#
2
:
#
1
}{
#
3
}}
1337
1338\let
\page_boxes_h_shifts
\empty
1339\let
\page_boxes_v_shifts
\empty
1340
1341\newcount
\c_page_boxes_h_shifts
1342\newcount
\c_page_boxes_v_shifts
1343
1344\newdimen
\d_page_boxes_h_shifts
1345\newdimen
\d_page_boxes_v_shifts
1346
1347\let
\page_boxes_apply_shift_print
\gobbleoneargument
1348\let
\page_boxes_apply_shift_paper
\gobbleoneargument
1349
1350\def
\page_boxes_filter_shift
#
1
#
2
#
3
1351 {
#
1
\zeropoint
1352 \ifx
#
2
\empty
\else
1353 \global\advance
#
3
\plusone
1354 \getfromcommacommand
[#
2
][#
3
]
1355 \ifx
\commalistelement
\empty
1356 \global
#
3
\plusone
1357 \getfromcommacommand
[#
2
][#
3
]
1358 \fi
1359 \ifx
\commalistelement
\empty
\else
1360 #
1
\commalistelement
\relax
1361 \fi
1362 \fi
}
1363
1364\def
\page_boxes_apply_shift
#
1
1365 {
\page_boxes_filter_shift
\d_page_boxes_h_shifts
\page_boxes_h_shifts
\c_page_boxes_h_shifts
1366 \page_boxes_filter_shift
\d_page_boxes_v_shifts
\page_boxes_v_shifts
\c_page_boxes_v_shifts
1367 \ifzeropt
\d_page_boxes_h_shifts
1368 \ifzeropt
\d_page_boxes_v_shifts
1369
1370 \else
1371 \page_boxes_apply_shift_indeed
#
1
1372 \fi
1373 \else
1374 \page_boxes_apply_shift_indeed
#
1
1375 \fi
}
1376
1377\def
\page_boxes_apply_shift_indeed
#
1
1378 {
\edef
\next
{
\wd
#
1
\the\wd
#
1
\ht
#
1
\the\ht
#
1
\dp
#
1
\the\dp
#
1
}
1379 \setbox
#
1
\vpack
1380 {
\offinterlineskip
1381 \vskip
\d_page_boxes_v_shifts
1382 \hskip
\d_page_boxes_h_shifts
1383 \box
#
1
}
1384 \next
}
1385
1386\unexpanded
\def
\setuppageshift
1387 {
\dotripleempty
\page_boxes_setup_shift
}
1388
1389\def
\page_boxes_setup_shift
[#
1
][#
2
][#
3
]
1390 {
\ifthirdargument
1391
1392
1393 \edef
\page_boxes_h_shifts
{
\begincsname
\??pageshift\v!horizontal
:
#
2
\endcsname
}
1394 \edef
\page_boxes_v_shifts
{
\begincsname
\??pageshift\v!vertical
:
#
3
\endcsname
}
1395 \doifelse
{
#
1
}
\v!page
{
\let
\page_boxes_apply_shift_print
\page_boxes_apply_shift
}{
\let
\page_boxes_apply_shift_print
\gobbleoneargument
}
1396 \doifelse
{
#
1
}
\v!paper
{
\let
\page_boxes_apply_shift_paper
\page_boxes_apply_shift
}{
\let
\page_boxes_apply_shift_paper
\gobbleoneargument
}
1397 \else
\ifsecondargument
1398 \doifelseinset
{
#
1
}{
\v!page
,
\v!paper
}
1399 {
\setuppageshift
[#
1
][#
2
][#
2
]
}
1400 {
\setuppageshift
[
\v!page
][#
1
][#
2
]
}
1401 \else
\iffirstargument
1402 \setuppageshift
[
\v!page
][#
1
][#
1
]
1403 \fi\fi\fi
}
1404
1405\protect
\endinput
1406