From e4836c62b245d618866b6523ec2c892aeb7a76be Mon Sep 17 00:00:00 2001 From: "Jeffrey H. Kingston" Date: Tue, 14 Sep 2010 20:39:50 +0000 Subject: Lout 3.32. git-svn-id: http://svn.savannah.nongnu.org/svn/lout/trunk@33 9365b830-b601-4143-9ba8-b4a8e2c3339c --- README | 6 +- blurb | 12 +- doc/design/README | 19 +- doc/design/outfile.ps | 119 +- doc/expert/README | 17 +- doc/expert/all | 6 +- doc/expert/outfile.ps | 7033 ++++++++++++++++++++++++----------------------- doc/expert/pre_brea | 21 +- doc/expert/preface | 2 +- doc/slides/README | 14 +- doc/slides/outfile.ps | 195 +- doc/user/README | 39 +- doc/user/all | 6 +- doc/user/bas_conv | 2 +- doc/user/bas_par2 | 74 +- doc/user/bgr_prec | 14 +- doc/user/gra_erro | 2 +- doc/user/preface | 2 +- doc/user/prg_chan | 54 +- doc/user/prg_lone | 9 + doc/user/prg_opti | 51 +- doc/user/prg_pipe | 7 + doc/user/str_list | 109 +- doc/user/tbl_cell | 7 + doc/user/typ_orga | 14 + doc/user/typ_over | 46 +- doc/user/vprg | 14 +- externs.h | 47 +- include/README | 4 +- include/blue | 4 + include/bluef | 69 +- include/book | 5 +- include/bookf | 1 - include/bsf | 70 +- include/cprint | 4 + include/cprintf | 67 +- include/doc | 4 +- include/docf | 2 - include/dsf | 1 + include/eiffel | 4 + include/eiffelf | 69 +- include/haskell | 4 + include/haskellf | 71 +- include/java | 4 + include/javaf | 69 +- include/np | 4 + include/npf | 69 +- include/perl | 4 + include/perlf | 69 +- include/picture | 4 +- include/picturef | 1 - include/python | 4 + include/pythonf | 69 +- include/report | 5 +- include/reportf | 1 - include/rsl | 4 + include/rslf | 67 +- include/ruby | 4 + include/rubyf | 67 +- include/save_graphf | 891 ------ include/save_graphf.lpg | 899 ------ include/slides | 10 +- include/slidesf | 18 +- include/xind | 1 - include/xinda | 1 - include/xindb | 1 - makefile | 195 +- man/lout.1 | 13 +- man/lout.txt | 10 +- man/prg2lout.1 | 11 + man/prg2lout.txt | 8 + prg2lout.c | 81 +- whatsnew | 19 + z01.c | 244 +- z02.c | 20 +- z03.c | 4 +- z04.c | 4 +- z05.c | 4 +- z06.c | 30 +- z07.c | 4 +- z08.c | 12 +- z09.c | 4 +- z10.c | 30 +- z11.c | 21 +- z12.c | 10 +- z13.c | 4 +- z14.c | 4 +- z15.c | 4 +- z16.c | 4 +- z17.c | 4 +- z18.c | 7 +- z19.c | 4 +- z20.c | 4 +- z21.c | 4 +- z22.c | 30 +- z23.c | 6 +- z24.c | 4 +- z25.c | 4 +- z26.c | 8 +- z27.c | 4 +- z28.c | 42 +- z29.c | 13 +- z30.c | 4 +- z31.c | 4 +- z32.c | 4 +- z33.c | 25 +- z34.c | 4 +- z35.c | 4 +- z36.c | 27 +- z37.c | 4 +- z38.c | 24 +- z39.c | 4 +- z40.c | 4 +- z41.c | 23 +- z42.c | 6 +- z43.c | 4 +- z44.c | 4 +- z45.c | 4 +- z46.c | 4 +- z47.c | 4 +- z48.c | 4 +- z49.c | 267 +- z50.c | 13 +- z51.c | 144 +- z52.c | 4 +- 125 files changed, 5786 insertions(+), 6263 deletions(-) delete mode 100644 include/save_graphf delete mode 100644 include/save_graphf.lpg delete mode 100644 include/xind delete mode 100644 include/xinda delete mode 100644 include/xindb diff --git a/README b/README index 7c73969..8d47bdb 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ -THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) -BASSER LOUT VERSION 3 COPYRIGHT (C) 1994, 2005 Jeffrey H. Kingston +THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) +BASSER LOUT VERSION 3 COPYRIGHT (C) 1994, 2006 Jeffrey H. Kingston Jeffrey H. Kingston School of Information Technologies @@ -8,7 +8,7 @@ AUSTRALIA Telephone (direct): 61 2 692 4216 Telephone (messages): 61 2 692 3423 -Email: jeff@cs.usyd.edu.au +Email: jeff@it.usyd.edu.au Fax: 61 2 692 3838 This program is free software; you can redistribute it and/or modify diff --git a/blurb b/blurb index f4f7248..5dbb496 100644 --- a/blurb +++ b/blurb @@ -1,7 +1,7 @@ - THE LOUT DOCUMENT FORMATTING SYSTEM, VERSION 3.31 + THE LOUT DOCUMENT FORMATTING SYSTEM, VERSION 3.32 -Version 3.31 of the Lout document formatting system is now available +Version 3.32 of the Lout document formatting system is now available (free of charge). The system reads a high-level description of a document similar in style to LaTeX and produces a PostScript, PDF or plain text output file. @@ -19,11 +19,11 @@ Lout is a high-level language, the outcome of an eight-year research project that went back to the beginning. Lout is written in highly portable ANSI C. It is distributed under the -GNU public license as follows: +GNU public license and is obtainable from - ftp://ftp.it.usyd.edu.au/jeff/lout/lout-3.31.tar.gz + ftp://ftp.it.usyd.edu.au/jeff/lout/lout-3.32.tar.gz -In other words, in a gzipped tar file called "lout-3.31.tar.gz" in the +In other words, in a gzipped tar file called "lout-3.32.tar.gz" in the "jeff/lout" subdirectory of the home directory of "ftp ftp.it.usyd.edu.au" with login name "ftp" or "anonymous" using any non-empty password. The distribution contains @@ -44,7 +44,7 @@ distribution contains For those who want to browse first, a PostScript version of the User's Guide may be found in the same ftp directory: - ftp://ftp.it.usyd.edu.au/jeff/lout/lout-3.31.user.ps.gz + ftp://ftp.it.usyd.edu.au/jeff/lout/lout-3.32.user.ps.gz Lout was created by Jeffrey H. Kingston (jeff@it.usyd.edu.au) of the School of Information Technologies at the University of Sydney. diff --git a/doc/design/README b/doc/design/README index 30170ee..d455d0e 100644 --- a/doc/design/README +++ b/doc/design/README @@ -7,19 +7,20 @@ language' which appeared in Software--Practice and Experience, vol 23, pp1001-1041 (September 1993). To produce the report, type the command - lout all > outfile.ps + lout -r3 all > outfile.ps -in this directory. This must be done three -times to completely resolve all cross references, -although the PostScript file outfile.ps is -printable after the first run. Auxiliary files -with .li and .ld suffixes will be created in -this directory. A copy of the final outfile.ps -is included. +in this directory. The -r3 flag causes Lout to +run over the document three times, which is +needed to completely resolve all cross references, +although a readable PostScript file outfile.ps +would be produced after one run if -r3 is omitted. +Auxiliary files with .li and .ld suffixes will be +created in this directory. A copy of the final +outfile.ps is included. The second and third runs should produce no error messages (although changing the paper size might produce one or two benign ones). Jeffrey H. Kingston -24 August 2005 +25 October 2006 diff --git a/doc/design/outfile.ps b/doc/design/outfile.ps index 37d59bd..f382219 100644 --- a/doc/design/outfile.ps +++ b/doc/design/outfile.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 -%%Creator: Basser Lout Version 3.31 (August 2005) -%%CreationDate: Wed Aug 24 10:16:35 2005 +%%Creator: Basser Lout Version 3.32 (October 2006) +%%CreationDate: Wed Oct 25 14:34:06 2006 %%DocumentData: Binary %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) @@ -12,8 +12,17 @@ %%EndComments %%BeginProlog %%BeginResource: procset LoutStartUp -/save_cp { currentpoint /cp_y exch def /cp_x exch def } def -/restore_cp { cp_x cp_y moveto } def +/cp_x 0 def +/cp_y 0 def +/louts 0 def +/loutv 0 def +/loutf 0 def +/ymark 0 def +/xmark 0 def +/ysize 0 def +/xsize 0 def +/save_cp { currentpoint /cp_y exch def /cp_x exch def } bind def +/restore_cp { cp_x cp_y moveto } bind def /outline { gsave 1 1 1 setrgbcolor dup show save_cp grestore true charpath stroke restore_cp } bind def /m { 3 1 roll moveto show } bind def @@ -28,10 +37,10 @@ /co { gsave 3 1 roll rmoveto outline grestore } bind def /ul { gsave setlinewidth dup 3 1 roll moveto lineto stroke grestore } bind def -/in { 1440 mul } def -/cm { 567 mul } def -/pt { 20 mul } def -/em { 120 mul } def +/in { 1440 mul } bind def +/cm { 567 mul } bind def +/pt { 20 mul } bind def +/em { 120 mul } bind def /sp { louts mul } def /vs { loutv mul } def /ft { loutf mul } def @@ -62,28 +71,30 @@ stopped pop } bind def +/PreEPSF_state 0 def +/dict_stack 0 def +/ops_count 0 def /LoutStartEPSF { % prepare for EPSF inclusion + /PreEPSF_state save def + /dict_stack countdictstack def + /ops_count count 1 sub def userdict begin - /PreEPSF_state save def - /dict_stack countdictstack def - /ops_count count 1 sub def - /showpage {} def - 0 setgray 0 setlinecap - 1 setlinewidth 0 setlinejoin - 10 setmiterlimit [] 0 setdash newpath - /languagelevel where - { pop languagelevel - 1 ne - { false setstrokeadjust false setoverprint - } if + /showpage {} def + 0 setgray 0 setlinecap + 1 setlinewidth 0 setlinejoin + 10 setmiterlimit [] 0 setdash newpath + /languagelevel where + { pop languagelevel + 1 ne + { false setstrokeadjust false setoverprint } if + } if } bind def /LoutEPSFCleanUp { % clean up after EPSF inclusion - count ops_count sub { pop } repeat - countdictstack dict_stack sub { end } repeat - PreEPSF_state restore - end % userdict + count ops_count sub { pop } repeat + countdictstack dict_stack sub { end } repeat + PreEPSF_state restore } bind def % Find current texture (may be null) @@ -152,7 +163,7 @@ setcolor } ifelse } ifelse -} def +} bind def % num LoutSetGray - /LoutSetGray @@ -161,7 +172,7 @@ [ /DeviceGray ] LoutCurrentP LoutSetCCSP -} def +} bind def % r g b LoutSetRGBColor - /LoutSetRGBColor @@ -170,7 +181,7 @@ [ /DeviceRGB ] LoutCurrentP LoutSetCCSP -} def +} bind def % h s b LoutSetHSBColor - /LoutSetHSBColor @@ -178,7 +189,7 @@ gsave sethsbcolor currentrgbcolor grestore LoutSetRGBColor -} def +} bind def % c m y k LoutSetRGBColor - /LoutSetCMYKColor @@ -187,7 +198,7 @@ [ /DeviceCMYK ] LoutCurrentP LoutSetCCSP -} def +} bind def % p LoutSetTexture - /LoutSetTexture @@ -195,7 +206,7 @@ LoutCurrentCCS 3 -1 roll LoutSetCCSP -} def +} bind def % % LoutMakeTexture p @@ -227,13 +238,13 @@ { pop pop null } ifelse -} def +} bind def /LoutTextureSolid { null LoutSetTexture -} def +} bind def %%EndResource %%BeginResource: procset LoutTabPrependGraphic @@ -1651,7 +1662,7 @@ grestore 4489(of)s 4760(Sydne)s 3(y)k 5530(2006,)s 4095 10020(Australia)m 3739 9568(27)m 4027(January)s 15(,)k 4863(1993)s 240 fnt2 0 8926(1.)m 291(Intr)s 4(oduction)k -[ /Dest /LOUT18_668_s1_0_1 /DEST pdfmark +[ /Dest /LOUT18_667_s1_0_1 /DEST pdfmark 240 fnt1 480 8495(Lout)m 985([1,)s 1284(2])s 1515(is)s 1718(a)s 1877(high-le)s 6(v)k 3(el)k 2885(language)s 3798(for)s 4129(document)s 5126(formatting,)s 6234(designed)s @@ -1794,7 +1805,7 @@ gsave grestore 0 13256(further)m 709(impro)s 3(v)k 3(ement.)k 240 fnt2 0 12463(2.)m 291(Objects)s -[ /Dest /LOUT18_668_s2_0_1 /DEST pdfmark +[ /Dest /LOUT18_667_s2_0_1 /DEST pdfmark 240 fnt1 480 11987(The)m 923(essence)s 1725(of)s 2011(an)s 3(y)k 2424(mo)s 3(v)k 3(e)k 3021(to)s 3276(a)s 3457(higher)s 4144(le)s 6(v)k 3(el)k @@ -6679,13 +6690,13 @@ grestore 2662 3918(f)m 240 fnt4 2823 3910(\))m 2973(\255)s 240 fnt3 3194 3918(width)m 240 fnt4 3733 3910(\()m 240 fnt3 3817 3918(i)m 240 fnt4 3892 3910(\))m -[ /Dest /LOUT12_1527_s2_4_1 /DEST pdfmark +[ /Dest /LOUT12_1579_s2_4_1 /DEST pdfmark 240 fnt3 480 3367(y)m 240 fnt4 666 3359(=)m 240 fnt3 879 3367(width)m 240 fnt4 1418 3359(\()m 240 fnt3 1502 3367(d)m 240 fnt4 1688 3359(\))m 1838(\255)s 240 fnt3 2059 3367(width)m 240 fnt4 2598 3359(\()m 240 fnt3 2682 3367(g)m 240 fnt4 2808 3359(\))m -[ /Dest /LOUT12_1527_s2_4_2 /DEST pdfmark +[ /Dest /LOUT12_1579_s2_4_2 /DEST pdfmark 240 fnt3 480 2816(z)m 240 fnt4 655 2808(=)m 240 fnt3 868 2816(width)m 240 fnt4 1407 2808(\()m 240 fnt3 1491 2816(b)m 240 fnt4 1617 2808(\))m @@ -6693,7 +6704,7 @@ grestore 240 fnt3 2611 2816(e)m 240 fnt4 2722 2808(\))m 2872(\255)s 240 fnt3 3093 2816(width)m 240 fnt4 3632 2808(\()m 240 fnt3 3716 2816(h)m 240 fnt4 3843 2808(\))m -[ /Dest /LOUT12_1527_s2_4_3 /DEST pdfmark +[ /Dest /LOUT12_1579_s2_4_3 /DEST pdfmark 240 fnt1 0 2312(It)m 224(seems)s 878(clear)s 1420(that)s 240 fnt3 1857 2314(y)m 240 fnt1 2038 2312(at)m 2289(least)s 2805(must)s 3349(appear)s @@ -7667,7 +7678,7 @@ grestore 4745(re)s 3(grettably)k 15(,)k 5868(it)s 6060(is)s 6270(not)s 6636(implemented.)s 240 fnt2 0 7547(3.)m 291(De\207nitions)s -[ /Dest /LOUT18_668_s3_0_1 /DEST pdfmark +[ /Dest /LOUT18_667_s3_0_1 /DEST pdfmark 240 fnt1 480 7116(The)m 936(need)s 1474(to)s 1741(pro)s 3(vide)k 2554(a)s 2748(means)s 3438(of)s 3737(packaging)s 4803(useful)s 5470(pieces)s 6146(of)s 6445(code)s 6982(for)s 7348(easy)s @@ -8704,7 +8715,7 @@ grestore 6696(the)s 7076(mer)s 4(ging)k 7954(of)s 8257(passes)s 8952(2)s 0 9082(and)m 404(3.)s 240 fnt2 0 8338(5.)m 291(Galleys)s -[ /Dest /LOUT18_668_s5_0_1 /DEST pdfmark +[ /Dest /LOUT18_667_s5_0_1 /DEST pdfmark 240 fnt1 480 7861(W)m 9(ith)k 1022(objects)s 1767(and)s 2188(de\207nitions)s 3266(under)s 3888(control,)s 4689(the)s 5053(author)s 5741(f)s 2(aced)k 6331(the)s 6696(problem)s @@ -11689,7 +11700,7 @@ gsave grestore 240 fnt2 0 12672(6.)m 291(Cr)s 4(oss)k 926(r)s 4(efer)k 4(ences)k -[ /Dest /LOUT18_668_s6_0_1 /DEST pdfmark +[ /Dest /LOUT18_667_s6_0_1 /DEST pdfmark 240 fnt1 480 12240(Cross)m 1064(references,)s 2138(such)s 2622(as)s 2859(`see)s 3286(page)s 3782(57')s 4121(and)s 4512(`see)s 4940(Figure)s 5607(5,)s 16(')k @@ -12171,7 +12182,7 @@ gsave grestore 0 13253(more)m 547(is)s 757(required.)s 240 fnt2 0 12460(7.)m 291(Conclusion)s -[ /Dest /LOUT18_668_s7_0_1 /DEST pdfmark +[ /Dest /LOUT18_667_s7_0_1 /DEST pdfmark 240 fnt1 480 12028(Since)m 1054(its)s 1316(public)s 1953(release)s 2657(in)s 2886(October)s 3702(1991,)s 4275(the)s 4609(Basser)s 5292(Lout)s 5790(interpreter)s 6829(has)s @@ -12352,7 +12363,7 @@ grestore 1668(of)s 1939(Computer)s 2956(Science,)s 3806(The)s 4234(Uni)s 6(v)k 3(ersity)k 5288(of)s 5559(Sydne)s 3(y)k 15(,)k 6367(Australia)s 7242(.)s -[ /Dest /LOUT12_1527_s7_0_1 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_1 /DEST pdfmark 0 11716(2.)m 480(Kingston,)s 1492(Jef)s 6(fre)k 3(y)k 2227(H..)s 2652(A)s 2910(ne)s 6(w)k 3385(approach)s 4347(to)s 4613(document)s 5645(formatting)s 6646(.)s 6838(T)s 16(ech.)k @@ -12360,7 +12371,7 @@ grestore 1177(Department)s 2365(of)s 2636(Computer)s 3653(Science,)s 4503(The)s 4931(Uni)s 6(v)k 3(ersity)k 5985(of)s 6256(Sydne)s 3(y)k 15(,)k 7064(Australia)s 7939(.)s -[ /Dest /LOUT12_1527_s7_0_2 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_2 /DEST pdfmark 0 10925(3.)m 480(Kingston,)s 1491(Jef)s 6(fre)k 3(y)k 2224(H..)s 2647(The)s 3101(Basser)s 3824(Lout)s 4362(Document)s 5445(F)s 3(ormatter)k 6383(,)s 6516(1991)s 6971(.)s @@ -12376,7 +12387,7 @@ grestore 1388(for)s 1726(non-)s 240 fnt3 2154 10063(ftp)m 240 fnt1 2459 10061(sites.)m 3047(All)s 3407(enquiries)s 4334(to)s 4573(jef)s 6(f@cs.su.oz.au.)k -[ /Dest /LOUT12_1527_s7_0_3 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_3 /DEST pdfmark 0 9558(4.)m 480(Furuta,)s 1211(Richard,)s 2075(Sco\207eld,)s 2965(Jef)s 6(fre)k 3(y)k 15(,)k 3710(and)s 4113(Sha)s 3(w)k 15(,)k 4734(Alan.)s 5363(Document)s 6419(formatting)s 7480(systems:)s 8402(surv)s 3(e)k 3(y)k 15(,)k @@ -12384,14 +12395,14 @@ grestore 2554 9272(Computing)m 3673(Surve)s 7(ys)k 240 fnt2 4465 9269(14)m 240 fnt1 4699 9270(,)m 4806(417\211472)s 5700(\(1982\))s 6327(.)s -[ /Dest /LOUT12_1527_s7_0_4 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_4 /DEST pdfmark 0 8765(5.)m 480(K)s 6(ernighan,)k 1645(Brian)s 2287(W)s 22(.)k 2649(and)s 3107(Cherry)s 15(,)k 3917(Lorinda)s 4789(L..)s 5213(A)s 5497(system)s 6275(for)s 6667(typesetting)s 7824(mathematics)s 9022(.)s 240 fnt3 480 8479(Communications)m 2158(of)s 2439(the)s 2784(A)s 7(CM)k 240 fnt2 3351 8476(18)m 240 fnt1 3585 8477(,)m 3692(182\211193)s 4576(\(1975\))s 5203(.)s -[ /Dest /LOUT12_1527_s7_0_5 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_5 /DEST pdfmark 0 7977(6.)m 480(Kingston,)s 1488(Jef)s 6(fre)k 3(y)k 2218(H..)s 2638(Fig)s 3033(\211)s 3236(a)s 3425(Lout)s 3961(package)s @@ -12401,7 +12412,7 @@ grestore 3653(Science,)s 4503(The)s 4931(Uni)s 6(v)k 3(ersity)k 5985(of)s 6256(Sydne)s 3(y)k 15(,)k 7064(Australia)s 7939(.)s -[ /Dest /LOUT12_1527_s7_0_6 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_6 /DEST pdfmark 0 7184(7.)m 480(Reid,)s 1042(Brian)s 1633(K..)s 2033(A)s 2266(High-)s 2813(Le)s 6(v)k 3(el)k 3406(Approach)s 4410(to)s 4652(Computer)s 5672(Document)s 6732(Production)s @@ -12412,19 +12423,19 @@ grestore 7527(\(POPL\),)s 8377(Las)s 8780(V)s 26(e)k 8999(-)s 480 6610(gas)m 868(NV)s 240 fnt1 1192 6608(,)m 1299(pages)s 1895(24\21131)s 2470(,)s 2577(1980)s 3052(.)s -[ /Dest /LOUT12_1527_s7_0_7 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_7 /DEST pdfmark 0 6103(8.)m 480(Joseph)s 1207(F)s 19(.)k 1443(Ossanna.)s 2436(Nrof)s 6(f/T)k 8(rof)k 6(f)k 3605(User')s 13(s)k 4284(Manual)s 5010(.)s 5193(T)s 16(ech.)k 5777(Rep.)s 6285(54)s 6597(\(1976\))s 7224(,)s 7349(Bell)s 7821(Laboratories)s 9019(,)s 480 5815(Murray)m 1251(Hill,)s 1729(NJ)s 2051(07974)s 2645(.)s -[ /Dest /LOUT12_1527_s7_0_8 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_8 /DEST pdfmark 0 5310(9.)m 480(Knuth,)s 1186(Donald)s 1949(E..)s 240 fnt3 2319 5312(The)m 2731(T)s 2882 5264(E)m 3033 5312(XBook)m 240 fnt1 3675 5310(.)m 3839(Addison-W)s 19(esle)k 3(y)k 5419(,)s 5526(1984)s 6000(.)s -[ /Dest /LOUT12_1527_s7_0_9 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_9 /DEST pdfmark 0 4807(10.)m 480(Kingston,)s 1485(Jef)s 6(fre)k 3(y)k 2212(H..)s 2629(Eq)s 2973(\211)s 3173(a)s 3359(Lout)s 3892(package)s 4752(for)s @@ -12435,7 +12446,7 @@ grestore 8147(Australia)s 9022(.)s 480 4231(\(Contains)m 1461(an)s 1744(appendix)s 2677(describing)s 3726(the)s 4074(P)s 3(as)k 4454(P)s 3(ascal)k 5116(formatter)s 13(.\))k -[ /Dest /LOUT12_1527_s7_0_10 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_10 /DEST pdfmark 0 3728(11.)m 480(Kingston,)s 1478(Jef)s 6(fre)k 3(y)k 2198(H..)s 2608(A)s 2851(be)s 3(ginners')k 3903(guide)s 4504(to)s 4756(Lout)s 5208(.)s 5385(T)s 16(ech.)k @@ -12444,7 +12455,7 @@ grestore 2306(Science,)s 3156(The)s 3584(Uni)s 6(v)k 3(ersity)k 4638(of)s 4909(Sydne)s 3(y)k 15(,)k 5717(Australia)s 6592(.)s -[ /Dest /LOUT12_1527_s7_0_11 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_11 /DEST pdfmark 0 2937(12.)m 480(Kingston,)s 1475(Jef)s 6(fre)k 3(y)k 2193(H..)s 2600(T)s 19(ab)k 3017(\211)s 3207(a)s 3384(Lout)s 3907(package)s 4757(for)s 5106(formatting)s 6177(tables)s @@ -12453,13 +12464,13 @@ grestore 2636(Computer)s 3653(Science,)s 4503(The)s 4931(Uni)s 6(v)k 3(ersity)k 5985(of)s 6256(Sydne)s 3(y)k 15(,)k 7064(Australia)s 7939(.)s -[ /Dest /LOUT12_1527_s7_0_12 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_12 /DEST pdfmark 0 2146(13.)m 480(Brooks,)s 1279(K)s 6(enneth)k 2141(P)s 26(..)k 2472(Lilac:)s 3068(a)s 3234(tw)s 2(o-vie)k 6(w)k 4183(document)s 5187(editor)s 5744(.)s 240 fnt3 5908 2148(IEEE)m 6490(Computer)s 240 fnt1 7453 2146(,)m 7560(7\21119)s 8091(\(1991\))s 8718(.)s -[ /Dest /LOUT12_1527_s7_0_13 /DEST pdfmark +[ /Dest /LOUT12_1579_s7_0_13 /DEST pdfmark grestore 0 0 0 0 240 288 60 1417 -15423 LoutGr2 diff --git a/doc/expert/README b/doc/expert/README index 57b8745..116fa64 100644 --- a/doc/expert/README +++ b/doc/expert/README @@ -4,14 +4,15 @@ This directory contains the Lout source files for the Expert's Guide to the Lout Document Formatting System. To produce the Guide, type the command - lout all > outfile.ps + lout -r4 all > outfile.ps -in this directory. This must be done four times to completely resolve -all cross references, although the PostScript file outfile.ps is -printable after the first run. Auxiliary files with .li and .ld -suffixes will be created in this directory. A copy of the final -outfile.ps is included. There should be no warning messages on -the fifth run, except this one: +in this directory. The -r4 flag causes Lout to run over the document +four times. This is necessary to completely resolve all cross +references, although a readable PostScript file outfile.ps would +be generated after a single run if -r4 was omitted. Auxiliary files +with .li and .ld suffixes will be created in this directory. A copy +of the final outfile.ps is included. There should be no warning +messages on the fourth run, except this one: lout file "pre_conc" (from "pre" line 7, from "all" line 25): 162,1: 13.2c object too high for 8.7c space; will try elsewhere @@ -20,4 +21,4 @@ which just warns about a figure that is not able to be placed on the first possible page, and so has to appear on the next page. Jeffrey H. Kingston -24 August 2005 +25 October 2006 diff --git a/doc/expert/all b/doc/expert/all index f00ffe9..83e9a55 100644 --- a/doc/expert/all +++ b/doc/expert/all @@ -11,9 +11,9 @@ Lout Document Formatting System } @Author { Jeffrey H. Kingston } - @Edition { Version 3.31 -August, 2005 } - @Publisher { @I { @CopyRight Copyright 1991, 2005, Jeffrey + @Edition { Version 3.32 +October, 2006 } + @Publisher { @I { @CopyRight Copyright 1991, 2006, Jeffrey H. Kingston, School of Information Technologies, The University of Sydney 2006, Australia.} } @InitialLanguage { English } diff --git a/doc/expert/outfile.ps b/doc/expert/outfile.ps index 5b28002..7bca7d7 100644 --- a/doc/expert/outfile.ps +++ b/doc/expert/outfile.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 -%%Creator: Basser Lout Version 3.31 (August 2005) -%%CreationDate: Wed Aug 24 10:26:03 2005 +%%Creator: Basser Lout Version 3.32 (October 2006) +%%CreationDate: Wed Oct 25 14:19:36 2006 %%DocumentData: Binary %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) @@ -12,8 +12,17 @@ %%EndComments %%BeginProlog %%BeginResource: procset LoutStartUp -/save_cp { currentpoint /cp_y exch def /cp_x exch def } def -/restore_cp { cp_x cp_y moveto } def +/cp_x 0 def +/cp_y 0 def +/louts 0 def +/loutv 0 def +/loutf 0 def +/ymark 0 def +/xmark 0 def +/ysize 0 def +/xsize 0 def +/save_cp { currentpoint /cp_y exch def /cp_x exch def } bind def +/restore_cp { cp_x cp_y moveto } bind def /outline { gsave 1 1 1 setrgbcolor dup show save_cp grestore true charpath stroke restore_cp } bind def /m { 3 1 roll moveto show } bind def @@ -28,10 +37,10 @@ /co { gsave 3 1 roll rmoveto outline grestore } bind def /ul { gsave setlinewidth dup 3 1 roll moveto lineto stroke grestore } bind def -/in { 1440 mul } def -/cm { 567 mul } def -/pt { 20 mul } def -/em { 120 mul } def +/in { 1440 mul } bind def +/cm { 567 mul } bind def +/pt { 20 mul } bind def +/em { 120 mul } bind def /sp { louts mul } def /vs { loutv mul } def /ft { loutf mul } def @@ -62,28 +71,30 @@ stopped pop } bind def +/PreEPSF_state 0 def +/dict_stack 0 def +/ops_count 0 def /LoutStartEPSF { % prepare for EPSF inclusion + /PreEPSF_state save def + /dict_stack countdictstack def + /ops_count count 1 sub def userdict begin - /PreEPSF_state save def - /dict_stack countdictstack def - /ops_count count 1 sub def - /showpage {} def - 0 setgray 0 setlinecap - 1 setlinewidth 0 setlinejoin - 10 setmiterlimit [] 0 setdash newpath - /languagelevel where - { pop languagelevel - 1 ne - { false setstrokeadjust false setoverprint - } if + /showpage {} def + 0 setgray 0 setlinecap + 1 setlinewidth 0 setlinejoin + 10 setmiterlimit [] 0 setdash newpath + /languagelevel where + { pop languagelevel + 1 ne + { false setstrokeadjust false setoverprint } if + } if } bind def /LoutEPSFCleanUp { % clean up after EPSF inclusion - count ops_count sub { pop } repeat - countdictstack dict_stack sub { end } repeat - PreEPSF_state restore - end % userdict + count ops_count sub { pop } repeat + countdictstack dict_stack sub { end } repeat + PreEPSF_state restore } bind def % Find current texture (may be null) @@ -152,7 +163,7 @@ setcolor } ifelse } ifelse -} def +} bind def % num LoutSetGray - /LoutSetGray @@ -161,7 +172,7 @@ [ /DeviceGray ] LoutCurrentP LoutSetCCSP -} def +} bind def % r g b LoutSetRGBColor - /LoutSetRGBColor @@ -170,7 +181,7 @@ [ /DeviceRGB ] LoutCurrentP LoutSetCCSP -} def +} bind def % h s b LoutSetHSBColor - /LoutSetHSBColor @@ -178,7 +189,7 @@ gsave sethsbcolor currentrgbcolor grestore LoutSetRGBColor -} def +} bind def % c m y k LoutSetRGBColor - /LoutSetCMYKColor @@ -187,7 +198,7 @@ [ /DeviceCMYK ] LoutCurrentP LoutSetCCSP -} def +} bind def % p LoutSetTexture - /LoutSetTexture @@ -195,7 +206,7 @@ LoutCurrentCCS 3 -1 roll LoutSetCCSP -} def +} bind def % % LoutMakeTexture p @@ -227,13 +238,13 @@ { pop pop null } ifelse -} def +} bind def /LoutTextureSolid { null LoutSetTexture -} def +} bind def %%EndResource %%BeginResource: procset LoutTabPrependGraphic @@ -1583,9 +1594,9 @@ grestore 2215(Exper)s -24(t')k 30(s)k 4518(Guide)s 6258(to)s 6902(the)s 3956 10685(Lout)m 616 9245(Document)m 3500(F)s 18(or)k -15(matting)k 6490(System)s 240 fnt2 3544 6059(Jeffre)m 4(y)k 4321(H.)s -4606(Kingston)s 3902 4395(V)m 19(ersion)k 4745(3.31)s 3847 4107(A)m 7(ugust,)k -4697(2005)s 240 fnt4 0 342(\343)m 240 fnt3 241 340(Cop)m 7(yr)k -3(ight)k -1345(1991,)s 1991(2005,)s 2638(Jeffre)s 4(y)k 3438(H.)s +4606(Kingston)s 3884 4395(V)m 19(ersion)k 4727(3.32)s 3796 4107(October)m 12(,)k +4746(2006)s 240 fnt4 0 342(\343)m 240 fnt3 241 340(Cop)m 7(yr)k -3(ight)k +1345(1991,)s 1991(2006,)s 2638(Jeffre)s 4(y)k 3438(H.)s 3726(Kingston,)s 4771(School)s 5587(of)s 5882(Inf)s 7(or)k -6(mation)k 7143(T)s 28(echnologies)k 3(,)k 8649(The)s 0 52(Univ)m 6(ersity)k 1134(of)s 1432(Sydne)s 4(y)k 2317(2006,)s 2966(A)s 7(ustr)k 2(alia.)k @@ -1663,11 +1674,11 @@ grestore [ /Rect [8510 9328 8614 9493] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTkingston1995lout_program /ANN pdfmark 8510(3)s 8614(])s 8722(and)s 0 9043(de)m 6(v)k 3(eloped)k -1043(continuously)s 2344(since)s 2902(then.)s 3488(This)s 3975(manual)s -4744(w)s 2(as)k 5175(rendered)s 6080(into)s 6515(PostScript)s +1041(continuously)s 2341(since)s 2897(then.)s 3482(This)s 3967(manual)s +4735(w)s 2(as)k 5164(rendered)s 6067(into)s 6501(PostScript)s -[ /Dest /LOUT19_4262_preface_1 /DEST pdfmark -7568(by)s 7872(V)s 26(ersion)k 8671(3.31)s 0 8755(of)m +[ /Dest /LOUT19_4263_preface_1 /DEST pdfmark +7552(by)s 7855(V)s 26(ersion)k 8652(3.32)s 0 8755(of)m 271(the)s 619(Basser)s 1316(Lout)s 1828(interpreter)s 9(,)k 2919(using)s 3491(the)s 3839(symbols)s 4688(described)s 5662(in)s 5905(the)s 6253(User')s 13(s)k 6914(Guide)s 7555([)s @@ -1724,7 +1735,7 @@ gsave grestore 480 fnt5 0 12955(Contents)m -[ /Dest /LOUT20_434_all_1 /DEST pdfmark +[ /Dest /LOUT20_433_all_1 /DEST pdfmark [ /Rect [0 11893 8346 12147] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTpreface /ANN pdfmark 240 fnt5 0 11982(Pr)m 4(eface)k 240 fnt1 1018 11983(..)m @@ -1910,8 +1921,8 @@ grestore 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8840 3541 9066 3709] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTspace /ANN pdfmark -8840(45)s +[ /Rect [8833 3541 9066 3708] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTspace /ANN pdfmark +8833(46)s [ /Rect [720 3109 8346 3363] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTyunit /ANN pdfmark 720 3199(3.6.)m 1184(@YUnit,)s 2110(@ZUnit,)s 3009(@CurrYUnit,)s 4373(and)s @@ -1935,14 +1946,14 @@ grestore 8242(..)s [ /Rect [8839 2506 9066 2671] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTtexture /ANN pdfmark 8839(48)s -[ /Rect [720 2074 8346 2327] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUToutline /ANN pdfmark +[ /Rect [720 2074 8346 2329] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUToutline /ANN pdfmark 720 2164(3.9.)m 1184(@Outline)s 2394(..)s 2738(..)s 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8835 2159 9066 2326] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUToutline /ANN pdfmark -8835(49)s +[ /Rect [8831 2161 9066 2329] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUToutline /ANN pdfmark +8831(50)s [ /Rect [720 1729 8346 1984] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTlanguage /ANN pdfmark 720 1819(3.10.)m 1304(@Language)s 2525(and)s 2929(@CurrLang)s 4458(..)s 4802(..)s 5146(..)s @@ -1964,16 +1975,16 @@ grestore 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8851 1126 9066 1294] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTwide /ANN pdfmark -8851(51)s +[ /Rect [8832 1126 9066 1294] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTwide /ANN pdfmark +8832(52)s [ /Rect [720 694 8346 949] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThshift /ANN pdfmark 720 784(3.13.)m 1304(@HShift)s 2222(and)s 2626(@VShift)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8851 781 9066 949] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThshift /ANN pdfmark -8851(51)s +[ /Rect [8832 781 9066 949] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThshift /ANN pdfmark +8832(52)s [ /Rect [720 349 8346 604] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThexpand /ANN pdfmark 720 439(3.14.)m 1304(@HExpand)s 2488(and)s 2892(@VExpand)s 4458(..)s 4802(..)s 5146(..)s @@ -1987,8 +1998,8 @@ grestore 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8832 91 9066 259] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThcontract /ANN pdfmark -8832(52)s +[ /Rect [8842 91 9066 259] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThcontract /ANN pdfmark +8842(53)s grestore 0 0 0 0 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet @@ -2045,8 +2056,8 @@ grestore 2675(@VScale)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8842 12524 9066 12692] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThscale /ANN pdfmark -8842(53)s +[ /Rect [8832 12524 9066 12692] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThscale /ANN pdfmark +8832(54)s [ /Rect [720 12092 8346 12347] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThmirror /ANN pdfmark 720 12182(3.19.)m 1304(@HMirror)s 2394(and)s 2798(@VMirror)s 4114(..)s @@ -2061,8 +2072,8 @@ grestore 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8832 11834 9066 12002] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThcover /ANN pdfmark -8832(54)s +[ /Rect [8840 11834 9066 12002] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThcover /ANN pdfmark +8840(55)s [ /Rect [720 11402 8346 11657] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUThspan /ANN pdfmark 720 11492(3.21.)m 1304(@StartHSpan,@StartVSpan,)s 4117(@StartHVSpan,)s 5720(@HSpan,)s 6700(and)s 7104(@VSpan)s 8242(..)s @@ -2083,24 +2094,24 @@ grestore 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8833 10799 9066 10967] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTrotate /ANN pdfmark -8833(56)s +[ /Rect [8838 10799 9066 10967] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTrotate /ANN pdfmark +8838(57)s [ /Rect [720 10367 8346 10622] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTbackground /ANN pdfmark 720 10457(3.24.)m 1304(@Background)s 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8838 10454 9066 10622] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTbackground /ANN pdfmark -8838(57)s +[ /Rect [8839 10454 9066 10622] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTbackground /ANN pdfmark +8839(58)s [ /Rect [720 10022 8346 10277] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTkernshrink /ANN pdfmark 720 10112(3.25.)m 1304(@K)s 6(ernShrink)k 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8838 10109 9066 10277] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTkernshrink /ANN pdfmark -8838(57)s +[ /Rect [8839 10109 9066 10277] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTkernshrink /ANN pdfmark +8839(58)s [ /Rect [720 9677 8346 9932] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTrump /ANN pdfmark 720 9767(3.26.)m 1304(@Common,)s 2524(@Rump,)s 3438(and)s 3842(@Meld)s 5146(..)s 5490(..)s 5834(..)s @@ -2108,14 +2119,14 @@ grestore 7898(..)s 8242(..)s [ /Rect [8839 9764 9066 9932] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTrump /ANN pdfmark 8839(58)s -[ /Rect [720 9332 8346 9587] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTinsert /ANN pdfmark +[ /Rect [720 9332 8346 9586] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTinsert /ANN pdfmark 720 9422(3.27.)m 1304(@Insert)s 2394(..)s 2738(..)s 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8835 9417 9066 9587] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTinsert /ANN pdfmark -8835(59)s +[ /Rect [8831 9419 9066 9586] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTinsert /ANN pdfmark +8831(60)s [ /Rect [720 8987 8346 9241] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUToneof /ANN pdfmark 720 9077(3.28.)m 1304(@OneOf)s 2738(..)s 3082(..)s 3426(..)s 3770(..)s @@ -2171,8 +2182,8 @@ grestore 2467(@ClearHeaderComponent)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8842 6716 9066 6883] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTheader_comp /ANN pdfmark -8842(63)s +[ /Rect [8832 6716 9066 6883] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTheader_comp /ANN pdfmark +8832(64)s [ /Rect [720 6284 8346 6539] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTnotrevealed /ANN pdfmark 720 6374(3.35.)m 1304(@NotRe)s 6(v)k 3(ealed)k 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s @@ -2209,8 +2220,8 @@ grestore 2748(@LinkDest,)s 3966(and)s 4370(@URLLink)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8838 4991 9066 5158] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTlink_source /ANN pdfmark -8838(67)s +[ /Rect [8839 4991 9066 5158] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTlink_source /ANN pdfmark +8839(68)s [ /Rect [720 4559 8346 4813] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTdatabase /ANN pdfmark 720 4649(3.40.)m 1304(@Database and @SysDatabase)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s @@ -2218,28 +2229,28 @@ grestore [ /Rect [8835 4644 9066 4813] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTdatabase /ANN pdfmark 8835(69)s -[ /Rect [720 4214 8346 4468] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTgraphic /ANN pdfmark +[ /Rect [720 4214 8346 4467] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTgraphic /ANN pdfmark 720 4304(3.41.)m 1304(@Graphic)s 2738(..)s 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8835 4299 9066 4468] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTgraphic /ANN pdfmark -8835(69)s +[ /Rect [8831 4301 9066 4466] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTgraphic /ANN pdfmark +8831(70)s [ /Rect [720 3869 8346 4122] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTplaingraphic /ANN pdfmark 720 3959(3.42.)m 1304(@PlainGraphic)s 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8842 3956 9066 4121] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTplaingraphic /ANN pdfmark -8842(73)s +[ /Rect [8832 3958 9066 4121] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTplaingraphic /ANN pdfmark +8832(74)s [ /Rect [720 3524 8346 3777] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTincludegraphic /ANN pdfmark 720 3614(3.43.)m 1304(@IncludeGraphic)s 3065(and)s 3469(@SysIncludeGraphic)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8842 3611 9066 3776] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTincludegraphic /ANN pdfmark -8842(73)s +[ /Rect [8832 3613 9066 3776] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTincludegraphic /ANN pdfmark +8832(74)s [ /Rect [720 3179 8346 3432] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTincludegraphicrepeated /ANN pdfmark 720 3269(3.44.)m 1304(@IncludeGraphicRepeated)s 3960(and)s 4364(@SysIncludeGraphicRepeated)s 7554(..)s 7898(..)s 8242(..)s @@ -2280,8 +2291,8 @@ grestore 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8838 1543 9066 1702] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTunderline /ANN pdfmark -8838(77)s +[ /Rect [8839 1541 9066 1706] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTunderline /ANN pdfmark +8839(78)s [ /Rect [720 1109 8346 1364] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTpagelabel /ANN pdfmark 720 1199(3.50.)m 1304(@P)s 3(ageLabel)k 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s @@ -2396,23 +2407,23 @@ grestore 8242(..)s [ /Rect [8722 10605 9066 10770] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTtex /ANN pdfmark 8722(103)s -[ /Rect [0 9890 8346 10144] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT20_498_all_1 /ANN pdfmark +[ /Rect [0 9890 8346 10144] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT20_497_all_1 /ANN pdfmark 240 fnt5 0 9979(Refer)m 4(ences)k 240 fnt1 1362 9980(..)m 1706(..)s 2050(..)s 2394(..)s 2738(..)s 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8719 9977 9066 10142] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT20_498_all_1 /ANN pdfmark +[ /Rect [8719 9977 9066 10142] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT20_497_all_1 /ANN pdfmark 8719(108)s -[ /Rect [0 9264 8346 9516] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT20_555_all_1 /ANN pdfmark +[ /Rect [0 9264 8346 9516] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT20_554_all_1 /ANN pdfmark 240 fnt5 0 9353(Index)m 240 fnt1 1018 9354(..)m 1362(..)s 1706(..)s 2050(..)s 2394(..)s 2738(..)s 3082(..)s 3426(..)s 3770(..)s 4114(..)s 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -[ /Rect [8715 9349 9066 9516] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT20_555_all_1 /ANN pdfmark +[ /Rect [8715 9349 9066 9516] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT20_554_all_1 /ANN pdfmark 8715(109)s grestore 0 0 0 0 240 288 60 1417 -14887 LoutGr2 @@ -2576,13 +2587,13 @@ grestore 3251(little)s 3747(more)s 4298(complicated)s 5528(than)s 6001(rectangles:)s 240 fnt6 7079 382(objects.)m 240 fnt1 7914 380(An)m 8268(object)s -[ /Dest /LOUT19_4262_pri_obje_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_obje_1 /DEST pdfmark 8916(is)s 0 92(a)m 176(rectangle)s 1118(with)s 1611(at)s 1854(least)s 2362(one)s 240 fnt6 2775 94(column)m 3545(mark)s -[ /Dest /LOUT19_4262_pri_obje_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_obje_2 /DEST pdfmark -[ /Dest /LOUT19_4262_pri_obje_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_obje_3 /DEST pdfmark 240 fnt1 4112 92(protruding)m 5186(abo)s 3(v)k 3(e)k 5819(and)s 6234(belo)s 6(w)k 6878(it,)s 7128(and)s 7543(at)s 7786(least)s 8294(one)s 240 fnt6 8707 94(r)m 10(ow)k @@ -2640,7 +2651,7 @@ gsave 0 LoutMargSet grestore 240 fnt6 0 13205(mark)m -[ /Dest /LOUT19_4262_pri_obje_4 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_obje_4 /DEST pdfmark 240 fnt1 557 13203(protruding)m 1621(to)s 1861(the)s 2211(left)s 2589(and)s 2994(right.)s 3611(The)s 4040(simplest)s 4897(objects)s 5627(contain)s 6389(w)s 2(ords)k @@ -2925,7 +2936,7 @@ grestore end end restore grestore -[ /Dest /LOUT19_4262_pri_obje_5 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_obje_5 /DEST pdfmark 0 2287(There)m 655(are)s 1044(se)s 6(v)k 3(eral)k 1808(things)s 2486(to)s 2768(note)s 3278(carefully)s 4222(here.)s 4839(White)s 5522(space)s @@ -3015,7 +3026,7 @@ grestore 840(enclosing)s 1836(an)s 2145(object)s 2815(in)s 3085(braces,)s 3828(it)s 4046(is)s 4282(possible)s 5148(to)s 5414(o)s 3(v)k 3(erride)k 6286(the)s -[ /Dest /LOUT19_4262_pri_obje_6 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_obje_6 /DEST pdfmark 6660(set)s 7011(precedences.)s 8369(Here)s 8916(is)s 0 12917(another)m 777(e)s 3(xpression)k 1854(for)s 2192(the)s 2540(table)s 3060(abo)s 3(v)k 3(e,)k 3733(in)s @@ -3029,7 +3040,7 @@ grestore 1569(br)s 8(eaking)k 240 fnt1 2476 11260(occurs)m 3160(when)s 3746(an)s 4038(object)s 4692(is)s 4911(too)s 5280(wide)s 5810(to)s 6059(\207t)s -[ /Dest /LOUT19_4262_pri_obje_7 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_obje_7 /DEST pdfmark 6327(into)s 6762(the)s 7119(space)s 7716(a)s 4(v)k 6(ailable)k 8633(to)s 8882(it;)s 0 10972(by)m 286(breaking)s 1168(its)s 1436(paragraphs)s 2527(into)s @@ -3156,7 +3167,7 @@ grestore 1921(are)s 2252(such)s 2733(things)s 3353(as)s 3588(mar)s 4(gins)k 4389(and)s 4778(footnotes,)s 5759(for)s 6082(e)s 3(xample.)k 240 fnt6 7037 12486(De\207nitions)m -[ /Dest /LOUT19_4262_pri_defi_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_defi_1 /DEST pdfmark 240 fnt1 8127 12484(bridge)m 8778(the)s 0 12196(g)m 1(ap)k 397(between)s 1249(Lout')s 13(s)k 1910(general)s 2666(features)s 3470(and)s 3873(the)s 4219(special)s @@ -3192,7 +3203,7 @@ grestore 250(the)s 598(author)s 1269(did)s 1633(earlier)s 2301(in)s 2544(this)s 2940(paragraph.)s 480 7306(A)m 240 fnt6 706 7308(symbol)m -[ /Dest /LOUT19_4262_pri_defi_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_defi_2 /DEST pdfmark 240 fnt1 1440 7306(is)m 1646(a)s 1808(name,)s 2429(lik)s 2(e)k 220 fnt2 2837 7303(@T)m 26(eX)k 240 fnt1 3432 7306(,)m 3535(which)s 4172(stands)s 4817(for)s 5151(something)s 6197(other)s @@ -3206,12 +3217,12 @@ grestore 2629(says)s 3090(what)s 3613(the)s 3959(symbol)s 4717(stands)s 5364(for)s 13(.)k 5791(The)s 240 fnt6 6217 6732(body)m 240 fnt1 6737 6730(of)m 7006(a)s 7170(de\207nition)s -[ /Dest /LOUT19_4262_pri_defi_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_defi_3 /DEST pdfmark 8142(is)s 8350(the)s 8695(part)s 0 6442(follo)m 6(wing)k 977(the)s 1325(name,)s 1950(between)s 2804(the)s 3152(braces.)s 3926(T)s 19(o)k 240 fnt6 4226 6444(in)m 9(vok)k 2(e)k -[ /Dest /LOUT19_4262_pri_defi_4 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_defi_4 /DEST pdfmark 240 fnt1 4892 6442(a)m 5058(symbol)s 5818(is)s 6028(to)s 6267(mak)s 2(e)k 6839(use)s 7214(of)s 7485(it.)s 480 6068(Another)m 1324(e)s 3(xpression)k @@ -3236,7 +3247,7 @@ grestore 1963(that)s 220 fnt2 2398 1482(@Super)m 240 fnt1 3283 1485(has)m 3669(tw)s 2(o)k 240 fnt6 4096 1487(par)m 3(ameter)k 2(s)k 240 fnt1 5176 1485(,)m -[ /Dest /LOUT19_4262_pri_defi_5 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_defi_5 /DEST pdfmark 220 fnt2 5300 1482(x)m 240 fnt1 5485 1485(and)m 220 fnt2 5906 1482(y)m 240 fnt1 6014 1485(.)m 6194(When)s 220 fnt2 6840 1482(@Super)m 240 fnt1 7725 1485(is)m @@ -3315,7 +3326,7 @@ grestore 4934(a)s 5103(peculiarly)s 6115(circular)s 6905(thing)s 7453(to)s 7695(do)s 7991(which)s 8636(goes)s 0 11492(by)m 294(the)s 642(name)s 1216(of)s -[ /Dest /LOUT19_4262_pri_defi_6 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_defi_6 /DEST pdfmark 240 fnt6 1487 11494(r)m 8(ecur)k 2(sion.)k 240 fnt1 2548 11492(Here)m 3068(is)s 3278(an)s 3561(e)s 3(xample)k 4424(of)s 4695(a)s 4861(recursi)s 6(v)k 3(e)k @@ -3391,7 +3402,7 @@ grestore 6918(may)s 7379(be)s 7656(used)s 8148(to)s 8382(specify)s 0 1312(the)m 240 fnt6 348 1314(pa)m 2(g)k 2(e)k 863(layout)s -[ /Dest /LOUT19_4262_pri_defi_7 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_defi_7 /DEST pdfmark 240 fnt1 1525 1312(of)m 1796(a)s 1962(document.)s 3070(T)s 19(o)k 3370(be)s 3(gin)k 3956(with,)s 4488(we)s 4823(can)s 5212(de\207ne)s 5853(a)s 6019(page)s @@ -3768,7 +3779,7 @@ grestore [ /Dest /LOUTcross /DEST pdfmark 240 fnt1 480 8554(A)m 705(cross)s 1241(reference)s -[ /Dest /LOUT19_4262_pri_cros_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_cros_1 /DEST pdfmark 2178(in)s 2415(common)s 3304(terminology)s 4521(is)s 4725(something)s 5769(lik)s 2(e)k 6176(`see)s 6610(T)s 19(able)k 7185(6')s 7411(or)s 7664(`see)s @@ -3785,14 +3796,14 @@ grestore 2002(page)s 2510(63,)s 2857(and)s 3261(all)s 3554(the)s 3902(cross)s 4444(references)s 5475(must)s 6000(be)s 6282(changed.)s 480 7316(The)m 918(Scribe)s -[ /Dest /LOUT19_4262_pri_cros_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_cros_2 /DEST pdfmark 1594(document)s 2608(formatter)s 9(,)k 3603(de)s 6(v)k 3(eloped)k 4647(by)s 4951(Brian)s 5549(K.)s 5836(Reid)s 6357([)s [ /Rect [6428 7313 6541 7480] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTreid1980scribe /ANN pdfmark 6428(6)s 6541(],)s -[ /Dest /LOUT19_4262_pri_cros_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_cros_3 /DEST pdfmark 6737(introduced)s 7828(a)s 8004(scheme)s 8788(for)s 0 7028(k)m 2(eeping)k 804(track)s 1337(of)s 1603(cross)s 2140(references.)s 3279(It)s 3479(allo)s 6(ws)k 4143(you)s 4553(to)s 4787(gi)s 6(v)k 3(e)k @@ -3907,18 +3918,18 @@ grestore 3169(reference)s 4109(and)s 4511(ending)s 5213(at)s 5443(the)s 5788(top)s 6145(of)s 6413(the)s 6759(tar)s 4(get)k -[ /Dest /LOUT19_4262_pri_cros_4 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_cros_4 /DEST pdfmark 7355(in)s 9(v)k 4(ocation.)k 8513(Three)s 0 12631(special)m 715(v)s 6(alues)k 1367(may)s 1830(be)s 2108(gi)s 6(v)k 3(en)k 2685(to)s 2920(the)s 3264(right)s 3772(parameter)s 4782(of)s 220 fnt2 5050 12628(&&)m 240 fnt1 5338 12631(:)m 220 fnt2 5500 12628(preceding)m 240 fnt1 6451 12631(,)m 220 fnt2 6555 12628(f)m 6(ollo)k 3(wing)k 240 fnt1 7385 12631(,)m 7488(and)s -[ /Dest /LOUT19_4262_pri_cros_5 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_cros_5 /DEST pdfmark -[ /Dest /LOUT19_4262_pri_cros_6 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_cros_6 /DEST pdfmark -[ /Dest /LOUT19_4262_pri_cros_7 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_cros_7 /DEST pdfmark 220 fnt2 7888 12628(f)m 6(oll_or_prec)k 240 fnt1 9022 12631(.)m 0 12343(The)m 467(cross)s 1049(reference)s 220 fnt2 2032 12340(@T)m 26(ab)k 4(le&&preceding)k 240 fnt1 @@ -4155,7 +4166,7 @@ grestore 4801(to)s 5032(o)s 3(v)k 3(ercome)k 6017(these)s 6557(obstacles,)s 7532(is)s 7734(the)s 240 fnt6 8074 2610(galle)m 7(y)k -[ /Dest /LOUT19_4262_pri_gall_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_gall_1 /DEST pdfmark 240 fnt1 8699 2608(\(the)m 0 2320(name)m 564(is)s 764(borro)s 6(wed)k 1723(from)s 2237(the)s 2575(g)s 1(alle)k 3(ys)k 3288(used)s 3775(in)s 4008(manual)s 4757(typesetting\).)s 6039(A)s @@ -4406,7 +4417,7 @@ grestore 780(create)s 1405(a)s 1571(g)s 1(alle)k 3(y)k 15(,)k 2243(\207rst)s 2674(de\207ne)s 3315(a)s 3481(symbol)s 4241(with)s 4723(a)s 4889(special)s 220 fnt2 5607 3843(into)m -[ /Dest /LOUT19_4262_pri_gall_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_gall_2 /DEST pdfmark 240 fnt1 6013 3846(clause,)m 6717(lik)s 2(e)k 7129(this:)s 220 fnt2 480 3345(def @F)m 6(ootNote into { @F)k 6(ootPlace&&f)k 6(ollo)k 3(wing })k @@ -4429,7 +4440,7 @@ grestore 3196 749(which)m 3827(is)s 4027(the)s 240 fnt6 4364 751(tar)m 8(g)k 2(et)k 240 fnt1 4979 749(of)m 5239(a)s 5395(g)s 1(alle)k 3(y)k 15(,)k -[ /Dest /LOUT19_4262_pri_gall_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_gall_3 /DEST pdfmark 6056(must)s 6571(contain)s 7321(the)s 7659(special)s 8366(symbol)s 220 fnt2 0 458(@Galle)m 4(y)k 240 fnt1 898 461(e)m 3(xactly)k 1639(once)s 2147(in)s 2390(its)s 2666(body;)s 3258(often)s @@ -4504,7 +4515,7 @@ grestore 1726(it)s 1916(in)s 9(v)k 4(ok)k 2(es,)k 2752(is)s 2961(called)s 3587(a)s 240 fnt6 3752 11761(r)m 8(eceptive)k -[ /Dest /LOUT19_4262_pri_gall_4 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_gall_4 /DEST pdfmark 240 fnt1 4670 11759(symbol,)m 5481(meaning)s 6357(recepti)s 6(v)k 3(e)k 7277(to)s 7515(g)s 1(alle)k 3(ys.)k 220 fnt2 8350 11756(@F)m 6(oot)k 9002(-)s 0 11468(Place)m 240 fnt1 @@ -4529,7 +4540,7 @@ grestore 5233(e)s 3(xample)k 6089(document.)s 7190(Initially)s 7992(there)s 8518(is)s 8721(just)s 0 9945(the)m 348(one)s 240 fnt6 750 9947(r)m 10(oot)k -[ /Dest /LOUT19_4262_pri_gall_5 /DEST pdfmark +[ /Dest /LOUT19_4263_pri_gall_5 /DEST pdfmark 240 fnt1 1203 9945(g)m 1(alle)k 3(y)k 15(,)k 1875(containing)s 2938(an)s 3221(une)s 3(xpanded)k 4434(in)s 9(v)k 4(ocation)k 5488(of)s 220 fnt2 5759 9942(@P)m 8(ageList:)k 180 fnt2 @@ -5104,7 +5115,7 @@ grestore 2985(of)s 3249(a)s 3408(sequence)s 4334(of)s 240 fnt6 4598 10659(te)m 4(xtual)k 5297(units)s 240 fnt1 5757 10657(,)m -[ /Dest /LOUT19_4262_det_lexi_1 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_1 /DEST pdfmark 5857(which)s 6492(may)s 6951(be)s 7226(either)s 240 fnt6 7822 10659(white)m 8386(spaces)s 240 fnt1 9019 10657(,)m 240 fnt6 0 10371(identi\207er)m 2(s,)k 1047(delimiter)s 2(s,)k 240 fnt1 @@ -5112,17 +5123,17 @@ grestore 240 fnt1 3565 10369(.)m 3729(Each)s 4264(is)s 4474(a)s 4640(sequence)s 5573(of)s 240 fnt6 5844 10371(c)m 3(har)k 3(acter)k 2(s)k 240 fnt1 6914 10369(chosen)m 7636(from:)s -[ /Dest /LOUT19_4262_det_lexi_2 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_2 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_3 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_3 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_4 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_4 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_5 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_5 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_6 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_6 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_7 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_7 /DEST pdfmark 480 9831(letter)m 220 fnt2 1934 9828(@ab-zAB-Z_)m 240 fnt1 480 9543(white)m 1067(space)s 240 fnt6 1934 9545(space)m 2592(formfeed)s 3568(tab)s 3988(ne)s 3(wline)k @@ -5146,11 +5157,11 @@ grestore 698 6614(white)m 1256(space)s 240 fnt1 1841 6612(is)m 2038(a)s 2191(sequence)s 3111(of)s 3369(one)s 3758(or)s 4005(more)s 4539(white)s 5113(space)s 5687(characters.)s -[ /Dest /LOUT19_4262_det_lexi_8 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_8 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_9 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_9 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_10 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_10 /DEST pdfmark 6805(Lout)s 7304(treats)s 7858(the)s 8193(formfeed)s 0 6324(character)m 931(e)s 3(xactly)k 1668(lik)s 2(e)k 2076(the)s 2420(space)s 3003(character;)s @@ -5160,7 +5171,7 @@ grestore 240 fnt1 1635 5662(is)m 1844(a)s 2009(sequence)s 2941(of)s 3211(one)s 3612(or)s 3870(more)s 4415(`other')s 5096(characters)s 6113(which)s -[ /Dest /LOUT19_4262_det_lexi_11 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_11 /DEST pdfmark 6754(is)s 6963(the)s 7310(name)s 7883(of)s 8153(a)s 8317(symbol.)s 0 5374(F)m 3(or)k 417(e)s 3(xample,)k 220 fnt2 1360 5371({)m 240 fnt1 1512 5374(and)m 220 fnt2 @@ -5188,7 +5199,7 @@ grestore 3192(of)s 3488(one)s 3915(or)s 4199(more)s 4772(letters)s 5430(which)s 6097(is)s 6332(the)s 6705(name)s 7304(of)s 7600(a)s -[ /Dest /LOUT19_4262_det_lexi_12 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_12 /DEST pdfmark 7791(symbol.)s 8685(It)s 8916(is)s 0 1035(con)m 9(v)k 3(entional)k 1308(b)s 4(ut)k 1700(not)s 2096(essential)s 3003(to)s 3272(be)s 3(gin)k 3888(identi\207ers)s 4924(with)s 220 fnt2 @@ -5266,23 +5277,23 @@ grestore 480 12416(@Bac)m 4(kg)k 2(round)k 480 12128(@Begin)m 480 11840(@BeginHeaderComponent)m 480 11552(@Break)m 480 11264(@Case)m 480 10976(@ClearHeaderComponent)m 480 10688(@Common)m 480 10400(@Char)m 480 10112(@CurrF)m 11(ace)k 480 9824(@CurrF)m 11(amily)k 480 9536(@CurrLang)m -480 9248(@CurrYUnit)m 480 8814(@CurrZUnit)m 480 8526(@Database)m 480 8238(@End)m 480 7950(@EndHeaderComponent)m -480 7662(@Enclose)m 480 7374(@Filter)m 480 7086(@FilterErr)m 480 6798(@FilterIn)m 480 6510(@FilterOut)m -480 6222(@F)m 6(ont)k 480 5934(@F)m 6(orceGalle)k 4(y)k -480 5646(@Galle)m 4(y)k 480 5358(@Gr)m 2(aphic)k 480 5070(@HAdjust)m -480 4782(@HContr)m 2(act)k 480 4494(@HCo)m 3(v)k 5(er)k -480 4206(@HExpand)m 480 3918(@High)m 480 3630(@HLimited)m 480 3342(@HMirror)m 480 3054(@HScale)m -480 2766(@HShift)m 3361 12704(@HSpan)m 3361 12416(@Include)m 3361 12128(@IncludeGr)m 2(aphic)k +480 9248(@CurrYUnit)m 480 8768(@CurrZUnit)m 480 8480(@Database)m 480 8192(@End)m 480 7904(@EndHeaderComponent)m +480 7616(@Enclose)m 480 7328(@Filter)m 480 7040(@FilterErr)m 480 6752(@FilterIn)m 480 6464(@FilterOut)m +480 6176(@F)m 6(ont)k 480 5888(@F)m 6(orceGalle)k 4(y)k +480 5600(@Galle)m 4(y)k 480 5312(@Gr)m 2(aphic)k 480 5024(@HAdjust)m +480 4736(@HContr)m 2(act)k 480 4448(@HCo)m 3(v)k 5(er)k +480 4160(@HExpand)m 480 3872(@High)m 480 3584(@HLimited)m 480 3296(@HMirror)m 480 3008(@HScale)m +480 2720(@HShift)m 3361 12704(@HSpan)m 3361 12416(@Include)m 3361 12128(@IncludeGr)m 2(aphic)k 3361 11840(@IncludeGr)m 2(aphicRepeated)k 3361 11552(@Inser)m -8(t)k 3361 11264(@K)m 8(er)k -5(nShr)k -3(ink)k 3361 10976(@K)m 8(e)k 4(y)k 3361 10688(@Language)m 3361 10400(@LClos)m 3361 10112(@LEn)m 4(v)k 3361 9824(@LInput)m 3361 9536(@L)m 24(Vis)k -3361 9248(@LUse)m 3361 8814(@LinkSource)m 3361 8526(@LinkDest)m 3361 8238(@Meld)m 3361 7950(@Merge)m -3361 7662(@Min)m 2(us)k 3361 7374(@Moment)m 3361 7086(@Ne)m 6(xt)k -3361 6798(@NotRe)m 6(v)k 5(ealed)k 3361 6510(@Null)m 3361 6222(@OneCol)m -3361 5934(@OneOf)m 3361 5646(@OneRo)m 3(w)k 3361 5358(@Open)m 3361 5070(@Optimiz)m 3(e)k -3361 4782(@Outline)m 3361 4494(@P)m 26(Adjust)k 3361 4206(@P)m 8(ageLabel)k -3361 3918(@PlainGr)m 2(aphic)k 3361 3630(@Plus)m 3361 3342(@PrependGr)m 2(aphic)k -3361 3054(@Ra)m 4(wV)k 17(erbatim)k 3361 2766(@Rotate)m 6245 12704(@Rump)m +3361 9248(@LUse)m 3361 8768(@LinkSource)m 3361 8480(@LinkDest)m 3361 8192(@Meld)m 3361 7904(@Merge)m +3361 7616(@Min)m 2(us)k 3361 7328(@Moment)m 3361 7040(@Ne)m 6(xt)k +3361 6752(@NotRe)m 6(v)k 5(ealed)k 3361 6464(@Null)m 3361 6176(@OneCol)m +3361 5888(@OneOf)m 3361 5600(@OneRo)m 3(w)k 3361 5312(@Open)m 3361 5024(@Optimiz)m 3(e)k +3361 4736(@Outline)m 3361 4448(@P)m 26(Adjust)k 3361 4160(@P)m 8(ageLabel)k +3361 3872(@PlainGr)m 2(aphic)k 3361 3584(@Plus)m 3361 3296(@PrependGr)m 2(aphic)k +3361 3008(@Ra)m 4(wV)k 17(erbatim)k 3361 2720(@Rotate)m 6245 12704(@Rump)m 6245 12416(@Scale)m 6245 12128(@SetColor)m 6245 11840(@SetColour)m 6245 11552(@SetHeaderComponent)m 6245 11264(@Space)m 6245 10976(@Star)m -8(tHSpan)k 6245 10688(@Star)m -8(tHVSpan)k 6245 10400(@Star)m -8(tVSpan)k 6245 10112(@SysDatabase)m 6245 9824(@SysInclude)m 6245 9536(@SysIncludeGr)m 2(aphic)k gsave @@ -5291,54 +5302,54 @@ grestore 0 -57(@SysIncludeGr)m 2(aphicRepeat)k 2765(-)s grestore -6245 9006(ed)m 6245 8814(@SysPrependGr)m 2(aphic)k 6245 8526(@T)m 26(ag)k -6245 8238(@T)m 26(agged)k 6245 7950(@T)m 26(arget)k 6245 7662(@T)m 26(e)k 6(xture)k -6245 7374(@Under)m -3(line)k 6245 7086(@Use)m 6245 6798(@URLLink)m 6245 6510(@V)m 17(Adjust)k -6245 6222(@VContr)m 2(act)k 6245 5934(@VCo)m 3(v)k 5(er)k -6245 5646(@V)m 17(erbatim)k 6245 5358(@VExpand)m 6245 5070(@VLimited)m 6245 4782(@VMirror)m -6245 4494(@VScale)m 6245 4206(@VShift)m 6245 3918(@VSpan)m 6245 3630(@Wide)m 6245 3342(@Y)m 4(ield)k -6245 3054(@YUnit)m 6245 2766(@ZUnit)m 240 fnt1 0 2311(plus)m 498(the)s +6245 8960(ed)m 6245 8768(@SysPrependGr)m 2(aphic)k 6245 8480(@T)m 26(ag)k +6245 8192(@T)m 26(agged)k 6245 7904(@T)m 26(arget)k 6245 7616(@T)m 26(e)k 6(xture)k +6245 7328(@Under)m -3(line)k 6245 7040(@Use)m 6245 6752(@URLLink)m 6245 6464(@V)m 17(Adjust)k +6245 6176(@VContr)m 2(act)k 6245 5888(@VCo)m 3(v)k 5(er)k +6245 5600(@V)m 17(erbatim)k 6245 5312(@VExpand)m 6245 5024(@VLimited)m 6245 4736(@VMirror)m +6245 4448(@VScale)m 6245 4160(@VShift)m 6245 3872(@VSpan)m 6245 3584(@Wide)m 6245 3296(@Y)m 4(ield)k +6245 3008(@YUnit)m 6245 2720(@ZUnit)m 240 fnt1 0 2265(plus)m 498(the)s 894(names)s 1605(of)s 1924(the)s 2321(parameters)s 3467(of)s -220 fnt2 3786 2308(@Moment)m 240 fnt1 4798 2311(.)m 5011(The)s -5487(symbols)s 220 fnt2 6385 2308(@LClos)m 240 fnt1 7161 2311(,)m -220 fnt2 7316 2308(@LEn)m 4(v)k 240 fnt1 8034 2311(,)m +220 fnt2 3786 2262(@Moment)m 240 fnt1 4798 2265(.)m 5011(The)s +5487(symbols)s 220 fnt2 6385 2262(@LClos)m 240 fnt1 7161 2265(,)m +220 fnt2 7316 2262(@LEn)m 4(v)k 240 fnt1 8034 2265(,)m -[ /Dest /LOUT19_4262_det_lexi_13 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_13 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_14 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_14 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_15 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_15 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_16 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_16 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_17 /DEST pdfmark -220 fnt2 8190 2308(@LInput)m 240 fnt1 9019 2311(,)m 220 fnt2 -0 2020(@L)m 24(Vis)k 240 fnt1 722 2023(and)m 220 fnt2 -1170 2020(@LUse)m 240 fnt1 2001 2023(appear)m 2742(in)s 3029(cross)s +[ /Dest /LOUT19_4263_det_lexi_17 /DEST pdfmark +220 fnt2 8190 2262(@LInput)m 240 fnt1 9019 2265(,)m 220 fnt2 +0 1974(@L)m 24(Vis)k 240 fnt1 722 1977(and)m 220 fnt2 +1170 1974(@LUse)m 240 fnt1 2001 1977(appear)m 2742(in)s 3029(cross)s 3615(reference)s 4602(databases)s 5613(generated)s 6644(by)s 6982(Lout)s -7538(and)s 7986(are)s 8377(not)s 8788(for)s 0 1735(use)m -375(else)s 6(where.)k 480 1361(A)m 728(sequence)s 1679(of)s +7538(and)s 7986(are)s 8377(not)s 8788(for)s 0 1689(use)m +375(else)s 6(where.)k 480 1315(A)m 728(sequence)s 1679(of)s 1968(characters)s 3004(which)s 3664(is)s 3892(neither)s 4633(a)s 4817(white)s 5422(space,)s 6078(an)s 6379(identi\207er)s 9(,)k 7357(nor)s 7754(a)s 7938(delimiter)s 9(,)k 8916(is)s -0 1073(by)m 304(def)s 2(ault)k 1036(a)s 240 fnt6 -1213 1075(liter)m 3(al)k 1864(wor)s 8(d)k 240 fnt1 -2355 1073(,)m 2473(which)s 3126(means)s 3799(that)s 4227(it)s +0 1027(by)m 304(def)s 2(ault)k 1036(a)s 240 fnt6 +1213 1029(liter)m 3(al)k 1864(wor)s 8(d)k 240 fnt1 +2355 1027(,)m 2473(which)s 3126(means)s 3799(that)s 4227(it)s 4430(will)s -[ /Dest /LOUT19_4262_det_lexi_18 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_18 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_19 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_19 /DEST pdfmark -[ /Dest /LOUT19_4262_det_lexi_20 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_20 /DEST pdfmark 4867(pass)s 5341(through)s 6154(Lout)s 6677(unchanged.)s -7890(An)s 8251(arbitrary)s 0 785(sequence)m 926(of)s 1190(characters)s +7890(An)s 8251(arbitrary)s 0 739(sequence)m 926(of)s 1190(characters)s 2201(enclosed)s 3089(in)s 3325(double)s 4026(quotes,)s 4751(for)s -5082(e)s 3(xample)k 220 fnt2 5938 782("{ }",)m 240 fnt1 -6457 785(is)m 6660(also)s 7091(a)s 7250(literal)s 7853(w)s 2(ord.)k -8499(Space)s 0 497(characters)m 1005(may)s 1458(be)s 1726(included,)s +5082(e)s 3(xample)k 220 fnt2 5938 736("{ }",)m 240 fnt1 +6457 739(is)m 6660(also)s 7091(a)s 7250(literal)s 7853(w)s 2(ord.)k +8499(Space)s 0 451(characters)m 1005(may)s 1458(be)s 1726(included,)s 2644(b)s 4(ut)k 2992(not)s 3345(tabs)s 3767(or)s 4013(ne)s 6(wlines.)k 5008(There)s 5607(are)s 5941(special)s -6645(character)s 7566(sequences,)s 8629(used)s 0 209(only)m 480(between)s +6645(character)s 7566(sequences,)s 8629(used)s 0 163(only)m 480(between)s 1334(quotes,)s 2066(for)s 2404(obtaining)s 3361(otherwise)s 4346(inaccessible)s 5556(characters:)s grestore @@ -5405,7 +5416,7 @@ grestore 698(e)s 3(xample,)k 220 fnt2 1612 11762("\\"@PP\\"")m 240 fnt1 2606 11765(produces)m 220 fnt2 3521 11762("@PP")m 240 fnt1 4177 11765(.)m 480 11391(When)m 1106(the)s 1451(comment)s 2398(character)s -[ /Dest /LOUT19_4262_det_lexi_21 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_21 /DEST pdfmark 220 fnt2 3328 11388(#)m 240 fnt1 3502 11391(is)m 3709(encountered,)s 4982(e)s 6(v)k 3(erything)k 6045(from)s 6566(that)s 6981(point)s 7530(to)s 7765(the)s @@ -5416,7 +5427,7 @@ grestore 240 fnt1 0 9819(for)m 338(temporarily)s 1506(deleting)s 2329(parts)s 2844(of)s 3115(the)s 3463(document,)s 4514(and)s 4918(so)s 5184(on.)s 240 fnt6 480 9447(Macr)m 10(os)k -[ /Dest /LOUT19_4262_det_lexi_22 /DEST pdfmark +[ /Dest /LOUT19_4263_det_lexi_22 /DEST pdfmark 240 fnt1 1268 9445(pro)m 3(vide)k 2064(a)s 2242(means)s 2916(of)s 3199(de\207ning)s 4049(symbols)s 4910(which)s 5564(stand)s 6139(for)s @@ -5474,9 +5485,9 @@ grestore 6496(ha)s 4(v)k 3(e)k 6989(an)s 3(y)k 7377(number)s 8159(of)s 240 fnt6 8421 3555(named)m 0 3267(par)m 3(ameter)k 2(s)k 240 fnt1 1080 3265(:)m -[ /Dest /LOUT19_4262_det_name_1 /DEST pdfmark +[ /Dest /LOUT19_4263_det_name_1 /DEST pdfmark -[ /Dest /LOUT19_4262_det_name_2 /DEST pdfmark +[ /Dest /LOUT19_4263_det_name_2 /DEST pdfmark 220 fnt2 480 2768(def @Chapter)m 480 2480( named @T)m 26(ag {})k 480 2192( named @Title {})m 480 1904( r)m -3(ight x)k 480 1616({)m 480 1328( ...)m 480 1040(})m 240 fnt1 0 546(Their)m 577(de\207nitions)s 1639(appear)s @@ -5485,7 +5496,7 @@ grestore 7517(each)s 8013(is)s 8224(follo)s 6(wed)k 0 258(by)m 293(a)s 240 fnt6 457 260(default)m 1183(value)s 240 fnt1 1753 258(between)m -[ /Dest /LOUT19_4262_det_name_3 /DEST pdfmark +[ /Dest /LOUT19_4263_det_name_3 /DEST pdfmark 2605(braces.)s 3377(When)s 220 fnt2 4004 255(@Chapter)m 240 fnt1 5066 258(is)m 5274(in)s 9(v)k 4(ok)k 2(ed,)k 6136(its)s 6411(named)s 7105(parameters)s 8201(are)s 8546(gi)s 6(v)k 3(en)k @@ -5573,7 +5584,7 @@ grestore 8405(def)s 2(ault)k 0 8956(v)m 6(alue)k 568(as)s 818(just)s 1223(described.)s 480 8582(A)m 719(named)s 220 fnt2 1424 8579(@T)m 26(ag)k 240 fnt1 2057 8582(parameter)m -[ /Dest /LOUT19_4262_det_name_4 /DEST pdfmark +[ /Dest /LOUT19_4263_det_name_4 /DEST pdfmark 3080(does)s 3580(not)s 3955(tak)s 2(e)k 4417(its)s 4702(def)s 2(ault)k 5433(v)s 6(alue)k 6010(from)s 6544(the)s 6901(de\207nition;)s @@ -5691,7 +5702,7 @@ grestore [ /Dest /LOUTvisibility /DEST pdfmark 240 fnt1 480 11359(A)m 710(de\207nition)s 1684(may)s 2150(contain)s -[ /Dest /LOUT19_4262_det_visi_1 /DEST pdfmark +[ /Dest /LOUT19_4263_det_visi_1 /DEST pdfmark 2911(other)s 3462(de\207nitions)s 4523(at)s 4755(the)s 5103(be)s 3(ginning)k 6111(of)s 6382(its)s 6658(body:)s 220 fnt2 480 10858(def @NineSquare)m 480 10570( r)m -3(ight x)k @@ -5801,9 +5812,9 @@ grestore 8270(simplest)s 0 2288(of)m 267(these)s 810(features)s 1611(is)s 1817(the)s 240 fnt6 2161 2290(body)m 2678(par)s 3(ameter)k 240 fnt1 3677 2288(,)m -[ /Dest /LOUT19_4262_det_visi_2 /DEST pdfmark +[ /Dest /LOUT19_4263_det_visi_2 /DEST pdfmark -[ /Dest /LOUT19_4262_det_visi_3 /DEST pdfmark +[ /Dest /LOUT19_4263_det_visi_3 /DEST pdfmark 3780(an)s 4059(alternati)s 6(v)k 3(e)k 5108(form)s 5628(of)s 5895(right)s 6401(parameter)s 13(.)k 7502(The)s 7926(Eq)s 8245(equation)s 0 2000(formatting)m 1053(package)s @@ -5884,7 +5895,7 @@ grestore 220 fnt2 274 9258(@Eq)m 240 fnt1 815 9261(in)m 1061(an)s 220 fnt2 1347 9258(e)m 6(xpor)k -8(t)k 240 fnt1 2018 9261(clause,)m -[ /Dest /LOUT19_4262_det_visi_4 /DEST pdfmark +[ /Dest /LOUT19_4263_det_visi_4 /DEST pdfmark 2725(preceding)s 3724(the)s 4075(de\207nition)s 5052(as)s 5305(sho)s 6(wn.)k 6092(Only)s 6628(e)s 3(xported)k 7523(symbols)s 8375(may)s 8844(be)s 0 8973(in)m 9(v)k 4(ok)k 2(ed)k @@ -5940,7 +5951,7 @@ grestore 7037(within)s 7770(a)s 8002(subsequent)s 0 3198(de\207nition)m 974(or)s 1233(macro)s 1883(by)s 2177(preceding)s 3173(it)s 3365(with)s 3847(an)s 220 fnt2 4130 3195(impor)m -8(t)k -[ /Dest /LOUT19_4262_det_visi_5 /DEST pdfmark +[ /Dest /LOUT19_4263_det_visi_5 /DEST pdfmark 240 fnt1 4803 3198(clause,)m 5507(lik)s 2(e)k 5919(this:)s 220 fnt2 480 2697(impor)m -8(t @Eq)k 480 2409(def p)m 6(ythag { sqr)k -8(t { x sup 2 + y sup 2 } })k @@ -6477,7 +6488,7 @@ grestore 240 fnt1 480 11647(Ev)m 3(ery)k 1131(symbol)s 1920(in)s 2192(Lout)s 2733(has)s 3132(a)s 240 fnt6 3327 11649(pr)m 8(ecedence)k 240 fnt1 4401 11647(,)m -[ /Dest /LOUT19_4262_det_prec_1 /DEST pdfmark +[ /Dest /LOUT19_4263_det_prec_1 /DEST pdfmark 4538(which)s 5209(is)s 5448(a)s 5643(positi)s 6(v)k 3(e)k 6476(whole)s 7146(number)s 13(.)k 8057(When)s 8716(tw)s 2(o)k 0 11359(symbols)m 849(compete)s @@ -6499,7 +6510,7 @@ grestore 7887(second)s 8651(rule.)s 0 9453(Each)m 545(symbol)s 1316(is)s 1537(either)s 240 fnt6 2151 9455(left-associative)m 240 fnt1 3659 9453(or)m -[ /Dest /LOUT19_4262_det_prec_2 /DEST pdfmark +[ /Dest /LOUT19_4263_det_prec_2 /DEST pdfmark 240 fnt6 3929 9455(right-associative)m 240 fnt1 5528 9453(.)m 5703(The)s 6142(v)s 6(alue)k 6720(of)s 220 fnt2 7002 9450(a)m 7180(op1)s 7564(b)s 7739(op2)s 8156(c)s 240 fnt1 @@ -6650,14 +6661,14 @@ grestore 0 7039(attrib)m 4(utes)k 935(determine)s 1946(the)s 2294(object')s 13(s)k 3088(\207nal)s 3568(appearance)s 4699(in)s 4942(the)s 5290(output.)s -[ /Dest /LOUT19_4262_det_size_1 /DEST pdfmark +[ /Dest /LOUT19_4263_det_size_1 /DEST pdfmark 480 6665(The)m 908(style)s 1415(of)s 1686(an)s 1969(object)s 2613(comprises)s 3633(the)s 3981(follo)s 6(wing:)k 0 6162(\213)m 480(Which)s 1175(font)s 1620(f)s 2(amily)k 15(,)k 2333(f)s 2(ace)k 2784(and)s 3188(size)s 3615(to)s 3854(use)s 4229(\(also)s 4746(de\207ning)s 5584(the)s 220 fnt2 5932 6159(f)m 240 fnt1 6050 6162(unit\);)m -[ /Dest /LOUT16_1527_det_size_1 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_1 /DEST pdfmark 0 5659(\213)m 480(Whether)s 1391(small)s 1991(capitals)s 2799(are)s 3175(in)s 3446(ef)s 6(fect)k 4070(or)s 4358(not,)s 4799(and)s 5231(also)s 5698(what)s @@ -6665,13 +6676,13 @@ grestore 8740(full)s 480 5371(capitals)m 1260(the)s 1608(small)s 2180(capitals)s 2960(are)s 3307(to)s 3546(ha)s 4(v)k 3(e;)k -[ /Dest /LOUT16_1527_det_size_2 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_2 /DEST pdfmark 0 4868(\213)m 480(What)s 1058(g)s 1(ap)k 1456(to)s 1695(replace)s 2440(a)s 2606(single)s 3233(space)s 3820(between)s 4674(tw)s 2(o)k 5084(objects)s 5812(by)s 6106(\(also)s 6623(de\207ning)s 7461(the)s 220 fnt2 7809 4865(s)m 240 fnt1 7972 4868(unit\);)m -[ /Dest /LOUT16_1527_det_size_3 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_3 /DEST pdfmark 0 4365(\213)m 480(The)s 900(interpretation)s 2235(to)s 2465(place)s 3017(on)s 3306(white)s 3884(space)s 4463(separating)s 5490(tw)s 2(o)k 5891(objects)s 6611(\()s 220 fnt2 @@ -6681,42 +6692,42 @@ grestore 855 4077(,)m 962(or)s 220 fnt2 1221 4074(te)m 6(x)k 240 fnt1 1566 4077(as)m 1816(in)s 2059(Section)s 2833(3.5\);)s -[ /Dest /LOUT16_1527_det_size_4 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_4 /DEST pdfmark 0 3583(\213)m 480(The)s 908(current)s 1644(v)s 6(alue)k 2212(of)s 2483(the)s 220 fnt2 2831 3580(y)m 240 fnt1 2999 3583(and)m 220 fnt2 3403 3580(z)m 240 fnt1 3567 3583(units)m 4083(of)s 4354(measurement)s 5688(\(Section)s 6541(3.6\);)s -[ /Dest /LOUT16_1527_det_size_5 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_5 /DEST pdfmark 0 3082(\213)m 480(The)s 908(kind)s 1392(of)s 1663(paragraph)s 2676(breaking)s 3566(to)s 3805(emplo)s 2(y)k 4575(\()s 220 fnt2 4648 3079(adjust)m 240 fnt1 5229 3082(,)m 220 fnt2 5336 3079(r)m 2(agged)k 240 fnt1 6005 3082(,)m 6112(etc.\))s -[ /Dest /LOUT16_1527_det_size_6 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_6 /DEST pdfmark 0 2579(\213)m 480(What)s 1058(g)s 1(ap)k 1456(to)s 1695(insert)s 2285(between)s 3139(the)s 3487(lines)s 3989(of)s 4260(paragraphs)s 5360(\(also)s 5877(de\207ning)s 6715(the)s 220 fnt2 7063 2576(v)m 240 fnt1 7232 2579(unit\);)m -[ /Dest /LOUT16_1527_det_size_7 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_7 /DEST pdfmark 0 2076(\213)m 480(The)s 908(size)s 1335(of)s 1606(the)s 1954(outdent)s 2732(to)s 2971(use)s 3346(in)s 3589(the)s 220 fnt2 3937 2073(outdent)m 240 fnt1 4725 2076(paragraph)m 5738(breaking)s 6628(style;)s -[ /Dest /LOUT16_1527_det_size_8 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_8 /DEST pdfmark 0 1573(\213)m 480(Whether)s 1462(the)s 220 fnt2 1909 1570(unbreakab)m 4(le\207rst)k 240 fnt1 3621 1573(and)m 220 fnt2 4124 1570(unbreakab)m 4(lelast)k 240 fnt1 5823 1573(paragraph)m 6935(breaking)s 7924(options)s 8779(are)s 480 1285(in)m 723(ef)s 6(fect;)k -[ /Dest /LOUT16_1527_det_size_9 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_9 /DEST pdfmark 0 801(\213)m 480(Whether)s 1366(the)s 1717(ro)s 6(w)k 2141(marks)s 2779(of)s 3053(w)s 2(ords)k 3691(are)s 4041(to)s 4284(pass)s 4750(along)s 5338(the)s 5690(baseline)s 6532(or)s 6795(half)s 7241(the)s 7592(height)s 8254(of)s 8528(an)s 8815(`x')s 480 513(abo)m 3(v)k 3(e)k 1102(the)s 1450(baseline;)s -[ /Dest /LOUT16_1527_det_size_10 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_10 /DEST pdfmark grestore gsave @@ -6776,23 +6787,23 @@ grestore 0 13205(\213)m 480(Whether)s 1363(to)s 1602(permit)s 2285(h)s 1(yphenation)k 3525(or)s 3784(not;)s -[ /Dest /LOUT16_1527_det_size_11 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_11 /DEST pdfmark 0 12702(\213)m 480(What)s 1058(colour)s 1729(the)s 2077(object)s 2721(is)s 2931(to)s 3170(appear)s 3867(in;)s -[ /Dest /LOUT16_1527_det_size_12 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_12 /DEST pdfmark 0 12199(\213)m 480(Whether)s 220 fnt2 1363 12196(@Outline)m 240 fnt1 2332 12199(is)m 2542(in)s 2785(ef)s 6(fect;)k -[ /Dest /LOUT16_1527_det_size_13 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_13 /DEST pdfmark 0 11715(\213)m 480(The)s 908(language)s 1828(of)s 2099(the)s 2447(object;)s -[ /Dest /LOUT16_1527_det_size_14 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_14 /DEST pdfmark 0 11212(\213)m 480(Whether)s 220 fnt2 1363 11209(@V)m 17(Adjust)k 240 fnt1 2320 11212(,)m 220 fnt2 2427 11209(@HAdjust)m 240 fnt1 3473 11212(and)m 220 fnt2 3877 11209(@P)m 26(Adjust)k 240 fnt1 4885 11212(are)m 5232(in)s 5475(ef)s 6(fect.)k -[ /Dest /LOUT16_1527_det_size_15 /DEST pdfmark +[ /Dest /LOUT16_1579_det_size_15 /DEST pdfmark 0 10712(The)m 423(style)s 925(of)s 1191(an)s 1468(object)s 2107(depends)s 2938(on)s 3229(where)s 3864(it)s 4051(appears)s 4827(in)s @@ -6844,11 +6855,11 @@ grestore 220 fnt2 4743 7743(s)m 240 fnt1 4906 7746(unit)m 5338(is)s 5548(also)s 5986(set)s 6311(by)s 220 fnt2 6605 7743(@F)m 6(ont)k 240 fnt1 7317 7746(\(Section)m 8170(3.5\).)s -[ /Dest /LOUT19_4262_det_size_2 /DEST pdfmark +[ /Dest /LOUT19_4263_det_size_2 /DEST pdfmark -[ /Dest /LOUT19_4262_det_size_3 /DEST pdfmark +[ /Dest /LOUT19_4263_det_size_3 /DEST pdfmark -[ /Dest /LOUT19_4262_det_size_4 /DEST pdfmark +[ /Dest /LOUT19_4263_det_size_4 /DEST pdfmark 536 7372(The)m 959(remainder)s 1983(of)s 2249(this)s 2641(section)s 3370(e)s 3(xplains)k 4210(ho)s 6(w)k 4667(the)s 5010(size)s 5433(of)s @@ -7046,7 +7057,7 @@ grestore 348(root)s 793(g)s 1(alle)k 3(y)k 15(.)k 1522(Each)s 2057(is)s 2267(considered)s 3361(to)s 3600(be)s 3882(enclosed)s -[ /Dest /LOUT19_4262_det_size_5 /DEST pdfmark +[ /Dest /LOUT19_4263_det_size_5 /DEST pdfmark 4777(in)s 220 fnt2 5020 3044(@HContr)m 2(act)k 240 fnt1 6284 3047(and)m 220 fnt2 6688 3044(@VContr)m 2(act)k 240 fnt1 7940 3047(symbols.)m 480 2673(Up)m 836(to)s 1086(this)s @@ -7141,9 +7152,9 @@ grestore 2197(g)s 1(alle)k 3(ys)k 2923(and)s 3328(their)s 3827(tar)s 4(gets,)k 4568(as)s 4820(described)s 5796(in)s 6040(Section)s -[ /Dest /LOUT19_4262_det_gall_1 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_1 /DEST pdfmark -[ /Dest /LOUT19_4262_det_gall_2 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_2 /DEST pdfmark 6816(1.4,)s 7225(can)s 7616(be)s 7900(summarized)s 0 11359(in)m 243(three)s 776(la)s 3(ws:)k 240 fnt6 0 10907(F)m 10(ir)k 2(st)k 540(Law)s 240 fnt1 @@ -7186,7 +7197,7 @@ grestore 3161(lying)s 3705(between)s 4558(tw)s 2(o)k 4966(neighbouring)s 6295(potential)s 7185(split)s 7655(points)s 8290(is)s 8498(called)s 0 6714(a)m 240 fnt6 166 6716(component)m -[ /Dest /LOUT19_4262_det_gall_3 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_3 /DEST pdfmark 240 fnt1 1281 6714(of)m 1552(the)s 1900(g)s 1(alle)k 3(y)k 15(.)k 2629(By)s 2963(de\207nition,)s 3987(a)s 4153(component)s 5277(cannot)s @@ -7373,7 +7384,7 @@ grestore 2480(a)s 2675(mark)s 2(ed)k 3477(ef)s 6(fect)k 4103(on)s 4429(the)s 4806(v)s 3(ertical)k 5603(concatenation)s -[ /Dest /LOUT19_4262_det_gall_4 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_4 /DEST pdfmark 7017(symbol)s 220 fnt2 7806 49(//1.1b)m 240 fnt1 8347 52(,)m 8484(which)s grestore @@ -7480,7 +7491,7 @@ grestore 882(v)s 3(ery)k 1351(doubtful.)s 2319(F)s 3(or)k 2702(e)s 3(xample,)k 3609(what)s 4127(if)s 4338(the)s 4679(tar)s 4(gets)k -[ /Dest /LOUT19_4262_det_gall_5 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_5 /DEST pdfmark 5355(are)s 5696(in)s 5932(dif)s 6(ferent)k 6800(columns)s 7656(of)s 7920(one)s 8315(page,)s 8867(or)s 0 9240(what)m 525(if)s 742(one)s 1144(lies)s 1526(within)s @@ -7572,7 +7583,7 @@ grestore 5153(equal)s 5726(width.)s 480 2374(The)m 906(root)s 1348(g)s 1(alle)k 3(y)k 15(,)k 2018(where)s 2655(e)s 6(v)k 3(erything)k 3720(collects)s 4497(immediately)s 5742(prior)s 6264(to)s 6500(output,)s -[ /Dest /LOUT19_4262_det_gall_6 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_6 /DEST pdfmark 7217(is)s 7424(created)s 8168(automati)s 8998(-)s 0 2086(cally)m 15(,)k 556(not)s 921(by)s 1214(a)s 1379(de\207nition.)s 2459(Its)s @@ -7666,7 +7677,7 @@ grestore 2112(g)s 1(alle)k 3(y)k 2751(on)s 3054(the)s 3407(output)s 4085(\207le)s 4451(is)s 4666(some)s 6(what)k 5696(problematical,)s -[ /Dest /LOUT19_4262_det_gall_7 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_7 /DEST pdfmark 7121(because)s 7940(Lout)s 8457(has)s 8833(no)s 0 8956(w)m 2(ay)k 461(of)s 742(kno)s 6(wing)k 1638(ho)s 6(w)k 2109(lar)s 4(ge)k 2648(the)s @@ -7684,9 +7695,9 @@ grestore 1744(will)s 2198(promote)s 3079(a)s 3273(component)s 4425(only)s 4933(after)s 5457(an)s 3(y)k 5882(recepti)s 6(v)k 3(e)k 6832(symbols)s -[ /Dest /LOUT19_4262_det_gall_8 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_8 /DEST pdfmark -[ /Dest /LOUT19_4262_det_gall_9 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_9 /DEST pdfmark 7709(within)s 8405(it)s 8625(ha)s 4(v)k 3(e)k 0 7430(been)m 509(replaced,)s 1426(either)s 2029(by)s 2324(g)s 1(alle)k 3(ys)k 3048(or)s 3308(by)s 220 fnt2 3602 7427(@Null)m 240 fnt1 @@ -7720,7 +7731,7 @@ grestore 5819(the)s 6156(g)s 1(alle)k 3(y)k 6778(concept,)s 7618(called)s 8235(a)s 240 fnt6 8389 5244(for)m 8(cing)k 0 4956(galle)m 7(y)k 240 fnt1 573 4954(,)m -[ /Dest /LOUT19_4262_det_gall_10 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_10 /DEST pdfmark [ /Dest /LOUTforcing /DEST pdfmark 680(is)s @@ -7859,7 +7870,7 @@ grestore 2586(the)s 2928(symbol)s 3682(that)s 4094(is)s 4297(to)s 4530(be)s 4806(a)s 4966(g)s 1(alle)k 3(y)k 5594(a)s 5753(parameter)s 6761(or)s 7014(nested)s -[ /Dest /LOUT19_4262_det_gall_11 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_11 /DEST pdfmark 7677(de\207nition)s 8644(with)s 0 11391(the)m 348(special)s 1066(name)s 220 fnt2 1640 11388(@T)m 26(arget)k 240 fnt1 2467 11391(:)m 220 fnt2 @@ -7997,7 +8008,7 @@ grestore 2045(a)s 2216(symbol)s 2981(whose)s 3654(name)s 4233(is)s 220 fnt2 4448 13202(@Enclose)m 240 fnt1 5508 13205(has)m 5883(a)s 6054(special)s -[ /Dest /LOUT19_4262_det_gall_12 /DEST pdfmark +[ /Dest /LOUT19_4263_det_gall_12 /DEST pdfmark 6777(meaning:)s 7772(when)s 8353(compo)s 8998(-)s 0 12917(nents)m 556(of)s 827(the)s 1175(g)s 1(alle)k 3(y)k 1810(replace)s 2555(a)s 220 fnt2 2721 12914(@Galle)m 4(y)k @@ -8159,13 +8170,13 @@ grestore 674(order)s 13(.)k 1324(T)s 19(o)k 1618(mak)s 2(e)k 2185(g)s 1(alle)k 3(ys)k 2903(appear)s 3595(in)s 3832(sorted)s 4469(order)s 9(,)k 5065(as)s -[ /Dest /LOUT19_4262_det_sort_1 /DEST pdfmark +[ /Dest /LOUT19_4263_det_sort_1 /DEST pdfmark 5310(is)s 5514(needed)s 6245(in)s 6482(bibliographies)s 7896(and)s 8294(inde)s 3(x)k 3(es,)k 0 9711(a)m 178(parameter)s 1205(or)s 1477(nested)s 2158(de\207nition)s 3145(with)s 3640(the)s 4000(special)s 4731(name)s 220 fnt2 5318 9708(@K)m 8(e)k 4(y)k -[ /Dest /LOUT19_4262_det_sort_2 /DEST pdfmark +[ /Dest /LOUT19_4263_det_sort_2 /DEST pdfmark 240 fnt1 5977 9711(is)m 6200(added)s 6843(to)s 7094(the)s 7455(g)s 1(alle)k 3(y)k 8102(de\207nition,)s 0 9423(lik)m 2(e)k 412(this:)s 220 fnt2 @@ -8299,7 +8310,7 @@ grestore 5406 9170(must)m 5922(ha)s 4(v)k 3(e)k 6414(just)s 6809(tw)s 2(o)k 7210(parameters,)s 8355(left)s 8722(and)s 0 8882(right\),)m -[ /Dest /LOUT19_4262_det_sort_3 /DEST pdfmark +[ /Dest /LOUT19_4263_det_sort_3 /DEST pdfmark 643(and)s 1054(if)s 1277(that)s 1702(sorted)s 2350(g)s 1(alle)k 3(y)k 2991(is)s 3207(preceded)s 4135(in)s 4384(the)s 4739(list)s 5096(of)s 5374(sorted)s @@ -8642,7 +8653,7 @@ grestore 1817(in)s 2077(Section)s 2869(2.7,)s 3294(the)s 3659(components)s 4885(of)s 5174(a)s 5357(g)s 1(alle)k 3(y)k -[ /Dest /LOUT19_4262_det_opti_1 /DEST pdfmark +[ /Dest /LOUT19_4263_det_opti_1 /DEST pdfmark 6009(are)s 6373(promoted)s 7366(one)s 7786(by)s 8097(one)s 8517(into)s 8960(a)s 0 9919(tar)m 4(get.)k 703(When)s 1332(space)s 1919(runs)s 2382(out)s 2748(there,)s 3332(the)s @@ -8679,7 +8690,7 @@ grestore 240 fnt1 4599 7069(whose)m 5290(v)s 6(alue)k 5880(is)s 220 fnt2 6112 7066(Y)m 30(es)k 240 fnt1 6453 7069(.)m 6639(Lik)s 2(e)k 7153(cross)s 7717(referencing,)s -[ /Dest /LOUT19_4262_det_opti_2 /DEST pdfmark +[ /Dest /LOUT19_4263_det_opti_2 /DEST pdfmark 8934(it)s 0 6781(tak)m 2(es)k 539(tw)s 2(o)k 947(runs)s 1409(to)s 1646(ha)s 4(v)k 3(e)k 2145(ef)s 6(fect.)k @@ -8772,9 +8783,9 @@ grestore 220 fnt2 2620 10653(@Sym)m 240 fnt1 3324 10656(may)m 3786(be)s 4064(enclosed)s 4955(in)s 220 fnt2 5194 10653(@Begin)m 240 fnt1 6019 10656(and)m -[ /Dest /LOUT19_4262_pre_begi_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_begi_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_begi_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_begi_2 /DEST pdfmark 220 fnt2 6419 10653(@End)m 7076(@Sym)s 240 fnt1 7780 10656(instead)m 8511(of)s 8778(the)s 0 10368(more)m 547(usual)s 1107(braces:)s 220 fnt2 480 9917(def @Section)m 480 9629( named @Title {})m 480 9341( r)m -3(ight @Body)k @@ -8800,7 +8811,7 @@ grestore 240 fnt1 480 3739(There)m 1093(are)s 1440(ten)s 1789(concatenation)s 3174(symbols,)s 4079(in)s 4322(three)s 4855(f)s 2(amilies:)k -[ /Dest /LOUT19_4262_pre_conc_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_1 /DEST pdfmark 220 fnt2 480 3198(/)m 962(^/)s 1547(//)s 2012(^//)s 240 fnt1 2580 3201(V)m 26(ertical)k 3377(concatenation)s 220 fnt2 480 2910(|)m @@ -8815,7 +8826,7 @@ grestore 480 1422(The)m 906(v)s 3(ertical)k 1670(concatenation)s 3052(symbol)s 220 fnt2 3809 1419(/)m 240 fnt1 3930 1422(places)m 4575(its)s 4848(left)s 5222(parameter)s -[ /Dest /LOUT19_4262_pre_conc_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_2 /DEST pdfmark 6233(abo)s 3(v)k 3(e)k 6852(its)s 7125(right)s 7633(parameter)s 8644(with)s 0 1134(their)m 519(column)s 1317(marks)s 1975(aligned.)s 2866(If)s 3119(one)s @@ -8829,7 +8840,7 @@ grestore 1908(concatenation)s 3280(symbols)s 220 fnt2 4117 181(|)m 240 fnt1 4201 184(and)m 220 fnt2 4593 181(||)m 240 fnt1 4734 184(are)m 5069(horizontal)s -[ /Dest /LOUT19_4262_pre_conc_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_3 /DEST pdfmark 6080(analogues)s 7076(of)s 220 fnt2 7334 181(/)m 240 fnt1 7446 184(and)m 220 fnt2 7837 181(//)m 240 fnt1 7962 184(:)m 8116(the)s 3(y)k 8566(place)s @@ -8891,7 +8902,7 @@ grestore 3646(ro)s 6(w)k 4056(mark)s 4599(alignment)s 5605(or)s 5854(top-justi\207cation)s 7414(respecti)s 6(v)k 3(ely)k 15(.)k 8698(The)s -[ /Dest /LOUT19_4262_pre_conc_4 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_4 /DEST pdfmark 0 12917(in-paragraph)m 1278(concatenation)s 2663(symbol)s 220 fnt2 3423 12914(&)m 240 fnt1 3625 12917(produces)m 4540(horizontal)s 5564(concatenation)s 6949(within)s 7617(a)s 7783(paragraph;)s 8850(its)s 0 12629(special)m @@ -8933,7 +8944,7 @@ grestore 938(mark)s 1494(is)s 1708(designated)s 2793(as)s 3047(the)s 240 fnt6 3398 9025(principal)m 4339(mark)s 240 fnt1 4835 9023(,)m 4946(usually)s 5695(the)s 6047(mark)s 6602(of)s -[ /Dest /LOUT19_4262_pre_conc_5 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_5 /DEST pdfmark 6877(the)s 7229(\207rst)s 7664(component.)s 8896(A)s 0 8735(later)m 486(mark)s 1042(can)s 1435(be)s 1721(chosen)s 2447(for)s 2789(this)s @@ -8942,7 +8953,7 @@ grestore 8317(symbol.)s 0 8447(See)m 401(Section)s 1175(3.11)s 1630(for)s 1968(e)s 3(xamples.)k 480 8073(A)m 240 fnt6 712 8075(gap)m 240 fnt1 1065 8073(,)m -[ /Dest /LOUT19_4262_pre_conc_6 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_6 /DEST pdfmark 1175(specifying)s 2227(the)s 2578(distance)s 3420(between)s 4277(the)s 4627(tw)s 2(o)k 5040(parameters,)s 6197(may)s 6666(follo)s 6(w)k 7341(an)s 3(y)k @@ -8974,7 +8985,7 @@ grestore 3966(mode)s 4548(plus)s 4992(an)s 5268(optional)s 6101(indication)s 7108(of)s 7373(unbreakability)s 15(.)k 8896(A)s 240 fnt6 0 4973(length)m -[ /Dest /LOUT19_4262_pre_conc_7 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_7 /DEST pdfmark 240 fnt1 659 4971(is)m 875(represented)s 2040(by)s 2341(an)s 2630(decimal)s 3447(number)s 4244(\(which)s 4972(may)s 5444(not)s 5816(be)s 6104(ne)s 3(g)k 1(ati)k 6(v)k 3(e\))k @@ -8985,29 +8996,29 @@ grestore 7847(gi)s 6(v)k 3(es)k 8393(the)s 8740(full)s 0 4395(selection)m 906(of)s 1177(units)s 1693(of)s 1964(measurement.)s -[ /Dest /LOUT19_4262_pre_conc_8 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_8 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_9 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_9 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_10 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_10 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_11 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_11 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_12 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_12 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_13 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_13 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_14 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_14 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_15 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_15 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_16 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_16 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_17 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_17 /DEST pdfmark 480 4021(After)m 1045(the)s 1396(length)s 2054(comes)s 2718(an)s 3004(optional)s 240 fnt6 3846 4023(gap)m 4261(mode)s 240 fnt1 4773 4021(,)m -[ /Dest /LOUT19_4262_pre_conc_18 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_18 /DEST pdfmark 4883(which)s 5528(is)s 5740(a)s 5909(single)s 6539(letter)s 7090(follo)s 6(wing)k 8070(the)s 8421(length,)s 0 3733(indicating)m 1031(ho)s 6(w)k 1514(the)s 1884(length)s @@ -9015,9 +9026,9 @@ grestore 4801(sho)s 6(wn)k 5500(in)s 5765(Figure)s 6468(3.2,)s 6897(with)s 7401(edge-to-edge)s 8728(g)s 1(ap)k 0 3445(mode)m -[ /Dest /LOUT19_4262_pre_conc_19 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_19 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_20 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_20 /DEST pdfmark 603(the)s 967(length)s 240 fnt6 1638 3447(l)m 240 fnt1 1780 3445(is)m 2006(measured)s 2996(from)s 3536(the)s 3900(trailing)s 4658(edge)s 5181(of)s 5468(the)s 5832(\207rst)s 6279(object)s @@ -9027,24 +9038,24 @@ grestore 4833 3154(e)m 240 fnt1 5005 3157(may)m 5469(be)s 5749(omitted.)s 6642(Hyphenation)s 7934(g)s 1(ap)k 8330(mode)s 8916(is)s -[ /Dest /LOUT19_4262_pre_conc_21 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_21 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_22 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_22 /DEST pdfmark 0 2869(similar)m 9(,)k 760(e)s 3(xcept)k 1441(as)s 1691(e)s 3(xplained)k 2676(at)s 2908(the)s 3256(end)s 3660(of)s 3931(this)s 4327(section.)s 480 2495(Mark-to-mark,)m -[ /Dest /LOUT19_4262_pre_conc_23 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_23 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_24 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_24 /DEST pdfmark 1957(o)s 3(v)k 3(erstrik)k 2(e,)k -[ /Dest /LOUT19_4262_pre_conc_25 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_25 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_26 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_26 /DEST pdfmark 3028(and)s 3450(k)s 2(erning)k -[ /Dest /LOUT19_4262_pre_conc_27 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_27 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_28 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_28 /DEST pdfmark 4249(measure)s 5118(the)s 5484(length)s 6156(from)s 6698(the)s 7063(last)s 7471(mark)s 8041(of)s 8329(the)s 8695(\207rst)s 0 2207(object)m 648(to)s @@ -9065,13 +9076,13 @@ grestore 4673(other)s 5248(object;)s 5969(this)s 6389(mode)s 7001(is)s 7235(used)s 7756(for)s 8119(subscripts)s 0 1055(and)m 404(superscripts.)s -[ /Dest /LOUT19_4262_pre_conc_29 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_29 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_30 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_30 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_31 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_31 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_32 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_32 /DEST pdfmark 558 681(T)m 19(ab)k 4(ulation)k 1646(ignores)s 2419(the)s 2785(\207rst)s 3234(object)s 3896(and)s 4318(places)s 4984(the)s 5350(leading)s 6125(edge)s 6651(of)s 6940(the)s 7306(second)s @@ -9723,9 +9734,9 @@ grestore 1523(objects)s 2254(are)s 2603(separated)s 3566(only)s 4048(by)s 4345(zero)s 4811(or)s 5072(more)s 5622(white)s 6211(space)s -[ /Dest /LOUT19_4262_pre_conc_33 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_33 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_34 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_34 /DEST pdfmark 6801(characters)s 7821(\(spaces,)s 8634(tabs,)s 0 1044(ne)m 6(wlines,)k 983(and)s 1420(formfeeds\),)s 2607(Lout)s 3152(inserts)s 220 fnt2 3859 1041(&)m 240 fnt6 4001 1046(k)m 220 fnt2 4111 1041(s)m @@ -10838,7 +10849,7 @@ grestore 1672(of)s 1958(tw)s 2(o)k 2383(or)s 2657(more)s 3219(objects)s 3962(separated)s 4936(by)s 220 fnt2 5245 4686(&)m 240 fnt1 5462 4689(symbols)m 6326(is)s 6551(a)s -[ /Dest /LOUT19_4262_pre_conc_35 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_35 /DEST pdfmark 240 fnt6 6732 4691(par)m 3(a)k 2(gr)k 3(aph)k 240 fnt1 7745 4689(.)m 7924(Lout)s 8451(breaks)s 0 4401(paragraphs)m 1100(into)s @@ -10854,13 +10865,13 @@ grestore [ /Rect [2605 3822 2711 3990] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTknuth1984tex /ANN pdfmark 2605(5)s 2711(].)s -[ /Dest /LOUT19_4262_pre_conc_36 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_36 /DEST pdfmark 480 3451(If)m 735(an)s 220 fnt2 1043 3448(&)m 240 fnt1 1271 3451(symbol)m 2056(whose)s 2750(g)s 1(ap)k 3173(has)s 3568(h)s 1(yphenation)k 4834(mode)s -[ /Dest /LOUT19_4262_pre_conc_37 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_37 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_conc_38 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_conc_38 /DEST pdfmark 5447(is)s 5683(chosen)s 6430(for)s 6793(replacement)s 8046(by)s 220 fnt2 8365 3448(//1vx)m 240 fnt1 8827 3451(,)m 8960(a)s 0 3163(h)m 1(yphen)k @@ -10955,15 +10966,15 @@ grestore [ /Dest /LOUTfont /DEST pdfmark 240 fnt1 480 11939(A)m 240 fnt6 728 11941(font)m -[ /Dest /LOUT19_4262_pre_font_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_1 /DEST pdfmark 240 fnt1 1182 11939(is)m 1410(a)s 1594(collection)s 2611(of)s 2900(characters)s 3936(which)s 4596(may)s 5080(be)s 5380(printed.)s 6239(Man)s 3(y)k 6867(fonts)s 7414(come)s 8006(in)s 240 fnt6 8268 11941(families)m 240 fnt1 9019 11939(,)m -[ /Dest /LOUT19_4262_pre_font_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_2 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_font_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_3 /DEST pdfmark 0 11651(which)m 634(are)s 973(groups)s 1667(of)s 1930(fonts)s 2450(that)s 2860(ha)s 4(v)k 3(e)k 3352(been)s 3853(designed)s 4754(to)s 4984(go)s 5269(together)s 13(.)k @@ -10988,9 +10999,9 @@ grestore 0 8629(be)m 282(applied)s 1044(to)s 1283(man)s 3(y)k 1866(font)s 2311(f)s 2(amilies.)k 480 8255(Lig)m 1(atures,)k -[ /Dest /LOUT19_4262_pre_font_4 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_4 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_font_5 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_5 /DEST pdfmark 1488(such)s 1984(as)s 2234(\210)s 2420(for)s 2758(f)s 2849(l)s 2970(and)s 3375(\207)s 3560(for)s 3898(f)s 3989(i,)s 4163(are)s 4510(considered)s 5604(by)s 5899(Basser)s @@ -11017,7 +11028,7 @@ grestore 4278(is)s 4488(rarely)s 5098(needed.)s 480 4778(More)m 1046(generally)s 15(,)k 2018(the)s 220 fnt2 2357 4775(@F)m 6(ont)k 240 fnt1 3061 4778(symbol)m -[ /Dest /LOUT19_4262_pre_font_6 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_6 /DEST pdfmark 3812(returns)s 4517(its)s 4784(right)s 5287(parameter)s 6292(in)s 6526(a)s 6683(font)s 7120(and)s 7515(size)s 7933(speci\207ed)s 8832(by)s 0 4490(its)m 276(left:)s 220 fnt2 @@ -11143,7 +11154,7 @@ grestore 480 10505(The)m 220 fnt2 908 10502(@F)m 6(ont)k 240 fnt1 1620 10505(symbol)m 2380(also)s 2818(switches)s 3692(to)s 3931(and)s 4335(from)s 4859(small)s 5431(capitals:)s -[ /Dest /LOUT19_4262_pre_font_7 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_7 /DEST pdfmark 220 fnt2 480 10004(smallcaps @F)m 6(ont ...)k 480 9716(nosmallcaps @F)m 6(ont ...)k 240 fnt1 0 9220(These)m 639(may)s 1118(be)s 1412(nested,)s 2143(and)s 2559(the)s 3(y)k @@ -11306,7 +11317,7 @@ grestore 240 fnt1 800 10035(,)m 908(a)s 1076(PostScript)s 2120(font)s 2567(name;)s 220 fnt2 3198 10032(@Metr)m -3(ics)k 240 fnt1 4124 10035(,)m 4293(an)s -[ /Dest /LOUT19_4262_pre_font_8 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_8 /DEST pdfmark 4578(Adobe)s 5275(font)s 5721(metrics)s 6476(\(formerly)s 7446(AFM\))s 8095(\207le)s 8458(whose)s 0 9747(F)m 3(ontName)k 1070(entry)s 1622(must)s 2154(agree)s 2734(with)s 3223(the)s @@ -11322,7 +11333,7 @@ grestore 4339(for)s 4685(general)s 5451(information)s 6645(about)s 7245(fonts)s 7782(and)s 8195(encoding)s 0 8883(v)m 3(ectors;)k 795(brie\210y)s 15(,)k 1506(an)s 1785(8-bit)s -[ /Dest /LOUT19_4262_pre_font_9 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_9 /DEST pdfmark 2291(character)s 3221(code)s 240 fnt6 3724 8885(c)m 240 fnt1 3882 8883(in)m 4120(Lout')s 13(s)k 4778(input)s 5325(is)s 5531(mapped)s 6342(to)s 6577(the)s @@ -11396,7 +11407,7 @@ grestore 7690(or)s 7975(dif)s 6(ferent)k 8876(as)s 0 3441(desired.)m 480 3067(The)m 220 fnt2 917 3064(@Char)m 240 fnt1 1685 3067(symbol)m -[ /Dest /LOUT19_4262_pre_font_10 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_font_10 /DEST pdfmark 2454(allo)s 6(ws)k 3133(a)s 3309(character)s 4252(to)s 4501(be)s 4792(speci\207ed)s 5710(by)s 6014(its)s 6299(name)s 6883(\(its)s 7247(PostScript)s 8299(name)s 8883(in)s 0 2779(Basser)m @@ -11479,17 +11490,17 @@ grestore 8437(a)s 8592(\207x)s 3(ed)k 0 12483(set)m 325(of)s 596(styles:)s 220 fnt2 1275 11975(adjust)m 1916(@Break)s 240 fnt6 2772 11980(object)m -[ /Dest /LOUT19_4262_pre_brea_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_brea_1 /DEST pdfmark 240 fnt1 3600 11978(Break)m 4301(the)s 4718(paragraphs)s 5887(of)s 240 fnt6 6228 11980(object)m 240 fnt1 6945 11978(into)m 7439(lines,)s 8066(and)s 8540(apply)s 220 fnt2 3600 11687(@P)m 26(Adjust)k 240 fnt1 4633 11690(\(Section)m 5511(3.17\))s 6084(to)s 6348(e)s 6(v)k 3(ery)k 6949(line)s 7388(e)s 3(xcept)k 8094(the)s 8467(last)s 8883(in)s 3600 11402(each)m 4095(paragraph;)s -[ /Dest /LOUT16_1527_pre_brea_1 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_1 /DEST pdfmark 220 fnt2 1128 10894(outdent)m 1916(@Break)s 240 fnt6 2772 10899(object)m -[ /Dest /LOUT19_4262_pre_brea_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_brea_2 /DEST pdfmark 240 fnt1 3600 10897(Lik)m 2(e)k 220 fnt2 4122 10894(adjust)m 240 fnt1 4703 10897(,)m 4840(e)s 3(xcept)k 5551(that)s 220 fnt2 6000 10894(2.0f @Wide {} &0i)m 240 fnt1 7809 10897(is)m @@ -11499,46 +11510,46 @@ grestore 8843(an)s 3600 10321(outdented)m 4592(paragraph)s 5595(\(the)s 6012(outdent)s 6780(width)s 7372(may)s 7828(be)s 8100(changed)s 8946(\211)s 3600 10033(see)m 3961(belo)s 6(w\);)k -[ /Dest /LOUT16_1527_pre_brea_2 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_2 /DEST pdfmark 220 fnt2 1187 9535(r)m 2(agged)k 1916(@Break)s 240 fnt6 2772 9540(object)m -[ /Dest /LOUT19_4262_pre_brea_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_brea_3 /DEST pdfmark 240 fnt1 3600 9538(Break)m 4222(the)s 4559(paragraphs)s 5648(of)s 240 fnt6 5908 9540(object)m 240 fnt1 6545 9538(into)m 6960(lines,)s 7507(b)s 4(ut)k 7858(do)s 8140(not)s 8495(adjust)s 3600 9250(the)m 3948(lines)s 4450(\(`ragged)s 5317(right'\);)s -[ /Dest /LOUT16_1527_pre_brea_3 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_3 /DEST pdfmark 220 fnt2 1077 8742(cr)m 2(agged)k 1916(@Break)s 240 fnt6 2772 8747(object)m -[ /Dest /LOUT19_4262_pre_brea_4 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_brea_4 /DEST pdfmark 240 fnt1 3600 8745(Lik)m 2(e)k 220 fnt2 4125 8742(r)m 2(agged)k 240 fnt1 4794 8745(,)m 4934(e)s 3(xcept)k 5648(that)s 6099(each)s 6628(line)s 7075(will)s 7534(be)s 7849(centred)s 8644(with)s 3600 8457(respect)m 4336(to)s 4575(the)s 4923(others;)s -[ /Dest /LOUT16_1527_pre_brea_4 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_4 /DEST pdfmark 220 fnt2 1114 7949(rr)m 2(agged)k 1916(@Break)s 240 fnt6 2772 7954(object)m -[ /Dest /LOUT19_4262_pre_brea_5 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_brea_5 /DEST pdfmark 240 fnt1 3600 7952(Lik)m 2(e)k 220 fnt2 4115 7949(r)m 2(agged)k 240 fnt1 4784 7952(,)m 4914(e)s 3(xcept)k 5618(that)s 6059(each)s 6577(line)s 7014(will)s 7463(be)s 7768(right-justi\207ed)s 3600 7664(with)m 4082(respect)s 4818(to)s 5057(the)s 5405(others)s 6040(\(`ragged)s 6907(left'\);)s -[ /Dest /LOUT16_1527_pre_brea_5 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_5 /DEST pdfmark 220 fnt2 1065 7156(or)m 2(agged)k 1916(@Break)s 240 fnt6 2772 7161(object)m -[ /Dest /LOUT19_4262_pre_brea_6 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_brea_6 /DEST pdfmark 240 fnt1 3600 7159(The)m 4028(ob)s 3(vious)k 4835(combination)s 6088(of)s 220 fnt2 6359 7156(r)m 2(agged)k 240 fnt1 7088 7159(and)m 220 fnt2 7492 7156(outdent)m 240 fnt1 8220 7159(;)m -[ /Dest /LOUT16_1527_pre_brea_6 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_6 /DEST pdfmark 220 fnt2 1413 6652(lines)m 1916(@Break)s 240 fnt6 2772 6657(object)m -[ /Dest /LOUT19_4262_pre_brea_7 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_brea_7 /DEST pdfmark 240 fnt1 3600 6655(Break)m 4284(the)s 4685(paragraphs)s 5837(of)s 240 fnt6 6161 6657(object)m 240 fnt1 6861 6655(into)m 7339(lines)s 7893(at)s 8178(the)s 8579(same)s 3600 6367(points)m @@ -11554,20 +11565,20 @@ grestore 3600 5503(a)m 3766(line)s 4180(other)s 4731(than)s 5200(the)s 5548(\207rst)s 5979(line)s 6393(will)s 6819(appear)s 7516(in)s 7759(the)s 8107(output;)s -[ /Dest /LOUT16_1527_pre_brea_7 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_7 /DEST pdfmark 220 fnt2 1303 4995(clines)m 1916(@Break)s 240 fnt6 2772 5000(object)m -[ /Dest /LOUT19_4262_pre_brea_8 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_brea_8 /DEST pdfmark 240 fnt1 3600 4998(Break)m 4288(the)s 4693(paragraphs)s 5849(of)s 240 fnt6 6177 5000(object)m 240 fnt1 6881 4998(into)m 7363(lines)s 7921(as)s 8228(for)s 220 fnt2 8623 4995(lines)m 3600 4707(@Break)m 240 fnt1 4396 4710(,)m 4503(then)s 4972(centre)s 5611(each)s 6106(line)s 6520(with)s 7002(respect)s 7738(to)s 7977(the)s 8325(others;)s -[ /Dest /LOUT16_1527_pre_brea_8 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_8 /DEST pdfmark 220 fnt2 1337 4202(r)m -3(lines)k 1916(@Break)s 240 fnt6 2772 4207(object)m -[ /Dest /LOUT19_4262_pre_brea_9 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_brea_9 /DEST pdfmark 240 fnt1 3600 4205(Break)m 4288(the)s 4693(paragraphs)s 5849(of)s 240 fnt6 6177 4207(object)m 240 fnt1 6881 4205(into)m 7363(lines)s 7921(as)s 8228(for)s @@ -11575,7 +11586,7 @@ grestore 4535(then)s 5036(right-)s 5555(justify)s 6251(each)s 6778(line)s 7224(with)s 7738(respect)s 8506(to)s 8778(the)s 3600 3629(others.)m -[ /Dest /LOUT16_1527_pre_brea_9 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_9 /DEST pdfmark 0 3176(If)m 235(the)s 588(paragraph)s 1606(w)s 2(as)k 2032(an)s 2320(entire)s 2924(component)s 4053(of)s 4329(a)s 4501(g)s 1(alle)k 3(y)k 15(,)k 5178(so)s @@ -11587,31 +11598,36 @@ grestore 2598(used)s 3099(to)s 3341(separate)s 4183(the)s 4535(lines)s 5040(produced)s 5993(by)s 6291(paragraph)s 7307(breaking)s 8201(is)s 8415(al)s 2(w)k 2(ays)k 220 fnt2 0 2223(1v)m -240 fnt1 231 2226(.)m 395(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -1355(the)s 220 fnt2 1703 2223(v)m 240 fnt1 1872 2226(unit)m -2304(itself)s 2852(and)s 3256(the)s -[ /Dest /LOUT19_4262_pre_brea_10 /DEST pdfmark -3604(g)s 1(ap)k -4002(mode)s 4590(may)s 5056(be)s 5338(changed:)s 240 fnt6 -1503 1723(gap)m 220 fnt2 1916 1718(@Break)m 240 fnt6 2772 1723(object)m -240 fnt1 3600 1721(W)m 9(ithin)k 240 fnt6 4312 1723(object)m -240 fnt1 4900 1721(,)m 5008(tak)s 2(e)k 5460(the)s +240 fnt1 231 2226(,)m 346(e)s 3(xcept)k 1036(when)s +220 fnt2 1621 2223(lines)m 240 fnt1 2064 2226(,)m 220 fnt2 +2179 2223(clines)m 240 fnt1 2732 2226(,)m 2848(or)s 220 fnt2 +3116 2223(r)m -3(lines)k 240 fnt1 3704 2226(encounter)m 4715(a)s +4890(completely)s 6015(blank)s 6617(line,)s 7090(for)s 7437(which)s +8088(see)s 8458(belo)s 6(w)k 15(.)k 0 1938(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k +960(the)s 220 fnt2 1308 1935(v)m 240 fnt1 1477 1938(unit)m +1909(itself)s 2457(and)s 2861(the)s +[ /Dest /LOUT19_4263_pre_brea_10 /DEST pdfmark +3209(g)s 1(ap)k +3607(mode)s 4195(may)s 4661(be)s 4943(changed:)s 240 fnt6 +1503 1435(gap)m 220 fnt2 1916 1430(@Break)m 240 fnt6 2772 1435(object)m +240 fnt1 3600 1433(W)m 9(ithin)k 240 fnt6 4312 1435(object)m +240 fnt1 4900 1433(,)m 5008(tak)s 2(e)k 5460(the)s 5809(v)s 6(alue)k 6377(of)s 6649(the)s 220 fnt2 -6998 1718(v)m 240 fnt1 7167 1721(unit)m 7600(to)s 7839(be)s -8122(the)s 8471(length)s 3600 1433(of)m 240 fnt6 3871 1435(gap)m -240 fnt1 4224 1433(;)m -[ /Dest /LOUT16_1527_pre_brea_10 /DEST pdfmark -1375 932(+)m 240 fnt6 1503 934(gap)m -220 fnt2 1916 929(@Break)m 240 fnt6 2772 934(object)m 240 fnt1 -3600 932(W)m 9(ithin)k 240 fnt6 4320 934(object)m 240 fnt1 -4908 932(,)m 5024(tak)s 2(e)k 5485(the)s 5841(v)s 6(alue)k -6418(of)s 6698(the)s 220 fnt2 7054 929(v)m 240 fnt1 -7232 932(unit)m 7673(to)s 7920(be)s 8211(lar)s 4(ger)k -8832(by)s 3600 644(the)m 3948(length)s 4603(of)s 240 fnt6 -4874 646(gap)m 240 fnt1 5287 644(than)m 5756(it)s 5948(w)s 2(ould)k +6998 1430(v)m 240 fnt1 7167 1433(unit)m 7600(to)s 7839(be)s +8122(the)s 8471(length)s 3600 1145(of)m 240 fnt6 3871 1147(gap)m +240 fnt1 4224 1145(;)m +[ /Dest /LOUT16_1579_pre_brea_10 /DEST pdfmark +1375 644(+)m 240 fnt6 1503 646(gap)m +220 fnt2 1916 641(@Break)m 240 fnt6 2772 646(object)m 240 fnt1 +3600 644(W)m 9(ithin)k 240 fnt6 4320 646(object)m 240 fnt1 +4908 644(,)m 5024(tak)s 2(e)k 5485(the)s 5841(v)s 6(alue)k +6418(of)s 6698(the)s 220 fnt2 7054 641(v)m 240 fnt1 +7232 644(unit)m 7673(to)s 7920(be)s 8211(lar)s 4(ger)k +8832(by)s 3600 356(the)m 3948(length)s 4603(of)s 240 fnt6 +4874 358(gap)m 240 fnt1 5287 356(than)m 5756(it)s 5948(w)s 2(ould)k 6603(otherwise)s 7588(ha)s 4(v)k 3(e)k 8089(been;)s -[ /Dest /LOUT16_1527_pre_brea_11 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_11 /DEST pdfmark grestore gsave @@ -11677,114 +11693,131 @@ grestore 4603(of)s 240 fnt6 4874 12962(gap)m 240 fnt1 5287 12960(than)m 5756(it)s 5948(w)s 2(ould)k 6603(otherwise)s 7588(ha)s 4(v)k 3(e)k 8089(been.)s -[ /Dest /LOUT16_1527_pre_brea_12 /DEST pdfmark +[ /Dest /LOUT16_1579_pre_brea_12 /DEST pdfmark 0 12455(In)m 256(each)s 751(case,)s 1269(the)s 1617(mode)s 2205(of)s 240 fnt6 2476 12457(gap)m 240 fnt1 2889 12455(is)m 3099(adopted)s 3915(within)s 240 fnt6 4583 12457(object)m -240 fnt1 5171 12455(.)m 480 12081(The)m 220 fnt2 908 12078(@Break)m -240 fnt1 1764 12081(symbol)m 2524(also)s 2962(controls)s 3783(h)s 1(yphenation:)k -220 fnt2 1141 11573(h)m 6(yphen @Break)k 240 fnt6 2772 11578(object)m - -[ /Dest /LOUT19_4262_pre_brea_11 /DEST pdfmark -240 fnt1 3600 11576(Permit)m 4296(h)s 1(yphenation)k 5536(within)s -6204(the)s 6552(paragraphs)s 7652(of)s 240 fnt6 7923 11578(object)m -240 fnt1 8511 11576(;)m -[ /Dest /LOUT16_1527_pre_brea_13 /DEST pdfmark -220 fnt2 897 11068(noh)m 6(yphen @Break)k -240 fnt6 2772 11073(object)m -[ /Dest /LOUT19_4262_pre_brea_12 /DEST pdfmark -240 fnt1 3600 11071(Prohibit)m 4440(h)s 1(yphenation)k +240 fnt1 5171 12455(.)m 480 12081(When)m 220 fnt2 1105 12078(lines)m +240 fnt1 1548 12081(,)m 220 fnt2 1650 12078(clines)m 240 fnt1 +2203 12081(,)m 2305(or)s 220 fnt2 2559 12078(r)m -3(lines)k +240 fnt1 3133 12081(encounter)m 4131(one)s 4528(or)s 4782(more)s +5324(completely)s 6435(blank)s 7023(lines,)s 7576(a)s 7737(single)s +8359(v)s 3(ertical)k 0 11793(concatenation)m 1397(operator)s 2266(is)s +2488(inserted)s 3315(to)s 3566(implement)s 4661(these,)s 5272(ensuring)s +6161(that)s 6592(the)s 6952(entire)s 7564(set)s 7901(of)s +8185(lines)s 8700(will)s 0 11505(disappear)m 975(if)s 1191(the)s 3(y)k +1653(happen)s 2401(to)s 2639(f)s 2(all)k 3007(on)s +3303(a)s 3468(page)s 3975(or)s 4233(column)s 5007(break.)s +5700(The)s 6127(g)s 1(ap)k 6524(width)s 7125(of)s +7395(the)s 7741(concatenation)s 0 11217(operator)m 875(is)s 220 fnt2 +1104 11214(1v)m 240 fnt1 1414 11217(for)m 1771(the)s 2138(\207rst)s +2589(ne)s 6(wline)k 3415(as)s 3684(usual,)s 4315(plus)s +220 fnt2 4784 11214(1v)m 240 fnt1 5094 11217(multiplied)m 6154(by)s +6467(the)s 240 fnt6 6834 11219(blank)m 7449(line)s 7879(scale)s +8443(factor)s 240 fnt1 9019 11217(,)m 0 10929(an)m 316(arbitrary)s +1225(decimal)s 2069(number)s 2894(with)s 3409(no)s 3736(units,)s +4342(for)s 4713(the)s 5095(remaining)s 6150(ne)s 6(wlines.)k +7192(This)s 7701(scale)s 8268(f)s 2(actor)k 8916(is)s +0 10641(settable)m 785(by)s 220 fnt2 480 10133({ b)m 4(lanklinescale)k +240 fnt6 2038 10138(num)m 220 fnt2 2507 10133(} @Break)m 240 fnt6 +3497 10138(object)m 240 fnt1 0 9637(The)m 429(def)s 2(ault)k +1152(v)s 6(alue)k 1722(is)s 220 fnt2 1934 9634(1.0)m +240 fnt1 2231 9637(,)m 2340(which)s 2984(gi)s 6(v)k 3(es)k +3533(blank)s 4128(lines)s 4632(their)s 5131(full)s 5519(height.)s +6283(Ho)s 6(we)k 6(v)k 3(er)k 7207(it)s +7401(often)s 7951(looks)s 8523(better)s 0 9349(if)m 215(the)s 3(y)k +676(are)s 1020(reduced)s 1833(some)s 6(what.)k 2898(A)s +3126(v)s 6(alue)k 3692(as)s 3939(small)s 4509(as)s +220 fnt2 4756 9346(0.6)m 240 fnt1 5111 9349(looks)m 5678(good;)s +6268(it)s 6458(gi)s 6(v)k 3(es)k 7002(width)s +220 fnt2 7602 9346(1.6v)m 240 fnt1 8073 9349(to)m 8310(the)s +8655(con)s 8998(-)s 0 9061(catenation)m 1039(symbol)s 1799(inserted)s +2613(at)s 2845(a)s 3011(single)s 3638(blank)s 4231(line.)s +4753(The)s 5181(usual)s 5741(g)s 1(ap)k 6139(mode)s +6727(is)s 6937(of)s 7208(course)s 7888(appended.)s 480 8687(The)m +220 fnt2 908 8684(@Break)m 240 fnt1 1764 8687(symbol)m 2524(also)s +2962(controls)s 3783(h)s 1(yphenation:)k 220 fnt2 1141 8179(h)m 6(yphen @Break)k +240 fnt6 2772 8184(object)m +[ /Dest /LOUT19_4263_pre_brea_11 /DEST pdfmark +240 fnt1 3600 8182(Permit)m 4296(h)s 1(yphenation)k +5536(within)s 6204(the)s 6552(paragraphs)s 7652(of)s 240 fnt6 +7923 8184(object)m 240 fnt1 8511 8182(;)m +[ /Dest /LOUT16_1579_pre_brea_13 /DEST pdfmark +220 fnt2 897 7674(noh)m 6(yphen @Break)k +240 fnt6 2772 7679(object)m +[ /Dest /LOUT19_4263_pre_brea_12 /DEST pdfmark +240 fnt1 3600 7677(Prohibit)m 4440(h)s 1(yphenation)k 5691(within)s 6370(the)s 6729(paragraphs)s 7840(of)s 240 fnt6 -8122 11073(object)m 240 fnt1 8710 11071(;)m 8833(all)s 3600 10783(h)m 1(yphenation)k +8122 7679(object)m 240 fnt1 8710 7677(;)m 8833(all)s 3600 7389(h)m 1(yphenation)k 4897(g)s 1(aps)k 5443(without)s 6291(e)s 3(xception)k 7332(re)s 6(v)k 3(ert)k 7996(to)s 8292(edge-)s -8812(to-)s 3600 10495(edge)m 4108(mode.)s -[ /Dest /LOUT16_1527_pre_brea_14 /DEST pdfmark -0 9992(The)m 220 fnt2 -428 9989(@Break)m 240 fnt1 1284 9992(also)m 1722(has)s 2092(options)s +8812(to-)s 3600 7101(edge)m 4108(mode.)s +[ /Dest /LOUT16_1579_pre_brea_14 /DEST pdfmark +0 6598(The)m 220 fnt2 +428 6595(@Break)m 240 fnt1 1284 6598(also)m 1722(has)s 2092(options)s 2848(which)s 3490(control)s 4222(wido)s 6(w)k 4922(and)s -5326(orphan)s 6048(lines:)s 220 fnt2 480 9484(unbreakab)m 4(le\207rst @Break)k -240 fnt6 3059 9489(ob)m 3293(-)s 480 9201(ject)m -[ /Dest /LOUT19_4262_pre_brea_13 /DEST pdfmark +5326(orphan)s 6048(lines:)s 220 fnt2 480 6090(unbreakab)m 4(le\207rst @Break)k +240 fnt6 3059 6095(ob)m 3293(-)s 480 5807(ject)m +[ /Dest /LOUT19_4263_pre_brea_13 /DEST pdfmark 240 fnt1 -3600 9487(Pre)m 6(v)k 3(ent)k 4431(column)s 5256(and)s +3600 6093(Pre)m 6(v)k 3(ent)k 4431(column)s 5256(and)s 5710(page)s 6268(breaks)s 6993(\(i.e.)s 7458(pre)s 6(v)k 3(ent)k -8276(a)s 8492(g)s 1(alle)k 3(y)k 3600 9199(from)m +8276(a)s 8492(g)s 1(alle)k 3(y)k 3600 5805(from)m 4147(splitting\))s 5081(between)s 5959(the)s 6330(\207rst)s 6784(and)s -7212(second)s 7958(lines)s 8483(of)s 8778(the)s 3600 8911(paragraphs)m -4700(of)s 240 fnt6 4971 8913(object)m 240 fnt1 5559 8911(;)m - -[ /Dest /LOUT16_1527_pre_brea_15 /DEST pdfmark -220 fnt2 480 8403(unbreakab)m 4(lelast @Break)k 240 fnt6 3059 8408(ob)m -3293(-)s 480 8120(ject)m -[ /Dest /LOUT19_4262_pre_brea_14 /DEST pdfmark -240 fnt1 3600 8406(Pre)m 6(v)k 3(ent)k +7212(second)s 7958(lines)s 8483(of)s 8778(the)s 3600 5517(paragraphs)m +4700(of)s 240 fnt6 4971 5519(object)m 240 fnt1 5559 5517(;)m + +[ /Dest /LOUT16_1579_pre_brea_15 /DEST pdfmark +220 fnt2 480 5009(unbreakab)m 4(lelast @Break)k 240 fnt6 3059 5014(ob)m +3293(-)s 480 4726(ject)m +[ /Dest /LOUT19_4263_pre_brea_14 /DEST pdfmark +240 fnt1 3600 5012(Pre)m 6(v)k 3(ent)k 4429(column)s 5252(and)s 5704(page)s 6261(breaks)s 6984(between)s -7886(the)s 8282(last)s 8722(and)s 3600 8118(second)m 4323(last)s +7886(the)s 8282(last)s 8722(and)s 3600 4724(second)m 4323(last)s 4714(lines)s 5216(of)s 5487(the)s 5835(paragraphs)s 6935(of)s -240 fnt6 7206 8120(object)m 240 fnt1 7794 8118(.)m -[ /Dest /LOUT16_1527_pre_brea_16 /DEST pdfmark -0 7615(These)m +240 fnt6 7206 4726(object)m 240 fnt1 7794 4724(.)m +[ /Dest /LOUT16_1579_pre_brea_16 /DEST pdfmark +0 4221(These)m 688(options)s 1506(w)s 2(ork)k 2119(by)s 2475(adding)s -3241(the)s 220 fnt2 3651 7612(u)m 240 fnt1 3881 7615(\(unbreakable\))m +3241(the)s 220 fnt2 3651 4218(u)m 240 fnt1 3881 4221(\(unbreakable\))m 5319(suf\207x)s 5980(to)s 6281(the)s 6691(appropriate)s 7897(g)s 1(aps)k -8448(during)s 0 7327(paragraph)m 1017(breaking,)s 1966(so)s 2237(their)s +8448(during)s 0 3933(paragraph)m 1017(breaking,)s 1966(so)s 2237(their)s 2738(precise)s 3475(ef)s 6(fect)k 4076(is)s 4290(as)s 4545(described)s 5524(for)s 5866(this)s 6267(suf\207x.)s 6981(These)s -7612(options)s 8373(may)s 8844(be)s 0 7039(countermanded)m 1533(by)s -220 fnt2 1827 7036(breakab)m 4(le\207rst @Break)k 240 fnt1 4057 7039(and)m -220 fnt2 4461 7036(breakab)m 4(lelast @Break.)k 240 fnt1 480 6665(The)m +7612(options)s 8373(may)s 8844(be)s 0 3645(countermanded)m 1533(by)s +220 fnt2 1827 3642(breakab)m 4(le\207rst @Break)k 240 fnt1 4057 3645(and)m +220 fnt2 4461 3642(breakab)m 4(lelast @Break.)k 240 fnt1 480 3271(The)m 908(width)s 1510(of)s 1781(the)s 2129(outdenting)s 3206(used)s -3703(in)s 3946(the)s 220 fnt2 4294 6662(outdent)m 240 fnt1 -5082 6665(style)m 5589(may)s 6055(be)s 6337(changed)s 7193(lik)s 2(e)k -7605(this:)s 220 fnt2 480 6157({ setoutdent)m 240 fnt6 1769 6162(width)m -220 fnt2 2430 6157(} @Break)m 240 fnt6 480 5874(object)m 240 fnt1 -3600 6160(W)m 9(ithin)k 240 fnt6 4310 6162(object)m 240 fnt1 -4898 6160(,)m 5003(whene)s 6(v)k 3(er)k 5982(outdenting)s -7057(is)s 7265(required,)s 8166(use)s 240 fnt6 8539 6162(width)m -240 fnt1 3600 5872(for)m 3983(the)s 4377(amount)s 5201(of)s +3703(in)s 3946(the)s 220 fnt2 4294 3268(outdent)m 240 fnt1 +5082 3271(style)m 5589(may)s 6055(be)s 6337(changed)s 7193(lik)s 2(e)k +7605(this:)s 220 fnt2 480 2763({ setoutdent)m 240 fnt6 1769 2768(width)m +220 fnt2 2430 2763(} @Break)m 240 fnt6 480 2480(object)m 240 fnt1 +3600 2766(W)m 9(ithin)k 240 fnt6 4310 2768(object)m 240 fnt1 +4898 2766(,)m 5003(whene)s 6(v)k 3(er)k 5982(outdenting)s +7057(is)s 7265(required,)s 8166(use)s 240 fnt6 8539 2768(width)m +240 fnt1 3600 2478(for)m 3983(the)s 4377(amount)s 5201(of)s 5518(outdenting.)s 6751(Note)s 7318(that)s 7782(this)s 8224(does)s -8760(not)s 3600 5584(itself)m 4161(cause)s 4761(a)s 4940(switch)s +8760(not)s 3600 2190(itself)m 4161(cause)s 4761(a)s 4940(switch)s 5634(to)s 5886(outdenting)s 6976(style.)s 7604(The)s 8045(width)s -8660(may)s 3600 5296(be)m 3887(preceded)s 4813(by)s 220 fnt2 -5112 5293(+)m 240 fnt1 5298 5296(or)m 220 fnt2 5562 5293(\211)m -240 fnt1 5749 5296(to)m 5993(indicate)s 6811(a)s 6982(change)s -7721(to)s 7965(the)s 8319(e)s 3(xisting)k 3600 5008(outdent)m +8660(may)s 3600 1902(be)m 3887(preceded)s 4813(by)s 220 fnt2 +5112 1899(+)m 240 fnt1 5298 1902(or)m 220 fnt2 5562 1899(\211)m +240 fnt1 5749 1902(to)m 5993(indicate)s 6811(a)s 6982(change)s +7721(to)s 7965(the)s 8319(e)s 3(xisting)k 3600 1614(outdent)m 4378(v)s 6(alue.)k -[ /Dest /LOUT16_1527_pre_brea_17 /DEST pdfmark -0 4554(Mar)m 4(gin)k 764(k)s 2(erning,)k +[ /Dest /LOUT16_1579_pre_brea_17 /DEST pdfmark +0 1160(Mar)m 4(gin)k 764(k)s 2(erning,)k 1608(in)s 1858(which)s 2508(small)s 3087(\(usually)s 3919(punctuation\))s 5185(characters)s 6210(protrude)s 7084(into)s 7516(the)s 7872(mar)s 4(gin,)k -8660(may)s 0 4266(be)m 282(obtained)s 1164(by)s 220 fnt2 -1458 4263(margink)m 4(er)k -5(ning @Break)k 240 fnt1 3765 4266(and)m +8660(may)s 0 872(be)m 282(obtained)s 1164(by)s 220 fnt2 +1458 869(margink)m 4(er)k -5(ning @Break)k 240 fnt1 3765 872(and)m 4169(turned)s 4838(of)s 6(f)k 5182(by)s 220 fnt2 -5476 4263(nomargink)m 4(er)k -5(ning @Break)k 240 fnt1 7967 4266(.)m -480 3892(Se)m 6(v)k 3(eral)k 1310(options)s 2135(may)s +5476 869(nomargink)m 4(er)k -5(ning @Break)k 240 fnt1 7967 872(.)m +480 498(Se)m 6(v)k 3(eral)k 1310(options)s 2135(may)s 2669(be)s 3020(gi)s 6(v)k 3(en)k 3668(to)s -3976(the)s 220 fnt2 4392 3889(@Break)m 240 fnt1 5317 3892(symbol)m +3976(the)s 220 fnt2 4392 495(@Break)m 240 fnt1 5317 498(symbol)m 6145(simultaneously)s 15(,)k 7754(in)s 8065(an)s 3(y)k -8531(order)s 13(.)k 0 3604(F)m 3(or)k 389(e)s 3(xample,)k -220 fnt2 480 3103({ adjust 1.2fx h)m 6(yphen } @Break ...)k 240 fnt1 0 2605(is)m -210(a)s 375(typical)s 1079(initial)s 1689(v)s 6(alue.)k -2365(There)s 2977(may)s 3442(be)s 3723(empty)s 4375(objects)s -5102(and)s 220 fnt2 5505 2602(@Null)m 240 fnt1 6149 2605(objects)m -6877(in)s 7119(the)s 7466(left)s 7842(parameter)s 8855(of)s -220 fnt2 0 2314(@Break)m 240 fnt1 796 2317(;)m 908(these)s -1455(are)s 1802(ignored.)s 240 fnt5 0 1524(3.5.)m 471(@Space)s +8531(order)s 13(.)k 0 210(F)m 3(or)k 389(e)s 3(xample,)k -[ /Dest /LOUTspace /DEST pdfmark -240 fnt1 480 1047(The)m 220 fnt2 911 1044(@Space)m 240 fnt1 -1812 1047(symbol)m -[ /Dest /LOUT19_4262_pre_spac_1 /DEST pdfmark -2576(changes)s 3402(the)s 3754(v)s 6(alue)k -4326(of)s 4601(the)s 220 fnt2 4953 1044(s)m 240 fnt1 -5120 1047(unit)m 5556(of)s 5831(measurement)s 7169(\(Section)s -[ /Dest /LOUT19_4262_pre_spac_2 /DEST pdfmark -8026(3.2\))s -8458(within)s 0 759(its)m 276(right)s 787(parameter)s 1801(to)s -2040(the)s 2388(v)s 6(alue)k 2956(gi)s 6(v)k 3(en)k -3536(by)s 3830(the)s 4178(left)s 4555(parameter:)s 220 fnt2 -480 258(1c @Space { a b c d })m grestore gsave 1417 -15423 translate @@ -11836,151 +11869,137 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -0 13205(has)m 370(result)s 480 12752(a)m -1153(b)s 1833(c)s 2499(d)s 0 12299(As)m 311(for)s -643(the)s 220 fnt2 985 12296(@Break)m 240 fnt1 1835 12299(symbol,)m -2641(the)s 2982(left)s 3353(parameter)s 4361(of)s 220 fnt2 -4626 12296(@Space)m 240 fnt1 5517 12299(may)m 5976(be)s 6252(gi)s 6(v)k 3(en)k +220 fnt2 480 13207({ adjust 1.2fx h)m 6(yphen } @Break ...)k +240 fnt1 0 12709(is)m 210(a)s 375(typical)s 1079(initial)s +1689(v)s 6(alue.)k 2365(There)s 2977(may)s 3442(be)s +3723(empty)s 4375(objects)s 5102(and)s 220 fnt2 5505 12706(@Null)m +240 fnt1 6149 12709(objects)m 6877(in)s 7119(the)s 7466(left)s +7842(parameter)s 8855(of)s 220 fnt2 0 12418(@Break)m 240 fnt1 +796 12421(;)m 908(these)s 1455(are)s 1802(ignored.)s 240 fnt5 +0 11628(3.5.)m 471(@Space)s +[ /Dest /LOUTspace /DEST pdfmark +240 fnt1 480 11151(The)m 220 fnt2 +911 11148(@Space)m 240 fnt1 1812 11151(symbol)m +[ /Dest /LOUT19_4263_pre_spac_1 /DEST pdfmark +2576(changes)s 3402(the)s +3754(v)s 6(alue)k 4326(of)s 4601(the)s 220 fnt2 +4953 11148(s)m 240 fnt1 5120 11151(unit)m 5556(of)s 5831(measurement)s +7169(\(Section)s +[ /Dest /LOUT19_4263_pre_spac_2 /DEST pdfmark +8026(3.2\))s 8458(within)s 0 10863(its)m 276(right)s +787(parameter)s 1801(to)s 2040(the)s 2388(v)s 6(alue)k +2956(gi)s 6(v)k 3(en)k 3536(by)s 3830(the)s +4178(left)s 4555(parameter:)s 220 fnt2 480 10362(1c @Space { a b c d })m 240 fnt1 +0 9866(has)m 370(result)s 480 9413(a)m 1153(b)s 1833(c)s +2499(d)s 0 8960(As)m 311(for)s 643(the)s 220 fnt2 +985 8957(@Break)m 240 fnt1 1835 8960(symbol,)m 2641(the)s 2982(left)s +3353(parameter)s 4361(of)s 220 fnt2 4626 8957(@Space)m 240 fnt1 +5517 8960(may)m 5976(be)s 6252(gi)s 6(v)k 3(en)k 6826(relati)s 6(v)k 3(e)k 7582(to)s 7815(the)s -8156(enclosing)s 220 fnt2 0 12008(s)m 240 fnt1 163 12011(unit,)m +8156(enclosing)s 220 fnt2 0 8669(s)m 240 fnt1 163 8672(unit,)m 642(and)s 1046(it)s 1238(may)s 1704(include)s 2464(a)s 2630(g)s 1(ap)k 3028(mode.)s 3724(Note)s 4245(that)s -4663(the)s 220 fnt2 5011 12008(@F)m 6(ont)k 240 fnt1 -5723 12011(symbol)m 6483(also)s 6921(sets)s 7330(the)s 220 fnt2 -7678 12008(s)m 240 fnt1 7841 12011(unit.)m 480 11637(The)m 906(left)s -1280(parameter)s 2292(of)s 2560(the)s 220 fnt2 2906 11634(@Space)m -240 fnt1 3800 11637(symbol)m 4558(may)s 5021(also)s 5456(hold)s +4663(the)s 220 fnt2 5011 8669(@F)m 6(ont)k 240 fnt1 +5723 8672(symbol)m 6483(also)s 6921(sets)s 7330(the)s 220 fnt2 +7678 8669(s)m 240 fnt1 7841 8672(unit.)m 480 8298(The)m 906(left)s +1280(parameter)s 2292(of)s 2560(the)s 220 fnt2 2906 8295(@Space)m +240 fnt1 3800 8298(symbol)m 4558(may)s 5021(also)s 5456(hold)s 5938(an)s 3(y)k 6332(one)s 6732(of)s 7000(the)s 7346(\207v)s 3(e)k 7755(special)s 8470(v)s 6(alues)k -220 fnt2 0 11346(lout)m 240 fnt1 349 11349(,)m 220 fnt2 -461 11346(compress)m 240 fnt1 1406 11349(,)m 220 fnt2 1518 11346(separ)m 2(ate)k -240 fnt1 2362 11349(,)m 220 fnt2 2474 11346(troff)m 240 fnt1 -2849 11349(,)m 2961(and)s 220 fnt2 3371 11346(te)m 6(x)k -240 fnt1 3656 11349(,)m 3768(which)s 4415(control)s 5152(the)s +220 fnt2 0 8007(lout)m 240 fnt1 349 8010(,)m 220 fnt2 +461 8007(compress)m 240 fnt1 1406 8010(,)m 220 fnt2 1518 8007(separ)m 2(ate)k +240 fnt1 2362 8010(,)m 220 fnt2 2474 8007(troff)m 240 fnt1 +2849 8010(,)m 2961(and)s 220 fnt2 3371 8007(te)m 6(x)k +240 fnt1 3656 8010(,)m 3768(which)s 4415(control)s 5152(the)s 5505(w)s 2(ay)k 5962(in)s 6210(which)s 6857(Lout)s -7374(treats)s 7946(white)s 8539(space)s 0 11061(separating)m 1047(tw)s 2(o)k -1470(objects.)s 2324(The)s 2764(names)s 220 fnt2 3439 11058(troff)m -240 fnt1 3887 11061(and)m 220 fnt2 4304 11058(te)m 6(x)k -240 fnt1 4661 11061(indicate)m 5486(that)s 5917(the)s 6278(beha)s 4(viour)k -7303(of)s 7587(these)s 8147(options)s 8916(is)s 0 10773(inspired)m +7374(treats)s 7946(white)s 8539(space)s 0 7722(separating)m 1047(tw)s 2(o)k +1470(objects.)s 2324(The)s 2764(names)s 220 fnt2 3439 7719(troff)m +240 fnt1 3887 7722(and)m 220 fnt2 4304 7719(te)m 6(x)k +240 fnt1 4661 7722(indicate)m 5486(that)s 5917(the)s 6278(beha)s 4(viour)k +7303(of)s 7587(these)s 8147(options)s 8916(is)s 0 7434(inspired)m 828(by)s 1122(these)s 1669(other)s 2220(document)s 3224(formatting)s -4285(systems.)s 480 10399(The)m 897(def)s 2(ault)k 1607(setting,)s -220 fnt2 2339 10396(lout)m 240 fnt1 2688 10399(,)m 2784(produces)s +4285(systems.)s 480 7060(The)m 897(def)s 2(ault)k 1607(setting,)s +220 fnt2 2339 7057(lout)m 240 fnt1 2688 7060(,)m 2784(produces)s 3687(as)s 3926(man)s 3(y)k 4498(spaces)s 5161(in)s 5393(the)s 5729(output)s 6390(as)s 6629(there)s 7150(are)s 7486(in)s 7717(the)s 8054(input.)s 8698(The)s 220 fnt2 -0 10108(compress)m 240 fnt1 1017 10111(setting)m 1719(causes)s 2407(all)s +0 6769(compress)m 240 fnt1 1017 6772(setting)m 1719(causes)s 2407(all)s 2712(sequences)s 3746(of)s 4029(tw)s 2(o)k 4452(or)s 4723(more)s 5283(white)s 5882(space)s 6482(characters)s 7512(to)s -7764(be)s 8058(treated)s 8778(the)s 0 9823(same)m 556(as)s +7764(be)s 8058(treated)s 8778(the)s 0 6484(same)m 556(as)s 815(one)s 1227(white)s 1823(space)s 2419(character)s 13(.)k -3454(The)s 220 fnt2 3891 9820(separ)m 2(ate)k 240 fnt1 -4804 9823(setting)m 5504(is)s 5723(lik)s 2(e)k 220 fnt2 -6144 9820(compress)m 240 fnt1 7159 9823(b)m 4(ut)k 7530(also)s -7977(causes)s 8662(zero)s 0 9535(white)m 587(spaces)s 1263(between)s +3454(The)s 220 fnt2 3891 6481(separ)m 2(ate)k 240 fnt1 +4804 6484(setting)m 5504(is)s 5723(lik)s 2(e)k 220 fnt2 +6144 6481(compress)m 240 fnt1 7159 6484(b)m 4(ut)k 7530(also)s +7977(causes)s 8662(zero)s 0 6196(white)m 587(spaces)s 1263(between)s 2118(tw)s 2(o)k 2529(objects)s 3258(\(b)s 4(ut)k 3700(not)s 4067(within)s 4736(one)s 5138(w)s 2(ord\))k 5757(to)s 5997(be)s 6280(treated)s 6988(the)s 7337(same)s -7885(as)s 8136(one)s 8539(white)s 0 9247(space)m 587(character)s 13(.)k -480 8873(The)m 220 fnt2 902 8870(troff)m 240 fnt1 1330 8873(setting)m +7885(as)s 8136(one)s 8539(white)s 0 5908(space)m 587(character)s 13(.)k +480 5534(The)m 220 fnt2 902 5531(troff)m 240 fnt1 1330 5534(setting)m 2013(is)s 2216(the)s 2557(same)s 3097(as)s 220 fnt2 -3340 8870(lout)m 240 fnt1 3742 8873(e)m 3(xcept)k 4416(that)s +3340 5531(lout)m 240 fnt1 3742 5534(e)m 3(xcept)k 4416(that)s 4828(where)s 6(v)k 3(er)k 5761(a)s 5920(sentence)s 6792(ends)s 7275(at)s 7500(the)s 7841(end)s 8238(of)s -8502(a)s 8661(line,)s 0 8585(one)m 415(e)s 3(xtra)k +8502(a)s 8661(line,)s 0 5246(one)m 415(e)s 3(xtra)k 962(space)s 1562(is)s 1785(added.)s 2535(F)s 3(ormally)k 15(,)k 3513(when)s 4102(tw)s 2(o)k 4525(objects)s 5266(are)s 5627(separated)s 6600(by)s 6907(white)s 7507(space)s 8108(characters)s -0 8297(which)m 660(include)s 1439(at)s 1689(least)s 2205(one)s +0 4958(which)m 660(include)s 1439(at)s 1689(least)s 2205(one)s 2625(ne)s 6(wline)k 3451(character)s 9(,)k 4442(and)s 4864(the)s 5231(\207rst)s 5680(object)s 6343(is)s 6572(a)s 6756(w)s 2(ord)k 7323(ending)s 8046(in)s 8308(an)s 3(y)k -8724(one)s 0 8009(of)m 288(a)s 471(certain)s 1194(set)s +8724(one)s 0 4670(of)m 288(a)s 471(certain)s 1194(set)s 1536(of)s 1824(sequences)s 2862(of)s 3150(characters,)s 4241(the)s 4606(e)s 3(xtra)k 5157(space)s 5761(is)s 5988(added.)s 6741(The)s 7186(set)s 7528(of)s 7816(sequences)s 8855(of)s -0 7721(characters)m 1025(depends)s 1868(on)s 2173(the)s 2528(current)s +0 4382(characters)m 1025(depends)s 1868(on)s 2173(the)s 2528(current)s 3272(language)s 4199(and)s 4610(is)s 4828(de\207ned)s 5598(in)s -5849(the)s 220 fnt2 6204 7718(langdef)m 240 fnt1 6987 7721(for)m -7333(that)s 7758(language)s 8686(\(see)s 0 7433(Section)m 774(3.10\).)s -480 7059(The)m 220 fnt2 930 7056(te)m 6(x)k 240 fnt1 -1297 7059(option)m 1989(is)s 2221(the)s 2592(most)s 3139(complicated.)s -4494(First,)s 5060(the)s 220 fnt2 5430 7056(compress)m 240 fnt1 -6458 7059(option)m 7149(is)s 7382(applied.)s 8272(Then,)s 8894(at)s -0 6771(e)m 6(v)k 3(ery)k 576(sentence)s 1455(ending,)s +5849(the)s 220 fnt2 6204 4379(langdef)m 240 fnt1 6987 4382(for)m +7333(that)s 7758(language)s 8686(\(see)s 0 4094(Section)m 774(3.10\).)s +480 3720(The)m 220 fnt2 930 3717(te)m 6(x)k 240 fnt1 +1297 3720(option)m 1989(is)s 2221(the)s 2592(most)s 3139(complicated.)s +4494(First,)s 5060(the)s 220 fnt2 5430 3717(compress)m 240 fnt1 +6458 3720(option)m 7149(is)s 7382(applied.)s 8272(Then,)s 8894(at)s +0 3432(e)m 6(v)k 3(ery)k 576(sentence)s 1455(ending,)s 2213(whether)s 3043(or)s 3302(not)s 3667(at)s 3899(the)s 4246(end)s 4650(of)s 4921(a)s 5086(line,)s 5551(one)s 5952(e)s 3(xtra)k 6486(space)s 7073(is)s 7282(added.)s -8018(A)s 8247(sentence)s 0 6483(ending)m 709(is)s 923(de\207ned)s -1690(as)s 1944(for)s 220 fnt2 2286 6480(troff)m 240 fnt1 -2726 6483(e)m 3(xcept)k 3411(that,)s 3880(in)s 4127(addition)s +8018(A)s 8247(sentence)s 0 3144(ending)m 709(is)s 923(de\207ned)s +1690(as)s 1944(for)s 220 fnt2 2286 3141(troff)m 240 fnt1 +2726 3144(e)m 3(xcept)k 3411(that,)s 3880(in)s 4127(addition)s 4972(to)s 5215(the)s 5568(preceding)s 6568(w)s 2(ord)k 7120(ha)s 4(ving)k 7825(to)s 8068(end)s 8476(in)s -8724(one)s 0 6195(of)m 268(a)s 431(certain)s 1134(set)s +8724(one)s 0 2856(of)m 268(a)s 431(certain)s 1134(set)s 1456(of)s 1724(sequences)s 2742(of)s 3010(characters,)s 4081(the)s 4426(character)s 5357(preceding)s 6350(that)s 6765(sequence)s 7695(must)s -8217(e)s 3(xist)k 8722(and)s 0 5907(must)m 525(be)s +8217(e)s 3(xist)k 8722(and)s 0 2568(must)m 525(be)s 807(a)s 973(lo)s 6(wer)k 4(-case)k 2053(letter)s 13(.)k 2693(A)s 2924(character)s 3858(is)s 4068(a)s 4234(lo)s 6(wer)k 4(-case)k 5314(letter)s 5864(if,)s 6116(in)s 6359(the)s 6707(Lout)s -7219(Character)s 8208(Mapping)s 0 5619(\207le)m 393(\(Section)s 1278(3.3\))s +7219(Character)s 8208(Mapping)s 0 2280(\207le)m 393(\(Section)s 1278(3.3\))s 1738(associated)s 2810(with)s 3325(the)s 3705(current)s 4473(font,)s 4997(an)s 5313(upper)s 4(-case)k 6432(equi)s 6(v)k 6(alent)k -7508(of)s 7811(the)s 8192(character)s 0 5331(is)m 210(de\207ned.)s -240 fnt5 0 4588(3.6.)m 471(@YUnit,)s 1432(@ZUnit,)s 2380(@CurrYUnit,)s +7508(of)s 7811(the)s 8192(character)s 0 1992(is)m 210(de\207ned.)s +240 fnt5 0 1249(3.6.)m 471(@YUnit,)s 1432(@ZUnit,)s 2380(@CurrYUnit,)s 3859(and)s 4300(@CurrZUnit)s [ /Dest /LOUTyunit /DEST pdfmark -240 fnt1 480 4117(The)m 220 fnt2 -917 4114(@YUnit)m 240 fnt1 1741 4117(symbol)m -[ /Dest /LOUT19_4262_pre_yuni_1 /DEST pdfmark +240 fnt1 480 778(The)m 220 fnt2 +917 775(@YUnit)m 240 fnt1 1741 778(symbol)m +[ /Dest /LOUT19_4263_pre_yuni_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_yuni_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_yuni_2 /DEST pdfmark 2510(changes)s 3342(the)s 3699(v)s 6(alue)k 4277(of)s 4557(the)s 220 fnt2 -4915 4114(y)m 240 fnt1 5092 4117(unit)m 5534(of)s 5814(measurement)s -7158(\(Section)s 8020(3.2\))s 8458(within)s 0 3829(its)m 276(right)s +4915 775(y)m 240 fnt1 5092 778(unit)m 5534(of)s 5814(measurement)s +7158(\(Section)s 8020(3.2\))s 8458(within)s 0 490(its)m 276(right)s 787(parameter)s 1801(to)s 2040(the)s 2388(v)s 6(alue)k 2956(gi)s 6(v)k 3(en)k 3536(by)s 3830(the)s -4178(left)s 4555(parameter:)s 220 fnt2 480 3328(1c @YUnit { ...)m 13( })k -240 fnt1 0 2834(ensures)m 760(that)s 1170(the)s 1510(v)s 6(alue)k -2070(of)s 220 fnt2 2333 2831(1y)m 240 fnt1 2615 2834(within)m -3275(the)s 3615(right)s 4118(parameter)s 5124(will)s 5542(be)s -220 fnt2 5816 2831(1c)m 240 fnt1 6043 2834(.)m 6199(The)s -220 fnt2 6619 2831(@ZUnit)m 240 fnt1 7413 2834(symbol)m 8165(is)s -8366(similar)s 9(,)k 0 2546(setting)m 688(the)s 1034(v)s 6(alue)k -1600(of)s 1869(the)s 220 fnt2 2215 2543(z)m 240 fnt1 -2376 2546(unit)m 2806(in)s 3047(its)s 3321(right)s 3830(parameter)s 13(.)k -4933(Both)s 5453(units)s 5967(ha)s 4(v)k 3(e)k -6466(def)s 2(ault)k 7185(v)s 6(alue)k 7751(zero.)s -8324(The)s 8749(left)s 0 2258(parameter)m 1011(may)s 1473(not)s -1836(include)s 2592(a)s 2755(g)s 1(ap)k 3149(mode,)s -3784(nor)s 4160(may)s 4622(it)s 4811(use)s 5182(the)s -220 fnt2 5526 2255(w)m 240 fnt1 5682 2258(,)m 220 fnt2 -5786 2255(b)m 240 fnt1 5900 2258(,)m 220 fnt2 6003 2255(r)m -240 fnt1 6076 2258(,)m 6180(or)s 6435(of)s 6702(course)s -220 fnt2 7379 2255(d)m 240 fnt1 7545 2258(units,)m 8114(b)s 4(ut)k -8472(it)s 8660(may)s 0 1970(be)m 3(gin)k 577(with)s -220 fnt2 1050 1967(+)m 240 fnt1 1220 1970(or)m 220 fnt2 -1470 1967(-)m 240 fnt1 1584 1970(to)m 1814(indicate)s 2616(that)s -3025(v)s 6(alue)k 3583(is)s 3784(to)s 4014(be)s -4286(added)s 4907(to)s 5136(or)s 5386(subtracted)s 6416(from)s -6931(the)s 7269(current)s 7996(v)s 6(alue.)k 8662(An)s 3(y)k -0 1682(ne)m 3(g)k 1(ati)k 6(v)k 3(e)k -853(result)s 1443(of)s 1714(using)s 220 fnt2 2286 1679(-)m -240 fnt1 2410 1682(will)m 2836(be)s 3118(silently)s 3875(replaced)s -4742(by)s 5036(zero.)s 480 1308(The)m 220 fnt2 913 1305(@CurrYUnit)m -240 fnt1 2159 1308(and)m 220 fnt2 2569 1305(@CurrZUnit)m 240 fnt1 -3803 1308(symbols)m 4658(report)s 5294(the)s 5648(v)s 6(alue)k -6222(of)s 6499(the)s 220 fnt2 6853 1305(y)m 240 fnt1 -7027 1308(and)m 220 fnt2 7437 1305(z)m 240 fnt1 7607 1308(units,)m -8185(in)s 8434(points,)s 0 1020(truncated)m 947(to)s 1186(the)s -1534(nearest)s 2270(inte)s 3(ger)k 13(.)k 3081(F)s 3(or)k -3470(e)s 3(xample,)k 220 fnt2 480 519(1i @YUnit { )m 11(The current v)k 5(alue of the y unit is @CurrYUnit })k - +4178(left)s 4555(parameter:)s grestore gsave 1417 -15423 translate @@ -12032,110 +12051,125 @@ gsave 1871(@YUnit,)s 2742(@ZUnit,)s 3613(@CurrYUnit,)s 4950(and)s 5376(@CurrZUnit)s 240 fnt5 10248 -1583(47)m gsave 1417 -15423 translate -240 fnt1 9066 13387 0 13278 240 288 60 LoutGraphic +240 fnt1 9066 13387 0 13283 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -0 13224(produces)m 480 12721(The)m -908(current)s 1644(v)s 6(alue)k 2212(of)s 2483(the)s -2831(y)s 3005(unit)s 3437(is)s 3647(72p)s 0 12218(since)m -547(there)s 1080(are)s 1427(72)s 1721(points)s 2357(in)s -2600(one)s 3002(inch)s 3471(\(at)s 3782(least,)s 4326(Lout)s -4838(thinks)s 5474(there)s 6007(are\).)s 480 11844(These)m 1123(units)s -1655(are)s 2018(not)s 2400(used)s 2913(internally)s 3898(by)s -4208(Lout.)s 4840(The)s 3(y)k 5399(are)s 5762(supplied)s -6647(as)s 6913(part)s 7360(of)s 7647(the)s 8011(style)s -8534(infor)s 8998(-)s 0 11556(mation)m 731(for)s 1080(the)s -1439(con)s 9(v)k 3(enience)k 2690(of)s 2972(application)s -4102(packages.)s 5154(F)s 3(or)k 5554(e)s 3(xample,)k -6479(the)s 6838(Eq)s 7173(equation)s 8065(formatting)s 0 11268(package)m -840(uses)s 1303(them)s 1841(to)s 2080(\207ne-)s 2507(tune)s -2975(the)s 3323(appearance)s 4454(of)s 4725(equations.)s 240 fnt5 -0 10475(3.7.)m 471(@SetColour)s 1788(and)s 2229(@SetColor)s +220 fnt2 480 13226(1c @YUnit { ...)m 13( })k +240 fnt1 0 12732(ensures)m 760(that)s 1170(the)s 1510(v)s 6(alue)k +2070(of)s 220 fnt2 2333 12729(1y)m 240 fnt1 2615 12732(within)m +3275(the)s 3615(right)s 4118(parameter)s 5124(will)s 5542(be)s +220 fnt2 5816 12729(1c)m 240 fnt1 6043 12732(.)m 6199(The)s +220 fnt2 6619 12729(@ZUnit)m 240 fnt1 7413 12732(symbol)m 8165(is)s +8366(similar)s 9(,)k 0 12444(setting)m 688(the)s 1034(v)s 6(alue)k +1600(of)s 1869(the)s 220 fnt2 2215 12441(z)m 240 fnt1 +2376 12444(unit)m 2806(in)s 3047(its)s 3321(right)s 3830(parameter)s 13(.)k +4933(Both)s 5453(units)s 5967(ha)s 4(v)k 3(e)k +6466(def)s 2(ault)k 7185(v)s 6(alue)k 7751(zero.)s +8324(The)s 8749(left)s 0 12156(parameter)m 1011(may)s 1473(not)s +1836(include)s 2592(a)s 2755(g)s 1(ap)k 3149(mode,)s +3784(nor)s 4160(may)s 4622(it)s 4811(use)s 5182(the)s +220 fnt2 5526 12153(w)m 240 fnt1 5682 12156(,)m 220 fnt2 +5786 12153(b)m 240 fnt1 5900 12156(,)m 220 fnt2 6003 12153(r)m +240 fnt1 6076 12156(,)m 6180(or)s 6435(of)s 6702(course)s +220 fnt2 7379 12153(d)m 240 fnt1 7545 12156(units,)m 8114(b)s 4(ut)k +8472(it)s 8660(may)s 0 11868(be)m 3(gin)k 577(with)s +220 fnt2 1050 11865(+)m 240 fnt1 1220 11868(or)m 220 fnt2 +1470 11865(-)m 240 fnt1 1584 11868(to)m 1814(indicate)s 2616(that)s +3025(v)s 6(alue)k 3583(is)s 3784(to)s 4014(be)s +4286(added)s 4907(to)s 5136(or)s 5386(subtracted)s 6416(from)s +6931(the)s 7269(current)s 7996(v)s 6(alue.)k 8662(An)s 3(y)k +0 11580(ne)m 3(g)k 1(ati)k 6(v)k 3(e)k +853(result)s 1443(of)s 1714(using)s 220 fnt2 2286 11577(-)m +240 fnt1 2410 11580(will)m 2836(be)s 3118(silently)s 3875(replaced)s +4742(by)s 5036(zero.)s 480 11206(The)m 220 fnt2 913 11203(@CurrYUnit)m +240 fnt1 2159 11206(and)m 220 fnt2 2569 11203(@CurrZUnit)m 240 fnt1 +3803 11206(symbols)m 4658(report)s 5294(the)s 5648(v)s 6(alue)k +6222(of)s 6499(the)s 220 fnt2 6853 11203(y)m 240 fnt1 +7027 11206(and)m 220 fnt2 7437 11203(z)m 240 fnt1 7607 11206(units,)m +8185(in)s 8434(points,)s 0 10918(truncated)m 947(to)s 1186(the)s +1534(nearest)s 2270(inte)s 3(ger)k 13(.)k 3081(F)s 3(or)k +3470(e)s 3(xample,)k 220 fnt2 480 10417(1i @YUnit { )m 11(The current v)k 5(alue of the y unit is @CurrYUnit })k +240 fnt1 0 9919(produces)m 480 9416(The)m 908(current)s 1644(v)s 6(alue)k +2212(of)s 2483(the)s 2831(y)s 3005(unit)s 3437(is)s +3647(72p)s 0 8913(since)m 547(there)s 1080(are)s 1427(72)s +1721(points)s 2357(in)s 2600(one)s 3002(inch)s 3471(\(at)s +3782(least,)s 4326(Lout)s 4838(thinks)s 5474(there)s 6007(are\).)s +480 8539(These)m 1123(units)s 1655(are)s 2018(not)s 2400(used)s +2913(internally)s 3898(by)s 4208(Lout.)s 4840(The)s 3(y)k +5399(are)s 5762(supplied)s 6647(as)s 6913(part)s 7360(of)s +7647(the)s 8011(style)s 8534(infor)s 8998(-)s 0 8251(mation)m +731(for)s 1080(the)s 1439(con)s 9(v)k 3(enience)k +2690(of)s 2972(application)s 4102(packages.)s 5154(F)s 3(or)k +5554(e)s 3(xample,)k 6479(the)s 6838(Eq)s 7173(equation)s +8065(formatting)s 0 7963(package)m 840(uses)s 1303(them)s 1841(to)s +2080(\207ne-)s 2507(tune)s 2975(the)s 3323(appearance)s 4454(of)s +4725(equations.)s 240 fnt5 0 7170(3.7.)m 471(@SetColour)s 1788(and)s +2229(@SetColor)s [ /Dest /LOUTcolour /DEST pdfmark -240 fnt1 -480 10043(The)m 220 fnt2 927 10040(@SetColour)m 240 fnt1 2204 10043(and)m -220 fnt2 2628 10040(@SetColor)m 240 fnt1 3783 10043(symbols,)m -[ /Dest /LOUT19_4262_pre_colo_1 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_colo_2 /DEST pdfmark -4708(which)s -5370(ha)s 4(v)k 3(e)k 5891(identical)s 6788(ef)s 6(fect,)k -7451(return)s 8098(their)s 8615(right)s 0 9755(parameter)m 1047(in)s -1323(the)s 1704(colour)s 2408(speci\207ed)s 3349(by)s 3676(their)s -4206(left)s 4617(parameter)s 13(.)k 5755(The)s 6216(form)s -6773(of)s 7077(the)s 7458(left)s 7868(parameter)s 8916(is)s -0 9467(implementation-dependent;)m 2693(in)s 2954(Basser)s 3670(Lout)s 4200(it)s -4410(must)s 4954(be)s 5254(an)s 5555(object)s 6218(whose)s -6904(v)s 6(alue)k 7490(is)s 7719(a)s 7903(sequence)s -8855(of)s 0 9179(w)m 2(ords)k 634(comprising)s 1763(a)s -1929(PostScript)s 2971(command)s 3973(for)s 4311(setting)s 5001(colour)s 13(.)k -5763(F)s 3(or)k 6152(e)s 3(xample,)k 220 fnt2 -480 8678({ 1.0 0.0 0.0 setrgbcolor } @SetColour { hello)m 8(, w)k 2(or)k -3(ld })k 240 fnt1 -0 8179(produces)m 915(the)s 1263(red)s 1626(result)s 1.0 0.0 0.0 setrgbcolor -480 7676(hello,)m 1065(w)s 2(orld)k 0.0 0.0 0.0 LoutSetRGBColor 0 7192(Of)m -322(course,)s 1050(a)s 1213(colour)s 1881(output)s 2550(de)s 6(vice)k -3222(is)s 3429(needed)s 4162(to)s 4398(see)s 4756(the)s -5101(ef)s 6(fect;)k 5747(on)s 6041(a)s 6204(monochrome)s -7520(de)s 6(vice)k 8191(the)s 8536(result)s 0 6904(will)m -426(be)s 708(some)s 1269(shade)s 1870(of)s 2141(gre)s 3(y)k 15(.)k -480 6530(The)m 220 fnt2 901 6527(@SetColour)m 240 fnt1 2151 6530(command)m -3145(accepts)s 3892(the)s 4232(special)s 4943(v)s 6(alue)k -220 fnt2 5504 6527(nochange)m 240 fnt1 6512 6530(for)m 6843(the)s -7183(left)s 7553(parameter)s 13(.)k 8650(This)s 0 6242(v)m 6(alue)k +240 fnt1 480 6738(The)m 220 fnt2 927 6735(@SetColour)m +240 fnt1 2204 6738(and)m 220 fnt2 2628 6735(@SetColor)m 240 fnt1 +3783 6738(symbols,)m +[ /Dest /LOUT19_4263_pre_colo_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_colo_2 /DEST pdfmark +4708(which)s 5370(ha)s 4(v)k 3(e)k +5891(identical)s 6788(ef)s 6(fect,)k 7451(return)s 8098(their)s +8615(right)s 0 6450(parameter)m 1047(in)s 1323(the)s 1704(colour)s +2408(speci\207ed)s 3349(by)s 3676(their)s 4206(left)s 4617(parameter)s 13(.)k +5755(The)s 6216(form)s 6773(of)s 7077(the)s 7458(left)s +7868(parameter)s 8916(is)s 0 6162(implementation-dependent;)m 2693(in)s 2954(Basser)s +3670(Lout)s 4200(it)s 4410(must)s 4954(be)s 5254(an)s +5555(object)s 6218(whose)s 6904(v)s 6(alue)k 7490(is)s +7719(a)s 7903(sequence)s 8855(of)s 0 5874(w)m 2(ords)k +634(comprising)s 1763(a)s 1929(PostScript)s 2971(command)s 3973(for)s +4311(setting)s 5001(colour)s 13(.)k 5763(F)s 3(or)k +6152(e)s 3(xample,)k 220 fnt2 480 5373({ 1.0 0.0 0.0 setrgbcolor } @SetColour { hello)m 8(, w)k 2(or)k -3(ld })k +240 fnt1 0 4874(produces)m 915(the)s 1263(red)s 1626(result)s +1.0 0.0 0.0 setrgbcolor 480 4371(hello,)m 1065(w)s 2(orld)k 0.0 0.0 0.0 LoutSetRGBColor +0 3887(Of)m 322(course,)s 1050(a)s 1213(colour)s 1881(output)s +2550(de)s 6(vice)k 3222(is)s 3429(needed)s 4162(to)s +4398(see)s 4756(the)s 5101(ef)s 6(fect;)k 5747(on)s +6041(a)s 6204(monochrome)s 7520(de)s 6(vice)k 8191(the)s +8536(result)s 0 3599(will)m 426(be)s 708(some)s 1269(shade)s +1870(of)s 2141(gre)s 3(y)k 15(.)k 480 3225(The)m +220 fnt2 901 3222(@SetColour)m 240 fnt1 2151 3225(command)m 3145(accepts)s +3892(the)s 4232(special)s 4943(v)s 6(alue)k 220 fnt2 +5504 3222(nochange)m 240 fnt1 6512 3225(for)m 6843(the)s 7183(left)s +7553(parameter)s 13(.)k 8650(This)s 0 2937(v)m 6(alue)k 574(causes)s 1256(the)s 1611(right)s 2129(parameter)s 3150(to)s 3396(ha)s 4(v)k 3(e)k 3904(the)s 4258(colour)s 4936(it)s 5135(w)s 2(ould)k 5797(ha)s 4(v)k 3(e)k -6305(had)s 6716(without)s 7514(the)s 220 fnt2 7869 6239(@SetColour)m -240 fnt1 0 5954(command.)m 1108(An)s 1458(empty)s 2110(left)s +6305(had)s 6716(without)s 7514(the)s 220 fnt2 7869 2934(@SetColour)m +240 fnt1 0 2649(command.)m 1108(An)s 1458(empty)s 2110(left)s 2487(parameter)s 3501(also)s 3939(has)s 4309(this)s 4705(ef)s 6(fect.)k -480 5580(There)m 1132(is)s 1382(no)s 1715(def)s 2(ault)k +480 2275(There)m 1132(is)s 1382(no)s 1715(def)s 2(ault)k 2476(colour)s 9(,)k 3225(so)s 3530(the)s 3918(user)s 4416(must)s 4981(ensure)s 5701(that)s 6159(the)s 6546(root)s 7031(g)s 1(alle)k 3(y)k 7705(or)s 8004(each)s -8539(of)s 8850(its)s 0 5292(components)m 1208(is)s 1418(enclosed)s -2313(in)s 2556(a)s 220 fnt2 2722 5289(@SetColour)m 240 fnt1 -3979 5292(symbol)m 4739(whose)s 5407(left)s 5784(parameter)s 6798(is)s -7008(not)s 220 fnt2 7374 5289(nochange)m 240 fnt1 8330 5292(.)m -480 4918(Lout)m 1046(mak)s 2(es)k 1761(no)s 2109(attempt)s +8539(of)s 8850(its)s 0 1987(components)m 1208(is)s 1418(enclosed)s +2313(in)s 2556(a)s 220 fnt2 2722 1984(@SetColour)m 240 fnt1 +3979 1987(symbol)m 4739(whose)s 5407(left)s 5784(parameter)s 6798(is)s +7008(not)s 220 fnt2 7374 1984(nochange)m 240 fnt1 8330 1987(.)m +480 1613(Lout)m 1046(mak)s 2(es)k 1761(no)s 2109(attempt)s 2939(to)s 3233(understand)s 4396(colour)s 9(,)k 5159(it)s 5406(simply)s 6166(prints)s 6815(the)s 7218(PostScript)s 8315(or)s -8629(PDF)s 0 4630(commands)m 1082(when)s 1652(appropriate.)s 2897(This)s +8629(PDF)s 0 1325(commands)m 1082(when)s 1652(appropriate.)s 2897(This)s 3367(has)s 3731(the)s 4072(adv)s 6(antage)k 5086(of)s 5350(permitting)s 6392(access)s 7047(to)s 7279(an)s 3(y)k -7670(of)s 7934(PostScript')s 13(s)k 0 4342(colour)m 703(models)s +7670(of)s 7934(PostScript')s 13(s)k 0 1037(colour)m 703(models)s 1478(\(some)s 2150(require)s 2915(initialization)s 4210(which)s 4885(can)s -5306(be)s 5621(supplied)s 6522(using)s 220 fnt2 7127 4339(@PrependGr)m 2(aphic)k -240 fnt1 8940 4342(\),)m 0 4054(b)m 4(ut)k 373(the)s +5306(be)s 5621(supplied)s 6522(using)s 220 fnt2 7127 1034(@PrependGr)m 2(aphic)k +240 fnt1 8940 1037(\),)m 0 749(b)m 4(ut)k 373(the)s 733(disadv)s 6(antage)k 2044(of)s 2326(of)s 6(fering)k 3154(no)s 3459(w)s 2(ay)k 3922(to)s 4172(mak)s 2(e)k 4756(relati)s 6(v)k 3(e)k 5530(changes)s 6364(\(`as)s 6783(before)s 7461(only)s 7953(redder)s 9(,)k 16(')k -8722(and)s 0 3766(so)m 266(on\).)s 480 3392(F)m 3(or)k +8722(and)s 0 461(so)m 266(on\).)s 480 87(F)m 3(or)k 870(those)s 1432(who)s 1899(wish)s 2409(to)s 2649(obtain)s 3305(colour)s 3977(without)s 4769(w)s 2(orking)k 5619(v)s 3(ery)k -6096(hard,)s 6629(the)s 220 fnt2 6978 3389(setrgbcolor)m 240 fnt1 -8124 3392(command)m 0 3104(used)m 496(abo)s 3(v)k 3(e)k -1117(is)s 1325(a)s 4(v)k 6(ailable)k 2232(in)s -2474(e)s 6(v)k 3(ery)k 3048(v)s 3(ersion)k -3805(of)s 4075(PostScript,)s 5162(requires)s 5981(no)s 6273(initialization,)s -7584(and)s 7987(is)s 8196(simple)s 8887(to)s 0 2816(use.)m -485(The)s 915(three)s 1450(numbers,)s 2384(which)s 3028(range)s -3617(from)s 4143(0.0)s 4501(to)s 4742(1.0,)s 5151(determine)s -6164(the)s 6515(intensity)s 7394(of)s 7667(red,)s 8081(green,)s -8722(and)s 0 2528(blue)m 468(respecti)s 6(v)k 3(ely)k 15(.)k -1762(Some)s 2363(useful)s 3002(v)s 6(alues)k 3658(for)s -3996(the)s 4344(left)s 4721(parameter)s 5735(are)s 220 fnt2 -480 1963(1.0)m 838(0.0)s 1196(0.0)s 1554(setrgbcolor)s 240 fnt6 -2979 1968(r)m 8(ed)k 220 fnt2 480 1644(0.0)m 838(1.0)s -1196(0.0)s 1554(setrgbcolor)s 240 fnt6 2979 1649(gr)m 8(een)k -220 fnt2 480 1314(0.0)m 838(0.0)s 1196(1.0)s 1554(setrgbcolor)s -240 fnt6 2979 1319(blue)m 220 fnt2 480 984(1.0)m 838(1.0)s -1196(1.0)s 1554(setrgbcolor)s 240 fnt6 2979 989(white)m 220 fnt2 -480 665(0.5)m 837(0.5)s 1194(0.5)s 1551(setrgbcolor)s 240 fnt6 -2979 670(gr)m 8(e)k 7(y)k 220 fnt2 480 335(0.0)m -838(0.0)s 1196(0.0)s 1554(setrgbcolor)s 240 fnt6 2979 340(blac)m 4(k)k - +6096(hard,)s 6629(the)s 220 fnt2 6978 84(setrgbcolor)m 240 fnt1 +8124 87(command)m grestore gsave 1417 -15423 translate @@ -12190,30 +12224,50 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -0 13205(Colouring)m 1042(an)s 1344(object)s -2007(white)s 2613(is)s 2841(useful)s 3499(for)s 3856(producing)s -4899(an)s 5200(empty)s 5871(space)s 6477(whose)s 7164(size)s -7609(is)s 7838(that)s 8275(of)s 8565(some)s 0 12917(object.)m -480 12543(Since)m 1076(the)s 1434(introduction)s 2670(of)s 2951(te)s 3(xtures)k +0 13205(used)m 496(abo)s 3(v)k 3(e)k +1117(is)s 1325(a)s 4(v)k 6(ailable)k 2232(in)s +2474(e)s 6(v)k 3(ery)k 3048(v)s 3(ersion)k +3805(of)s 4075(PostScript,)s 5162(requires)s 5981(no)s 6273(initialization,)s +7584(and)s 7987(is)s 8196(simple)s 8887(to)s 0 12917(use.)m +485(The)s 915(three)s 1450(numbers,)s 2384(which)s 3028(range)s +3617(from)s 4143(0.0)s 4501(to)s 4742(1.0,)s 5151(determine)s +6164(the)s 6515(intensity)s 7394(of)s 7667(red,)s 8081(green,)s +8722(and)s 0 12629(blue)m 468(respecti)s 6(v)k 3(ely)k 15(.)k +1762(Some)s 2363(useful)s 3002(v)s 6(alues)k 3658(for)s +3996(the)s 4344(left)s 4721(parameter)s 5735(are)s 220 fnt2 +480 12064(1.0)m 838(0.0)s 1196(0.0)s 1554(setrgbcolor)s 240 fnt6 +2979 12069(r)m 8(ed)k 220 fnt2 480 11745(0.0)m 838(1.0)s +1196(0.0)s 1554(setrgbcolor)s 240 fnt6 2979 11750(gr)m 8(een)k +220 fnt2 480 11415(0.0)m 838(0.0)s 1196(1.0)s 1554(setrgbcolor)s +240 fnt6 2979 11420(blue)m 220 fnt2 480 11085(1.0)m 838(1.0)s +1196(1.0)s 1554(setrgbcolor)s 240 fnt6 2979 11090(white)m 220 fnt2 +480 10766(0.5)m 837(0.5)s 1194(0.5)s 1551(setrgbcolor)s 240 fnt6 +2979 10771(gr)m 8(e)k 7(y)k 220 fnt2 480 10436(0.0)m +838(0.0)s 1196(0.0)s 1554(setrgbcolor)s 240 fnt6 2979 10441(blac)m 4(k)k +240 fnt1 0 9880(Colouring)m 1042(an)s 1344(object)s 2007(white)s +2613(is)s 2841(useful)s 3499(for)s 3856(producing)s 4899(an)s +5200(empty)s 5871(space)s 6477(whose)s 7164(size)s 7609(is)s +7838(that)s 8275(of)s 8565(some)s 0 9592(object.)m 480 9218(Since)m +1076(the)s 1434(introduction)s 2670(of)s 2951(te)s 3(xtures)k 3765(to)s 4014(Lout)s 4536(in)s 4789(V)s 26(ersion)k 5587(3.27,)s 6124(direct)s 6737(use)s 7122(of)s 7403(PostScript)s -8455(colour)s 0 12255(setting)m 689(operations)s 1734(such)s 2228(as)s -220 fnt2 2476 12252(setrgbcolor)m 240 fnt1 3620 12255(is)m 3828(deprecated.)s +8455(colour)s 0 8930(setting)m 689(operations)s 1734(such)s 2228(as)s +220 fnt2 2476 8927(setrgbcolor)m 240 fnt1 3620 8930(is)m 3828(deprecated.)s 5025(Instead,)s 5820(Lout)s 6330(of)s 6(fers)k 6930(its)s 7204(o)s 6(wn)k 7666(v)s 3(ersions)k 8509(of)s -8778(the)s 0 11967(standard)m 868(PostScript)s 1910(colour)s 2581(setting)s -3271(operations:)s 2982 12 0 12 240 288 60 480 11231 LoutGr2 +8778(the)s 0 8642(standard)m 868(PostScript)s 1910(colour)s 2581(setting)s +3271(operations:)s 2982 12 0 12 240 288 60 480 7906 LoutGr2 LoutBox 0.0 0.0 0.0 LoutSetRGBColor fill grestore grestore -240 fnt8 624 11383(If)m 864(you)s 1264(want)s +240 fnt8 624 8058(If)m 864(you)s 1264(want)s 1794(this)s gsave -3462 11231 translate +3462 7906 translate 240 fnt1 3616 12 0 12 240 288 60 LoutGraphic gsave LoutBox 0.0 0.0 0.0 LoutSetRGBColor fill @@ -12222,24 +12276,24 @@ grestore grestore 3606(Y)s 22(ou)k 4011(should)s 4716(r)s 3(ather)k 5376(write)s 5920(this)s 220 fnt2 -624 10994(n)m 2(um)k 1096(setg)s 2(r)k 2(a)k 6(y)k +624 7669(n)m 2(um)k 1096(setg)s 2(r)k 2(a)k 6(y)k 3606(n)s 2(um)k 4078(LoutSetGr)s 2(a)k 6(y)k -624 10610(n)m 2(um)k 1096(n)s 2(um)k 1568(n)s 2(um)k +624 7285(n)m 2(um)k 1096(n)s 2(um)k 1568(n)s 2(um)k 2040(setrgbcolor)s 3606(n)s 2(um)k 4078(n)s 2(um)k -4550(n)s 2(um)k 5022(LoutSetRGBColor)s 624 10226(n)m 2(um)k +4550(n)s 2(um)k 5022(LoutSetRGBColor)s 624 6901(n)m 2(um)k 1096(n)s 2(um)k 1568(n)s 2(um)k 2040(sethsbcolor)s 3606(n)s 2(um)k 4078(n)s 2(um)k 4550(n)s 2(um)k 5022(LoutSetHSBColor)s gsave -480 9695 translate +480 6370 translate 240 fnt1 2982 12 0 12 240 288 60 LoutGraphic gsave LoutBox 0.0 0.0 0.0 LoutSetRGBColor fill grestore grestore -624 9842(n)m 2(um)k 1096(n)s 2(um)k +624 6517(n)m 2(um)k 1096(n)s 2(um)k 1568(n)s 2(um)k 2040(setcm)s 3(ykcolor)k gsave -3462 9695 translate +3462 6370 translate 240 fnt1 3616 12 0 12 240 288 60 LoutGraphic gsave @@ -12248,98 +12302,70 @@ grestore grestore 3606(n)s 2(um)k 4078(n)s 2(um)k 4550(n)s 2(um)k -5022(LoutSetCMYKColor)s 240 fnt1 0 9256(The)m 462(Lout)s 1008(v)s 3(ersions)k +5022(LoutSetCMYKColor)s 240 fnt1 0 5931(The)m 462(Lout)s 1008(v)s 3(ersions)k 1887(are)s 2268(equi)s 6(v)k 6(alent)k 3346(to)s 3619(the)s 4001(PostScript)s 5077(ones)s 5601(b)s 4(ut)k 5997(without)s 6822(the)s 7204(unw)s 2(anted)k 8225(ef)s 6(fect)k -8855(of)s 0 8968(causing)m 784(the)s 1132(current)s 1868(te)s 3(xture)k +8855(of)s 0 5643(causing)m 784(the)s 1132(current)s 1868(te)s 3(xture)k 2584(to)s 2823(be)s 3105(for)s 4(gotten.)k 240 fnt5 -0 8175(3.8.)m 471(@SetT)s 22(extur)k 4(e)k +0 4850(3.8.)m 471(@SetT)s 22(extur)k 4(e)k [ /Dest /LOUTtexture /DEST pdfmark 240 fnt1 -480 7743(The)m 220 fnt2 943 7740(@SetT)m 26(e)k 6(xture)k -240 fnt1 2295 7743(symbol)m -[ /Dest /LOUT19_4262_pre_text_1 /DEST pdfmark +480 4418(The)m 220 fnt2 943 4415(@SetT)m 26(e)k 6(xture)k +240 fnt1 2295 4418(symbol)m +[ /Dest /LOUT19_4263_pre_text_1 /DEST pdfmark 3091(returns)s 3841(its)s 4152(right)s 4699(parameter)s 5749(in)s 6028(the)s 6411(te)s 3(xture)k -7163(speci\207ed)s 8107(by)s 8437(its)s 8749(left)s 0 7455(parameter)m 13(.)k +7163(speci\207ed)s 8107(by)s 8437(its)s 8749(left)s 0 4130(parameter)m 13(.)k 1105(A)s 1335(te)s 3(xture)k 2051(is)s 2261(a)s 2427(pattern)s 3147(used)s 3644(when)s 4220(\207lling)s 4844(areas)s 5385(to)s 5624(get)s 5976(a)s 6142(te)s 3(xture)k 6858(rather)s 7474(than)s 7943(solid)s 8466(color)s 13(.)k -480 7081(In)m 736(the)s 1084(PostScript)s 2125(w)s 2(orld,)k +480 3756(In)m 736(the)s 1084(PostScript)s 2125(w)s 2(orld,)k 2788(te)s 3(xtures)k 3592(are)s 3938(called)s 4566(patterns,)s 5429(and)s 5832(the)s 6180(rele)s 6(v)k 6(ant)k -6997(PostScript)s 8038(commands)s 0 6793(use)m 390(this)s 801(terminology)s 15(.)k +6997(PostScript)s 8038(commands)s 0 3468(use)m 390(this)s 801(terminology)s 15(.)k 2135(The)s 2578(author)s 3264(has)s 3650(preferred)s 4597(the)s 4960(term)s 5473(`te)s 3(xture')k 6339(because)s 7167(it)s -7375(is)s 7600(more)s 8162(precise:)s 8960(a)s 0 6505(pattern)m +7375(is)s 7600(more)s 8162(precise:)s 8960(a)s 0 3180(pattern)m 720(could)s 1310(be)s 1592(a)s 1758(pattern)s 2478(for)s -2816(an)s 3(ything.)k 480 6131(The)m 220 fnt2 896 6128(@SetT)m 26(e)k 6(xture)k -240 fnt1 2200 6131(command)m 3189(accepts)s 3931(the)s 4267(special)s -4972(v)s 6(alue)k 220 fnt2 5528 6128(nochange)m 240 fnt1 -6532 6131(for)m 6857(the)s 7193(left)s 7558(parameter)s 13(.)k -8650(This)s 0 5843(v)m 6(alue)k 568(causes)s 1243(the)s +2816(an)s 3(ything.)k 480 2806(The)m 220 fnt2 896 2803(@SetT)m 26(e)k 6(xture)k +240 fnt1 2200 2806(command)m 3189(accepts)s 3931(the)s 4267(special)s +4972(v)s 6(alue)k 220 fnt2 5528 2803(nochange)m 240 fnt1 +6532 2806(for)m 6857(the)s 7193(left)s 7558(parameter)s 13(.)k +8650(This)s 0 2518(v)m 6(alue)k 568(causes)s 1243(the)s 1591(right)s 2102(parameter)s 3116(to)s 3355(ha)s 4(v)k 3(e)k 3856(the)s 4204(te)s 3(xture)k 4920(it)s 5112(w)s 2(ould)k 5767(ha)s 4(v)k 3(e)k 6268(had)s 6672(without)s -7463(the)s 220 fnt2 7810 5840(@SetT)m 26(e)k 6(xture)k -240 fnt1 0 5555(command.)m 1108(An)s 1458(empty)s 2110(left)s +7463(the)s 220 fnt2 7810 2515(@SetT)m 26(e)k 6(xture)k +240 fnt1 0 2230(command.)m 1108(An)s 1458(empty)s 2110(left)s 2487(parameter)s 3501(also)s 3939(has)s 4309(this)s 4705(ef)s 6(fect.)k -480 5181(Another)m 1329(special)s 2052(v)s 6(alue)k 2625(is)s -220 fnt2 2840 5178(LoutT)m 26(e)k 6(xtureSolid)k 240 fnt1 -4453 5181(,)m 4565(which)s 5212(means)s 5879(no)s 6177(te)s 3(xture)k +480 1856(Another)m 1329(special)s 2052(v)s 6(alue)k 2625(is)s +220 fnt2 2840 1853(LoutT)m 26(e)k 6(xtureSolid)k 240 fnt1 +4453 1856(,)m 4565(which)s 5212(means)s 5879(no)s 6177(te)s 3(xture)k 6898(at)s 7135(all,)s 7485(just)s 7895(solid)s 8424(colour)s 13(.)k -0 4893(It)m 207(w)s 2(ould)k 864(be)s 1149(useful)s +0 1568(It)m 207(w)s 2(ould)k 864(be)s 1149(useful)s 1790(to)s 2032(change)s 2768(back)s 3284(to)s 3525(solid)s 4051(colour)s 4724(within)s 5395(an)s 5680(enclosing)s 6653(te)s 3(xtured)k 7493(re)s 3(gion.)k 8268(It)s 8475(is)s 8688(also)s -0 4605(the)m 355(initial)s 973(te)s 3(xture;)k 1752(thus)s +0 1280(the)m 355(initial)s 973(te)s 3(xture;)k 1752(thus)s 2209(there)s 2749(is)s 2966(no)s 3266(need)s 3783(to)s 4029(ensure)s 4716(that)s 5141(the)s 5496(root)s 5948(g)s 1(alle)k 3(y)k 6589(or)s 6855(each)s 7357(of)s 7635(its)s 7918(components)s -0 4317(is)m 210(enclosed)s 1105(in)s 1348(a)s 220 fnt2 -1514 4314(@SetT)m 26(e)k 6(xture)k 240 fnt1 2830 4317(symbol.)m -480 3943(The)m 934(form)s 1485(of)s 1783(the)s 2158(left)s +0 992(is)m 210(enclosed)s 1105(in)s 1348(a)s 220 fnt2 +1514 989(@SetT)m 26(e)k 6(xture)k 240 fnt1 2830 992(symbol.)m +480 618(The)m 934(form)s 1485(of)s 1783(the)s 2158(left)s 2561(parameter)s 3602(is)s 3839(implementation-dependent;)s 6541(in)s 6810(Basser)s -7534(Lout)s 8073(it)s 8292(must)s 8844(be)s 0 3655(an)m +7534(Lout)s 8073(it)s 8292(must)s 8844(be)s 0 330(an)m 288(object)s 937(whose)s 1610(v)s 6(alue)k 2184(is)s 2399(a)s 2570(sequence)s 3509(of)s 3785(w)s 2(ords)k 4424(comprising)s 5559(PostScript)s 6606(for)s 6949(setting)s 7645(a)s -7816(te)s 3(xture,)k 8588(up)s 8887(to)s 0 3367(and)m -407(including)s 1367(the)s 1718(PostScript)s 220 fnt2 2763 3364(setpatter)m -5(n)k -240 fnt1 3793 3367(command)m 4799(\(or)s 5140(equi)s 6(v)k 6(alent\))k -6255(which)s 6900(installs)s 7630(the)s 7981(te)s 3(xture)k -8701(into)s 0 3079(the)m 347(graphics)s 1207(state.)s 1807(Lout)s -2318(mak)s 2(es)k 2977(no)s 3269(attempt)s 4044(to)s -4282(understand)s 5389(te)s 3(xtures,)k 6248(it)s 6439(simply)s -7143(prints)s 7737(the)s 8084(PostScript)s 0 2791(commands)m 1083(when)s -1654(appropriate.)s 2901(Consult)s 3701([)s -[ /Rect [3772 2791 3867 2953] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTadobe1990ps /ANN pdfmark -3772(1)s 3867(])s -3980(for)s 4312(information)s 5492(about)s 6079(PostScript)s 7116(patterns.)s -7971(Y)s 26(ou')k 2(ll)k 8616(need)s 0 2503(to)m -239(do)s 532(that)s 950(in)s 1193(order)s 1757(to)s -1996(mak)s 2(e)k 2568(sense)s 3142(of)s 3413(the)s -3761(rest)s 4165(of)s 4436(this)s 4832(section.)s 480 2129(Since)m -1065(b)s 4(uilding)k 1909(e)s 6(v)k 3(en)k -2406(a)s 2569(simple)s 3259(te)s 3(xture)k 3972(tak)s 2(es)k -4509(a)s 4672(lot)s 4981(of)s 5249(PostScript)s 6288(and)s -6689(is)s 6896(quite)s 7427(error)s 4(-prone,)k 8614(Lout)s -0 1841(de\207nes)m 721(tw)s 2(o)k 1122(symbols)s 1962(in)s -2197(the)s 2536(PostScript)s 3569(prologue)s 4467(called)s 220 fnt2 -5087 1838(LoutMak)m 4(eT)k 26(e)k 6(xture)k 240 fnt1 -6802 1841(and)m 220 fnt2 7197 1838(LoutSetT)m 26(e)k 6(xture)k -240 fnt1 8708 1841(that)m 0 1553(you)m 415(can)s 804(use)s -1179(to)s 1418(mak)s 2(e)k 1990(and)s 2394(set)s -2719(a)s 2885(te)s 3(xture,)k 3652(lik)s 2(e)k -4064(this:)s 220 fnt2 480 1055({ "1 1 1 0 dg 0 pt 0 pt")m 480 767( "2 [0 0 2 pt 3 pt] 2 pt 3 pt { ...)m 13( }")k -480 479( "LoutMak)m 4(eT)k 26(e)k 6(xture LoutSetT)k 26(e)k 6(xture")k -480 191(} @SetT)m 26(e)k 6(xture ...)k +7816(te)s 3(xture,)k 8588(up)s 8887(to)s grestore gsave 1417 -15423 translate -240 fnt1 0 0 0 0 240 288 60 LoutGraphic +240 fnt1 +0 0 0 0 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore @@ -12387,152 +12413,143 @@ gsave 1871(@SetT)s 22(e)k 4(xtur)k 8(e)k 240 fnt5 10249 -1581(49)m gsave 1417 -15423 translate -240 fnt1 9066 13414 0 13414 240 288 60 LoutGraphic +240 fnt1 9066 13414 0 13305 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -0 13251(W)m 19(e')k 2(ll)k +0 13251(and)m 407(including)s 1367(the)s +1718(PostScript)s 220 fnt2 2763 13248(setpatter)m -5(n)k 240 fnt1 +3793 13251(command)m 4799(\(or)s 5140(equi)s 6(v)k 6(alent\))k +6255(which)s 6900(installs)s 7630(the)s 7981(te)s 3(xture)k +8701(into)s 0 12963(the)m 347(graphics)s 1207(state.)s 1807(Lout)s +2318(mak)s 2(es)k 2977(no)s 3269(attempt)s 4044(to)s +4282(understand)s 5389(te)s 3(xtures,)k 6248(it)s 6439(simply)s +7143(prints)s 7737(the)s 8084(PostScript)s 0 12675(commands)m 1083(when)s +1654(appropriate.)s 2901(Consult)s 3701([)s +[ /Rect [3772 12675 3867 12837] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTadobe1990ps /ANN pdfmark +3772(1)s 3867(])s +3980(for)s 4312(information)s 5492(about)s 6079(PostScript)s 7116(patterns.)s +7971(Y)s 26(ou')k 2(ll)k 8616(need)s 0 12387(to)m +239(do)s 532(that)s 950(in)s 1193(order)s 1757(to)s +1996(mak)s 2(e)k 2568(sense)s 3142(of)s 3413(the)s +3761(rest)s 4165(of)s 4436(this)s 4832(section.)s 480 12013(Since)m +1065(b)s 4(uilding)k 1909(e)s 6(v)k 3(en)k +2406(a)s 2569(simple)s 3259(te)s 3(xture)k 3972(tak)s 2(es)k +4509(a)s 4672(lot)s 4981(of)s 5249(PostScript)s 6288(and)s +6689(is)s 6896(quite)s 7427(error)s 4(-prone,)k 8614(Lout)s +0 11725(de\207nes)m 721(tw)s 2(o)k 1122(symbols)s 1962(in)s +2197(the)s 2536(PostScript)s 3569(prologue)s 4467(called)s 220 fnt2 +5087 11722(LoutMak)m 4(eT)k 26(e)k 6(xture)k 240 fnt1 +6802 11725(and)m 220 fnt2 7197 11722(LoutSetT)m 26(e)k 6(xture)k +240 fnt1 8708 11725(that)m 0 11437(you)m 415(can)s 804(use)s +1179(to)s 1418(mak)s 2(e)k 1990(and)s 2394(set)s +2719(a)s 2885(te)s 3(xture,)k 3652(lik)s 2(e)k +4064(this:)s 220 fnt2 480 10939({ "1 1 1 0 dg 0 pt 0 pt")m 480 10651( "2 [0 0 2 pt 3 pt] 2 pt 3 pt { ...)m 13( }")k +480 10363( "LoutMak)m 4(eT)k 26(e)k 6(xture LoutSetT)k 26(e)k 6(xture")k +480 10075(} @SetT)m 26(e)k 6(xture ...)k 240 fnt1 0 9581(W)m 19(e')k 2(ll)k 598(e)s 3(xplain)k 1377(both)s 1881(symbols)s 2752(in)s 3016(detail)s 3622(in)s 3887(a)s 4074(moment,)s 4986(b)s 4(ut)k -5369(just)s 5796(brie\210y)s 15(,)k 220 fnt2 6533 13248(LoutMak)m 4(eT)k 26(e)k 6(xture)k -240 fnt1 8278 13251(mak)m 2(es)k 8960(a)s 0 12963(te)m 3(xture,)k +5369(just)s 5796(brie\210y)s 15(,)k 220 fnt2 6533 9578(LoutMak)m 4(eT)k 26(e)k 6(xture)k +240 fnt1 8278 9581(mak)m 2(es)k 8960(a)s 0 9293(te)m 3(xture,)k 798(lea)s 4(ving)k 1582(a)s 1779(pattern)s 2530(dictionary)s -3584(as)s 3865(returned)s 4750(by)s 220 fnt2 5075 12960(mak)m 4(epatter)k -5(n)k -240 fnt1 6373 12963(on)m 6701(the)s 7080(e)s 3(x)k 3(ecution)k -8092(stack,)s 8722(and)s 220 fnt2 0 12672(LoutSetT)m 26(e)k 6(xture)k -240 fnt1 1510 12675(installs)m 2227(this)s 2612(te)s 3(xture)k +3584(as)s 3865(returned)s 4750(by)s 220 fnt2 5075 9290(mak)m 4(epatter)k -5(n)k +240 fnt1 6373 9293(on)m 6701(the)s 7080(e)s 3(x)k 3(ecution)k +8092(stack,)s 8722(and)s 220 fnt2 0 9002(LoutSetT)m 26(e)k 6(xture)k +240 fnt1 1510 9005(installs)m 2227(this)s 2612(te)s 3(xture)k 3318(into)s 3732(the)s 4070(current)s 4795(graphics)s 5646(state,)s -6179(lik)s 2(e)k 220 fnt2 6581 12672(setpatter)m -5(n)k -240 fnt1 7597 12675(b)m 4(ut)k 7949(without)s 8729(an)s 3(y)k -0 12387(mention)m 841(of)s 1112(colour)s 13(.)k 220 fnt2 -480 12010(LoutMak)m 4(eT)k 26(e)k 6(xture)k 240 fnt1 -2251 12013(is)m 2508(just)s 2961(a)s 3174(con)s 9(v)k 3(enience)k +6179(lik)s 2(e)k 220 fnt2 6581 9002(setpatter)m -5(n)k +240 fnt1 7597 9005(b)m 4(ut)k 7949(without)s 8729(an)s 3(y)k +0 8717(mention)m 841(of)s 1112(colour)s 13(.)k 220 fnt2 +480 8340(LoutMak)m 4(eT)k 26(e)k 6(xture)k 240 fnt1 +2251 8343(is)m 2508(just)s 2961(a)s 3174(con)s 9(v)k 3(enience)k 4461(de\207nition)s 5483(that)s 5948(constructs)s 7015(a)s 7229(pattern)s -7996(matrix)s 8722(and)s 0 11725(dictionary)m 15(,)k 1054(populating)s +7996(matrix)s 8722(and)s 0 8055(dictionary)m 15(,)k 1054(populating)s 2124(them)s 2655(with)s 3129(the)s 3470(stack)s 4015(elements)s 4907(to)s 5139(its)s 5408(left,)s 5825(then)s 6286(calls)s -220 fnt2 6767 11722(mak)m 4(epatter)k -5(n)k 240 fnt1 -7974 11725(.)m 8131(Y)s 26(ou)k 8565(don')s 4(t)k -0 11437(ha)m 4(v)k 3(e)k 524(to)s 786(use)s +220 fnt2 6767 8052(mak)m 4(epatter)k -5(n)k 240 fnt1 +7974 8055(.)m 8131(Y)s 26(ou)k 8565(don')s 4(t)k +0 7767(ha)m 4(v)k 3(e)k 524(to)s 786(use)s 1184(it)s 1399(if)s 1639(you)s 2077(don')s 4(t)k 2661(w)s 2(ant)k 3207(to.)s 3580(The)s 4031(abo)s 3(v)k 3(e)k -4676(e)s 3(xample)k 5562(of)s 220 fnt2 5856 11434(LoutMak)m 4(eT)k 26(e)k 6(xture)k -240 fnt1 7603 11437(sets)m 8035(the)s 8406(pattern)s 0 11149(matrix)m +4676(e)s 3(xample)k 5562(of)s 220 fnt2 5856 7764(LoutMak)m 4(eT)k 26(e)k 6(xture)k +240 fnt1 7603 7767(sets)m 8035(the)s 8406(pattern)s 0 7479(matrix)m 678(and)s 1082(dictionary)s 2105(as)s 2355(follo)s 6(ws.)k -480 10775(The)m 907(\207rst)s 1336(number)s 2125(is)s 2333(a)s +480 7105(The)m 907(\207rst)s 1336(number)s 2125(is)s 2333(a)s 2498(scale)s 3029(f)s 2(actor)k 9(,)k 3679(and)s 4081(the)s 4428(second)s 5149(and)s 5551(third)s 6058(are)s 6404(horizontal)s 7426(and)s 7828(v)s 3(ertical)k 8593(scale)s -0 10487(f)m 2(actors.)k 813(The)s 1243(fourth)s 1886(\()s -220 fnt2 1959 10484(0 dg)m 240 fnt1 2374 10487(\))m 2504(is)s +0 6817(f)m 2(actors.)k 813(The)s 1243(fourth)s 1886(\()s +220 fnt2 1959 6814(0 dg)m 240 fnt1 2374 6817(\))m 2504(is)s 2716(an)s 3001(angle)s 3577(of)s 3851(rotation.)s 4760(The)s 5190(\207fth)s 5647(and)s 6053(sixth)s 6577(are)s 6926(horizontal)s -7952(and)s 8359(v)s 3(ertical)k 0 10199(shifts.)m 681(These)s +7952(and)s 8359(v)s 3(ertical)k 0 6529(shifts.)m 681(These)s 1308(six)s 1642(numbers)s 2517(determine)s 3528(the)s 3876(pattern)s 4596(transformation)s 6059(matrix)s 6737(passed)s 7433(to)s 220 fnt2 -7672 10196(mak)m 4(epatter)k -5(n)k 240 fnt1 8879 10199(.)m -480 9825(The)m 907(remaining)s 1928(elements)s 2826(go)s 3118(into)s +7672 6526(mak)m 4(epatter)k -5(n)k 240 fnt1 8879 6529(.)m +480 6155(The)m 907(remaining)s 1928(elements)s 2826(go)s 3118(into)s 3541(the)s 3888(pattern)s 4606(dictionary)s 15(.)k 220 fnt2 -5723 9822(P)m 8(aintT)k 26(ype)k 240 fnt1 6726 9825(is)m +5723 6152(P)m 8(aintT)k 26(ype)k 240 fnt1 6726 6155(is)m 6935(set)s 7258(to)s 7496(the)s 7842(\207rst)s 8272(of)s -8541(them,)s 0 9537(or)m 250(the)s 589(se)s 6(v)k 3(enth)k +8541(them,)s 0 5867(or)m 250(the)s 589(se)s 6(v)k 3(enth)k 1359(item)s 1834(o)s 3(v)k 3(erall)k 2537(\(2)s 2781(in)s 3015(our)s 3384(e)s 3(xample,)k 4289(denoting)s 5171(an)s 5445(uncoloured)s 6571(pattern,)s 7332(which)s 7965(will)s -8381(usually)s 0 9249(be)m 298(the)s 663(best)s 1125(choice;)s +8381(usually)s 0 5579(be)m 298(the)s 663(best)s 1125(choice;)s 1877(the)s 2242(pattern)s 2979(will)s 3421(be)s 3720(painted)s 4499(in)s 4758(the)s 5123(current)s 5876(colour\),)s 220 fnt2 -6689 9246(BBo)m 6(x)k 240 fnt1 7282 9249(is)m 7509(set)s -7850(to)s 8106(the)s 8471(eighth)s 0 8961(item,)m 538(here)s -220 fnt2 1012 8958([0 0 2 pt 3 pt])m 240 fnt1 2280 8961(,)m 220 fnt2 -2394 8958(XStep)m 240 fnt1 3050 8961(is)m 3267(set)s 3600(to)s +6689 5576(BBo)m 6(x)k 240 fnt1 7282 5579(is)m 7509(set)s +7850(to)s 8106(the)s 8471(eighth)s 0 5291(item,)m 538(here)s +220 fnt2 1012 5288([0 0 2 pt 3 pt])m 240 fnt1 2280 5291(,)m 220 fnt2 +2394 5288(XStep)m 240 fnt1 3050 5291(is)m 3267(set)s 3600(to)s 3846(the)s 4201(ninth)s 4757(item,)s 5295(here)s 220 fnt2 -5769 8958(2 pt)m 240 fnt1 6131 8961(,)m 220 fnt2 6246 8958(YStep)m -240 fnt1 6902 8961(is)m 7119(set)s 7451(to)s 7697(the)s -8052(tenth)s 8595(item,)s 0 8673(here)m 220 fnt2 465 8670(3 pt)m -240 fnt1 827 8673(,)m 932(and)s 220 fnt2 1334 8670(P)m 8(aintProc)k -240 fnt1 2329 8673(is)m 2537(set)s 2859(to)s 3096(the)s +5769 5288(2 pt)m 240 fnt1 6131 5291(,)m 220 fnt2 6246 5288(YStep)m +240 fnt1 6902 5291(is)m 7119(set)s 7451(to)s 7697(the)s +8052(tenth)s 8595(item,)s 0 5003(here)m 220 fnt2 465 5000(3 pt)m +240 fnt1 827 5003(,)m 932(and)s 220 fnt2 1334 5000(P)m 8(aintProc)k +240 fnt1 2329 5003(is)m 2537(set)s 2859(to)s 3096(the)s 3442(ele)s 6(v)k 3(enth)k 4298(and)s 4700(last)s 5089(item,)s 5617(which)s 6257(should)s 6952(be)s 7232(an)s -7513(e)s 3(x)k 3(ecutable)k 8582(array)s 0 8385(as)m +7513(e)s 3(x)k 3(ecutable)k 8582(array)s 0 4715(as)m 257(sho)s 6(wn.)k 1049(All)s 1417(non-zero)s 2328(lengths)s 3077(must)s 3610(be)s 3900(in)s 4151(absolute)s 5012(units,)s 5591(that)s 6017(is,)s 6291(follo)s 6(wed)k 7201(by)s -220 fnt2 7502 8382(in)m 240 fnt1 7658 8385(,)m 220 fnt2 -7773 8382(cm)m 240 fnt1 8052 8385(,)m 220 fnt2 8167 8382(pt)m -240 fnt1 8346 8385(,)m 8461(or)s 220 fnt2 8728 8382(em)m -240 fnt1 9019 8385(,)m 0 8097(otherwise)m 985(the)s 1333(results)s -2007(will)s 2433(be)s 2715(unpredictable.)s 220 fnt2 480 7720(LoutSetT)m 26(e)k 6(xture)k -240 fnt1 2039 7723(installs)m 2805(the)s 3192(gi)s 6(v)k 3(en)k +220 fnt2 7502 4712(in)m 240 fnt1 7658 4715(,)m 220 fnt2 +7773 4712(cm)m 240 fnt1 8052 4715(,)m 220 fnt2 8167 4712(pt)m +240 fnt1 8346 4715(,)m 8461(or)s 220 fnt2 8728 4712(em)m +240 fnt1 9019 4715(,)m 0 4427(otherwise)m 985(the)s 1333(results)s +2007(will)s 2433(be)s 2715(unpredictable.)s 220 fnt2 480 4050(LoutSetT)m 26(e)k 6(xture)k +240 fnt1 2039 4053(installs)m 2805(the)s 3192(gi)s 6(v)k 3(en)k 3811(te)s 3(xture)k 4566(into)s 5031(the)s 5418(graphics)s -6318(state,)s 6901(preserving)s 8002(the)s 8390(current)s 0 7435(colour)m 13(.)k +6318(state,)s 6901(preserving)s 8002(the)s 8390(current)s 0 3765(colour)m 13(.)k 819(Y)s 26(ou)k 1318(must)s 1900(use)s 220 fnt2 -2332 7432(LoutSetT)m 26(e)k 6(xture)k 240 fnt1 3909 7435(and)m +2332 3762(LoutSetT)m 26(e)k 6(xture)k 240 fnt1 3909 3765(and)m 4370(you)s 4842(must)s 5424(not)s 5847(use)s 220 fnt2 -6279 7432(setcolorspace)m 240 fnt1 7625 7435(,)m 220 fnt2 7789 7432(setcolor)m -240 fnt1 8557 7435(,)m 8722(and)s 220 fnt2 0 7144(setpatter)m -5(n)k -240 fnt1 967 7147(,)m 1069(because)s 1877(Lout)s 2383(considers)s +6279 3762(setcolorspace)m 240 fnt1 7625 3765(,)m 220 fnt2 7789 3762(setcolor)m +240 fnt1 8557 3765(,)m 8722(and)s 220 fnt2 0 3474(setpatter)m -5(n)k +240 fnt1 967 3477(,)m 1069(because)s 1877(Lout)s 2383(considers)s 3332(colour)s 3998(and)s 4396(te)s 3(xture)k 5107(to)s 5341(be)s 5617(independent)s 6842(of)s 7108(each)s 7597(other)s 9(,)k -8181(and)s 8579(these)s 0 6859(PostScript)m 1042(commands)s 2130(don')s 4(t.)k -480 6485(Another)m 1316(adv)s 6(antage)k 2328(of)s 220 fnt2 -2591 6482(LoutMak)m 4(eT)k 26(e)k 6(xture)k 240 fnt1 -4307 6485(and)m 220 fnt2 4703 6482(LoutSetT)m 26(e)k 6(xture)k -240 fnt1 6214 6485(is)m 6416(that)s 6826(the)s 3(y)k +8181(and)s 8579(these)s 0 3189(PostScript)m 1042(commands)s 2130(don')s 4(t.)k +480 2815(Another)m 1316(adv)s 6(antage)k 2328(of)s 220 fnt2 +2591 2812(LoutMak)m 4(eT)k 26(e)k 6(xture)k 240 fnt1 +4307 2815(and)m 220 fnt2 4703 2812(LoutSetT)m 26(e)k 6(xture)k +240 fnt1 6214 2815(is)m 6416(that)s 6826(the)s 3(y)k 7281(beha)s 4(v)k 3(e)k 8000(sensibly)s 8829(on)s -0 6197(Le)m 6(v)k 3(el)k 589(1)s 743(PostScript)s +0 2527(Le)m 6(v)k 3(el)k 589(1)s 743(PostScript)s 1784(interpreters,)s 2976(which)s 3616(do)s 3908(not)s 4273(ha)s 4(v)k 3(e)k 4773(patterns.)s 5691(Rather)s 6387(than)s 6855(f)s 2(ailing)k -7528(altogether)s 9(,)k 8579(these)s 0 5909(commands)m 1080(will)s +7528(altogether)s 9(,)k 8579(these)s 0 2239(commands)m 1080(will)s 1497(mak)s 2(e)k 2061(sure)s 2506(e)s 6(v)k 3(erything)k 3564(appears)s 4337(in)s 4571(solid)s 5086(colour)s 13(.)k 5839(Be)s 6152(a)s 3(w)k 2(are,)k 6816(though,)s -7580(that)s 7989(interpreters)s 0 5621(e)m 3(xist)k 508(\(e.g)s -220 fnt2 926 5618(gv)m 240 fnt1 1217 5621(ca.)m 1533(1997\))s +7580(that)s 7989(interpreters)s 0 1951(e)m 3(xist)k 508(\(e.g)s +220 fnt2 926 1948(gv)m 240 fnt1 1217 1951(ca.)m 1533(1997\))s 2141(which)s 2783(appear)s 3480(to)s 3719(be)s 4001(Le)s 6(v)k 3(el)k 4591(2)s 4765(b)s 4(ut)k 5127(actually)s 5937(lea)s 4(v)k 3(e)k -6490(te)s 3(xtured)k 7328(areas)s 7869(blank.)s 480 5247(F)m 3(or)k +6490(te)s 3(xtured)k 7328(areas)s 7869(blank.)s 480 1577(F)m 3(or)k 869(information)s 2054(on)s 2351(ho)s 6(w)k 2812(these)s 3359(symbols)s 4208(are)s 4555(implemented,)s 5910(consult)s 6661(Appendix)s -7661(A.)s 240 fnt5 0 4454(3.9.)m 471(@Outline)s -[ /Dest /LOUToutline /DEST pdfmark -240 fnt1 -480 4022(The)m 220 fnt2 895 4019(@Outline)m 240 fnt1 1850 4022(symbol)m - -[ /Dest /LOUT19_4262_pre_outl_1 /DEST pdfmark -2597(causes)s 3258(all)s 3537(the)s 3872(w)s 2(ords)k -4492(in)s 4722(the)s 5056(right)s 5553(parameter)s 6554(\(which)s -7261(may)s 7714(be)s 7982(an)s 8251(arbitrary)s 0 3734(object\))m -712(to)s 951(be)s 1233(printed)s 1968(in)s 2211(outline,)s -2982(rather)s 3598(than)s 4067(\207lled)s 4616(as)s 4866(is)s -5076(usual.)s 5745(F)s 3(or)k 6134(e)s 3(xample,)k -220 fnt2 480 3233(@Outline @Bo)m 6(x 24p @F)k 6(ont HELP)k 240 fnt1 -0 2737(produces)m 1336 461 72 180 240 288 60 480 1936 LoutGr2 -LoutBox stroke -grestore -480 fnt1 72 72(HELP)mo -grestore -0 1485(Outlining)m 984(is)s -1209(part)s 1654(of)s 1940(the)s 2303(style)s 2824(information,)s -4074(in)s 4332(the)s 4694(same)s 5256(w)s 2(ay)k -5721(as)s 5986(colour)s 9(,)k 6710(font,)s 7216(underlining,)s -8441(and)s 8860(so)s 0 1197(forth.)m 630(Outlining)s 1602(can)s -1994(be)s 2278(applied)s 3042(to)s 3284(an)s 3(y)k -3683(font)s 4131(lik)s 2(ely)k 4729(to)s 4970(be)s -5255(used)s 5754(in)s 6000(practice.)s 6921(At)s 7222(the)s -7573(time)s 8055(of)s 8329(writing,)s 0 909(there)m 528(is)s -732(no)s 1020(w)s 2(ay)k 1465(to)s 1699(control)s -2425(the)s 2768(thickness)s 3703(of)s 3969(the)s 4311(outline,)s -5077(and)s 220 fnt2 5475 906(@Outline)m 240 fnt1 6439 909(has)m -6803(no)s 7091(ef)s 6(fect)k 7681(in)s 7919(PDF)s -8410(output.)s 0 621(The)m 424(size)s 847(of)s 1114(outlined)s -1952(w)s 2(ords)k 2582(is)s 2788(tak)s 2(en)k -3357(by)s 3647(Lout)s 4155(to)s 4390(be)s 4668(the)s -5012(same)s 5555(as)s 5801(if)s 6014(the)s 3(y)k -6473(had)s 6873(not)s 7235(been)s 7740(outlined,)s 8626(e)s 6(v)k 3(en)k -0 333(though)m 723(the)s 3(y)k 1186(are)s 1533(in)s -1776(reality)s 2439(slightly)s 3210(lar)s 4(ger)k 13(.)k - +7661(A.)s grestore gsave 1417 -15423 translate @@ -12588,100 +12605,116 @@ gsave gsave 0 LoutMargSet grestore -240 fnt5 0 13203(3.10.)m 591(@Language)s -1882(and)s 2323(@CurrLang)s +240 fnt5 0 13203(3.9.)m 471(@Outline)s + +[ /Dest /LOUToutline /DEST pdfmark +240 fnt1 480 12771(The)m 220 fnt2 895 12768(@Outline)m 240 fnt1 +1850 12771(symbol)m +[ /Dest /LOUT19_4263_pre_outl_1 /DEST pdfmark +2597(causes)s 3258(all)s 3537(the)s 3872(w)s 2(ords)k +4492(in)s 4722(the)s 5056(right)s 5553(parameter)s 6554(\(which)s +7261(may)s 7714(be)s 7982(an)s 8251(arbitrary)s 0 12483(object\))m +712(to)s 951(be)s 1233(printed)s 1968(in)s 2211(outline,)s +2982(rather)s 3598(than)s 4067(\207lled)s 4616(as)s 4866(is)s +5076(usual.)s 5745(F)s 3(or)k 6134(e)s 3(xample,)k +220 fnt2 480 11982(@Outline @Bo)m 6(x 24p @F)k 6(ont HELP)k 240 fnt1 +0 11486(produces)m 1336 461 72 180 240 288 60 480 10685 LoutGr2 +LoutBox stroke +grestore +480 fnt1 72 72(HELP)mo +grestore +0 10234(Outlining)m 984(is)s +1209(part)s 1654(of)s 1940(the)s 2303(style)s 2824(information,)s +4074(in)s 4332(the)s 4694(same)s 5256(w)s 2(ay)k +5721(as)s 5986(colour)s 9(,)k 6710(font,)s 7216(underlining,)s +8441(and)s 8860(so)s 0 9946(forth.)m 630(Outlining)s 1602(can)s +1994(be)s 2278(applied)s 3042(to)s 3284(an)s 3(y)k +3683(font)s 4131(lik)s 2(ely)k 4729(to)s 4970(be)s +5255(used)s 5754(in)s 6000(practice.)s 6921(At)s 7222(the)s +7573(time)s 8055(of)s 8329(writing,)s 0 9658(there)m 528(is)s +732(no)s 1020(w)s 2(ay)k 1465(to)s 1699(control)s +2425(the)s 2768(thickness)s 3703(of)s 3969(the)s 4311(outline,)s +5077(and)s 220 fnt2 5475 9655(@Outline)m 240 fnt1 6439 9658(has)m +6803(no)s 7091(ef)s 6(fect)k 7681(in)s 7919(PDF)s +8410(output.)s 0 9370(The)m 424(size)s 847(of)s 1114(outlined)s +1952(w)s 2(ords)k 2582(is)s 2788(tak)s 2(en)k +3357(by)s 3647(Lout)s 4155(to)s 4390(be)s 4668(the)s +5012(same)s 5555(as)s 5801(if)s 6014(the)s 3(y)k +6473(had)s 6873(not)s 7235(been)s 7740(outlined,)s 8626(e)s 6(v)k 3(en)k +0 9082(though)m 723(the)s 3(y)k 1186(are)s 1533(in)s +1776(reality)s 2439(slightly)s 3210(lar)s 4(ger)k 13(.)k +240 fnt5 0 8289(3.10.)m 591(@Language)s 1882(and)s 2323(@CurrLang)s + [ /Dest /LOUTlanguage /DEST pdfmark -240 fnt1 480 12726(The)m 220 fnt2 -905 12723(@Language)m 240 fnt1 2153 12726(symbol)m 2910(informs)s 3701(Lout)s -4210(that)s 4625(its)s 4898(right)s 5406(parameter)s 6417(is)s -6624(written)s -[ /Dest /LOUT19_4262_pre_lang_1 /DEST pdfmark -7354(in)s 7594(the)s 7939(language)s 8855(of)s -0 12438(its)m 276(left)s 653(parameter:)s 220 fnt2 480 11937(Danish @Language { ...)m 13( })k -240 fnt1 0 11438(Basser)m 706(Lout)s 1228(V)s 26(ersion)k -2025(3)s 2199(uses)s 2671(this)s 3077(information)s 4271(in)s -4524(tw)s 2(o)k 4943(w)s 2(ays:)k 5609(to)s -5857(h)s 1(yphenate)k 6906(w)s 2(ords)k 7549(appropriately)s -8887(to)s 0 11150(that)m 418(language,)s 1389(and)s 1793(to)s -2032(change)s 2766(the)s 3114(v)s 6(alue)k 3682(of)s -3953(the)s 220 fnt2 4301 11147(@CurrLang)m 240 fnt1 5486 11150(symbol)m -6246(\(see)s 6686(belo)s 6(w\).)k 7508(Other)s 8112(uses,)s -8630(such)s 0 10862(as)m 250(right-to-left)s 1422(formatting)s 2483(of)s -2754(certain)s 3460(languages,)s 4524(may)s 4990(be)s 5272(added)s -5902(in)s 6145(the)s 6493(future.)s 480 10488(The)m 953(left)s -1375(parameter)s 2434(must)s 3004(either)s 3652(be)s 3979(empty)s -4676(\(which)s 5442(means)s 6149(to)s 6433(lea)s 4(v)k 3(e)k -7031(the)s 7424(current)s 8206(language)s 0 10200(unchanged\))m 1167(or)s -1428(else)s 1857(it)s 2051(must)s 2578(ha)s 4(v)k 3(e)k -3080(been)s 3591(gi)s 6(v)k 3(en)k 4173(in)s -4418(a)s 220 fnt2 4586 10197(langdef)m -[ /Dest /LOUT19_4262_pre_lang_2 /DEST pdfmark -240 fnt1 5363 10200(language)m -6285(de\207nition)s 7261(at)s 7495(the)s 7845(be)s 3(ginning)k -8855(of)s 0 9912(the)m 348(input:)s 220 fnt2 480 9404(langdef Danish Dansk {)m -240 fnt6 2993 9409(implementation-dependent)m 220 fnt2 5608 9404(})m 240 fnt1 -0 8905(After)m 220 fnt2 571 8902(langdef)m 240 fnt1 1355 8905(comes)m -2025(a)s 2199(sequence)s 3140(of)s 3419(one)s 3829(or)s -4096(more)s 4651(simple)s 5352(w)s 2(ords,)k 6050(which)s -6700(are)s 7055(alternati)s 6(v)k 3(e)k 8117(names)s -8788(for)s 0 8617(the)m 347(language)s 1265(being)s 1849(de\207ned.)s -2716(F)s 3(ollo)k 6(wing)k 3743(them)s 4279(comes)s -4940(an)s 5221(implementation-dependent)s 7843(part)s 8272(between)s 0 8329(braces.)m -760(In)s 1001(Basser)s 1684(Lout)s 2181(V)s 26(ersion)k -2955(3)s 3104(this)s 3486(part)s 3902(contains)s 4736(the)s -5069(name)s 5629(of)s 5885(the)s 6219(Lout)s 6716(h)s 1(yphenation)k -7941(information)s 0 8041(\207le)m 383(\(minus)s 1121(its)s 1419(.lh)s -1745(suf\207x\))s 2441(to)s 2702(be)s 3007(used)s 3527(when)s -4125(h)s 1(yphenating)k 5384(w)s 2(ords)k 6040(in)s -6306(this)s 6725(language,)s 7718(follo)s 6(wed)k 8643(by)s -8960(a)s 0 7753(sequence)m 933(of)s 1204(w)s 2(ords)k -1838(which)s 2480(de\207ne)s 3121(the)s 3469(ends)s 3959(of)s -4230(sentences.)s 5310(F)s 3(or)k 5699(e)s 3(xample:)k -220 fnt2 480 7253(langdef English { english .)m 13( :)k 11( ? ! .\) ?\) !\) })k 240 fnt1 -0 6754(de\207nes)m 748(a)s 934(language)s 1874(called)s 2522(English)s -3329(with)s 3831(h)s 1(yphenation)k 5091(patterns)s 5918(\207le)s -220 fnt2 6298 6751(english.lh)m 240 fnt1 7289 6754(and)m 7713(se)s 6(v)k 3(en)k -8326(w)s 2(ays)k 8887(to)s 0 6466(end)m 424(a)s -610(sentence.)s 1617(The)s 2065(use)s 2460(of)s 2751(these)s -3318(sentence)s 4217(endings)s 5034(is)s 5264(described)s 6258(in)s -6521(Section)s 7315(3.5.)s 7799(If)s 8049(there)s 8602(is)s -8833(no)s 0 6178(h)m 1(yphenation)k 1236(\207le)s 1592(a)s 4(v)k 6(ailable,)k -2546(this)s 2937(is)s 3143(indicated)s 4072(by)s 4361(writing)s -220 fnt2 5099 6175(-)m 240 fnt1 5219 6178(for)m 5552(the)s -5895(\207le)s 6251(name;)s 6877(if)s 7089(there)s 7617(are)s -7959(no)s 8247(sentence)s 0 5890(ends,)m 546(the)s 3(y)k -1009(are)s 1356(simply)s 2061(omitted.)s 480 5516(The)m 220 fnt2 -913 5513(@CurrLang)m 240 fnt1 2103 5516(symbol,)m 2920(which)s 3567(has)s -3942(no)s 4240(parameters,)s 5399(e)s 6(v)k 6(aluates)k -6332(to)s 6576(the)s 6929(\207rst)s -[ /Dest /LOUT19_4262_pre_lang_3 /DEST pdfmark +240 fnt1 480 7812(The)m 220 fnt2 905 7809(@Language)m 240 fnt1 +2153 7812(symbol)m 2910(informs)s 3701(Lout)s 4210(that)s 4625(its)s +4898(right)s 5406(parameter)s 6417(is)s 6624(written)s +[ /Dest /LOUT19_4263_pre_lang_1 /DEST pdfmark +7354(in)s +7594(the)s 7939(language)s 8855(of)s 0 7524(its)m 276(left)s +653(parameter:)s 220 fnt2 480 7023(Danish @Language { ...)m 13( })k 240 fnt1 +0 6524(Basser)m 706(Lout)s 1228(V)s 26(ersion)k 2025(3)s +2199(uses)s 2671(this)s 3077(information)s 4271(in)s 4524(tw)s 2(o)k +4943(w)s 2(ays:)k 5609(to)s 5857(h)s 1(yphenate)k +6906(w)s 2(ords)k 7549(appropriately)s 8887(to)s 0 6236(that)m +418(language,)s 1389(and)s 1793(to)s 2032(change)s 2766(the)s +3114(v)s 6(alue)k 3682(of)s 3953(the)s 220 fnt2 +4301 6233(@CurrLang)m 240 fnt1 5486 6236(symbol)m 6246(\(see)s 6686(belo)s 6(w\).)k +7508(Other)s 8112(uses,)s 8630(such)s 0 5948(as)m 250(right-to-left)s +1422(formatting)s 2483(of)s 2754(certain)s 3460(languages,)s 4524(may)s +4990(be)s 5272(added)s 5902(in)s 6145(the)s 6493(future.)s +480 5574(The)m 953(left)s 1375(parameter)s 2434(must)s 3004(either)s +3652(be)s 3979(empty)s 4676(\(which)s 5442(means)s 6149(to)s +6433(lea)s 4(v)k 3(e)k 7031(the)s 7424(current)s +8206(language)s 0 5286(unchanged\))m 1167(or)s 1428(else)s 1857(it)s +2051(must)s 2578(ha)s 4(v)k 3(e)k 3080(been)s +3591(gi)s 6(v)k 3(en)k 4173(in)s 4418(a)s +220 fnt2 4586 5283(langdef)m +[ /Dest /LOUT19_4263_pre_lang_2 /DEST pdfmark +240 fnt1 5363 5286(language)m 6285(de\207nition)s +7261(at)s 7495(the)s 7845(be)s 3(ginning)k 8855(of)s +0 4998(the)m 348(input:)s 220 fnt2 480 4490(langdef Danish Dansk {)m 240 fnt6 +2993 4495(implementation-dependent)m 220 fnt2 5608 4490(})m 240 fnt1 0 3991(After)m +220 fnt2 571 3988(langdef)m 240 fnt1 1355 3991(comes)m 2025(a)s +2199(sequence)s 3140(of)s 3419(one)s 3829(or)s 4096(more)s +4651(simple)s 5352(w)s 2(ords,)k 6050(which)s 6700(are)s +7055(alternati)s 6(v)k 3(e)k 8117(names)s 8788(for)s +0 3703(the)m 347(language)s 1265(being)s 1849(de\207ned.)s 2716(F)s 3(ollo)k 6(wing)k +3743(them)s 4279(comes)s 4940(an)s 5221(implementation-dependent)s 7843(part)s +8272(between)s 0 3415(braces.)m 760(In)s 1001(Basser)s 1684(Lout)s +2181(V)s 26(ersion)k 2955(3)s 3104(this)s 3486(part)s +3902(contains)s 4736(the)s 5069(name)s 5629(of)s 5885(the)s +6219(Lout)s 6716(h)s 1(yphenation)k 7941(information)s 0 3127(\207le)m +383(\(minus)s 1121(its)s 1419(.lh)s 1745(suf\207x\))s 2441(to)s +2702(be)s 3007(used)s 3527(when)s 4125(h)s 1(yphenating)k +5384(w)s 2(ords)k 6040(in)s 6306(this)s 6725(language,)s +7718(follo)s 6(wed)k 8643(by)s 8960(a)s 0 2839(sequence)m +933(of)s 1204(w)s 2(ords)k 1838(which)s 2480(de\207ne)s +3121(the)s 3469(ends)s 3959(of)s 4230(sentences.)s 5310(F)s 3(or)k +5699(e)s 3(xample:)k 220 fnt2 480 2339(langdef English { english .)m 13( :)k 11( ? ! .\) ?\) !\) })k +240 fnt1 0 1840(de\207nes)m 748(a)s 934(language)s 1874(called)s +2522(English)s 3329(with)s 3831(h)s 1(yphenation)k 5091(patterns)s +5918(\207le)s 220 fnt2 6298 1837(english.lh)m 240 fnt1 7289 1840(and)m +7713(se)s 6(v)k 3(en)k 8326(w)s 2(ays)k +8887(to)s 0 1552(end)m 424(a)s 610(sentence.)s 1617(The)s +2065(use)s 2460(of)s 2751(these)s 3318(sentence)s 4217(endings)s +5034(is)s 5264(described)s 6258(in)s 6521(Section)s 7315(3.5.)s +7799(If)s 8049(there)s 8602(is)s 8833(no)s 0 1264(h)m 1(yphenation)k +1236(\207le)s 1592(a)s 4(v)k 6(ailable,)k 2546(this)s +2937(is)s 3143(indicated)s 4072(by)s 4361(writing)s 220 fnt2 +5099 1261(-)m 240 fnt1 5219 1264(for)m 5552(the)s 5895(\207le)s +6251(name;)s 6877(if)s 7089(there)s 7617(are)s 7959(no)s +8247(sentence)s 0 976(ends,)m 546(the)s 3(y)k 1009(are)s +1356(simply)s 2061(omitted.)s 480 602(The)m 220 fnt2 913 599(@CurrLang)m +240 fnt1 2103 602(symbol,)m 2920(which)s 3567(has)s 3942(no)s +4240(parameters,)s 5399(e)s 6(v)k 6(aluates)k 6332(to)s +6576(the)s 6929(\207rst)s +[ /Dest /LOUT19_4263_pre_lang_3 /DEST pdfmark 7365(name)s 7944(gi)s 6(v)k 3(en)k -8529(in)s 8778(the)s 220 fnt2 0 5225(langdef)m 240 fnt1 -776 5228(of)m 1047(the)s 1395(language)s 2315(in)s 2558(force)s +8529(in)s 8778(the)s 220 fnt2 0 311(langdef)m 240 fnt1 +776 314(of)m 1047(the)s 1395(language)s 2315(in)s 2558(force)s 3104(at)s 3336(the)s 3684(point)s 4236(where)s 4876(it)s 5068(is)s 5278(in)s 9(v)k 4(ok)k 2(ed:)k -220 fnt2 480 4727(Dansk @Language { )m 11(This is @CurrLang.)k 13( })k 240 fnt1 -0 4228(has)m 370(result)s 480 3775(This)m 956(is)s 1166(Danish.)s -0 3322(It)m 205(is)s 415(typically)s 1305(used)s 1802(with)s -2284(the)s 220 fnt2 2632 3319(@Case)m 240 fnt1 3419 3322(symbol)m -4179(lik)s 2(e)k 4591(this:)s 220 fnt2 480 2821(@CurrLang @Case {)m -480 2533( Danish @Y)m 4(ield tirsdag)k 480 2245( English @Y)m 4(ield )k 11(T)k 26(uesda)k 6(y)k -480 1957( F)m 9(rench @Y)k 4(ield Mardi)k 480 1669(})m 240 fnt1 -0 1175(This)m 476(e)s 3(xample)k 1339(e)s 6(v)k 6(aluates)k -2267(to)s 2506(the)s 2854(name)s 3428(of)s 3699(the)s -4047(third)s 4556(day)s 4956(of)s 5227(the)s 5575(week)s -6141(in)s 6384(the)s 6732(current)s 7468(language.)s 480 801(The)m -908(current)s 1644(language)s 2563(is)s 2773(part)s 3204(of)s -3474(the)s 3822(style)s 4329(of)s 4599(an)s 4882(object,)s -5573(lik)s 2(e)k 5984(its)s 6260(font.)s 6809(As)s -7125(e)s 3(xplained)k 8110(in)s 8352(Section)s 0 513(2.6,)m -419(style)s 939(is)s 1162(inherited)s 2081(through)s 2896(the)s -3257(point)s 3822(of)s 4105(appearance,)s 5300(which)s 5955(for)s -6305(language)s 7238(can)s 7640(be)s 7935(une)s 3(xpected.)k -0 225(F)m 3(or)k 380(e)s 3(xample,)k 1284(an)s -1557(inde)s 3(x)k 2131(entry)s 2666(which)s 3298(originates)s -4281(in)s 4514(a)s 4671(French)s 5382(chapter)s 6135(b)s 4(ut)k -6487(appears)s 7258(in)s 7491(an)s 7764(English)s 8542(inde)s 3(x)k grestore gsave @@ -12734,34 +12767,55 @@ gsave 1991(@Langua)s 2(g)k 2(e)k 3219(and)s 3645(@CurrLang)s 240 fnt5 10256 -1583(51)m gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -0 13205(will)m 426(ha)s 4(v)k 3(e)k -927(English)s 1715(for)s 2053(its)s 2329(language,)s 3300(so)s -3566(must)s 4091(be)s 4373(e)s 3(xplicitly)k 5326(set)s -5651(to)s 5890(French)s 6611(using)s 220 fnt2 7183 13202(@Language)m -240 fnt1 8374 13205(.)m 240 fnt5 0 12412(3.11.)m 591(@OneCol)s -1653(and)s 2094(@OneRo)s 2(w)k +220 fnt2 480 13207(Dansk @Language { )m 11(This is @CurrLang.)k 13( })k +240 fnt1 0 12708(has)m 370(result)s 480 12255(This)m 956(is)s +1166(Danish.)s 0 11802(It)m 205(is)s 415(typically)s 1305(used)s +1802(with)s 2284(the)s 220 fnt2 2632 11799(@Case)m 240 fnt1 +3419 11802(symbol)m 4179(lik)s 2(e)k 4591(this:)s 220 fnt2 +480 11301(@CurrLang @Case {)m 480 11013( Danish @Y)m 4(ield tirsdag)k 480 10725( English @Y)m 4(ield )k 11(T)k 26(uesda)k 6(y)k +480 10437( F)m 9(rench @Y)k 4(ield Mardi)k 480 10149(})m 240 fnt1 +0 9655(This)m 476(e)s 3(xample)k 1339(e)s 6(v)k 6(aluates)k +2267(to)s 2506(the)s 2854(name)s 3428(of)s 3699(the)s +4047(third)s 4556(day)s 4956(of)s 5227(the)s 5575(week)s +6141(in)s 6384(the)s 6732(current)s 7468(language.)s 480 9281(The)m +908(current)s 1644(language)s 2563(is)s 2773(part)s 3204(of)s +3474(the)s 3822(style)s 4329(of)s 4599(an)s 4882(object,)s +5573(lik)s 2(e)k 5984(its)s 6260(font.)s 6809(As)s +7125(e)s 3(xplained)k 8110(in)s 8352(Section)s 0 8993(2.6,)m +419(style)s 939(is)s 1162(inherited)s 2081(through)s 2896(the)s +3257(point)s 3822(of)s 4105(appearance,)s 5300(which)s 5955(for)s +6305(language)s 7238(can)s 7640(be)s 7935(une)s 3(xpected.)k +0 8705(F)m 3(or)k 380(e)s 3(xample,)k 1284(an)s +1557(inde)s 3(x)k 2131(entry)s 2666(which)s 3298(originates)s +4281(in)s 4514(a)s 4671(French)s 5382(chapter)s 6135(b)s 4(ut)k +6487(appears)s 7258(in)s 7491(an)s 7764(English)s 8542(inde)s 3(x)k +0 8417(will)m 426(ha)s 4(v)k 3(e)k 927(English)s +1715(for)s 2053(its)s 2329(language,)s 3300(so)s 3566(must)s +4091(be)s 4373(e)s 3(xplicitly)k 5326(set)s 5651(to)s +5890(French)s 6611(using)s 220 fnt2 7183 8414(@Language)m 240 fnt1 +8374 8417(.)m 240 fnt5 0 7624(3.11.)m 591(@OneCol)s 1653(and)s +2094(@OneRo)s 2(w)k [ /Dest /LOUTonerow /DEST pdfmark -240 fnt1 480 11980(The)m -220 fnt2 913 11977(@OneRo)m 3(w)k 240 fnt1 2049 11980(symbol)m - -[ /Dest /LOUT19_4262_pre_oner_1 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_oner_2 /DEST pdfmark -2814(returns)s 3533(its)s 3814(right)s 4330(parameter)s 5350(modi\207ed)s -6264(so)s 6535(that)s 6958(only)s 7443(the)s 7796(principal)s -8706(ro)s 6(w)k 0 11692(mark)m 540(protrudes.)s 1595(This)s -2059(is)s 2257(normally)s 3162(the)s 3498(\207rst)s 3917(ro)s 6(w)k -4324(mark,)s 4910(b)s 4(ut)k 5260(another)s 6025(one)s -6415(may)s 6869(be)s 7139(chosen)s 7849(by)s 8130(preceding)s -0 11404(it)m 192(with)s 220 fnt2 674 11401(^/)m 240 fnt1 -901 11404(or)m 220 fnt2 1160 11401(^//)m 240 fnt1 1388 11404(.)m -1552(F)s 3(or)k 1941(e)s 3(xample,)k 220 fnt2 -480 10903(@OneRo)m 3(w { |0.5r)k -8(t Slope @F)k 6(ont x + 2 ^//1p @HLine //1p |0.5r)k -8(t 5 })k -240 fnt1 0 10407(has)m 370(result)s 468 371 0 188 240 288 60 480 9428 LoutGr2 +240 fnt1 480 7192(The)m 220 fnt2 +913 7189(@OneRo)m 3(w)k 240 fnt1 2049 7192(symbol)m +[ /Dest /LOUT19_4263_pre_oner_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_oner_2 /DEST pdfmark +2814(returns)s +3533(its)s 3814(right)s 4330(parameter)s 5350(modi\207ed)s 6264(so)s +6535(that)s 6958(only)s 7443(the)s 7796(principal)s 8706(ro)s 6(w)k +0 6904(mark)m 540(protrudes.)s 1595(This)s 2059(is)s 2257(normally)s +3162(the)s 3498(\207rst)s 3917(ro)s 6(w)k 4324(mark,)s +4910(b)s 4(ut)k 5260(another)s 6025(one)s 6415(may)s +6869(be)s 7139(chosen)s 7849(by)s 8130(preceding)s 0 6616(it)m +192(with)s 220 fnt2 674 6613(^/)m 240 fnt1 901 6616(or)m +220 fnt2 1160 6613(^//)m 240 fnt1 1388 6616(.)m 1552(F)s 3(or)k +1941(e)s 3(xample,)k 220 fnt2 480 6115(@OneRo)m 3(w { |0.5r)k -8(t Slope @F)k 6(ont x + 2 ^//1p @HLine //1p |0.5r)k -8(t 5 })k +240 fnt1 0 5619(has)m 370(result)s 468 371 0 188 240 288 60 480 4640 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 468 371 0 188 240 288 60 0 0 LoutGr2 @@ -12791,12 +12845,12 @@ grestore grestore end end restore grestore -0 8712(with)m +0 3924(with)m 482(one)s 884(ro)s 6(w)k 1304(mark)s 1856(protruding)s 2919(from)s 3443(the)s 3791(bar)s 4156(as)s 4406(sho)s 6(wn.)k -5190(Compare)s 6123(this)s 6519(with)s 220 fnt2 480 8211(@OneRo)m 3(w { |0.5r)k -8(t Slope @F)k 6(ont x + 2 //1p @HLine //1p |0.5r)k -8(t 5 })k -240 fnt1 0 7715(where)m 640(the)s 988(mark)s 1540(protrudes)s -2494(from)s 3018(the)s 3366(numerator:)s 468 371 0 263 240 288 60 480 6736 LoutGr2 +5190(Compare)s 6123(this)s 6519(with)s 220 fnt2 480 3423(@OneRo)m 3(w { |0.5r)k -8(t Slope @F)k 6(ont x + 2 //1p @HLine //1p |0.5r)k -8(t 5 })k +240 fnt1 0 2927(where)m 640(the)s 988(mark)s 1540(protrudes)s +2494(from)s 3018(the)s 3366(numerator:)s 468 371 0 263 240 288 60 480 1948 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 468 371 0 263 240 288 60 0 0 LoutGr2 @@ -12827,75 +12881,16 @@ grestore end end restore grestore -[ /Dest /LOUT19_4262_pre_oner_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_oner_3 /DEST pdfmark 220 fnt2 -0 6282(@OneCol)m 240 fnt1 1016 6285(has)m 1391(the)s 1744(same)s +0 1494(@OneCol)m 240 fnt1 1016 1497(has)m 1391(the)s 1744(same)s 2296(ef)s 6(fect)k 2897(on)s 3198(columns)s 4065(as)s -220 fnt2 4320 6282(@OneRo)m 3(w)k 240 fnt1 5456 6285(does)m +220 fnt2 4320 1494(@OneRo)m 3(w)k 240 fnt1 5456 1497(does)m 5951(on)s 6252(ro)s 6(ws,)k 6823(with)s 7310(the)s -7663(symbols)s 220 fnt2 8517 6282(^|)m 240 fnt1 8722 6285(and)m -220 fnt2 0 5994(^||)m 240 fnt1 257 5997(\(or)m 220 fnt2 -595 5994(^&)m 240 fnt1 840 5997(\))m 968(determining)s 2176(which)s -2818(mark)s 3370(is)s 3580(chosen.)s 240 fnt5 0 5204(3.12.)m -591(@W)s 4(ide)k 1411(and)s 1852(@High)s -[ /Dest /LOUTwide /DEST pdfmark -240 fnt1 -480 4727(The)m 220 fnt2 910 4724(@Wide)m 240 fnt1 1687 4727(symbol)m - -[ /Dest /LOUT19_4262_pre_wide_1 /DEST pdfmark -2450(returns)s 3167(its)s 3446(right)s 3960(parameter)s 4977(modi\207ed)s -5888(to)s 6130(ha)s 4(v)k 3(e)k 6634(the)s -6985(width)s 7590(gi)s 6(v)k 3(en)k 8173(by)s -8470(its)s 8749(left)s 0 4439(parameter)m 9(,)k 1058(which)s -1707(must)s 2238(be)s 2527(a)s 2699(length)s 3361(\(Section)s -4220(3.2\))s 4655(whose)s 5329(unit)s 5768(of)s 6045(measurement)s -7386(is)s 220 fnt2 7602 4436(c)m 240 fnt1 7707 4439(,)m -220 fnt2 7821 4436(i)m 240 fnt1 7855 4439(,)m 220 fnt2 -7968 4436(p)m 240 fnt1 8082 4439(,)m 220 fnt2 8196 4436(m)m -240 fnt1 8365 4439(,)m 220 fnt2 8478 4436(f)m 240 fnt1 -8536 4439(,)m 220 fnt2 8650 4436(s)m 240 fnt1 8753 4439(,)m -8867(or)s 220 fnt2 0 4148(v)m 240 fnt1 109 4151(.)m -278(If)s 513(the)s 867(right)s 1383(parameter)s 2403(is)s -2618(not)s 2990(as)s 3245(wide)s 3772(as)s 4027(required,)s -4936(white)s 5528(space)s 6121(is)s 6336(added)s 6972(at)s -7209(the)s 7563(right;)s 8131(if)s 8354(it)s 8551(is)s -8767(too)s 0 3863(wide,)m 585(its)s 875(paragraphs)s 1988(are)s -2349(brok)s 2(en)k 3083(\(Section)s 3949(3.4\))s 4391(so)s -4670(that)s 5102(it)s 5308(\207ts.)s 5777(A)s 220 fnt2 -6021 3860(@OneCol)m 240 fnt1 7046 3863(operation)m 8020(is)s 8244(included)s -0 3575(in)m 257(the)s 620(ef)s 6(fect)k 1231(of)s -220 fnt2 1517 3572(@Wide)m 240 fnt1 2231 3575(,)m 2353(since)s -2915(it)s 3122(does)s 3627(not)s 4008(mak)s 2(e)k -4595(sense)s 5184(for)s 5537(an)s 5835(object)s 6494(of)s -6780(\207x)s 3(ed)k 7329(width)s 7946(to)s 8200(ha)s 4(v)k 3(e)k -8716(tw)s 2(o)k 0 3287(column)m 775(marks.)s -[ /Dest /LOUT19_4262_pre_wide_2 /DEST pdfmark -552 2913(The)m -220 fnt2 993 2910(@High)m 240 fnt1 1725 2913(symbol)m 2498(similarly)s -3413(ensures)s 4194(that)s 4625(its)s 4914(result)s 5517(is)s -5740(of)s 6024(a)s 6203(gi)s 6(v)k 3(en)k -6796(height,)s 7514(by)s 7821(adding)s 8539(white)s 0 2625(space)m -573(at)s 790(the)s 1123(bottom.)s 1950(In)s 2191(this)s -2572(case)s 3024(it)s 3201(is)s 3396(an)s 3664(error)s -4172(for)s 4495(the)s 4828(right)s 5324(parameter)s 6323(to)s -6547(be)s 6814(too)s 7158(lar)s 4(ge.)k 7780(A)s -220 fnt2 7995 2622(@OneRo)m 3(w)k 240 fnt1 0 2337(operation)m -960(is)s 1170(included.)s 240 fnt5 0 1544(3.13.)m 591(@HShift)s -1550(and)s 1991(@VShift)s -[ /Dest /LOUThshift /DEST pdfmark -240 fnt1 480 1112(The)m 220 fnt2 -917 1109(@HShift)m 240 fnt1 1802 1112(symbol)m -[ /Dest /LOUT19_4262_pre_hshi_1 /DEST pdfmark -2572(returns)s 3296(its)s -3582(right)s 4103(parameter)s 5127(with)s 5619(principal)s 6533(mark)s -7095(shifted)s 7813(as)s 8073(prescribed)s 0 824(by)m 294(its)s -570(left)s 947(parameter:)s 220 fnt2 1124 316(+)m 240 fnt6 -1244 321(length)m 220 fnt2 1897 316(@HShift)m 240 fnt6 2772 321(object)m -240 fnt1 3600 319(Principal)m 4517(mark)s 5069(shifted)s 5777(to)s -6016(the)s 6364(right)s 6875(by)s 240 fnt6 7169 321(length)m -240 fnt1 7762 319(;)m -[ /Dest /LOUT16_1527_pre_hshi_1 /DEST pdfmark - +7663(symbols)s 220 fnt2 8517 1494(^|)m 240 fnt1 8722 1497(and)m +220 fnt2 0 1206(^||)m 240 fnt1 257 1209(\(or)m 220 fnt2 +595 1206(^&)m 240 fnt1 840 1209(\))m 968(determining)s 2176(which)s +2818(mark)s 3370(is)s 3580(chosen.)s grestore gsave 1417 -15423 translate @@ -12947,133 +12942,157 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13257 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -220 fnt2 1180 13200(-)m 240 fnt6 -1244 13205(length)m 220 fnt2 1897 13200(@HShift)m 240 fnt6 2772 13205(object)m -240 fnt1 3600 13203(Principal)m 4517(mark)s 5069(shifted)s 5777(to)s -6016(the)s 6364(left)s 6741(by)s 240 fnt6 7035 13205(length)m -240 fnt1 7628 13203(;)m -[ /Dest /LOUT16_1527_pre_hshi_2 /DEST pdfmark -240 fnt6 1244 12700(length)m 220 fnt2 -1897 12695(@HShift)m 240 fnt6 2772 12700(object)m 240 fnt1 3600 12698(Principal)m +240 fnt5 0 13203(3.12.)m 591(@W)s 4(ide)k +1411(and)s 1852(@High)s +[ /Dest /LOUTwide /DEST pdfmark +240 fnt1 480 12726(The)m 220 fnt2 +910 12723(@Wide)m 240 fnt1 1687 12726(symbol)m +[ /Dest /LOUT19_4263_pre_wide_1 /DEST pdfmark +2450(returns)s 3167(its)s +3446(right)s 3960(parameter)s 4977(modi\207ed)s 5888(to)s 6130(ha)s 4(v)k 3(e)k +6634(the)s 6985(width)s 7590(gi)s 6(v)k 3(en)k +8173(by)s 8470(its)s 8749(left)s 0 12438(parameter)m 9(,)k +1058(which)s 1707(must)s 2238(be)s 2527(a)s 2699(length)s +3361(\(Section)s 4220(3.2\))s 4655(whose)s 5329(unit)s 5768(of)s +6045(measurement)s 7386(is)s 220 fnt2 7602 12435(c)m 240 fnt1 +7707 12438(,)m 220 fnt2 7821 12435(i)m 240 fnt1 7855 12438(,)m +220 fnt2 7968 12435(p)m 240 fnt1 8082 12438(,)m 220 fnt2 +8196 12435(m)m 240 fnt1 8365 12438(,)m 220 fnt2 8478 12435(f)m +240 fnt1 8536 12438(,)m 220 fnt2 8650 12435(s)m 240 fnt1 +8753 12438(,)m 8867(or)s 220 fnt2 0 12147(v)m 240 fnt1 +109 12150(.)m 278(If)s 513(the)s 867(right)s 1383(parameter)s +2403(is)s 2618(not)s 2990(as)s 3245(wide)s 3772(as)s +4027(required,)s 4936(white)s 5528(space)s 6121(is)s 6336(added)s +6972(at)s 7209(the)s 7563(right;)s 8131(if)s 8354(it)s +8551(is)s 8767(too)s 0 11862(wide,)m 585(its)s 875(paragraphs)s +1988(are)s 2349(brok)s 2(en)k 3083(\(Section)s 3949(3.4\))s +4391(so)s 4670(that)s 5102(it)s 5308(\207ts.)s 5777(A)s +220 fnt2 6021 11859(@OneCol)m 240 fnt1 7046 11862(operation)m 8020(is)s +8244(included)s 0 11574(in)m 257(the)s 620(ef)s 6(fect)k +1231(of)s 220 fnt2 1517 11571(@Wide)m 240 fnt1 2231 11574(,)m +2353(since)s 2915(it)s 3122(does)s 3627(not)s 4008(mak)s 2(e)k +4595(sense)s 5184(for)s 5537(an)s 5835(object)s 6494(of)s +6780(\207x)s 3(ed)k 7329(width)s 7946(to)s 8200(ha)s 4(v)k 3(e)k +8716(tw)s 2(o)k 0 11286(column)m 775(marks.)s +[ /Dest /LOUT19_4263_pre_wide_2 /DEST pdfmark +552 10912(The)m +220 fnt2 993 10909(@High)m 240 fnt1 1725 10912(symbol)m 2498(similarly)s +3413(ensures)s 4194(that)s 4625(its)s 4914(result)s 5517(is)s +5740(of)s 6024(a)s 6203(gi)s 6(v)k 3(en)k +6796(height,)s 7514(by)s 7821(adding)s 8539(white)s 0 10624(space)m +573(at)s 790(the)s 1123(bottom.)s 1950(In)s 2191(this)s +2572(case)s 3024(it)s 3201(is)s 3396(an)s 3664(error)s +4172(for)s 4495(the)s 4828(right)s 5324(parameter)s 6323(to)s +6547(be)s 6814(too)s 7158(lar)s 4(ge.)k 7780(A)s +220 fnt2 7995 10621(@OneRo)m 3(w)k 240 fnt1 0 10336(operation)m +960(is)s 1170(included.)s 240 fnt5 0 9543(3.13.)m 591(@HShift)s +1550(and)s 1991(@VShift)s +[ /Dest /LOUThshift /DEST pdfmark +240 fnt1 480 9111(The)m 220 fnt2 +917 9108(@HShift)m 240 fnt1 1802 9111(symbol)m +[ /Dest /LOUT19_4263_pre_hshi_1 /DEST pdfmark +2572(returns)s 3296(its)s +3582(right)s 4103(parameter)s 5127(with)s 5619(principal)s 6533(mark)s +7095(shifted)s 7813(as)s 8073(prescribed)s 0 8823(by)m 294(its)s +570(left)s 947(parameter:)s 220 fnt2 1124 8315(+)m 240 fnt6 +1244 8320(length)m 220 fnt2 1897 8315(@HShift)m 240 fnt6 2772 8320(object)m +240 fnt1 3600 8318(Principal)m 4517(mark)s 5069(shifted)s 5777(to)s +6016(the)s 6364(right)s 6875(by)s 240 fnt6 7169 8320(length)m +240 fnt1 7762 8318(;)m +[ /Dest /LOUT16_1579_pre_hshi_1 /DEST pdfmark +220 fnt2 1180 7810(-)m 240 fnt6 +1244 7815(length)m 220 fnt2 1897 7810(@HShift)m 240 fnt6 2772 7815(object)m +240 fnt1 3600 7813(Principal)m 4517(mark)s 5069(shifted)s 5777(to)s +6016(the)s 6364(left)s 6741(by)s 240 fnt6 7035 7815(length)m +240 fnt1 7628 7813(;)m +[ /Dest /LOUT16_1579_pre_hshi_2 /DEST pdfmark +240 fnt6 1244 7310(length)m 220 fnt2 +1897 7305(@HShift)m 240 fnt6 2772 7310(object)m 240 fnt1 3600 7308(Principal)m 4512(mark)s 5058(shifted)s 5760(so)s 6020(as)s 6264(to)s -6497(lie)s 240 fnt6 6786 12700(length)m 240 fnt1 7433 12698(to)m -7666(the)s 8008(right)s 8513(of)s 8778(the)s 3600 12410(left)m -3977(edge)s 4485(of)s 240 fnt6 4756 12412(object)m 240 fnt1 -5344 12410(;)m -[ /Dest /LOUT16_1527_pre_hshi_3 /DEST pdfmark -0 11907(In)m 256(each)s 751(chase)s 220 fnt2 -1338 11904(@HShift)m 240 fnt1 2213 11907(includes)m 3061(a)s 220 fnt2 -3227 11904(@OneCol)m 240 fnt1 4239 11907(ef)m 6(fect.)k 480 11533(The)m +6497(lie)s 240 fnt6 6786 7310(length)m 240 fnt1 7433 7308(to)m +7666(the)s 8008(right)s 8513(of)s 8778(the)s 3600 7020(left)m +3977(edge)s 4485(of)s 240 fnt6 4756 7022(object)m 240 fnt1 +5344 7020(;)m +[ /Dest /LOUT16_1579_pre_hshi_3 /DEST pdfmark +0 6517(In)m 256(each)s 751(chase)s 220 fnt2 +1338 6514(@HShift)m 240 fnt1 2213 6517(includes)m 3061(a)s 220 fnt2 +3227 6514(@OneCol)m 240 fnt1 4239 6517(ef)m 6(fect.)k 480 6143(The)m 916(units)s 1440(of)s 1720(measurement)s 3062(of)s 240 fnt6 -3342 11535(length)m 240 fnt1 4003 11533(may)m 4478(be)s 220 fnt2 -4768 11530(c)m 240 fnt1 4873 11533(,)m 220 fnt2 4989 11530(i)m -240 fnt1 5023 11533(,)m 220 fnt2 5138 11530(p)m 240 fnt1 -5252 11533(,)m 220 fnt2 5368 11530(m)m 240 fnt1 5537 11533(,)m -220 fnt2 5652 11530(f)m 240 fnt1 5710 11533(,)m 220 fnt2 -5825 11530(s)m 240 fnt1 5928 11533(,)m 220 fnt2 6044 11530(v)m -240 fnt1 6153 11533(,)m 6268(or)s 220 fnt2 6536 11530(w)m -240 fnt1 6692 11533(.)m 6864(In)s 7129(the)s 7485(latter)s -8043(case,)s 220 fnt2 8569 11530(1w)m 240 fnt1 8916 11533(is)m -0 11245(tak)m 2(en)k 579(to)s 825(be)s 1113(the)s +3342 6145(length)m 240 fnt1 4003 6143(may)m 4478(be)s 220 fnt2 +4768 6140(c)m 240 fnt1 4873 6143(,)m 220 fnt2 4989 6140(i)m +240 fnt1 5023 6143(,)m 220 fnt2 5138 6140(p)m 240 fnt1 +5252 6143(,)m 220 fnt2 5368 6140(m)m 240 fnt1 5537 6143(,)m +220 fnt2 5652 6140(f)m 240 fnt1 5710 6143(,)m 220 fnt2 +5825 6140(s)m 240 fnt1 5928 6143(,)m 220 fnt2 6044 6140(v)m +240 fnt1 6153 6143(,)m 6268(or)s 220 fnt2 6536 6140(w)m +240 fnt1 6692 6143(.)m 6864(In)s 7129(the)s 7485(latter)s +8043(case,)s 220 fnt2 8569 6140(1w)m 240 fnt1 8916 6143(is)m +0 5855(tak)m 2(en)k 579(to)s 825(be)s 1113(the)s 1468(width)s 2076(of)s 2354(the)s 2708(right)s 3226(parameter)s 9(,)k 4285(so)s 4557(that,)s 5029(for)s 5373(e)s 3(xample,)k -220 fnt2 6294 11242(0.5w @HShift)m 240 fnt1 7699 11245(will)m 8132(centre)s -8778(the)s 0 10957(principal)m 904(column)s 1679(mark)s 2231(within)s +220 fnt2 6294 5852(0.5w @HShift)m 240 fnt1 7699 5855(will)m 8132(centre)s +8778(the)s 0 5567(principal)m 904(column)s 1679(mark)s 2231(within)s 2899(the)s 3247(right)s 3758(parameter)s 13(.)k -[ /Dest /LOUT19_4262_pre_hshi_2 /DEST pdfmark -548 10583(The)m -220 fnt2 984 10580(@VShift)m 240 fnt1 1855 10583(symbol)m 2624(is)s +[ /Dest /LOUT19_4263_pre_hshi_2 /DEST pdfmark +548 5193(The)m +220 fnt2 984 5190(@VShift)m 240 fnt1 1855 5193(symbol)m 2624(is)s 2842(similar)s 3572(e)s 3(xcept)k 4261(that)s 4688(it)s 4888(applies)s 5624(v)s 3(ertically)k 6584(to)s 6832(the)s 7188(principal)s 8100(ro)s 6(w)k 8529(mark:)s 220 fnt2 -0 10292(+)m 240 fnt6 120 10297(length)m 240 fnt1 771 10295(shifts)m -1337(it)s 1527(do)s 6(wn,)k 220 fnt2 2159 10292(-)m -240 fnt6 2223 10297(length)m 240 fnt1 2874 10295(shifts)m 3440(it)s -3629(up,)s 3974(and)s 240 fnt6 4376 10297(length)m 240 fnt1 -5027 10295(shifts)m 5593(it)s 5783(to)s 240 fnt6 6019 10297(length)m -240 fnt1 6670 10295(belo)m 6(w)k 7301(the)s 7647(top)s -8004(edge)s 8510(of)s 8778(the)s 0 10007(object.)m 748(W)s 9(ith)k -220 fnt2 1274 10004(@VShift)m 240 fnt1 2077 10007(,)m 220 fnt2 -2184 10004(1w)m 240 fnt1 2522 10007(is)m 2732(tak)s 2(en)k +0 4902(+)m 240 fnt6 120 4907(length)m 240 fnt1 771 4905(shifts)m +1337(it)s 1527(do)s 6(wn,)k 220 fnt2 2159 4902(-)m +240 fnt6 2223 4907(length)m 240 fnt1 2874 4905(shifts)m 3440(it)s +3629(up,)s 3974(and)s 240 fnt6 4376 4907(length)m 240 fnt1 +5027 4905(shifts)m 5593(it)s 5783(to)s 240 fnt6 6019 4907(length)m +240 fnt1 6670 4905(belo)m 6(w)k 7301(the)s 7647(top)s +8004(edge)s 8510(of)s 8778(the)s 0 4617(object.)m 748(W)s 9(ith)k +220 fnt2 1274 4614(@VShift)m 240 fnt1 2077 4617(,)m 220 fnt2 +2184 4614(1w)m 240 fnt1 2522 4617(is)m 2732(tak)s 2(en)k 3305(to)s 3544(be)s 3826(the)s 4174(height)s 4832(of)s 5103(the)s 5451(right)s 5962(parameter)s 13(.)k 240 fnt5 -0 9214(3.14.)m 591(@HExpand)s 1854(and)s 2295(@VExpand)s +0 3824(3.14.)m 591(@HExpand)s 1854(and)s 2295(@VExpand)s [ /Dest /LOUThexpand /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hexp_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_hexp_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hexp_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_hexp_2 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hexp_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_hexp_3 /DEST pdfmark 240 fnt1 -558 8737(The)m 220 fnt2 1004 8734(@HExpand)m 240 fnt1 2195 8737(symbol)m +558 3347(The)m 220 fnt2 1004 3344(@HExpand)m 240 fnt1 2195 3347(symbol)m 2973(causes)s 3666(its)s 3961(right)s 4490(parameter)s 5522(to)s 5779(be)s 6079(as)s 6348(wide)s 6887(as)s 7155(it)s -7365(possibly)s 8235(could)s 8844(be)s 0 8449(without)m 784(violating)s -1679(a)s 220 fnt2 1837 8446(@Wide)m 240 fnt1 2603 8449(symbol)m +7365(possibly)s 8235(could)s 8844(be)s 0 3059(without)m 784(violating)s +1679(a)s 220 fnt2 1837 3056(@Wide)m 240 fnt1 2603 3059(symbol)m 3355(or)s 3606(intruding)s 4528(into)s 4945(the)s 5285(space)s 5864(occupied)s 6778(by)s 7064(neighbouring)s 8386(g)s 1(aps)k -8867(or)s 0 8161(objects.)m 841(The)s 220 fnt2 1269 8158(@VExpand)m -240 fnt1 2430 8161(symbol)m 3190(is)s 3400(similar)s 9(,)k +8867(or)s 0 2771(objects.)m 841(The)s 220 fnt2 1269 2768(@VExpand)m +240 fnt1 2430 2771(symbol)m 3190(is)s 3400(similar)s 9(,)k 4160(b)s 4(ut)k 4522(it)s 4714(af)s 6(fects)k 5394(height.)s 6156(F)s 3(or)k 6545(e)s 3(xample,)k -7459(in)s 7702(the)s 8050(object)s 220 fnt2 480 7660(8i @Wide 11i @High {)m -480 7372( //1i ||1i @HExpand @VExpand x ||1i)m 480 7084( //1i)m 480 6796(})m 240 fnt1 0 6302(object)m -220 fnt2 655 6299(x)m 240 fnt1 834 6302(could)m 1435(ha)s 4(v)k 3(e)k +7459(in)s 7702(the)s 8050(object)s 220 fnt2 480 2270(8i @Wide 11i @High {)m +480 1982( //1i ||1i @HExpand @VExpand x ||1i)m 480 1694( //1i)m 480 1406(})m 240 fnt1 0 912(object)m +220 fnt2 655 909(x)m 240 fnt1 834 912(could)m 1435(ha)s 4(v)k 3(e)k 1947(an)s 3(y)k 2356(size)s 2794(up)s 3098(to)s 3348(six)s 3694(inches)s 4367(wide)s 4899(by)s 5204(nine)s 5683(inches)s 6357(high,)s 6901(so)s 7178(the)s 220 fnt2 -7537 6299(@HExpand)m 240 fnt1 8722 6302(and)m 220 fnt2 0 6011(@VExpand)m -240 fnt1 1166 6014(symbols)m 2021(cause)s 2614(it)s 2812(to)s +7537 909(@HExpand)m 240 fnt1 8722 912(and)m 220 fnt2 0 621(@VExpand)m +240 fnt1 1166 624(symbols)m 2021(cause)s 2614(it)s 2812(to)s 3057(ha)s 4(v)k 3(e)k 3564(e)s 3(xactly)k 4311(this)s 4713(size.)s 5254(This)s 5736(is)s 5952(important,)s 6994(for)s 7338(e)s 3(xample,)k 8258(if)s 220 fnt2 -8481 6011(x)m 240 fnt1 8655 6014(con)m 8998(-)s 0 5726(tains)m -220 fnt2 502 5723(|1r)m -8(t)k 240 fnt1 879 5726(or)m -220 fnt2 1138 5723(/1r)m -8(t)k 240 fnt1 1459 5726(;)m +8481 621(x)m 240 fnt1 8655 624(con)m 8998(-)s 0 336(tains)m +220 fnt2 502 333(|1r)m -8(t)k 240 fnt1 879 336(or)m +220 fnt2 1138 333(/1r)m -8(t)k 240 fnt1 1459 336(;)m 1571(without)s 2362(the)s 2710(e)s 3(xpansion)k 3735(these)s 4282(might)s 4900(not)s 5266(mo)s 3(v)k 3(e)k 5848(as)s 6098(f)s 2(ar)k 6420(across)s 7068(or)s 7327(do)s 6(wn)k 7911(as)s 8161(e)s 3(xpected.)k -480 5352(As)m 809(Section)s 1595(2.6)s 1961(e)s 3(xplains)k -2818(in)s 3074(detail,)s 3723(most)s 4260(objects)s 5001(are)s -5360(already)s 6130(as)s 6392(lar)s 4(ge)k 6933(as)s -7196(the)s 3(y)k 7671(possibly)s 8536(could)s 0 5064(be.)m -379(Consequently)s 1738(these)s 2273(symbols)s 3110(are)s 3446(needed)s -4170(only)s 4638(rarely)s 15(.)k 220 fnt2 5331 5061(@HExpand)m -240 fnt1 6493 5064(includes)m 7329(a)s 220 fnt2 7483 5061(@OneCol)m -240 fnt1 8483 5064(ef)m 6(fect,)k 0 4776(and)m 220 fnt2 -404 4773(@VExpand)m 240 fnt1 1565 4776(includes)m 2413(a)s 220 fnt2 -2579 4773(@OneRo)m 3(w)k 240 fnt1 3710 4776(ef)m 6(fect.)k -240 fnt5 0 3987(3.15.)m 591(@HContract)s 1976(and)s 2417(@VContract)s - -[ /Dest /LOUThcontract /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_hcon_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hcon_2 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_hcon_3 /DEST pdfmark -240 fnt1 542 3555(The)m 220 fnt2 972 3552(@HContr)m 2(act)k -240 fnt1 2239 3555(symbol)m 3001(reduces)s 3784(the)s 4135(size)s -4564(of)s 4837(its)s 5116(right)s 5629(parameter)s 6645(to)s -6887(a)s 7055(reasonable)s 8136(minimum)s 0 3267(\(after)m 575(paragraph)s -1588(breaking\).)s 2668(F)s 3(or)k 3057(e)s 3(xample,)k -220 fnt2 480 2766(5i @Wide @HContr)m 2(act { A |1r)k -8(t B })k 240 fnt1 -0 2272(has)m 370(result)s 480 1821(A)m 650(B)s 0 1370(in)m -233(which)s 864(the)s 1201(B)s 1393(is)s 1592(much)s -2170(closer)s 2789(to)s 3017(the)s 3354(A)s 3574(than)s -4032(it)s 4213(w)s 2(ould)k 4857(otherwise)s 5831(ha)s 4(v)k 3(e)k -6321(been.)s 220 fnt2 6926 1367(@VContr)m 2(act)k 240 fnt1 -8167 1370(is)m 8366(similar)s 9(,)k 0 1082(b)m 4(ut)k -362(in)s 605(a)s 771(v)s 3(ertical)k 1538(direction.)s -2551(See)s 2952(Section)s 3726(2.6)s 4079(for)s 4417(a)s -4583(more)s 5130(e)s 3(xtensi)k 6(v)k 3(e)k -6077(discussion.)s grestore gsave 1417 -15423 translate @@ -13121,125 +13140,127 @@ grestore gsave 0 16840 translate 0.0000 rotate -240 fnt6 1417 -1580(3.16.)m -1991(@HLimited)s 3180(and)s 3606(@VLimited)s 240 fnt5 10250 -1583(53)m +240 fnt6 1417 -1580(3.14.)m +1991(@HExpand)s 3182(and)s 3608(@VExpand)s 240 fnt5 10250 -1583(53)m gsave 1417 -15423 translate -240 fnt1 9066 13412 0 13412 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13258 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -240 fnt5 0 13247(3.16.)m 591(@HLimited)s 1864(and)s -2305(@VLimited)s -[ /Dest /LOUThlimited /DEST pdfmark +480 13204(As)m 809(Section)s 1595(2.6)s 1961(e)s 3(xplains)k +2818(in)s 3074(detail,)s 3723(most)s 4260(objects)s 5001(are)s +5360(already)s 6130(as)s 6392(lar)s 4(ge)k 6933(as)s +7196(the)s 3(y)k 7671(possibly)s 8536(could)s 0 12916(be.)m +379(Consequently)s 1738(these)s 2273(symbols)s 3110(are)s 3446(needed)s +4170(only)s 4638(rarely)s 15(.)k 220 fnt2 5331 12913(@HExpand)m +240 fnt1 6493 12916(includes)m 7329(a)s 220 fnt2 7483 12913(@OneCol)m +240 fnt1 8483 12916(ef)m 6(fect,)k 0 12628(and)m 220 fnt2 +404 12625(@VExpand)m 240 fnt1 1565 12628(includes)m 2413(a)s 220 fnt2 +2579 12625(@OneRo)m 3(w)k 240 fnt1 3710 12628(ef)m 6(fect.)k +240 fnt5 0 11839(3.15.)m 591(@HContract)s 1976(and)s 2417(@VContract)s -[ /Dest /LOUT19_4262_pre_hlim_1 /DEST pdfmark +[ /Dest /LOUThcontract /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hlim_2 /DEST pdfmark -240 fnt1 579 12815(The)m 220 fnt2 1047 12812(@HLimited)m -240 fnt1 2221 12815(symbol)m 3021(limits)s 3654(the)s 4042(width)s -4684(a)s 4(v)k 6(ailable)k 5631(to)s 5910(recursi)s 6(v)k 3(e)k -6871(and)s 7315(recepti)s 6(v)k 3(e)k 8277(symbols)s -0 12527(within)m 692(its)s 993(right)s 1529(parameter)s 2567(to)s -2831(whate)s 6(v)k 3(er)k 3783(is)s 4018(a)s 4(v)k 6(ailable)k -4950(without)s 5766(increasing)s 6826(the)s 7198(e)s 3(xisting)k -8030(size)s 8482(of)s 8778(the)s 220 fnt2 0 12236(@HLimited)m -240 fnt1 1138 12239(object.)m 1890(So)s 2199(this)s 2599(symbol)s -3362(acts)s 3788(lik)s 2(e)k 220 fnt2 4204 12236(@Wide)m -240 fnt1 4981 12239(with)m 5467(respect)s 6206(to)s 6449(limiting)s -7261(the)s 7613(space)s 8204(occupied)s 0 11951(by)m 315(recursi)s 6(v)k 3(e)k -1258(and)s 1684(recepti)s 6(v)k 3(e)k 2627(symbols,)s -3553(e)s 3(xcept)k 4256(that)s 4695(instead)s 5451(of)s -5744(enforcing)s 6734(a)s 6921(\207x)s 3(ed)k 7477(constant)s -8355(limit,)s 8934(it)s 0 11663(enforces)m 860(whate)s 6(v)k 3(er)k -1787(size)s 2214(is)s 2424(already)s 3181(in)s 3424(place.)s -480 11289(The)m 220 fnt2 904 11286(@VLimited)m 240 fnt1 2022 11289(symbol)m +[ /Dest /LOUT19_4263_pre_hcon_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_hcon_2 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_hcon_3 /DEST pdfmark +240 fnt1 542 11407(The)m 220 fnt2 972 11404(@HContr)m 2(act)k +240 fnt1 2239 11407(symbol)m 3001(reduces)s 3784(the)s 4135(size)s +4564(of)s 4837(its)s 5116(right)s 5629(parameter)s 6645(to)s +6887(a)s 7055(reasonable)s 8136(minimum)s 0 11119(\(after)m 575(paragraph)s +1588(breaking\).)s 2668(F)s 3(or)k 3057(e)s 3(xample,)k +220 fnt2 480 10618(5i @Wide @HContr)m 2(act { A |1r)k -8(t B })k 240 fnt1 +0 10124(has)m 370(result)s 480 9673(A)m 650(B)s 0 9222(in)m +233(which)s 864(the)s 1201(B)s 1393(is)s 1592(much)s +2170(closer)s 2789(to)s 3017(the)s 3354(A)s 3574(than)s +4032(it)s 4213(w)s 2(ould)k 4857(otherwise)s 5831(ha)s 4(v)k 3(e)k +6321(been.)s 220 fnt2 6926 9219(@VContr)m 2(act)k 240 fnt1 +8167 9222(is)m 8366(similar)s 9(,)k 0 8934(b)m 4(ut)k +362(in)s 605(a)s 771(v)s 3(ertical)k 1538(direction.)s +2551(See)s 2952(Section)s 3726(2.6)s 4079(for)s 4417(a)s +4583(more)s 5130(e)s 3(xtensi)k 6(v)k 3(e)k +6077(discussion.)s 240 fnt5 0 8190(3.16.)m 591(@HLimited)s 1864(and)s +2305(@VLimited)s +[ /Dest /LOUThlimited /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_hlim_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_hlim_2 /DEST pdfmark +240 fnt1 579 7758(The)m 220 fnt2 1047 7755(@HLimited)m +240 fnt1 2221 7758(symbol)m 3021(limits)s 3654(the)s 4042(width)s +4684(a)s 4(v)k 6(ailable)k 5631(to)s 5910(recursi)s 6(v)k 3(e)k +6871(and)s 7315(recepti)s 6(v)k 3(e)k 8277(symbols)s +0 7470(within)m 692(its)s 993(right)s 1529(parameter)s 2567(to)s +2831(whate)s 6(v)k 3(er)k 3783(is)s 4018(a)s 4(v)k 6(ailable)k +4950(without)s 5766(increasing)s 6826(the)s 7198(e)s 3(xisting)k +8030(size)s 8482(of)s 8778(the)s 220 fnt2 0 7179(@HLimited)m +240 fnt1 1138 7182(object.)m 1890(So)s 2199(this)s 2599(symbol)s +3362(acts)s 3788(lik)s 2(e)k 220 fnt2 4204 7179(@Wide)m +240 fnt1 4981 7182(with)m 5467(respect)s 6206(to)s 6449(limiting)s +7261(the)s 7613(space)s 8204(occupied)s 0 6894(by)m 315(recursi)s 6(v)k 3(e)k +1258(and)s 1684(recepti)s 6(v)k 3(e)k 2627(symbols,)s +3553(e)s 3(xcept)k 4256(that)s 4695(instead)s 5451(of)s +5744(enforcing)s 6734(a)s 6921(\207x)s 3(ed)k 7477(constant)s +8355(limit,)s 8934(it)s 0 6606(enforces)m 860(whate)s 6(v)k 3(er)k +1787(size)s 2214(is)s 2424(already)s 3181(in)s 3424(place.)s +480 6232(The)m 220 fnt2 904 6229(@VLimited)m 240 fnt1 2022 6232(symbol)m 2778(is)s 2983(e)s 3(xactly)k 3719(the)s 4063(same,)s 4656(e)s 3(xcept)k 5332(that)s 5746(it)s 5933(applies)s 6656(v)s 3(ertically)k 7604(rather)s 8215(than)s 8679(hor)s -8998(-)s 0 11001(izontally)m 15(.)k 240 fnt5 0 10208(3.17.)m +8998(-)s 0 5944(izontally)m 15(.)k 240 fnt5 0 5151(3.17.)m 591(@HAdjust,)s 1804(@V)s 32(Adjust,)k 2972(and)s 3413(@P)s 17(Adjust)k [ /Dest /LOUThadjust /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hadj_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_hadj_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hadj_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_hadj_2 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hadj_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_hadj_3 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hadj_4 /DEST pdfmark -240 fnt1 551 9732(These)m 1189(symbols)s 2050(spread)s 2743(their)s +[ /Dest /LOUT19_4263_pre_hadj_4 /DEST pdfmark +240 fnt1 551 4675(These)m 1189(symbols)s 2050(spread)s 2743(their)s 3252(right)s 3774(parameter)s 4800(apart)s 5348(until)s 5852(it)s 6056(occupies)s 6955(all)s 7260(the)s 7619(space)s 8218(a)s 4(v)k 6(ailable)k -0 9444(to)m 268(it;)s 220 fnt2 602 9441(@HAdjust)m 240 fnt1 -1678 9444(adjusts)m 220 fnt2 2422 9441(|)m 240 fnt1 2549 9444(sequences,)m -220 fnt2 3656 9441(@V)m 17(Adjust)k 240 fnt1 4702 9444(adjusts)m -220 fnt2 5447 9441(/)m 240 fnt1 5601 9444(sequences,)m 6707(and)s -220 fnt2 7141 9441(@P)m 26(Adjust)k 240 fnt1 8179 9444(adjusts)m -220 fnt2 8924 9441(&)m 240 fnt1 0 9156(sequences.)m 1134(F)s 3(or)k -1523(e)s 3(xample,)k 220 fnt2 480 8655(4i @Wide @P)m 26(Adjust { 1 2 3 4 5 6 7 8 })k -240 fnt1 0 8158(has)m 370(result)s 480 7703(1)m 1274(2)s +0 4387(to)m 268(it;)s 220 fnt2 602 4384(@HAdjust)m 240 fnt1 +1678 4387(adjusts)m 220 fnt2 2422 4384(|)m 240 fnt1 2549 4387(sequences,)m +220 fnt2 3656 4384(@V)m 17(Adjust)k 240 fnt1 4702 4387(adjusts)m +220 fnt2 5447 4384(/)m 240 fnt1 5601 4387(sequences,)m 6707(and)s +220 fnt2 7141 4384(@P)m 26(Adjust)k 240 fnt1 8179 4387(adjusts)m +220 fnt2 8924 4384(&)m 240 fnt1 0 4099(sequences.)m 1134(F)s 3(or)k +1523(e)s 3(xample,)k 220 fnt2 480 3598(4i @Wide @P)m 26(Adjust { 1 2 3 4 5 6 7 8 })k +240 fnt1 0 3101(has)m 370(result)s 480 2646(1)m 1274(2)s 2088(3)s 2892(4)s 3706(5)s 4512(6)s 5325(7)s -6133(8)s 0 7249(More)m 571(precisely)s 15(,)k 1521(the)s +6133(8)s 0 2192(More)m 571(precisely)s 15(,)k 1521(the)s 1865(widening)s 2806(is)s 3012(ef)s 6(fected)k 3828(by)s 4119(enlar)s 4(ging)k 5067(the)s 5411(size)s 5835(of)s 6102(each)s 6593(component)s 7714(e)s 3(xcept)k 8391(the)s -8735(last)s 0 6961(by)m 284(an)s 556(equal)s 1118(fraction)s +8735(last)s 0 1904(by)m 284(an)s 556(equal)s 1118(fraction)s 1907(of)s 2167(the)s 2504(space)s 3080(that)s 3488(w)s 2(ould)k 4132(otherwise)s 5106(be)s 5377(left)s 5744(o)s 3(v)k 3(er)k 6212(\211)s 6381(just)s 6775(the)s 7113(opposite)s 7969(of)s -8229(the)s 8566(usual)s 0 6673(procedure,)m 1063(which)s 1705(assigns)s +8229(the)s 8566(usual)s 0 1616(procedure,)m 1063(which)s 1705(assigns)s 2447(all)s 2740(the)s 3088(lefto)s 3(v)k 3(er)k 3884(space)s 4471(to)s 4710(the)s 5058(last)s 5449(component)s -6573(\(Section)s 7426(2.6\).)s 220 fnt2 480 6296(@P)m 26(Adjust)k -240 fnt1 1497 6299(is)m 1716(used)s 2222(by)s 2525(the)s -220 fnt2 2883 6296(adjust)m 240 fnt1 3533 6299(and)m 220 fnt2 -3946 6296(outdent)m 240 fnt1 4743 6299(options)m 5508(of)s 5789(the)s -220 fnt2 6146 6296(@Break)m 240 fnt1 7011 6299(symbol)m 7780(\(Section)s -8643(3.4\).)s 0 6011(It)m 213(has)s 591(a)s 765(slight)s +6573(\(Section)s 7426(2.6\).)s 220 fnt2 480 1239(@P)m 26(Adjust)k +240 fnt1 1497 1242(is)m 1716(used)s 2222(by)s 2525(the)s +220 fnt2 2883 1239(adjust)m 240 fnt1 3533 1242(and)m 220 fnt2 +3946 1239(outdent)m 240 fnt1 4743 1242(options)m 5508(of)s 5789(the)s +220 fnt2 6146 1239(@Break)m 240 fnt1 7011 1242(symbol)m 7780(\(Section)s +8643(3.4\).)s 0 954(It)m 213(has)s 591(a)s 765(slight)s 1364(peculiarity:)s 2559(it)s 2759(will)s 3193(not)s 3567(enlar)s 4(ge)k 4330(components)s 5546(when)s 6130(the)s 6486(immediately)s 7742(follo)s 6(wing)k -8728(g)s 1(ap)k 0 5723(has)m 398(width)s 1029(0.)s +8728(g)s 1(ap)k 0 666(has)m 398(width)s 1029(0.)s 1342(This)s 1847(is)s 2086(to)s 2354(pre)s 6(v)k 3(ent)k 3151(space)s 3767(from)s 4320(appearing)s 5345(\(for)s 5791(e)s 3(xample\))k 6755(between)s 7638(a)s 7833(w)s 2(ord)k 8410(and)s -8843(an)s 0 5435(immediately)m 1248(follo)s 6(wing)k 2225(comma.)s +8843(an)s 0 378(immediately)m 1248(follo)s 6(wing)k 2225(comma.)s 3093(The)s 3521(other)s 4072(tw)s 2(o)k 4482(symbols)s 5331(will)s 5757(enlar)s 4(ge)k 6512(such)s 7008(components.)s -240 fnt5 0 4642(3.18.)m 591(@HScale)s 1587(and)s 2028(@VScale)s - -[ /Dest /LOUThscale /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hsca_1 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_hsca_2 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_hsca_3 /DEST pdfmark -220 fnt2 538 4207(@HScale)m 240 fnt1 1516 4210(causes)m 2189(its)s -2462(right)s 2970(parameter)s 3982(to)s 4218(e)s 3(xpand)k -4962(to)s 5199(\207ll)s 5516(the)s 5861(space)s 6446(a)s 4(v)k 6(ailable,)k -7402(by)s 7693(geometricallly)s 0 3922(scaling)m 730(it:)s 220 fnt2 -480 3421(4i @Wide @HScale { 1 2 3 4 5 6 7 8 })m 240 fnt1 0 2927(has)m 370(result)s gsave -480 0 translate -4.4965 1.0000 scale -0 2472(1)m -155(2)s 329(3)s 493(4)s 667(5)s 833(6)s -1006(7)s 1174(8)s -grestore -0 2018(and)m 220 fnt2 480 1567(0.5i @Wide @HScale { 1 2 3 4 5 6 7 8 })m -240 fnt1 0 1073(has)m 370(result)s gsave -480 0 translate -0.5621 1.0000 scale -0 618(1)m 155(2)s -329(3)s 493(4)s 667(5)s 833(6)s 1006(7)s -1174(8)s -grestore -220 fnt2 0 161(@HScale)m 240 fnt1 980 164(\207rst)m -1409(applies)s 220 fnt2 2136 161(@HContr)m 2(act)k 240 fnt1 -3398 164(to)m 3635(its)s 3910(parameter)s 9(,)k 4960(then)s -5427(horizontally)s 6635(scales)s 7254(it)s 7444(to)s 7682(the)s -8028(actual)s 8651(size.)s grestore gsave 1417 -15423 translate @@ -13291,132 +13312,114 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -0 13205(The)m 433(principal)s 1342(mark)s -1899(of)s 2175(the)s 2528(right)s 3044(parameter)s 4063(has)s -4438(no)s 4736(ef)s 6(fect)k 5337(on)s 5639(the)s -5992(result;)s 6639(the)s 6992(parameter)s 8011(is)s 8226(scaled)s -8887(to)s 0 12917(the)m 365(actual)s 1007(size)s 1451(and)s -1872(positioned)s 2944(to)s 3200(\207ll)s 3537(the)s 3902(space)s -4506(a)s 4(v)k 6(ailable.)k 5539(\(T)s 19(aking)k -6347(account)s 7168(of)s 7456(alignment)s 8489(of)s 8778(the)s -0 12629(principal)m 904(mark)s 1456(only)s 1936(causes)s 2611(trouble)s -3344(in)s 3587(practice.\))s 220 fnt2 480 12252(@VScale)m 240 fnt1 -1460 12255(is)m 1681(similar)s 9(,)k 2452(b)s 4(ut)k -2825(in)s 3080(a)s 3257(v)s 3(ertical)k 4035(direction.)s -220 fnt2 5059 12252(@HScale)m 240 fnt1 6051 12255(and)m 220 fnt2 -6467 12252(@VScale)m 240 fnt1 7447 12255(each)m 7953(ha)s 4(v)k 3(e)k -8465(both)s 8960(a)s 220 fnt2 0 11964(@OneCol)m 240 fnt1 -1012 11967(and)m 1416(a)s 220 fnt2 1582 11964(@OneRo)m 3(w)k -240 fnt1 2713 11967(ef)m 6(fect.)k 240 fnt5 0 11219(3.19.)m +240 fnt5 0 13203(3.18.)m 591(@HScale)s +1587(and)s 2028(@VScale)s +[ /Dest /LOUThscale /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_hsca_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_hsca_2 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_hsca_3 /DEST pdfmark +220 fnt2 538 12768(@HScale)m 240 fnt1 +1516 12771(causes)m 2189(its)s 2462(right)s 2970(parameter)s 3982(to)s +4218(e)s 3(xpand)k 4962(to)s 5199(\207ll)s 5516(the)s +5861(space)s 6446(a)s 4(v)k 6(ailable,)k 7402(by)s +7693(geometricallly)s 0 12483(scaling)m 730(it:)s 220 fnt2 480 11982(4i @Wide @HScale { 1 2 3 4 5 6 7 8 })m +240 fnt1 0 11488(has)m 370(result)s gsave +480 0 translate +4.4965 1.0000 scale +0 11033(1)m 155(2)s +329(3)s 493(4)s 667(5)s 833(6)s 1006(7)s +1174(8)s +grestore +0 10579(and)m 220 fnt2 480 10128(0.5i @Wide @HScale { 1 2 3 4 5 6 7 8 })m 240 fnt1 +0 9634(has)m 370(result)s gsave +480 0 translate +0.5621 1.0000 scale +0 9179(1)m 155(2)s 329(3)s +493(4)s 667(5)s 833(6)s 1006(7)s 1174(8)s + +grestore +220 fnt2 0 8722(@HScale)m 240 fnt1 980 8725(\207rst)m 1409(applies)s +220 fnt2 2136 8722(@HContr)m 2(act)k 240 fnt1 3398 8725(to)m +3635(its)s 3910(parameter)s 9(,)k 4960(then)s 5427(horizontally)s +6635(scales)s 7254(it)s 7444(to)s 7682(the)s 8028(actual)s +8651(size.)s 0 8437(The)m 433(principal)s 1342(mark)s 1899(of)s +2175(the)s 2528(right)s 3044(parameter)s 4063(has)s 4438(no)s +4736(ef)s 6(fect)k 5337(on)s 5639(the)s 5992(result;)s +6639(the)s 6992(parameter)s 8011(is)s 8226(scaled)s 8887(to)s +0 8149(the)m 365(actual)s 1007(size)s 1451(and)s 1872(positioned)s +2944(to)s 3200(\207ll)s 3537(the)s 3902(space)s 4506(a)s 4(v)k 6(ailable.)k +5539(\(T)s 19(aking)k 6347(account)s 7168(of)s 7456(alignment)s +8489(of)s 8778(the)s 0 7861(principal)m 904(mark)s 1456(only)s +1936(causes)s 2611(trouble)s 3344(in)s 3587(practice.\))s 220 fnt2 +480 7484(@VScale)m 240 fnt1 1460 7487(is)m 1681(similar)s 9(,)k +2452(b)s 4(ut)k 2825(in)s 3080(a)s 3257(v)s 3(ertical)k +4035(direction.)s 220 fnt2 5059 7484(@HScale)m 240 fnt1 6051 7487(and)m +220 fnt2 6467 7484(@VScale)m 240 fnt1 7447 7487(each)m 7953(ha)s 4(v)k 3(e)k +8465(both)s 8960(a)s 220 fnt2 0 7196(@OneCol)m 240 fnt1 +1012 7199(and)m 1416(a)s 220 fnt2 1582 7196(@OneRo)m 3(w)k +240 fnt1 2713 7199(ef)m 6(fect.)k 240 fnt5 0 6451(3.19.)m 591(@HMirr)s 4(or)k 1784(and)s 2225(@VMirr)s 4(or)k [ /Dest /LOUThmirror /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hmir_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_hmir_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hmir_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_hmir_2 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hmir_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_hmir_3 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_hmir_4 /DEST pdfmark -220 fnt2 542 10784(@HMirror)m 240 fnt1 1558 10787(and)m 220 fnt2 -1965 10784(@VMirror)m 240 fnt1 2969 10787(cause)m 3559(their)s 4059(right)s +[ /Dest /LOUT19_4263_pre_hmir_4 /DEST pdfmark +220 fnt2 542 6016(@HMirror)m 240 fnt1 1558 6019(and)m 220 fnt2 +1965 6016(@VMirror)m 240 fnt1 2969 6019(cause)m 3559(their)s 4059(right)s 4573(parameter)s 5590(to)s 5832(be)s 6117(re\210ected,)s 7049(either)s -7655(horizontally)s 8867(or)s 0 10499(v)m 3(ertically)k 15(.)k +7655(horizontally)s 8867(or)s 0 5731(v)m 3(ertically)k 15(.)k 1047(F)s 3(or)k 1436(e)s 3(xample,)k 220 fnt2 -480 9998(@HMirror AMB)m 2(ULANCE)k 240 fnt1 0 9543(has)m 370(result)s +480 5230(@HMirror AMB)m 2(ULANCE)k 240 fnt1 0 4775(has)m 370(result)s gsave -1992 9145 translate +1992 4377 translate [-1 0 0 1 0 0] concat 0 -54(AMB)m 2(ULANCE)k grestore -0 8637(and)m 220 fnt2 480 8186(@VMirror AMB)m 2(ULANCE)k -240 fnt1 0 7731(has)m 370(result)s gsave -0 7384 translate +0 3869(and)m 220 fnt2 480 3418(@VMirror AMB)m 2(ULANCE)k +240 fnt1 0 2963(has)m 370(result)s gsave +0 2616 translate [1 0 0 -1 0 0] concat 480 -54(AMB)m 2(ULANCE)k grestore -0 6825(The)m 419(parameters)s 1507(of)s 1768(these)s 2306(symbols)s +0 2057(The)m 419(parameters)s 1507(of)s 1768(these)s 2306(symbols)s 3145(may)s 3601(be)s 3874(arbitrary)s 4739(Lout)s 5241(objects)s 5960(as)s 6200(usual.)s 6799(Both)s 7313(symbols)s 8152(ha)s 4(v)k 3(e)k -8643(both)s 0 6537(a)m 220 fnt2 166 6534(@OneCol)m 240 fnt1 -1178 6537(and)m 1582(a)s 220 fnt2 1748 6534(@OneRo)m 3(w)k -240 fnt1 2879 6537(ef)m 6(fect.)k 480 6163(In)m 733(each)s +8643(both)s 0 1769(a)m 220 fnt2 166 1766(@OneCol)m 240 fnt1 +1178 1769(and)m 1582(a)s 220 fnt2 1748 1766(@OneRo)m 3(w)k +240 fnt1 2879 1769(ef)m 6(fect.)k 480 1395(In)m 733(each)s 1224(case)s 1687(the)s 2031(re\210ection)s 2987(is)s 3193(about)s 3781(the)s 4125(mark)s 4674(of)s 4941(the)s 5285(object)s 5925(\(that)s 6419(is,)s 6681(the)s 7025(re\210ected)s 7901(objects)s -8625(ha)s 4(v)k 3(e)k 0 5875(the)m 346(same)s +8625(ha)s 4(v)k 3(e)k 0 1107(the)m 346(same)s 891(marks)s 1524(as)s 1772(the)s 2118(originals\),)s 3138(so)s 3402(that,)s 3865(for)s 4201(e)s 3(xample,)k 5113(when)s 5687(used)s 6182(within)s 6848(a)s 7012(line)s 7424(of)s -7693(te)s 3(xt)k 8106(the)s 8452(results)s 0 5587(are)m +7693(te)s 3(xt)k 8106(the)s 8452(results)s 0 819(are)m gsave -1859 5641 translate +1859 873 translate [-1 0 0 1 0 0] concat 0 -54(AMB)m 2(ULANCE)k grestore 1919(and)s gsave -0 5641 translate +0 873 translate [1 0 0 -1 0 0] concat 2323 -54(AMB)m 2(ULANCE)k grestore -3895(respecti)s 6(v)k 3(ely)k 15(.)k 240 fnt5 -0 4792(3.20.)m 591(@HCo)s 2(v)k 2(er)k 1679(and)s -2120(@VCo)s 2(v)k 2(er)k -[ /Dest /LOUThcover /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_cove_1 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_cove_2 /DEST pdfmark -240 fnt1 529 4360(The)m -220 fnt2 946 4357(@VCo)m 3(v)k 5(er)k 240 fnt1 -1941 4360(symbol)m 2690(v)s 3(ertically)k 3631(scales)s 4241(its)s -4506(right)s 5006(parameter)s 6009(so)s 6264(that)s 6671(it)s -6852(co)s 3(v)k 3(ers)k 7510(e)s 6(v)k 3(ery)k -8075(object)s 8708(that)s 0 4072(shares)m 648(its)s 924(ro)s 6(w)k -1344(mark.)s 1999(F)s 3(or)k 2388(e)s 3(xample,)k -220 fnt2 480 3571(@VCo)m 3(v)k 5(er \( 45d @Rotate Hello @VCo)k 3(v)k 5(er \))k -240 fnt1 0 3075(produces)m 748 843 0 396 240 288 60 480 1892 LoutGr2 -grestore save gsave 200 dict begin lfigdict begin -grestore -748 843 0 396 240 288 60 0 0 LoutGr2 - -0.015 cm setlinewidth lfiground setlinecap -0.15 cm /lfigdashed [ -0.3 cm ymark -xsize ymark 0.3 cm 0 lfigpadd ] lfigdopath -pop pop -grestore -gsave -0 396 translate -1.0000 4.1328 scale -0 -54(\()m -grestore -gsave -210 396 translate -45.0000 rotate -0 -54(Hello)m -grestore -gsave -680 396 translate -1.0000 4.1328 scale -0 -54(\))m - -grestore - -grestore -end end restore -grestore -0 1441(The)m 428(ro)s 6(w)k 848(mark)s 1400(has)s -1770(been)s 2279(added)s 2909(to)s 3148(sho)s 6(w)k -3702(clearly)s 4405(where)s 5045(it)s 5237(lies.)s 5732(This)s -6208(should)s 6905(be)s 7187(compared)s 8188(with)s 220 fnt2 -480 940(@VScale \( 45d @Rotate Hello @VScale \))m 240 fnt1 0 444(which)m 642(produces)s +3895(respecti)s 6(v)k 3(ely)k 15(.)k grestore gsave 1417 -15423 translate @@ -13469,11 +13472,65 @@ gsave 1991(@HCo)s 2(ver)k 3032(and)s 3458(@VCo)s 2(ver)k 240 fnt5 10250 -1583(55)m gsave 1417 -15423 translate -240 fnt1 9066 13413 0 12966 240 288 60 LoutGraphic +240 fnt1 9066 13413 0 13413 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -748 486 0 39 240 288 60 480 12927 LoutGr2 +240 fnt5 0 13248(3.20.)m +591(@HCo)s 2(v)k 2(er)k 1679(and)s 2120(@VCo)s 2(v)k 2(er)k + +[ /Dest /LOUThcover /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_cove_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_cove_2 /DEST pdfmark +240 fnt1 529 12816(The)m 220 fnt2 946 12813(@VCo)m 3(v)k 5(er)k +240 fnt1 1941 12816(symbol)m 2690(v)s 3(ertically)k 3631(scales)s +4241(its)s 4506(right)s 5006(parameter)s 6009(so)s 6264(that)s +6671(it)s 6852(co)s 3(v)k 3(ers)k 7510(e)s 6(v)k 3(ery)k +8075(object)s 8708(that)s 0 12528(shares)m 648(its)s 924(ro)s 6(w)k +1344(mark.)s 1999(F)s 3(or)k 2388(e)s 3(xample,)k +220 fnt2 480 12027(@VCo)m 3(v)k 5(er \( 45d @Rotate Hello @VCo)k 3(v)k 5(er \))k +240 fnt1 0 11531(produces)m 748 843 0 396 240 288 60 480 10348 LoutGr2 +grestore save gsave 200 dict begin lfigdict begin +grestore +748 843 0 396 240 288 60 0 0 LoutGr2 + +0.015 cm setlinewidth lfiground setlinecap +0.15 cm /lfigdashed [ -0.3 cm ymark +xsize ymark 0.3 cm 0 lfigpadd ] lfigdopath +pop pop +grestore +gsave +0 396 translate +1.0000 4.1328 scale +0 -54(\()m +grestore +gsave +210 396 translate +45.0000 rotate +gsave +0 0 translate +0.9922 1.0000 scale +0 -54(Hello)m +grestore + +grestore +gsave +680 396 translate +1.0000 4.1328 scale +0 -54(\))m + +grestore + +grestore +end end restore +grestore +0 9897(The)m 428(ro)s 6(w)k 848(mark)s 1400(has)s +1770(been)s 2279(added)s 2909(to)s 3148(sho)s 6(w)k +3702(clearly)s 4405(where)s 5045(it)s 5237(lies.)s 5732(This)s +6208(should)s 6905(be)s 7187(compared)s 8188(with)s 220 fnt2 +480 9396(@VScale \( 45d @Rotate Hello @VScale \))m 240 fnt1 0 8900(which)m 642(produces)s 748 486 0 39 240 288 60 480 8074 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 748 486 0 39 240 288 60 0 0 LoutGr2 @@ -13486,12 +13543,17 @@ grestore gsave 0 229 translate 1.0000 2.3824 scale -0 -54(\()m +0 -54(\()m + grestore gsave 210 39 translate 45.0000 rotate -0 -54(Hello)m +gsave +0 0 translate +0.9922 1.0000 scale +0 -54(Hello)m +grestore grestore gsave @@ -13503,143 +13565,94 @@ grestore grestore end end restore grestore -0 12476(Scaling)m 786(abandons)s 1759(mark)s 2328(alignment)s -3361(and)s 3782(so)s 4065(is)s 4292(able)s 4763(to)s -5018(e)s 3(xactly)k 5776(co)s 3(v)k 3(er)k +0 7623(Scaling)m 786(abandons)s 1759(mark)s +2328(alignment)s 3361(and)s 3782(so)s 4065(is)s 4292(able)s +4763(to)s 5018(e)s 3(xactly)k 5776(co)s 3(v)k 3(er)k 6378(the)s 6743(rest)s 7164(of)s 7452(the)s 7817(ro)s 6(w)k 15(,)k -8292(whereas)s 0 12188(co)m 3(v)k 3(ering)k 896(preserv)s 3(es)k +8292(whereas)s 0 7335(co)m 3(v)k 3(ering)k 896(preserv)s 3(es)k 1859(mark)s 2424(alignment)s 3453(and)s 3869(so)s 4148(is)s 4371(obliged)s 5160(in)s 5415(general)s 6186(to)s 6438(more)s 6998(than)s 7479(co)s 3(v)k 3(er)k 8077(the)s -8438(rest)s 8855(of)s 0 11900(the)m 348(ro)s 6(w)k 15(.)k -480 11526(If)m 700(the)s 1038(parameter)s 2042(of)s 220 fnt2 -2303 11523(@VCo)m 3(v)k 5(er)k 240 fnt1 3299 11526(has)m +8438(rest)s 8855(of)s 0 7047(the)m 348(ro)s 6(w)k 15(.)k +480 6673(If)m 700(the)s 1038(parameter)s 2042(of)s 220 fnt2 +2303 6670(@VCo)m 3(v)k 5(er)k 240 fnt1 3299 6673(has)m 3658(zero)s 4112(v)s 3(ertical)k 4869(size,)s 5337(this)s 5723(is)s 5923(tak)s 2(en)k 6485(to)s 6714(mean)s 7279(that)s 7687(co)s 3(v)k 3(ering)k 8561(is)s -8760(not)s 0 11238(required)m 863(after)s 1368(all)s 1670(and)s -2083(the)s 220 fnt2 2441 11235(@VCo)m 3(v)k 5(er)k -240 fnt1 3456 11238(is)m 3675(silently)s 4441(ignored.)s 5345(If)s +8760(not)s 0 6385(required)m 863(after)s 1368(all)s 1670(and)s +2083(the)s 220 fnt2 2441 6382(@VCo)m 3(v)k 5(er)k +240 fnt1 3456 6385(is)m 3675(silently)s 4441(ignored.)s 5345(If)s 5585(ho)s 6(we)k 6(v)k 3(er)k 6463(the)s -6820(parameter)s 7843(has)s 8223(non-zero)s 0 10950(size)m 434(abo)s 3(v)k 3(e)k +6820(parameter)s 7843(has)s 8223(non-zero)s 0 6097(size)m 434(abo)s 3(v)k 3(e)k 1064(the)s 1420(mark)s 1980(b)s 4(ut)k 2350(zero)s 2822(size)s 3256(belo)s 6(w)k 15(,)k 3935(or)s 4202(vice)s 4664(v)s 3(ersa,)k 5280(this)s 5684(is)s 5901(tak)s 2(en)k 6482(to)s 6729(be)s 7019(an)s -7310(error)s 7841(since)s 8396(scaling)s 0 10662(cannot)m 698(mak)s 2(e)k +7310(error)s 7841(since)s 8396(scaling)s 0 5809(cannot)m 698(mak)s 2(e)k 1270(the)s 1618(parameter)s 2632(co)s 3(v)k 3(er)k 3217(the)s 3565(rest)s 3969(of)s 4240(the)s 4588(ro)s 6(w)k 15(.)k -220 fnt2 480 10285(@HCo)m 3(v)k 5(er)k 240 fnt1 -1505 10288(is)m 1722(similar)s 9(,)k 2489(horizontally)s 3705(co)s 3(v)k 3(ering)k +220 fnt2 480 5432(@HCo)m 3(v)k 5(er)k 240 fnt1 +1505 5435(is)m 1722(similar)s 9(,)k 2489(horizontally)s 3705(co)s 3(v)k 3(ering)k 4596(all)s 4896(objects)s 5631(that)s 6056(share)s 6623(its)s -6906(column)s 7688(mark.)s 8350(Neither)s 0 10000(symbol)m 753(w)s 2(orks)k +6906(column)s 7688(mark.)s 8350(Neither)s 0 5147(symbol)m 753(w)s 2(orks)k 1379(well)s 1837(near)s 2300(g)s 1(alle)k 3(y)k 2926(tar)s 4(gets,)k 3658(because)s 4463(the)s 4803(scale)s 5328(f)s 2(actor)k 5934(to)s 6166(apply)s 6744(is)s -6946(determined)s 8071(before)s 8729(an)s 3(y)k 0 9712(g)m 1(alle)k 3(y)k +6946(determined)s 8071(before)s 8729(an)s 3(y)k 0 4859(g)m 1(alle)k 3(y)k 634(\210ushing)s 1459(tak)s 2(es)k 1999(place.)s 240 fnt5 -0 8919(3.21.)m 591(@StartHSpan,@StartVSpan,)s 3642(@StartHVSpan,)s 5374(@HSpan,)s 6416(and)s +0 4066(3.21.)m 591(@StartHSpan,@StartVSpan,)s 3642(@StartHVSpan,)s 5374(@HSpan,)s 6416(and)s 6857(@VSpan)s [ /Dest /LOUThspan /DEST pdfmark -[ /Dest /LOUT19_4262_pre_span_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_span_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_span_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_span_2 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_span_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_span_3 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_span_4 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_span_4 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_span_5 /DEST pdfmark -240 fnt1 556 8442(These)m 1199(symbols)s 2065(w)s 2(ork)k +[ /Dest /LOUT19_4263_pre_span_5 /DEST pdfmark +240 fnt1 556 3589(These)m 1199(symbols)s 2065(w)s 2(ork)k 2632(together)s 3492(to)s 3747(produce)s 4591(spanning)s 5525(columns)s 6403(and)s 6824(ro)s 6(ws)k 7350(in)s 7610(a)s -7792(more)s 8356(\210e)s 3(xible)k 0 8154(w)m 2(ay)k +7792(more)s 8356(\210e)s 3(xible)k 0 3301(w)m 2(ay)k 451(than)s 920(is)s 1130(possible)s 1970(in)s 2213(practice)s -3024(with)s 220 fnt2 3506 8151(//)m 240 fnt1 3691 8154(and)m -220 fnt2 4095 8151(||)m 240 fnt1 4189 8154(.)m 4353(An)s -4703(object)s 220 fnt2 480 7653(@Star)m -8(tHSpan object)k 240 fnt1 -0 7156(causes)m 220 fnt2 682 7153(object)m 240 fnt1 1330 7156(to)m +3024(with)s 220 fnt2 3506 3298(//)m 240 fnt1 3691 3301(and)m +220 fnt2 4095 3298(||)m 240 fnt1 4189 3301(.)m 4353(An)s +4703(object)s 220 fnt2 480 2800(@Star)m -8(tHSpan object)k 240 fnt1 +0 2303(causes)m 220 fnt2 682 2300(object)m 240 fnt1 1330 2303(to)m 1577(be)s 1866(printed,)s 2658(b)s 4(ut)k 3027(occup)s 2(ying)k 4084(all)s 4384(the)s 4740(horizontal)s 5771(space)s 6366(to)s 6612(the)s 6968(right)s 7486(on)s 7791(the)s 8146(ro)s 6(w)k -8574(mark)s 0 6868(on)m 289(which)s 922(it)s 1105(lies)s +8574(mark)s 0 2015(on)m 289(which)s 922(it)s 1105(lies)s 1478(up)s 1762(to)s 1992(and)s 2387(including)s 3335(the)s -3675(rightmost)s 220 fnt2 4642 6865(@HSpan)m 240 fnt1 5572 6868(symbol)m +3675(rightmost)s 220 fnt2 4642 2012(@HSpan)m 240 fnt1 5572 2015(symbol)m 6323(on)s 6611(that)s 7020(mark)s 7563(not)s 7920(preceded)s -8832(by)s 220 fnt2 0 6577(@Star)m -8(tHVSpan)k 240 fnt1 -1496 6580(,)m 220 fnt2 1603 6577(@Star)m -8(tHSpan)k 240 fnt1 -2953 6580(,)m 220 fnt2 3059 6577(@Star)m -8(tVSpan)k 240 fnt1 -4397 6580(,)m 4503(or)s 220 fnt2 4761 6577(@VSpan)m 240 fnt1 -5628 6580(.)m 5791(The)s 6218(column)s 6992(mark)s 7543(of)s -7813(this)s 8208(spanning)s 0 6292(object)m 644(is)s 854(not)s +8832(by)s 220 fnt2 0 1724(@Star)m -8(tHVSpan)k 240 fnt1 +1496 1727(,)m 220 fnt2 1603 1724(@Star)m -8(tHSpan)k 240 fnt1 +2953 1727(,)m 220 fnt2 3059 1724(@Star)m -8(tVSpan)k 240 fnt1 +4397 1727(,)m 4503(or)s 220 fnt2 4761 1724(@VSpan)m 240 fnt1 +5628 1727(.)m 5791(The)s 6218(column)s 6992(mark)s 7543(of)s +7813(this)s 8208(spanning)s 0 1439(object)m 644(is)s 854(not)s 1220(constrained)s 2380(to)s 2619(align)s 3154(with)s 3636(an)s 3(y)k 4033(of)s 4304(the)s 4652(column)s 5427(marks)s 6062(of)s -6333(the)s 6681(columns)s 7543(it)s 7735(spans.)s 480 5918(If)m -739(there)s 1301(is)s 1541(no)s 220 fnt2 1863 5915(@HSpan)m -240 fnt1 2831 5918(symbol)m 3621(an)s 3(ywhere)k 4633(to)s -4901(the)s 5279(right)s 5819(of)s 220 fnt2 6119 5915(@Star)m -8(tHSpan)k -240 fnt1 7469 5918(,)m 7606(then)s 8104(the)s 8482(object)s -0 5630(spans)m 585(only)s 1067(its)s 1345(o)s 6(wn)k +6333(the)s 6681(columns)s 7543(it)s 7735(spans.)s 480 1065(If)m +739(there)s 1301(is)s 1541(no)s 220 fnt2 1863 1062(@HSpan)m +240 fnt1 2831 1065(symbol)m 3621(an)s 3(ywhere)k 4633(to)s +4901(the)s 5279(right)s 5819(of)s 220 fnt2 6119 1062(@Star)m -8(tHSpan)k +240 fnt1 7469 1065(,)m 7606(then)s 8104(the)s 8482(object)s +0 777(spans)m 585(only)s 1067(its)s 1345(o)s 6(wn)k 1811(column.)s 2695(This)s 3173(means)s 3837(that)s 4257(it)s 4451(occupies)s 5341(that)s 5761(column)s 6538(as)s 6790(usual)s 7352(b)s 4(ut)k 7716(its)s 7994(mark)s 8548(is)s -8760(not)s 0 5342(constrained)m 1160(to)s 1399(align)s 1934(with)s +8760(not)s 0 489(constrained)m 1160(to)s 1399(align)s 1934(with)s 2416(those)s 2977(of)s 3248(the)s 3596(other)s 4147(objects)s -4875(in)s 5118(the)s 5466(column.)s 480 4968(Similarly)m 15(,)k -1457(the)s 220 fnt2 1801 4965(@Star)m -8(tVSpan)k 240 fnt1 -3196 4968(symbol)m 3952(causes)s 4624(its)s 4896(object)s 5537(to)s +4875(in)s 5118(the)s 5466(column.)s 480 115(Similarly)m 15(,)k +1457(the)s 220 fnt2 1801 112(@Star)m -8(tVSpan)k 240 fnt1 +3196 115(symbol)m 3952(causes)s 4624(its)s 4896(object)s 5537(to)s 5772(occup)s 2(y)k 6513(all)s 6802(the)s 7147(v)s 3(ertical)k -7910(space)s 8493(belo)s 6(w)k 0 4680(it)m 191(on)s -486(the)s 832(column)s 1605(mark)s 2155(on)s 2451(which)s -3091(it)s 3281(lies,)s 3717(do)s 6(wn)k 4299(to)s -4537(and)s 4939(including)s 5894(the)s 6240(bottommost)s 220 fnt2 -7441 4677(@VSpan)m 240 fnt1 8366 4680(symbol)m 0 4392(on)m 294(that)s -708(mark)s 1256(not)s 1618(preceded)s 2535(by)s 2825(a)s -220 fnt2 2987 4389(@Star)m -8(tHVSpan)k 240 fnt1 4483 4392(,)m -220 fnt2 4586 4389(@Star)m -8(tHSpan)k 240 fnt1 5936 4392(,)m -220 fnt2 6039 4389(@Star)m -8(tVSpan)k 240 fnt1 7377 4392(,)m -7480(or)s 220 fnt2 7735 4389(@HSpan)m 240 fnt1 8614 4392(;)m -8722(and)s 0 4104(if)m 206(there)s 728(is)s 927(no)s -220 fnt2 1209 4101(@VSpan)m 240 fnt1 2125 4104(symbol)m 2874(an)s 3(ywhere)k -3846(belo)s 6(w)k 4468(it)s 4649(on)s 4935(that)s -5342(mark,)s 5929(then)s 6387(the)s 6724(object)s 7357(spans)s -7929(only)s 8398(its)s 8662(o)s 6(wn)k 0 3816(ro)m 6(w)k 15(,)k -458(occup)s 2(ying)k 1507(its)s 1783(ro)s 6(w)k -2203(b)s 4(ut)k 2565(with)s 3047(its)s 3323(mark)s -3875(not)s 4241(constrained)s 5401(to)s 5640(align)s 6175(with)s -6657(the)s 7005(ro)s 6(w)k 7425(mark.)s 480 3442(The)m -220 fnt2 949 3439(@Star)m -8(tHVSpan)k 240 fnt1 2547 3442(symbol)m -3349(combines)s 4359(the)s 4748(ef)s 6(fects)k 5470(of)s -220 fnt2 5783 3439(@Star)m -8(tHSpan)k 240 fnt1 7235 3442(and)m -220 fnt2 7681 3439(@Star)m -8(tVSpan)k 240 fnt1 9019 3442(,)m -0 3154(allo)m 6(wing)k 884(an)s 1167(object)s 1811(to)s -2050(span)s 2546(both)s 3029(columns)s 3891(and)s 4295(ro)s 6(ws)k -4805(simultaneously)s 15(.)k 6402(F)s 3(or)k 6791(e)s 3(xample,)k -7705(in)s 220 fnt2 480 2653(@Star)m -8(tHVSpan x | | @HSpan)k 480 2365(/)m -480 2077(@VSpan | |)m 240 fnt1 0 1581(the)m 378(object)s 220 fnt2 -1052 1578(x)m 240 fnt1 1250 1581(will)m 1706(occup)s 2(y)k -2481(a)s 2677(rectangular)s 3841(area)s 4328(spanning)s 5276(three)s -5840(columns,)s 6788(tw)s 2(o)k 7228(ro)s 6(ws,)k -7824(and)s 8258(the)s 8637(g)s 1(aps)k 0 1293(between)m -854(them.)s 480 919(The)m 908(objects)s 1636(lying)s 2182(in)s -2425(the)s 2774(re)s 3(gion)k 3439(spanned)s 4283(should)s -4980(all)s 5274(be)s 5556(empty)s 15(,)k 6247(or)s -6506(the)s 220 fnt2 6855 916(@HSpan)m 240 fnt1 7794 919(and)m -220 fnt2 8199 916(@VSpan)m 240 fnt1 0 631(symbols)m 865(can)s -1271(be)s 1570(used)s 2084(to)s 2340(document)s 3360(the)s -3725(spanning)s 4660(that)s 5095(is)s 5322(occurring.)s 6418(At)s -6734(present)s 7501(there)s 8051(may)s 8534(be)s 8833(no)s -0 343(g)m 1(alle)k 3(y)k 639(tar)s 4(gets)k -1328(or)s 1593(recursi)s 6(v)k 3(e)k 2521(symbols)s -3376(within)s 4050(the)s 4404(right)s 4921(parameter)s 5941(of)s -220 fnt2 6218 340(@Star)m -8(tHSpan)k 240 fnt1 7568 343(,)m -220 fnt2 7681 340(@Star)m -8(tVSpan)k 240 fnt1 9019 343(,)m -0 55(or)m 220 fnt2 246 52(@Star)m -8(tHVSpan)k 240 fnt1 -1742 55(.)m 1892(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -2838(the)s 3172(right)s 3670(parameter)s 4670(may)s 5122(otherwise)s -6093(be)s 6362(an)s 6631(arbitrary)s 7492(object,)s 8169(including)s - +7910(space)s 8493(belo)s 6(w)k grestore gsave 1417 -15423 translate @@ -13695,101 +13708,121 @@ gsave gsave 0 LoutMargSet grestore -0 13205(paragraphs)m 1100(of)s 1371(te)s 3(xt)k -1786(that)s 2204(require)s 2936(breaking.)s 480 12831(If)m 722(the)s -1082(right)s 1605(parameter)s 2631(of)s 220 fnt2 2914 12828(@Star)m -8(tHSpan)k -240 fnt1 4264 12831(,)m 220 fnt2 4383 12828(@Star)m -8(tVSpan)k -240 fnt1 5721 12831(,)m 5840(or)s 220 fnt2 6111 12828(@Star)m -8(tHVSpan)k -240 fnt1 7679 12831(occupies)m 8579(more)s 0 12543(horizontal)m 1022(or)s +0 13205(it)m 191(on)s 486(the)s +832(column)s 1605(mark)s 2155(on)s 2451(which)s 3091(it)s +3281(lies,)s 3717(do)s 6(wn)k 4299(to)s 4537(and)s +4939(including)s 5894(the)s 6240(bottommost)s 220 fnt2 7441 13202(@VSpan)m +240 fnt1 8366 13205(symbol)m 0 12917(on)m 294(that)s 708(mark)s +1256(not)s 1618(preceded)s 2535(by)s 2825(a)s 220 fnt2 +2987 12914(@Star)m -8(tHVSpan)k 240 fnt1 4483 12917(,)m 220 fnt2 +4586 12914(@Star)m -8(tHSpan)k 240 fnt1 5936 12917(,)m 220 fnt2 +6039 12914(@Star)m -8(tVSpan)k 240 fnt1 7377 12917(,)m 7480(or)s +220 fnt2 7735 12914(@HSpan)m 240 fnt1 8614 12917(;)m 8722(and)s +0 12629(if)m 206(there)s 728(is)s 927(no)s 220 fnt2 +1209 12626(@VSpan)m 240 fnt1 2125 12629(symbol)m 2874(an)s 3(ywhere)k +3846(belo)s 6(w)k 4468(it)s 4649(on)s 4935(that)s +5342(mark,)s 5929(then)s 6387(the)s 6724(object)s 7357(spans)s +7929(only)s 8398(its)s 8662(o)s 6(wn)k 0 12341(ro)m 6(w)k 15(,)k +458(occup)s 2(ying)k 1507(its)s 1783(ro)s 6(w)k +2203(b)s 4(ut)k 2565(with)s 3047(its)s 3323(mark)s +3875(not)s 4241(constrained)s 5401(to)s 5640(align)s 6175(with)s +6657(the)s 7005(ro)s 6(w)k 7425(mark.)s 480 11967(The)m +220 fnt2 949 11964(@Star)m -8(tHVSpan)k 240 fnt1 2547 11967(symbol)m +3349(combines)s 4359(the)s 4748(ef)s 6(fects)k 5470(of)s +220 fnt2 5783 11964(@Star)m -8(tHSpan)k 240 fnt1 7235 11967(and)m +220 fnt2 7681 11964(@Star)m -8(tVSpan)k 240 fnt1 9019 11967(,)m +0 11679(allo)m 6(wing)k 884(an)s 1167(object)s 1811(to)s +2050(span)s 2546(both)s 3029(columns)s 3891(and)s 4295(ro)s 6(ws)k +4805(simultaneously)s 15(.)k 6402(F)s 3(or)k 6791(e)s 3(xample,)k +7705(in)s 220 fnt2 480 11178(@Star)m -8(tHVSpan x | | @HSpan)k 480 10890(/)m +480 10602(@VSpan | |)m 240 fnt1 0 10106(the)m 378(object)s 220 fnt2 +1052 10103(x)m 240 fnt1 1250 10106(will)m 1706(occup)s 2(y)k +2481(a)s 2677(rectangular)s 3841(area)s 4328(spanning)s 5276(three)s +5840(columns,)s 6788(tw)s 2(o)k 7228(ro)s 6(ws,)k +7824(and)s 8258(the)s 8637(g)s 1(aps)k 0 9818(between)m +854(them.)s 480 9444(The)m 908(objects)s 1636(lying)s 2182(in)s +2425(the)s 2774(re)s 3(gion)k 3439(spanned)s 4283(should)s +4980(all)s 5274(be)s 5556(empty)s 15(,)k 6247(or)s +6506(the)s 220 fnt2 6855 9441(@HSpan)m 240 fnt1 7794 9444(and)m +220 fnt2 8199 9441(@VSpan)m 240 fnt1 0 9156(symbols)m 865(can)s +1271(be)s 1570(used)s 2084(to)s 2340(document)s 3360(the)s +3725(spanning)s 4660(that)s 5095(is)s 5322(occurring.)s 6418(At)s +6734(present)s 7501(there)s 8051(may)s 8534(be)s 8833(no)s +0 8868(g)m 1(alle)k 3(y)k 639(tar)s 4(gets)k +1328(or)s 1593(recursi)s 6(v)k 3(e)k 2521(symbols)s +3376(within)s 4050(the)s 4404(right)s 4921(parameter)s 5941(of)s +220 fnt2 6218 8865(@Star)m -8(tHSpan)k 240 fnt1 7568 8868(,)m +220 fnt2 7681 8865(@Star)m -8(tVSpan)k 240 fnt1 9019 8868(,)m +0 8580(or)m 220 fnt2 246 8577(@Star)m -8(tHVSpan)k 240 fnt1 +1742 8580(.)m 1892(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +2838(the)s 3172(right)s 3670(parameter)s 4670(may)s 5122(otherwise)s +6093(be)s 6362(an)s 6631(arbitrary)s 7492(object,)s 8169(including)s +0 8292(paragraphs)m 1100(of)s 1371(te)s 3(xt)k 1786(that)s +2204(require)s 2936(breaking.)s 480 7918(If)m 722(the)s 1082(right)s +1605(parameter)s 2631(of)s 220 fnt2 2914 7915(@Star)m -8(tHSpan)k +240 fnt1 4264 7918(,)m 220 fnt2 4383 7915(@Star)m -8(tVSpan)k +240 fnt1 5721 7918(,)m 5840(or)s 220 fnt2 6111 7915(@Star)m -8(tHVSpan)k +240 fnt1 7679 7918(occupies)m 8579(more)s 0 7630(horizontal)m 1022(or)s 1279(v)s 3(ertical)k 2044(space)s 2629(than)s 3095(all)s 3386(of)s 3655(the)s 4001(spanned)s 4842(columns)s 5701(or)s 5958(ro)s 6(ws)k 6466(combined)s 7466(require,)s 8247(the)s -8592(e)s 3(xtra)k 0 12255(space)m 601(goes)s 1106(into)s +8592(e)s 3(xtra)k 0 7342(space)m 601(goes)s 1106(into)s 1546(the)s 1908(last)s 2314(spanned)s 3172(column)s 3962(or)s 4235(ro)s 6(w)k 15(.)k 4765(Ov)s 3(erlapping)k 6026(spanning)s 6958(ro)s 6(ws)k 7483(and)s 7902(columns)s -8779(are)s 0 11967(permitted.)m 1081(Gaps)s 1626(spanned)s 2471(by)s +8779(are)s 0 7054(permitted.)m 1081(Gaps)s 1626(spanned)s 2471(by)s 2767(span)s 3266(objects)s 3996(are)s 4345(unbreakable)s 5572(\(their)s -220 fnt2 6151 11964(u)m 240 fnt1 6321 11967(indicator)m 7232(is)s -7444(set)s 7772(automatically)s 0 11679(and)m 404(cannot)s 1102(be)s +220 fnt2 6151 7051(u)m 240 fnt1 6321 7054(indicator)m 7232(is)s +7444(set)s 7772(automatically)s 0 6766(and)m 404(cannot)s 1102(be)s 1384(re)s 6(v)k 4(ok)k 2(ed\).)k 240 fnt5 -0 10896(3.22.)m 591(@Scale)s +0 5983(3.22.)m 591(@Scale)s [ /Dest /LOUTscale /DEST pdfmark -[ /Dest /LOUT19_4262_pre_scal_1 /DEST pdfmark -240 fnt1 588 10464(This)m 1112(symbol)s +[ /Dest /LOUT19_4263_pre_scal_1 /DEST pdfmark +240 fnt1 588 5551(This)m 1112(symbol)s 1920(geometrically)s 3335(scales)s 4004(its)s 4328(right)s 4887(parameter)s 5949(by)s 6291(the)s 6687(scale)s 7268(f)s 2(actor)k 7930(gi)s 6(v)k 3(en)k 8558(in)s 8850(its)s -0 10176(left)m 377(parameter:)s 220 fnt2 480 9675(1.0 @Scale Hello 2.0 @Scale Hello 0.5 @Scale Hello)m 240 fnt1 -0 9220(has)m 370(result)s gsave -480 8712 translate +0 5263(left)m 377(parameter:)s 220 fnt2 480 4762(1.0 @Scale Hello 2.0 @Scale Hello 0.5 @Scale Hello)m 240 fnt1 +0 4307(has)m 370(result)s gsave +480 3799 translate 1.0000 1.0000 scale 0 -54(Hello)m grestore gsave -1124 8712 translate +1124 3799 translate 2.0000 2.0000 scale 0 -54(Hello)m grestore gsave -2292 8712 translate +2292 3799 translate 0.5000 0.5000 scale 0 -54(Hello)m grestore -0 8149(The)m 433(left)s 815(parameter)s 1834(can)s 2228(be)s +0 3236(The)m 433(left)s 815(parameter)s 1834(can)s 2228(be)s 2515(tw)s 2(o)k 2930(scale)s 3468(f)s 2(actors,)k 4227(in)s 4475(which)s 5122(case)s 5594(the)s 5947(\207rst)s 6383(applies)s 7116(horizontally)s 15(,)k 8368(and)s 8778(the)s -0 7861(second)m 723(v)s 3(ertically:)k 220 fnt2 480 7360({0.5 2.0} @Scale Hello)m -240 fnt1 0 6866(has)m 370(result)s gsave -480 6358 translate +0 2948(second)m 723(v)s 3(ertically:)k 220 fnt2 480 2447({0.5 2.0} @Scale Hello)m +240 fnt1 0 1953(has)m 370(result)s gsave +480 1445 translate 0.5000 2.0000 scale 0 -54(Hello)m grestore -0 5795(The)m +0 882(The)m 433(left)s 815(parameter)s 1834(may)s 2305(be)s 2592(empty)s 15(,)k 3287(in)s 3535(which)s 4182(case)s 4654(Lout)s 5171(will)s 5602(scale)s 6140(the)s 6493(object)s 7142(by)s 7441(a)s -7612(common)s 8512(f)s 2(actor)k 0 5507(horizontally)m 1209(and)s +7612(common)s 8512(f)s 2(actor)k 0 594(horizontally)m 1209(and)s 1613(v)s 3(ertically)k 2565(so)s 2831(as)s 3081(to)s 3320(occup)s 2(y)k 4064(all)s 4357(a)s 4(v)k 6(ailable)k -5265(horizontal)s 6289(space:)s 220 fnt2 480 5006({} @Scale { Hello w)m 2(or)k -3(ld })k -240 fnt1 0 4512(has)m 370(result)s gsave -0 3355 translate -7.9609 7.9609 scale -0 -54(Hello)m 583(w)s 2(orld)k - -grestore -0 2451(The)m 433(right)s 949(parameter)s 1969(may)s 2440(be)s -2728(an)s 3(y)k 3130(object.)s 220 fnt2 3884 2448(@Scale)m -240 fnt1 4712 2451(has)m 5088(both)s 5576(a)s 220 fnt2 -5748 2448(@OneCol)m 240 fnt1 6765 2451(and)m 7175(a)s 220 fnt2 -7346 2448(@OneRo)m 3(w)k 240 fnt1 8483 2451(ef)m 6(fect,)k -0 2163(and)m 404(the)s 752(marks)s 1387(of)s 1658(the)s -2006(result)s 2596(coincide)s 3462(with)s 3944(the)s 4292(principal)s -5196(marks)s 5831(of)s 6102(the)s 6450(right)s 6961(parameter)s 13(.)k -240 fnt5 0 1370(3.23.)m 591(@Rotate)s -[ /Dest /LOUTrotate /DEST pdfmark +5265(horizontal)s 6289(space:)s 220 fnt2 480 93({} @Scale { Hello w)m 2(or)k -3(ld })k -[ /Dest /LOUT19_4262_pre_rota_1 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_rota_2 /DEST pdfmark -240 fnt1 542 938(The)m -220 fnt2 973 935(@Rotate)m 240 fnt1 1897 938(symbol)m 2660(will)s -3089(rotate)s 3691(its)s 3970(right)s 4484(parameter)s 5501(counterclockwise)s -7233(an)s 7519(amount)s 8300(gi)s 6(v)k 3(en)k -8883(in)s 0 650(de)m 3(grees)k 778(\(positi)s 6(v)k 3(e)k -1661(or)s 1920(ne)s 3(g)k 1(ati)k 6(v)k 3(e\))k -2845(by)s 3139(its)s 3415(left)s 3792(parameter)s 13(.)k -4897(F)s 3(or)k 5286(e)s 3(xample,)k 220 fnt2 -480 149(30d @Rotate { hello)m 8(, w)k 2(or)k -3(ld })k grestore gsave 1417 -15423 translate -240 fnt1 -0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore @@ -13836,27 +13869,56 @@ grestore gsave 0 16840 translate 0.0000 rotate -240 fnt6 1417 -1578(3.23.)m -1991(@Rotate)s 240 fnt5 10248 -1581(57)m gsave +240 fnt6 1417 -1580(3.22.)m +1991(@Scale)s 240 fnt5 10248 -1583(57)m gsave 1417 -15423 translate -240 fnt1 9066 13415 0 13415 240 288 60 LoutGraphic +240 fnt1 9066 13413 0 13413 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -0 13252(has)m +0 13250(has)m 370(result)s gsave -534 12299 translate +0 12093 translate +7.9609 7.9609 scale +0 -54(Hello)m 583(w)s 2(orld)k +grestore +0 11189(The)m +433(right)s 949(parameter)s 1969(may)s 2440(be)s 2728(an)s 3(y)k +3130(object.)s 220 fnt2 3884 11186(@Scale)m 240 fnt1 4712 11189(has)m +5088(both)s 5576(a)s 220 fnt2 5748 11186(@OneCol)m 240 fnt1 +6765 11189(and)m 7175(a)s 220 fnt2 7346 11186(@OneRo)m 3(w)k +240 fnt1 8483 11189(ef)m 6(fect,)k 0 10901(and)m 404(the)s +752(marks)s 1387(of)s 1658(the)s 2006(result)s 2596(coincide)s +3462(with)s 3944(the)s 4292(principal)s 5196(marks)s 5831(of)s +6102(the)s 6450(right)s 6961(parameter)s 13(.)k 240 fnt5 +0 10108(3.23.)m 591(@Rotate)s +[ /Dest /LOUTrotate /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_rota_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_rota_2 /DEST pdfmark +240 fnt1 542 9676(The)m 220 fnt2 +973 9673(@Rotate)m 240 fnt1 1897 9676(symbol)m 2660(will)s 3089(rotate)s +3691(its)s 3970(right)s 4484(parameter)s 5501(counterclockwise)s 7233(an)s +7519(amount)s 8300(gi)s 6(v)k 3(en)k 8883(in)s +0 9388(de)m 3(grees)k 778(\(positi)s 6(v)k 3(e)k +1661(or)s 1920(ne)s 3(g)k 1(ati)k 6(v)k 3(e\))k +2845(by)s 3139(its)s 3415(left)s 3792(parameter)s 13(.)k +4897(F)s 3(or)k 5286(e)s 3(xample,)k 220 fnt2 +480 8887(30d @Rotate { hello)m 8(, w)k 2(or)k -3(ld })k 240 fnt1 +0 8393(has)m 370(result)s gsave +534 7440 translate 30.0000 rotate -0 -54(hello,)m 583(w)s 2(orld)k +0 -54(hello,)m 583(w)s 2(orld)k + grestore -0 11773(Before)m -710(rotating)s 1511(the)s 1863(object,)s 220 fnt2 2559 11770(@OneCol)m -240 fnt1 3576 11773(and)m 220 fnt2 3984 11770(@OneRo)m 3(w)k -240 fnt1 5120 11773(are)m 5471(applied)s 6238(to)s 6482(it.)s +0 6914(Before)m 710(rotating)s 1511(the)s 1863(object,)s 220 fnt2 +2559 6911(@OneCol)m 240 fnt1 3576 6914(and)m 220 fnt2 3984 6911(@OneRo)m 3(w)k +240 fnt1 5120 6914(are)m 5471(applied)s 6238(to)s 6482(it.)s 6782(The)s 7215(result)s 7809(is)s 8024(a)s 8195(rectangle)s -0 11485(whose)m 668(marks)s 1303(pass)s 1766(through)s 2568(the)s +0 6626(whose)m 668(marks)s 1303(pass)s 1766(through)s 2568(the)s 2916(point)s 3468(where)s 4108(the)s 4456(original)s 5254(marks)s -5889(crossed:)s 1587 283 340 113 240 288 60 480 10262 LoutGr2 +5889(crossed:)s 1587 283 340 113 240 288 60 480 5403 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 1587 283 340 113 240 288 60 0 0 LoutGr2 @@ -13880,8 +13942,8 @@ grestore grestore end end restore grestore -240 fnt4 2547 10315(\336)m gsave -3256 10108 translate +240 fnt4 2547 5456(\336)m gsave +3256 5249 translate 240 fnt1 1515 1037 379 267 240 288 60 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin @@ -13937,78 +13999,40 @@ grestore end end restore grestore 240 fnt1 -0 9657(As)m 324(this)s 728(e)s 3(xample)k 1598(sho)s 6(ws,)k +0 4798(As)m 324(this)s 728(e)s 3(xample)k 1598(sho)s 6(ws,)k 2306(rotation)s 3113(by)s 3415(an)s 3705(angle)s 4287(other)s 4845(than)s 5322(a)s 5495(multiple)s 6355(of)s 6633(ninety)s -7293(de)s 3(grees)k 8079(introduces)s 0 9369(quite)m 534(a)s +7293(de)s 3(grees)k 8079(introduces)s 0 4510(quite)m 534(a)s 700(lot)s 1012(of)s 1283(white)s 1870(space.)s 2565(So,)s 2925(for)s 3263(e)s 3(xample,)k 4177(the)s 4525(result)s -5115(of)s 220 fnt2 480 8861(-30d)m 968(@Rotate)s 1890(30d)s -2305(@Rotate)s 240 fnt6 3286 8866(object)m 240 fnt1 0 8363(is)m +5115(of)s 220 fnt2 480 4002(-30d)m 968(@Rotate)s 1890(30d)s +2305(@Rotate)s 240 fnt6 3286 4007(object)m 240 fnt1 0 3504(is)m 210(a)s 376(much)s 965(lar)s 4(ger)k 1577(object)s -2221(than)s 240 fnt6 2690 8365(object)m 240 fnt1 3278 8363(,)m +2221(than)s 240 fnt6 2690 3506(object)m 240 fnt1 3278 3504(,)m 3385(despite)s 4118(the)s 4466(f)s 2(act)k 4881(that)s 5299(one)s 5701(rotation)s 6501(cancels)s 7255(the)s 7603(other)s 13(.)k -480 7989(Rotation)m 1362(of)s 1634(objects)s 2363(containing)s 3427(recepti)s 6(v)k 3(e)k +480 3130(Rotation)m 1362(of)s 1634(objects)s 2363(containing)s 3427(recepti)s 6(v)k 3(e)k 4350(and)s 4755(recursi)s 6(v)k 3(e)k 5678(symbols)s 6528(is)s 6739(permitted,)s 7762(b)s 4(ut)k 8125(for)s -8464(angles)s 0 7701(other)m 553(than)s 1024(multiples)s 1967(of)s +8464(angles)s 0 2842(other)m 553(than)s 1024(multiples)s 1967(of)s 2240(ninety)s 2894(de)s 3(grees)k 3675(it)s 3869(is)s 4082(best)s 4529(to)s 4770(mak)s 2(e)k 5345(the)s 5695(size)s 6125(of)s 6398(the)s 6748(rotated)s 7472(object)s -8118(clear)s 8644(with)s 220 fnt2 0 7410(@Wide)m 240 fnt1 -774 7413(and)m 220 fnt2 1178 7410(@High)m 240 fnt1 1897 7413(symbols:)m -220 fnt2 480 6912(30d @Rotate 5i @Wide 4i @High)m 480 6624({ //1i @T)m 26(e)k 6(xtPlace)k -480 6336( //1i)m 480 6048(})m 240 fnt1 0 5554(This)m 532(is)s +8118(clear)s 8644(with)s 220 fnt2 0 2551(@Wide)m 240 fnt1 +774 2554(and)m 220 fnt2 1178 2551(@High)m 240 fnt1 1897 2554(symbols:)m +220 fnt2 480 2053(30d @Rotate 5i @Wide 4i @High)m 480 1765({ //1i @T)m 26(e)k 6(xtPlace)k +480 1477( //1i)m 480 1189(})m 240 fnt1 0 695(This)m 532(is)s 798(because)s 1667(for)s 2061(angles)s 2779(other)s 3386(than)s 3911(multiples)s 4907(of)s 5234(ninety)s 5942(de)s 3(grees)k 6776(the)s 7180(space)s 7823(a)s 4(v)k 6(ailable)k -8788(for)s 220 fnt2 0 5263(@T)m 26(e)k 6(xtPlace)k -240 fnt1 1218 5266(to)m 1457(occup)s 2(y)k 2201(is)s +8788(for)s 220 fnt2 0 404(@T)m 26(e)k 6(xtPlace)k +240 fnt1 1218 407(to)m 1457(occup)s 2(y)k 2201(is)s 2411(indeterminate,)s 3831(and)s 4235(the)s 4583(result)s 5173(is)s -5383(poor)s 13(.)k 240 fnt5 0 4473(3.24.)m 591(@Backgr)s 4(ound)k - -[ /Dest /LOUTbackground /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_back_1 /DEST pdfmark -240 fnt1 577 3996(The)m 220 fnt2 1042 3993(@Bac)m 4(kg)k 2(round)k -240 fnt1 2515 3996(symbol)m 3312(will)s 3775(print)s 4323(its)s -4637(left)s 5051(parameter)s 6102(in)s 6382(the)s 6767(background)s -7993(of)s 8301(its)s 8615(right)s 0 3708(parameter)m 13(.)k -1115(That)s 1624(is,)s 1901(the)s 2260(result)s 2860(has)s -3241(the)s 3600(size)s 4038(of)s 4319(the)s 4678(right)s -5200(parameter)s 9(,)k 6263(b)s 4(ut)k 6635(the)s -6994(left)s 7382(parameter)s 8407(will)s 8844(be)s 0 3420(printed)m -735(\207rst)s 1166(in)s 1409(the)s 1757(same)s 2304(space,)s -2942(with)s 3424(its)s 3700(marks)s 4335(aligned)s 5097(with)s -5579(the)s 5927(marks)s 6562(of)s 6833(the)s 7181(right)s -7692(parameter)s 13(.)k 240 fnt5 0 2627(3.25.)m 591(@K)s 6(er)k 3(nShrink)k - -[ /Dest /LOUTkernshrink /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_kshr_1 /DEST pdfmark -240 fnt1 541 2195(This)m 1018(symbol)s 1779(returns)s 2495(its)s -2772(right)s 3284(parameter)s 4300(unchanged)s 5397(in)s 5641(appearance)s -6774(b)s 4(ut)k 7137(occup)s 2(ying)k 8187(a)s -8355(slightly)s 0 1907(smaller)m 770(bounding)s 1737(box.)s 2269(The)s -2705(reduction)s 3673(is)s 3891(by)s 4193(the)s 4549(amount)s -5335(of)s 5614(k)s 2(erning)k 6404(that)s 6830(w)s 2(ould)k -7493(be)s 7783(applied)s 8553(if)s 8778(the)s 0 1619(right)m -511(parameter)s 1525(w)s 2(as)k 1946(immediately)s 240 fnt6 -3194 1621(followed)m 240 fnt1 4084 1619(by)m 4378(the)s 4726(left)s -5103(parameter)s 13(.)k 6208(F)s 3(or)k 6597(e)s 3(xample,)k -220 fnt2 480 1118(.)m 13( @K)k 8(er)k -5(nShr)k -3(ink P)k -240 fnt1 0 663(has)m 370(result)s 104 158 0 54 240 288 60 480 215 LoutGr2 -LoutBox stroke -grestore -0 0(P)m -grestore - +5383(poor)s 13(.)k grestore gsave 1417 -15423 translate -240 fnt1 -0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore @@ -14060,116 +14084,120 @@ gsave gsave 0 LoutMargSet grestore -0 13205(where)m 649(a)s 824(box)s -1249(of)s 1529(size)s 1965(0)s 2150(has)s 2529(been)s -3048(dra)s 3(wn)k 3709(around)s 4441(the)s 4799(result)s -5398(to)s 5647(mak)s 2(e)k 6228(its)s 6513(e)s 3(xtent)k -7164(clear)s 13(.)k 7787(Compare)s 8730(this)s 0 12917(with)m -482(`P')s 806(alone:)s 130 158 0 54 240 288 60 480 12468 LoutGr2 +240 fnt5 0 13203(3.24.)m 591(@Backgr)s 4(ound)k + +[ /Dest /LOUTbackground /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_back_1 /DEST pdfmark +240 fnt1 577 12726(The)m 220 fnt2 1042 12723(@Bac)m 4(kg)k 2(round)k +240 fnt1 2515 12726(symbol)m 3312(will)s 3775(print)s 4323(its)s +4637(left)s 5051(parameter)s 6102(in)s 6382(the)s 6767(background)s +7993(of)s 8301(its)s 8615(right)s 0 12438(parameter)m 13(.)k +1115(That)s 1624(is,)s 1901(the)s 2260(result)s 2860(has)s +3241(the)s 3600(size)s 4038(of)s 4319(the)s 4678(right)s +5200(parameter)s 9(,)k 6263(b)s 4(ut)k 6635(the)s +6994(left)s 7382(parameter)s 8407(will)s 8844(be)s 0 12150(printed)m +735(\207rst)s 1166(in)s 1409(the)s 1757(same)s 2304(space,)s +2942(with)s 3424(its)s 3700(marks)s 4335(aligned)s 5097(with)s +5579(the)s 5927(marks)s 6562(of)s 6833(the)s 7181(right)s +7692(parameter)s 13(.)k 240 fnt5 0 11357(3.25.)m 591(@K)s 6(er)k 3(nShrink)k + +[ /Dest /LOUTkernshrink /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_kshr_1 /DEST pdfmark +240 fnt1 541 10925(This)m 1018(symbol)s 1779(returns)s 2495(its)s +2772(right)s 3284(parameter)s 4300(unchanged)s 5397(in)s 5641(appearance)s +6774(b)s 4(ut)k 7137(occup)s 2(ying)k 8187(a)s +8355(slightly)s 0 10637(smaller)m 770(bounding)s 1737(box.)s 2269(The)s +2705(reduction)s 3673(is)s 3891(by)s 4193(the)s 4549(amount)s +5335(of)s 5614(k)s 2(erning)k 6404(that)s 6830(w)s 2(ould)k +7493(be)s 7783(applied)s 8553(if)s 8778(the)s 0 10349(right)m +511(parameter)s 1525(w)s 2(as)k 1946(immediately)s 240 fnt6 +3194 10351(followed)m 240 fnt1 4084 10349(by)m 4378(the)s 4726(left)s +5103(parameter)s 13(.)k 6208(F)s 3(or)k 6597(e)s 3(xample,)k +220 fnt2 480 9848(.)m 13( @K)k 8(er)k -5(nShr)k -3(ink P)k +240 fnt1 0 9393(has)m 370(result)s 104 158 0 54 240 288 60 480 8945 LoutGr2 +LoutBox stroke +grestore +0 0(P)m +grestore +0 8494(where)m +649(a)s 824(box)s 1249(of)s 1529(size)s 1965(0)s +2150(has)s 2529(been)s 3048(dra)s 3(wn)k 3709(around)s +4441(the)s 4799(result)s 5398(to)s 5647(mak)s 2(e)k +6228(its)s 6513(e)s 3(xtent)k 7164(clear)s 13(.)k +7787(Compare)s 8730(this)s 0 8206(with)m 482(`P')s 806(alone:)s +130 158 0 54 240 288 60 480 7757 LoutGr2 LoutBox stroke grestore 0 0(P)m grestore -0 12017(in)m 243(which)s -885(the)s 1232(bounding)s 2191(box)s 2605(e)s 3(xactly)k -3346(encloses)s 4206(the)s 4554(object,)s 5245(or)s 5503(at)s -5735(least)s 6231(is)s 6441(supposed)s 7390(to.)s 7740(The)s -8167(bounding)s 0 11729(box)m 415(is)s 625(smaller)s 1387(on)s -1684(the)s 2032(right)s 2543(by)s 2837(the)s 3185(amount)s -3963(of)s 4234(k)s 2(erning)k 5016(that)s 5434(w)s 2(ould)k -6089(be)s 6371(applied)s 7133(between)s 7987(`P')s 8311(and)s -8715(`.)s 16('.)k 480 11355(The)m 916(only)s 1405(kno)s 6(wn)k -2117(use)s 2501(for)s 2847(this)s 3252(symbol)s 4020(is)s -4239(to)s 4486(produce)s 5322(tuck)s 2(ed-in)k 6288(subscripts)s -7304(in)s 7555(the)s 7912(Eq)s 8245(equation)s 0 11067(formatting)m -1061(package.)s 240 fnt5 0 10274(3.26.)m 591(@Common,)s 1872(@Rump,)s -2847(and)s 3288(@Meld)s +0 7306(in)m 243(which)s 885(the)s 1232(bounding)s +2191(box)s 2605(e)s 3(xactly)k 3346(encloses)s 4206(the)s +4554(object,)s 5245(or)s 5503(at)s 5735(least)s 6231(is)s +6441(supposed)s 7390(to.)s 7740(The)s 8167(bounding)s 0 7018(box)m +415(is)s 625(smaller)s 1387(on)s 1684(the)s 2032(right)s +2543(by)s 2837(the)s 3185(amount)s 3963(of)s 4234(k)s 2(erning)k +5016(that)s 5434(w)s 2(ould)k 6089(be)s 6371(applied)s +7133(between)s 7987(`P')s 8311(and)s 8715(`.)s 16('.)k +480 6644(The)m 916(only)s 1405(kno)s 6(wn)k 2117(use)s +2501(for)s 2847(this)s 3252(symbol)s 4020(is)s 4239(to)s +4486(produce)s 5322(tuck)s 2(ed-in)k 6288(subscripts)s 7304(in)s +7555(the)s 7912(Eq)s 8245(equation)s 0 6356(formatting)m 1061(package.)s +240 fnt5 0 5563(3.26.)m 591(@Common,)s 1872(@Rump,)s 2847(and)s +3288(@Meld)s [ /Dest /LOUTrump /DEST pdfmark -[ /Dest /LOUT19_4262_pre_rump_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_rump_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_rump_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_rump_2 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_rump_3 /DEST pdfmark -240 fnt1 540 9797(The)m 220 fnt2 -968 9794(@Common)m 240 fnt1 2127 9797(and)m 220 fnt2 2531 9794(@Rump)m -240 fnt1 3391 9797(symbols)m 4240(compare)s 5119(tw)s 2(o)k -5529(paragraph)s 6542(objects:)s 220 fnt2 480 9296({ Aardv)m 5(ar)k -3(k, 29 } @Common { Aardv)k 5(ar)k -3(k, 359 })k -240 fnt1 0 8802(If)m 234(either)s 842(parameter)s 1860(is)s +[ /Dest /LOUT19_4263_pre_rump_3 /DEST pdfmark +240 fnt1 540 5086(The)m 220 fnt2 968 5083(@Common)m +240 fnt1 2127 5086(and)m 220 fnt2 2531 5083(@Rump)m 240 fnt1 +3391 5086(symbols)m 4240(compare)s 5119(tw)s 2(o)k 5529(paragraph)s +6542(objects:)s 220 fnt2 480 4585({ Aardv)m 5(ar)k -3(k, 29 } @Common { Aardv)k 5(ar)k -3(k, 359 })k +240 fnt1 0 4091(If)m 234(either)s 842(parameter)s 1860(is)s 2075(not)s 2446(a)s 2616(paragraph)s 3634(object,)s 4329(it)s 4526(is)s 4741(con)s 9(v)k 3(erted)k 5734(into)s -6164(a)s 6334(single-object)s 7633(paragraph)s 8651(\207rst.)s 0 8514(The)m -418(result)s 998(of)s 220 fnt2 1259 8511(@Common)m 240 fnt1 -2408 8514(is)m 2608(the)s 2946(common)s 3831(pre\207x)s 4433(of)s +6164(a)s 6334(single-object)s 7633(paragraph)s 8651(\207rst.)s 0 3803(The)m +418(result)s 998(of)s 220 fnt2 1259 3800(@Common)m 240 fnt1 +2408 3803(is)m 2608(the)s 2946(common)s 3831(pre\207x)s 4433(of)s 4694(the)s 5032(tw)s 2(o)k 5432(paragraphs;)s 6583(that)s -6991(is,)s 7247(those)s 7798(initial)s 8398(objects)s 0 8226(which)m +6991(is,)s 7247(those)s 7798(initial)s 8398(objects)s 0 3515(which)m 640(are)s 985(equal)s 1555(in)s 1796(the)s 2142(tw)s 2(o)k 2549(paragraphs.)s 3760(In)s 4013(the)s 4359(e)s 3(xample)k 5220(abo)s 3(v)k 3(e,)k 5890(the)s 6236(result)s -6824(is)s 220 fnt2 7031 8223(Aardv)m 5(ar)k -3(k,)k -240 fnt1 7949 8226(.)m 8111(The)s 8536(result)s 0 7938(of)m -220 fnt2 271 7935(@Rump)m 240 fnt1 1131 7938(is)m 1341(that)s +6824(is)s 220 fnt2 7031 3512(Aardv)m 5(ar)k -3(k,)k +240 fnt1 7949 3515(.)m 8111(The)s 8536(result)s 0 3227(of)m +220 fnt2 271 3224(@Rump)m 240 fnt1 1131 3227(is)m 1341(that)s 1759(part)s 2190(of)s 2461(the)s 2809(second)s 3532(object)s 4176(which)s 4818(is)s 5028(not)s 5394(included)s 6276(in)s -220 fnt2 6519 7935(@Common)m 240 fnt1 7618 7938(;)m 7730(the)s -8078(result)s 8668(of)s 220 fnt2 480 7437({ Aardv)m 5(ar)k -3(k, 29 } @Rump { Aardv)k 5(ar)k -3(k, 359 })k -240 fnt1 0 6941(is)m 220 fnt2 210 6938(359)m 240 fnt1 -567 6941(.)m 480 6567(If)m 698(the)s 1034(tw)s 2(o)k +220 fnt2 6519 3224(@Common)m 240 fnt1 7618 3227(;)m 7730(the)s +8078(result)s 8668(of)s 220 fnt2 480 2726({ Aardv)m 5(ar)k -3(k, 29 } @Rump { Aardv)k 5(ar)k -3(k, 359 })k +240 fnt1 0 2230(is)m 220 fnt2 210 2227(359)m 240 fnt1 +567 2230(.)m 480 1856(If)m 698(the)s 1034(tw)s 2(o)k 1431(objects)s 2147(ha)s 4(v)k 3(e)k 2635(nothing)s 3408(in)s 3638(common,)s 4571(the)s 4907(result)s 5484(of)s -220 fnt2 5743 6564(@Common)m 240 fnt1 6889 6567(will)m 7303(be)s -7572(an)s 7843(empty)s 8482(object)s 0 6279(and)m 400(the)s -744(result)s 1330(of)s 220 fnt2 1597 6276(@Rump)m 240 fnt1 -2453 6279(will)m 2874(be)s 3152(the)s 3496(second)s 4215(object.)s +220 fnt2 5743 1853(@Common)m 240 fnt1 6889 1856(will)m 7303(be)s +7572(an)s 7843(empty)s 8482(object)s 0 1568(and)m 400(the)s +744(result)s 1330(of)s 220 fnt2 1597 1565(@Rump)m 240 fnt1 +2453 1568(will)m 2874(be)s 3152(the)s 3496(second)s 4215(object.)s 4959(If)s 5185(the)s 5528(tw)s 2(o)k 5934(objects)s 6658(are)s 7001(identical,)s 7926(the)s 8270(result)s 8855(of)s -220 fnt2 0 5988(@Common)m 240 fnt1 1159 5991(will)m 1585(be)s +220 fnt2 0 1277(@Common)m 240 fnt1 1159 1280(will)m 1585(be)s 1867(the)s 2215(\207rst)s 2646(object,)s 3337(and)s 3741(the)s -4089(result)s 4679(of)s 220 fnt2 4950 5988(@Rump)m 240 fnt1 -5810 5991(will)m 6236(be)s 6518(an)s 6801(empty)s 7453(object.)s -480 5617(The)m 933(only)s 1438(kno)s 6(wn)k 2167(use)s -2567(for)s 220 fnt2 2930 5614(@Rump)m 240 fnt1 3815 5617(and)m -220 fnt2 4244 5614(@Common)m 240 fnt1 5428 5617(is)m 5663(to)s +4089(result)s 4679(of)s 220 fnt2 4950 1277(@Rump)m 240 fnt1 +5810 1280(will)m 6236(be)s 6518(an)s 6801(empty)s 7453(object.)s +480 906(The)m 933(only)s 1438(kno)s 6(wn)k 2167(use)s +2567(for)s 220 fnt2 2930 903(@Rump)m 240 fnt1 3815 906(and)m +220 fnt2 4244 903(@Common)m 240 fnt1 5428 906(is)m 5663(to)s 5927(implement)s 7034(mer)s 4(ged)k 7830(inde)s 3(x)k -8439(entries)s 0 5329(\(Section)m 853(2.8\).)s 480 4955(The)m 220 fnt2 -942 4952(@Meld)m 240 fnt1 1723 4955(symbol)m 2518(returns)s 3267(the)s +8439(entries)s 0 618(\(Section)m 853(2.8\).)s 480 244(The)m 220 fnt2 +942 241(@Meld)m 240 fnt1 1723 244(symbol)m 2518(returns)s 3267(the)s 3649(minimum)s 4674(meld)s 5245(of)s 5551(tw)s 2(o)k 5995(paragraphs,)s 7186(that)s 7639(is,)s 7940(the)s 8323(shortest)s -0 4667(paragraph)m 1013(that)s 1431(contains)s 2279(the)s 2627(tw)s 2(o)k -3037(original)s 3835(paragraphs)s 4935(as)s 5185(subsequences.)s 6652(F)s 3(or)k -7041(e)s 3(xample,)k 220 fnt2 480 4166({ Aardv)m 5(ar)k -3(k , 1 , 2 } @Meld { Aardv)k 5(ar)k -3(k , 2 , 3 })k -240 fnt1 0 3672(produces)m 480 3169(Aardv)m 6(ark)k 1438(,)s -1545(1)s 1700(,)s 1807(2)s 1981(,)s 2088(3)s -0 2685(The)m 455(result)s 1073(is)s 1310(related)s 2045(to)s -2312(the)s 2687(well-kno)s 6(wn)k 3909(longest)s 4688(common)s -5610(substring,)s 6622(in)s 6893(that)s 7338(the)s 7714(meld)s -8278(contains)s 0 2397(e)m 6(v)k 3(erything)k 1054(not)s -1407(in)s 1636(the)s 1971(lcs)s 2274(plus)s 2710(one)s -3099(cop)s 2(y)k 3604(of)s 3861(e)s 6(v)k 3(erything)k -4915(in)s 5145(the)s 5479(lcs.)s 5895(Where)s 6575(there)s -7094(are)s 7428(se)s 6(v)k 3(eral)k 8136(minimum)s -0 2109(melds,)m 220 fnt2 705 2106(@Meld)m 240 fnt1 1478 2109(returns)m -2219(the)s 2595(one)s 3024(in)s 3294(which)s 3964(the)s -4339(components)s 5574(of)s 5873(the)s 6248(\207rst)s 6706(parameter)s -7748(are)s 8122(as)s 8399(f)s 2(ar)k 8749(left)s -0 1821(as)m 250(possible.)s 480 1447(Determining)m 1764(the)s 2136(v)s 6(alues)k -2816(of)s 3110(all)s 3427(these)s 3998(symbols)s 4870(requires)s -5714(testing)s 6428(whether)s 7281(one)s 7707(component)s 8855(of)s -0 1159(the)m 372(\207rst)s 827(paragraph)s 1864(is)s 2098(equal)s -2695(to)s 2958(one)s 3384(component)s 4532(of)s 4827(the)s -5199(second.)s 6052(Since)s 6663(V)s 26(ersion)k 7475(3.25,)s -8026(the)s 8398(objects)s 0 871(in)m 9(v)k 4(olv)k 3(ed)k -893(may)s 1372(be)s 1667(arbitrary)s 2555(and)s 2972(Lout)s -3497(will)s 3936(perform)s 4778(the)s 5139(necessary)s 6135(detailed)s -6962(checking)s 7892(for)s 8244(equality;)s 0 583(pre)m 6(viously)k 15(,)k -1084(only)s 1552(simple)s 2233(w)s 2(ords)k 2855(were)s -3363(guaranteed)s 4458(to)s 4685(be)s 4954(tested)s 5557(correctly)s 15(.)k -6482(T)s 19(w)k 2(o)k 6941(w)s 2(ords)k -7563(are)s 7898(equal)s 8459(if)s 8663(the)s 3(y)k -0 295(contain)m 761(the)s 1108(same)s 1655(sequence)s 2587(of)s -2858(characters,)s 3931(re)s 3(g)k 1(ardless)k 4945(of)s -5216(whether)s 6045(the)s 3(y)k 6508(are)s 6854(enclosed)s -7749(in)s 7991(quotes,)s 8722(and)s + grestore gsave 1417 -15423 translate @@ -14225,103 +14253,104 @@ gsave gsave 1 LoutMargSet grestore -0 13205(re)m 3(g)k 1(ardless)k +0 13205(paragraph)m 1013(that)s 1431(contains)s +2279(the)s 2627(tw)s 2(o)k 3037(original)s 3835(paragraphs)s +4935(as)s 5185(subsequences.)s 6652(F)s 3(or)k 7041(e)s 3(xample,)k +220 fnt2 480 12704({ Aardv)m 5(ar)k -3(k , 1 , 2 } @Meld { Aardv)k 5(ar)k -3(k , 2 , 3 })k +240 fnt1 0 12210(produces)m 480 11707(Aardv)m 6(ark)k 1438(,)s +1545(1)s 1700(,)s 1807(2)s 1981(,)s 2088(3)s +0 11223(The)m 455(result)s 1073(is)s 1310(related)s 2045(to)s +2312(the)s 2687(well-kno)s 6(wn)k 3909(longest)s 4688(common)s +5610(substring,)s 6622(in)s 6893(that)s 7338(the)s 7714(meld)s +8278(contains)s 0 10935(e)m 6(v)k 3(erything)k 1054(not)s +1407(in)s 1636(the)s 1971(lcs)s 2274(plus)s 2710(one)s +3099(cop)s 2(y)k 3604(of)s 3861(e)s 6(v)k 3(erything)k +4915(in)s 5145(the)s 5479(lcs.)s 5895(Where)s 6575(there)s +7094(are)s 7428(se)s 6(v)k 3(eral)k 8136(minimum)s +0 10647(melds,)m 220 fnt2 705 10644(@Meld)m 240 fnt1 1478 10647(returns)m +2219(the)s 2595(one)s 3024(in)s 3294(which)s 3964(the)s +4339(components)s 5574(of)s 5873(the)s 6248(\207rst)s 6706(parameter)s +7748(are)s 8122(as)s 8399(f)s 2(ar)k 8749(left)s +0 10359(as)m 250(possible.)s 480 9985(Determining)m 1764(the)s 2136(v)s 6(alues)k +2816(of)s 3110(all)s 3427(these)s 3998(symbols)s 4870(requires)s +5714(testing)s 6428(whether)s 7281(one)s 7707(component)s 8855(of)s +0 9697(the)m 372(\207rst)s 827(paragraph)s 1864(is)s 2098(equal)s +2695(to)s 2958(one)s 3384(component)s 4532(of)s 4827(the)s +5199(second.)s 6052(Since)s 6663(V)s 26(ersion)k 7475(3.25,)s +8026(the)s 8398(objects)s 0 9409(in)m 9(v)k 4(olv)k 3(ed)k +893(may)s 1372(be)s 1667(arbitrary)s 2555(and)s 2972(Lout)s +3497(will)s 3936(perform)s 4778(the)s 5139(necessary)s 6135(detailed)s +6962(checking)s 7892(for)s 8244(equality;)s 0 9121(pre)m 6(viously)k 15(,)k +1084(only)s 1552(simple)s 2233(w)s 2(ords)k 2855(were)s +3363(guaranteed)s 4458(to)s 4685(be)s 4954(tested)s 5557(correctly)s 15(.)k +6482(T)s 19(w)k 2(o)k 6941(w)s 2(ords)k +7563(are)s 7898(equal)s 8459(if)s 8663(the)s 3(y)k +0 8833(contain)m 761(the)s 1108(same)s 1655(sequence)s 2587(of)s +2858(characters,)s 3931(re)s 3(g)k 1(ardless)k 4945(of)s +5216(whether)s 6045(the)s 3(y)k 6508(are)s 6854(enclosed)s +7749(in)s 7991(quotes,)s 8722(and)s 0 8545(re)m 3(g)k 1(ardless)k 1008(of)s 1272(the)s 1612(current)s 2341(font)s 2778(or)s 3030(an)s 3(y)k 3419(other)s 3963(style)s 4462(information.)s 5747(Otherwise,)s 6828(objects)s 7549(are)s 7888(equal)s 8454(if)s -8663(the)s 3(y)k 0 12917(are)m 337(of)s 598(the)s +8663(the)s 3(y)k 0 8257(are)m 337(of)s 598(the)s 936(same)s 1473(type)s 1931(and)s 2325(ha)s 4(v)k 3(e)k 2816(the)s 3153(same)s 3690(parameters,)s 4834(including)s 5781(g)s 1(aps)k -6260(in)s 6493(concatenation)s 7868(objects.)s 8698(The)s 0 12629(sole)m -459(e)s 3(xception)k 1461(is)s 220 fnt2 1690 12626(@LinkSource)m -240 fnt1 3002 12629(,)m 3127(whose)s 3814(left)s 4209(parameter)s +6260(in)s 6493(concatenation)s 7868(objects.)s 8698(The)s 0 7969(sole)m +459(e)s 3(xception)k 1461(is)s 220 fnt2 1690 7966(@LinkSource)m +240 fnt1 3002 7969(,)m 3127(whose)s 3814(left)s 4209(parameter)s 5241(is)s 5470(ignored)s 6277(during)s 6974(equality)s 7816(testing,)s -8579(since)s 0 12341(otherwise)m 985(there)s 1518(w)s 2(ould)k +8579(since)s 0 7681(otherwise)m 985(there)s 1518(w)s 2(ould)k 2173(be)s 2455(problems)s 3396(in)s 3639(the)s 3987(appearance)s 5118(of)s 5389(melded)s 6151(clickable)s 7069(inde)s 3(x)k -7653(entries.)s 480 11967(Style)m 1023(changing)s 1949(operations)s 2991(\()s -220 fnt2 3064 11964(@F)m 6(ont)k 240 fnt1 3716 11967(,)m -220 fnt2 3819 11964(@SetColour)m 240 fnt1 5071 11967(etc.\))m 5532(are)s +7653(entries.)s 480 7307(Style)m 1023(changing)s 1949(operations)s 2991(\()s +220 fnt2 3064 7304(@F)m 6(ont)k 240 fnt1 3716 7307(,)m +220 fnt2 3819 7304(@SetColour)m 240 fnt1 5071 7307(etc.\))m 5532(are)s 5874(not)s 6236(considered)s 7325(in)s 7563(equality)s 8382(testing,)s -0 11679(since)m 547(these)s 1094(ha)s 4(v)k 3(e)k +0 7019(since)m 547(these)s 1094(ha)s 4(v)k 3(e)k 1595(been)s 2104(processed)s 3105(and)s 3508(deleted)s 4256(by)s 4550(the)s 4898(time)s 5378(that)s 5796(the)s 6143(tests)s 6618(are)s 6965(done.)s 7595(Also,)s 8154(Lout)s 8665(tries)s -0 11391(hard)m 483(to)s 722(get)s 1074(rid)s 1397(of)s +0 6731(hard)m 483(to)s 722(get)s 1074(rid)s 1397(of)s 1668(redundant)s 2685(braces)s 3346(around)s 4069(concatenation)s 5454(objects,)s 6238(which)s 6880(is)s 7090(wh)s 1(y)k 220 fnt2 -480 10890({ a { b c } } @Meld { { a b } c })m 240 fnt1 0 10396(produces)m 480 9893(a)m 646(b)s -819(c)s 0 9440(The)m 428(tw)s 2(o)k 838(parameters)s +480 6230({ a { b c } } @Meld { { a b } c })m 240 fnt1 0 5736(produces)m 480 5233(a)m 646(b)s +819(c)s 0 4780(The)m 428(tw)s 2(o)k 838(parameters)s 1936(are)s 2283(equal)s 2856(by)s 3150(the)s 3498(time)s 3978(the)s 3(y)k 4441(are)s 4788(compared)s 5789(by)s -220 fnt2 6083 9437(@Meld)m 240 fnt1 6769 9440(.)m 480 9066(One)m +220 fnt2 6083 4777(@Meld)m 240 fnt1 6769 4780(.)m 480 4406(One)m 928(problematic)s 2114(area)s 2563(in)s 2799(the)s 3139(use)s 3506(of)s 3770(these)s 4309(operators)s 5241(is)s 5444(the)s 5784(de\207nition)s 6750(of)s 7014(equality)s 7830(when)s 8398(objects)s -0 8778(are)m 365(immediately)s 1631(adjacent.)s 2609(Lout)s 3139(contains)s +0 4118(are)m 365(immediately)s 1631(adjacent.)s 2609(Lout)s 3139(contains)s 4005(an)s 4306(optimization)s 5589(which)s 6249(mer)s 4(ges)k -7004(immediately)s 8270(adjacent)s 0 8490(w)m 2(ords)k 634(whene)s 6(v)k 3(er)k +7004(immediately)s 8270(adjacent)s 0 3830(w)m 2(ords)k 634(whene)s 6(v)k 3(er)k 1615(the)s 3(y)k 2078(ha)s 4(v)k 3(e)k 2579(the)s 2927(same)s 3474(style.)s 4089(F)s 3(or)k -4478(e)s 3(xample,)k 220 fnt2 480 7992({Hello}{w)m 2(or)k -3(ld})k -240 fnt1 0 7498(w)m 2(ould)k 655(be)s 937(treated)s +4478(e)s 3(xample,)k 220 fnt2 480 3332({Hello}{w)m 2(or)k -3(ld})k +240 fnt1 0 2838(w)m 2(ould)k 655(be)s 937(treated)s 1644(internally)s 2613(as)s 2863(one)s 3265(w)s 2(ord,)k -3862(whereas)s 220 fnt2 480 6997({Hello}{y)m 4(ello)k 3(w @Colour w)k 2(or)k -3(ld})k -240 fnt1 0 6499(w)m 2(ould)k 683(be)s 994(treated)s +3862(whereas)s 220 fnt2 480 2337({Hello}{y)m 4(ello)k 3(w @Colour w)k 2(or)k -3(ld})k +240 fnt1 0 1839(w)m 2(ould)k 683(be)s 994(treated)s 1729(as)s 2008(tw)s 2(o)k 2447(adjacent)s 3331(w)s 2(ords.)k -4107(Thus,)s 4721(although)s 220 fnt2 5645 6496(@F)m 6(ont)k -240 fnt1 6297 6499(,)m 220 fnt2 6433 6496(@SetColour)m 240 fnt1 -7630 6499(,)m 7765(and)s 8198(the)s 8575(other)s 0 6211(style)m +4107(Thus,)s 4721(although)s 220 fnt2 5645 1836(@F)m 6(ont)k +240 fnt1 6297 1839(,)m 220 fnt2 6433 1836(@SetColour)m 240 fnt1 +7630 1839(,)m 7765(and)s 8198(the)s 8575(other)s 0 1551(style)m 517(operators)s 1468(are)s 1825(ignored)s 2625(in)s 2878(equality)s 3713(testing,)s 4467(the)s 3(y)k 4941(may)s 5417(af)s 6(fect)k 6024(the)s 6382(structure)s 7284(of)s 7565(the)s 7924(objects)s -8663(the)s 3(y)k 0 5923(lie)m 294(within.)s 480 5549(At)m -810(present,)s 220 fnt2 1639 5546(@Common)m 240 fnt1 2830 5549(and)m -220 fnt2 3266 5546(@Rump)m 240 fnt1 4158 5549(treat)m 4673(all)s +8663(the)s 3(y)k 0 1263(lie)m 294(within.)s 480 889(At)m +810(present,)s 220 fnt2 1639 886(@Common)m 240 fnt1 2830 889(and)m +220 fnt2 3266 886(@Rump)m 240 fnt1 4158 889(treat)m 4673(all)s 4998(unmer)s 4(ged)k 6041(components)s 7281(of)s 7584(their)s -8113(paragraph)s 0 5261(as)m 278(separate,)s 1195(e)s 6(v)k 3(en)k +8113(paragraph)s 0 601(as)m 278(separate,)s 1195(e)s 6(v)k 3(en)k 1724(if)s 1969(one)s 2399(is)s 2638(immediately)s 3914(adjacent)s -4799(to)s 5066(another)s 13(.)k 220 fnt2 5962 5258(@Common)m -240 fnt1 7150 5261(and)m 220 fnt2 7582 5258(@Rump)m 240 fnt1 -8471 5261(w)m 2(ould)k 0 4973(thus)m 449(see)s 809(one)s +4799(to)s 5066(another)s 13(.)k 220 fnt2 5962 598(@Common)m +240 fnt1 7150 601(and)m 220 fnt2 7582 598(@Rump)m 240 fnt1 +8471 601(w)m 2(ould)k 0 313(thus)m 449(see)s 809(one)s 1210(component)s 2333(in)s 2574(the)s 2921(\207rst)s 3351(e)s 3(xample)k 4213(and)s 4615(tw)s 2(o)k 5024(in)s 5266(the)s -5613(second.)s 220 fnt2 6440 4970(@Meld)m 240 fnt1 7185 4973(treats)m -7751(each)s 8245(group)s 8855(of)s 0 4685(immediately)m 1239(adjacent)s -2086(components)s 3285(as)s 3526(a)s 3683(single)s 4301(component,)s -5463(so)s 5720(it)s 5903(w)s 2(ould)k 6549(see)s -6901(one)s 7294(component)s 8409(in)s 8643(both)s 0 4397(e)m 3(xamples;)k -1015(b)s 4(ut)k 1381(it)s 1577(w)s 2(ould)k -2235(still)s 2651(not)s 3021(report)s 3655(them)s 4196(as)s -4450(equal,)s 5079(since)s 5630(one)s 6035(is)s 6249(a)s -6419(single)s 7050(w)s 2(ord)k 7601(and)s 8009(the)s -8361(other)s 8916(is)s 0 4109(a)m 179(pair)s 623(of)s -907(adjacent)s 1777(w)s 2(ords.)k 2537(These)s 3177(confusing)s -4188(and)s 4605(inconsistent)s 5820(properties)s 6839(might)s 7471(be)s -7766(re)s 6(vised)k 8521(in)s 8778(the)s 0 3821(future.)m -754(See)s 1176(Section)s 1971(4.6)s 2345(for)s 2704(an)s -3008(e)s 3(xample)k 3892(of)s 4184(the)s 4553(practical)s -5450(use)s 5846(of)s 6138(these)s 6706(operators,)s 7723(in)s -7987(which)s 8650(v)s 3(ery)k 0 3533(small)m 564(unbreakable)s -1781(g)s 1(aps)k 2262(are)s 2600(used)s 3089(to)s -3320(ensure)s 3991(that)s 4401(apparently)s 5456(adjacent)s 6303(components)s -7503(are)s 7842(separate,)s 8722(and)s 220 fnt2 0 3242(@OneCol)m -240 fnt1 1026 3245(is)m 1250(used)s 1761(to)s 2014(pre)s 6(v)k 3(ent)k -2797(the)s 3159(w)s 2(ord)k 3721(mer)s 4(ging)k -4581(optimization)s 5860(from)s 6399(taking)s 7064(ef)s 6(fect)k -7674(when)s 8264(it)s 8471(w)s 2(ould)k 0 2957(otherwise)m -985(cause)s 1572(trouble.)s 240 fnt5 0 2213(3.27.)m 591(@Insert)s - -[ /Dest /LOUTinsert /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_inse_1 /DEST pdfmark -240 fnt1 541 1781(The)m 220 fnt2 970 1778(@Inser)m -8(t)k -240 fnt1 1808 1781(symbol)m 2569(inserts)s 3245(its)s 3522(left)s -3901(parameter)s 4916(at)s 5149(the)s 5499(be)s 3(ginning)k -6508(of)s 6781(the)s 7130(\207rst)s 7563(paragraph)s 8577(of)s -8850(its)s 0 1493(right)m 511(parameter:)s 220 fnt2 480 992(X @Inser)m -8(t { A B // C // D })k -240 fnt1 0 498(is)m 210(equi)s 6(v)k 6(alent)k -1254(to)s +5613(second.)s 220 fnt2 6440 310(@Meld)m 240 fnt1 7185 313(treats)m +7751(each)s 8245(group)s 8855(of)s grestore gsave 1417 -15423 translate @@ -14373,94 +14402,101 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -220 fnt2 480 13207({ XA B // C // D })m 240 fnt1 -0 12713(Notice)m 707(that)s 1139(a)s 1320(zero-width)s 2426(space)s -3028(separates)s 220 fnt2 3968 12710(X)m 240 fnt1 4185 12713(from)m -4723(the)s 5085(\207rst)s 5531(paragraph,)s 6608(so)s 6889(if)s -7120(some)s 7696(wider)s 8314(space)s 8916(is)s 0 12425(required)m -857(it)s 1052(must)s 1580(be)s 1865(placed)s 2550(at)s -2785(the)s 3137(end)s 3544(of)s 220 fnt2 3818 12422(X)m -240 fnt1 3960 12425(.)m 4127(The)s 220 fnt2 4558 12422(@Inser)m -8(t)k -240 fnt1 5397 12425(operation)m 6361(is)s 6574(applied)s 7339(to)s +0 13205(immediately)m 1239(adjacent)s 2086(components)s +3285(as)s 3526(a)s 3683(single)s 4301(component,)s 5463(so)s +5720(it)s 5903(w)s 2(ould)k 6549(see)s 6901(one)s +7294(component)s 8409(in)s 8643(both)s 0 12917(e)m 3(xamples;)k +1015(b)s 4(ut)k 1381(it)s 1577(w)s 2(ould)k +2235(still)s 2651(not)s 3021(report)s 3655(them)s 4196(as)s +4450(equal,)s 5079(since)s 5630(one)s 6035(is)s 6249(a)s +6419(single)s 7050(w)s 2(ord)k 7601(and)s 8009(the)s +8361(other)s 8916(is)s 0 12629(a)m 179(pair)s 623(of)s +907(adjacent)s 1777(w)s 2(ords.)k 2537(These)s 3177(confusing)s +4188(and)s 4605(inconsistent)s 5820(properties)s 6839(might)s 7471(be)s +7766(re)s 6(vised)k 8521(in)s 8778(the)s 0 12341(future.)m +754(See)s 1176(Section)s 1971(4.6)s 2345(for)s 2704(an)s +3008(e)s 3(xample)k 3892(of)s 4184(the)s 4553(practical)s +5450(use)s 5846(of)s 6138(these)s 6706(operators,)s 7723(in)s +7987(which)s 8650(v)s 3(ery)k 0 12053(small)m 564(unbreakable)s +1781(g)s 1(aps)k 2262(are)s 2600(used)s 3089(to)s +3320(ensure)s 3991(that)s 4401(apparently)s 5456(adjacent)s 6303(components)s +7503(are)s 7842(separate,)s 8722(and)s 220 fnt2 0 11762(@OneCol)m +240 fnt1 1026 11765(is)m 1250(used)s 1761(to)s 2014(pre)s 6(v)k 3(ent)k +2797(the)s 3159(w)s 2(ord)k 3721(mer)s 4(ging)k +4581(optimization)s 5860(from)s 6399(taking)s 7064(ef)s 6(fect)k +7674(when)s 8264(it)s 8471(w)s 2(ould)k 0 11477(otherwise)m +985(cause)s 1572(trouble.)s 240 fnt5 0 10733(3.27.)m 591(@Insert)s + +[ /Dest /LOUTinsert /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_inse_1 /DEST pdfmark +240 fnt1 541 10301(The)m 220 fnt2 970 10298(@Inser)m -8(t)k +240 fnt1 1808 10301(symbol)m 2569(inserts)s 3245(its)s 3522(left)s +3901(parameter)s 4916(at)s 5149(the)s 5499(be)s 3(ginning)k +6508(of)s 6781(the)s 7130(\207rst)s 7563(paragraph)s 8577(of)s +8850(its)s 0 10013(right)m 511(parameter:)s 220 fnt2 480 9512(X @Inser)m -8(t { A B // C // D })k +240 fnt1 0 9018(is)m 210(equi)s 6(v)k 6(alent)k +1254(to)s 220 fnt2 480 8517({ XA B // C // D })m 240 fnt1 0 8023(Notice)m +707(that)s 1139(a)s 1320(zero-width)s 2426(space)s 3028(separates)s +220 fnt2 3968 8020(X)m 240 fnt1 4185 8023(from)m 4723(the)s +5085(\207rst)s 5531(paragraph,)s 6608(so)s 6889(if)s 7120(some)s +7696(wider)s 8314(space)s 8916(is)s 0 7735(required)m 857(it)s +1052(must)s 1580(be)s 1865(placed)s 2550(at)s 2785(the)s +3137(end)s 3544(of)s 220 fnt2 3818 7732(X)m 240 fnt1 +3960 7735(.)m 4127(The)s 220 fnt2 4558 7732(@Inser)m -8(t)k +240 fnt1 5397 7735(operation)m 6361(is)s 6574(applied)s 7339(to)s 7581(the)s 7932(v)s 6(alue)k 8503(of)s 8778(the)s -0 12137(right)m 511(parameter)s 1525(after)s 2021(e)s 6(v)k 6(aluation.)k -480 11763(The)m 917(only)s 1407(kno)s 6(wn)k 2121(use)s +0 7447(right)m 511(parameter)s 1525(after)s 2021(e)s 6(v)k 6(aluation.)k +480 7073(The)m 917(only)s 1407(kno)s 6(wn)k 2121(use)s 2506(for)s 2853(this)s 3259(symbol)s 4029(is)s 4249(to)s 4498(attach)s 5134(something)s 6194(lik)s 2(e)k 240 fnt5 -6616 11762(Figur)m 4(e)k 7355(6)s 240 fnt1 7538 11763(to)m -7787(the)s 8145(front)s 8679(of)s 8960(a)s 0 11475(multi-paragraph)m -1596(caption.)s 240 fnt5 0 10682(3.28.)m 591(@OneOf)s +6616 7072(Figur)m 4(e)k 7355(6)s 240 fnt1 7538 7073(to)m +7787(the)s 8145(front)s 8679(of)s 8960(a)s 0 6785(multi-paragraph)m +1596(caption.)s 240 fnt5 0 5992(3.28.)m 591(@OneOf)s [ /Dest /LOUToneof /DEST pdfmark -[ /Dest /LOUT19_4262_pre_oneo_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_oneo_1 /DEST pdfmark 240 fnt1 -534 10250(The)m 220 fnt2 956 10247(@OneOf)m 240 fnt1 1877 10250(symbol)m +534 5560(The)m 220 fnt2 956 5557(@OneOf)m 240 fnt1 1877 5560(symbol)m 2631(returns)s 3339(one)s 3734(of)s 3999(the)s 4341(sequence)s 5268(of)s 5533(objects)s 6254(which)s 6890(is)s 7094(its)s -7364(right)s 7869(parameter)s 8876(as)s 0 9962(its)m 276(result:)s -220 fnt2 480 9511(@OneOf {)m 480 9223( @ResultA)m 480 8935( @ResultB)m 480 8647( @ResultC)m -480 8359(})m 240 fnt1 0 7865(The)m 451(choice)s 1155(is)s +7364(right)s 7869(parameter)s 8876(as)s 0 5272(its)m 276(result:)s +220 fnt2 480 4821(@OneOf {)m 480 4533( @ResultA)m 480 4245( @ResultB)m 480 3957( @ResultC)m +480 3669(})m 240 fnt1 0 3175(The)m 451(choice)s 1155(is)s 1388(made)s 1986(to)s 2248(ensure)s 2952(that)s 3393(whate)s 6(v)k 3(er)k 4344(g)s 1(alle)k 3(y)k 5001(tar)s 4(get)k 5624(is)s 5857(required)s 6735(at)s 6990(the)s 7362(moment)s -8229(is)s 8463(found.)s 0 7577(F)m 3(or)k 389(e)s 3(xample,)k +8229(is)s 8463(found.)s 0 2887(F)m 3(or)k 389(e)s 3(xample,)k 1304(if)s 1522(we)s 1858(are)s 2206(e)s 6(v)k 6(aluating)k -220 fnt2 3244 7574(@OneOf)m 240 fnt1 4172 7577(as)m 4423(part)s +220 fnt2 3244 2884(@OneOf)m 240 fnt1 4172 2887(as)m 4423(part)s 4855(of)s 5127(an)s 5411(attempt)s 6188(to)s 6428(attach)s 7056(a)s 7223(g)s 1(alle)k 3(y)k 7858(whose)s -8527(tar)s 4(get)k 0 7289(is)m 220 fnt2 222 7286(@SomeT)m 26(arget)k -240 fnt1 1622 7289(,)m 1741(then)s 2223(the)s 2583(result)s +8527(tar)s 4(get)k 0 2599(is)m 220 fnt2 222 2596(@SomeT)m 26(arget)k +240 fnt1 1622 2599(,)m 1741(then)s 2223(the)s 2583(result)s 3186(abo)s 3(v)k 3(e)k 3820(will)s 4259(be)s -220 fnt2 4553 7286(@ResultA)m 240 fnt1 5613 7289(if)m 5843(it)s -6047(contains)s 220 fnt2 6908 7286(@SomeT)m 26(arget)k 240 fnt1 -8308 7289(,)m 8427(or)s 8699(else)s 220 fnt2 0 6998(@ResultB)m -240 fnt1 1042 7001(if)m 1260(it)s 1453(contains)s 220 fnt2 -2302 6998(@SomeT)m 26(arget)k 240 fnt1 3702 7001(,)m 3810(or)s -4070(else)s 220 fnt2 4498 6998(@ResultC)m 240 fnt1 5552 7001(\(whether)m +220 fnt2 4553 2596(@ResultA)m 240 fnt1 5613 2599(if)m 5843(it)s +6047(contains)s 220 fnt2 6908 2596(@SomeT)m 26(arget)k 240 fnt1 +8308 2599(,)m 8427(or)s 8699(else)s 220 fnt2 0 2308(@ResultB)m +240 fnt1 1042 2311(if)m 1260(it)s 1453(contains)s 220 fnt2 +2302 2308(@SomeT)m 26(arget)k 240 fnt1 3702 2311(,)m 3810(or)s +4070(else)s 220 fnt2 4498 2308(@ResultC)m 240 fnt1 5552 2311(\(whether)m 6462(or)s 6722(not)s 7089(it)s 7282(contains)s 8131(the)s -8480(tar)s 4(get,)k 0 6713(or)m 259(if)s 476(there)s -1009(is)s 1219(no)s 1512(tar)s 4(get\).)k 480 6339(Use)m -930(of)s 220 fnt2 1224 6336(@OneOf)m 240 fnt1 2174 6339(in)m +8480(tar)s 4(get,)k 0 2023(or)m 259(if)s 476(there)s +1009(is)s 1219(no)s 1512(tar)s 4(get\).)k 480 1649(Use)m +930(of)s 220 fnt2 1224 1646(@OneOf)m 240 fnt1 2174 1649(in)m 2440(conjunction)s 3650(with)s 4155(recursi)s 6(v)k 3(e)k 5100(symbols)s 5972(can)s 6384(lead)s 6863(to)s 7125(problems.)s -8202(Consider)s 0 6051(this)m 396(e)s 3(xample:)k 220 fnt2 -480 5550(def @Recursiv)m 5(e {)k 480 4974( def @ChoiceA { @APlace // @Recursiv)m 5(e })k 480 4398( def @ChoiceB { @BPlace // @Recursiv)m 5(e })k -480 3822( @OneOf {)m 480 3534( @ChoiceA)m 480 3246( @ChoiceB)m 480 2958( })m 480 2670(})m -240 fnt1 0 2176(Lout)m 523(belie)s 6(v)k 3(es)k -1360(that)s 1790(e)s 3(xpanding)k 220 fnt2 2849 2173(@Recursiv)m 5(e)k -240 fnt1 4106 2176(is)m 4328(the)s 4687(right)s 5210(thing)s -5767(to)s 6017(do)s 6322(when)s 6910(searching)s 7890(for)s -8240(either)s 8855(of)s 0 1888(the)m 380(g)s 1(alle)k 3(y)k -1046(tar)s 4(gets)k 220 fnt2 1762 1885(@APlace)m 240 fnt1 -2763 1888(and)m 220 fnt2 3199 1885(@BPlace)m 240 fnt1 4108 1888(.)m -4305(When)s 4966(searching)s 5968(for)s 220 fnt2 6338 1885(@BPlace)m -240 fnt1 7339 1888(this)m 7768(leads)s 8342(Lout)s 8887(to)s -0 1600(e)m 3(xpand)k 220 fnt2 760 1597(@Recursiv)m 5(e)k -240 fnt1 1945 1600(,)m 2065(then)s 220 fnt2 2547 1597(@ChoiceA)m -240 fnt1 3596 1600(,)m 3717(then)s 4199(the)s 220 fnt2 -4560 1597(@Recursiv)m 5(e)k 240 fnt1 5818 1600(symbol)m 6592(within)s -220 fnt2 7273 1597(@ChoiceA)m 240 fnt1 8322 1600(,)m 8442(and)s -8860(so)s 0 1312(on)m 320(in\207nitely)s 15(.)k 1355(This)s -1854(problem)s 2734(can)s 3146(be)s 3451(a)s 4(v)k 4(oided)k -4283(by)s 4600(attaching)s 5552(a)s 220 fnt2 5741 1309(@NotRe)m 6(v)k 5(ealed)k -240 fnt1 7291 1312(symbol)m 8074(to)s 8336(each)s 8855(of)s -0 1024(the)m 357(inner)s 220 fnt2 918 1021(@Recursiv)m 5(e)k -240 fnt1 2172 1024(symbols:)m 3146(these)s 3703(are)s 4059(then)s -4538(not)s 4914(a)s 4(v)k 6(ailable)k 5831(for)s -6179(e)s 3(xpansion)k 7214(until)s 7716(a)s 7892(decision)s -8756(has)s 0 736(been)m 510(made)s 1085(to)s 1326(e)s 3(xpand)k -2074(the)s 2424(symbol)s 3185(the)s 3(y)k 3650(lie)s -3945(within.)s 4721(In)s 4979(this)s 5376(particular)s 6352(e)s 3(xample)k -7216(it)s 7410(w)s 2(ould)k 8066(be)s 8350(simpler)s -0 448(to)m 239(write)s +8202(Consider)s 0 1361(this)m 396(e)s 3(xample:)k 220 fnt2 +480 860(def @Recursiv)m 5(e {)k 480 284( def @ChoiceA { @APlace // @Recursiv)m 5(e })k grestore gsave 1417 -15423 translate -240 fnt1 0 0 0 0 240 288 60 LoutGraphic +240 fnt1 +0 0 0 0 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore @@ -14512,93 +14548,76 @@ gsave 1 LoutMargSet grestore 220 fnt2 -480 13209(def @Recursiv)m 5(e {)k 480 12633( @OneOf {)m 480 12345( @APlace)m 480 12057( @BPlace)m -480 11769( })m 480 11481( // @Recursiv)m 5(e)k 480 11193(})m 240 fnt1 -0 10699(b)m 4(ut)k 378(this)s 791(f)s 2(actoring)k -1720(is)s 1947(not)s 2329(possible)s 3186(when)s 3778(the)s -4143(recursi)s 6(v)k 3(e)k 5081(calls)s 5586(ha)s 4(v)k 3(e)k -6103(parameters)s 7218(that)s 7652(are)s 8016(required)s 8887(to)s -0 10411(dif)m 6(fer)k 583(in)s 826(the)s 1174(tw)s 2(o)k -1584(cases.)s 240 fnt5 0 9667(3.29.)m 591(@Next)s +480 13209( def @ChoiceB { @BPlace // @Recursiv)m 5(e })k 480 12633( @OneOf {)m 480 12345( @ChoiceA)m 480 12057( @ChoiceB)m +480 11769( })m 480 11481(})m 240 fnt1 0 10987(Lout)m 523(belie)s 6(v)k 3(es)k +1360(that)s 1790(e)s 3(xpanding)k 220 fnt2 2849 10984(@Recursiv)m 5(e)k +240 fnt1 4106 10987(is)m 4328(the)s 4687(right)s 5210(thing)s +5767(to)s 6017(do)s 6322(when)s 6910(searching)s 7890(for)s +8240(either)s 8855(of)s 0 10699(the)m 380(g)s 1(alle)k 3(y)k +1046(tar)s 4(gets)k 220 fnt2 1762 10696(@APlace)m 240 fnt1 +2763 10699(and)m 220 fnt2 3199 10696(@BPlace)m 240 fnt1 4108 10699(.)m +4305(When)s 4966(searching)s 5968(for)s 220 fnt2 6338 10696(@BPlace)m +240 fnt1 7339 10699(this)m 7768(leads)s 8342(Lout)s 8887(to)s +0 10411(e)m 3(xpand)k 220 fnt2 760 10408(@Recursiv)m 5(e)k +240 fnt1 1945 10411(,)m 2065(then)s 220 fnt2 2547 10408(@ChoiceA)m +240 fnt1 3596 10411(,)m 3717(then)s 4199(the)s 220 fnt2 +4560 10408(@Recursiv)m 5(e)k 240 fnt1 5818 10411(symbol)m 6592(within)s +220 fnt2 7273 10408(@ChoiceA)m 240 fnt1 8322 10411(,)m 8442(and)s +8860(so)s 0 10123(on)m 320(in\207nitely)s 15(.)k 1355(This)s +1854(problem)s 2734(can)s 3146(be)s 3451(a)s 4(v)k 4(oided)k +4283(by)s 4600(attaching)s 5552(a)s 220 fnt2 5741 10120(@NotRe)m 6(v)k 5(ealed)k +240 fnt1 7291 10123(symbol)m 8074(to)s 8336(each)s 8855(of)s +0 9835(the)m 357(inner)s 220 fnt2 918 9832(@Recursiv)m 5(e)k +240 fnt1 2172 9835(symbols:)m 3146(these)s 3703(are)s 4059(then)s +4538(not)s 4914(a)s 4(v)k 6(ailable)k 5831(for)s +6179(e)s 3(xpansion)k 7214(until)s 7716(a)s 7892(decision)s +8756(has)s 0 9547(been)m 510(made)s 1085(to)s 1326(e)s 3(xpand)k +2074(the)s 2424(symbol)s 3185(the)s 3(y)k 3650(lie)s +3945(within.)s 4721(In)s 4979(this)s 5376(particular)s 6352(e)s 3(xample)k +7216(it)s 7410(w)s 2(ould)k 8066(be)s 8350(simpler)s +0 9259(to)m 239(write)s 220 fnt2 480 8807(def @Recursiv)m 5(e {)k +480 8231( @OneOf {)m 480 7943( @APlace)m 480 7655( @BPlace)m 480 7367( })m 480 7079( // @Recursiv)m 5(e)k +480 6791(})m 240 fnt1 0 6297(b)m 4(ut)k 378(this)s +791(f)s 2(actoring)k 1720(is)s 1947(not)s 2329(possible)s +3186(when)s 3778(the)s 4143(recursi)s 6(v)k 3(e)k +5081(calls)s 5586(ha)s 4(v)k 3(e)k 6103(parameters)s +7218(that)s 7652(are)s 8016(required)s 8887(to)s 0 6009(dif)m 6(fer)k +583(in)s 826(the)s 1174(tw)s 2(o)k 1584(cases.)s +240 fnt5 0 5265(3.29.)m 591(@Next)s [ /Dest /LOUTnext /DEST pdfmark -[ /Dest /LOUT19_4262_pre_next_1 /DEST pdfmark -240 fnt1 -535 9235(The)m 220 fnt2 957 9232(@Ne)m 6(xt)k 240 fnt1 -1676 9235(symbol)m 2430(returns)s 3138(its)s 3409(parameter)s 4417(plus)s -4861(one.)s 5366(It)s 5565(is)s 5769(rather)s 6380(cle)s 6(v)k 3(er)k +[ /Dest /LOUT19_4263_pre_next_1 /DEST pdfmark +240 fnt1 535 4833(The)m +220 fnt2 957 4830(@Ne)m 6(xt)k 240 fnt1 1676 4833(symbol)m +2430(returns)s 3138(its)s 3409(parameter)s 4417(plus)s 4861(one.)s +5366(It)s 5565(is)s 5769(rather)s 6380(cle)s 6(v)k 3(er)k 7008(at)s 7234(w)s 2(orking)k 8078(this)s 8468(out:)s -8934(it)s 0 8947(hunts)m 570(through)s 1372(the)s 1720(parameter)s +8934(it)s 0 4545(hunts)m 570(through)s 1372(the)s 1720(parameter)s 2734(from)s 3258(right)s 3769(to)s 4008(left,)s 4432(looking)s 5217(for)s 5555(a)s 5721(number)s 6512(to)s 6751(increment:)s -220 fnt2 480 8446(@Ne)m 6(xt \(3.99\))k 240 fnt1 0 7950(has)m -404(result)s 1029(\(3.100\).)s 1925(If)s 220 fnt2 2190 7947(@Ne)m 6(xt)k -240 fnt1 2949 7950(cannot)m 3681(\207nd)s 4147(a)s 4348(digit)s +220 fnt2 480 4044(@Ne)m 6(xt \(3.99\))k 240 fnt1 0 3548(has)m +404(result)s 1029(\(3.100\).)s 1925(If)s 220 fnt2 2190 3545(@Ne)m 6(xt)k +240 fnt1 2949 3548(cannot)m 3681(\207nd)s 4147(a)s 4348(digit)s 4880(inside)s 5542(its)s 5852(parameter)s 9(,)k 6939(it)s 7166(is)s 7410(an)s 7728(error)s 13(.)k 8377(Roman)s -0 7662(numerals)m 925(are)s 1270(handled)s 2084(by)s 2376(storing)s +0 3260(numerals)m 925(are)s 1270(handled)s 2084(by)s 2376(storing)s 3091(them)s 3627(in)s 3868(a)s 4032(database,)s 4960(as)s 5208(e)s 3(xplained)k 6191(in)s 6432(Section)s 7204(4.2;)s -220 fnt2 7614 7659(@Ne)m 6(xt)k 240 fnt1 8336 7662(will)m -8760(not)s 0 7374(increment)m 1015(a)s 1181(Roman)s 1930(numeral.)s -240 fnt5 0 6631(3.30.)m 591(@Case)s +220 fnt2 7614 3257(@Ne)m 6(xt)k 240 fnt1 8336 3260(will)m +8760(not)s 0 2972(increment)m 1015(a)s 1181(Roman)s 1930(numeral.)s +240 fnt5 0 2229(3.30.)m 591(@Case)s [ /Dest /LOUTcase /DEST pdfmark -[ /Dest /LOUT19_4262_pre_case_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_case_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_case_2 /DEST pdfmark -240 fnt1 540 6199(The)m -220 fnt2 968 6196(@Case)m 240 fnt1 1755 6199(symbol)m 2515(selects)s +[ /Dest /LOUT19_4263_pre_case_2 /DEST pdfmark +240 fnt1 540 1797(The)m +220 fnt2 968 1794(@Case)m 240 fnt1 1755 1797(symbol)m 2515(selects)s 3202(its)s 3478(result)s 4068(from)s 4592(a)s 4758(list)s 5109(of)s 5380(alternati)s 6(v)k 3(es,)k 6578(depending)s -7629(on)s 7926(a)s 8092(tag:)s 220 fnt2 480 5698(@Da)m 6(y @Case {)k -480 5410( { 1 21 31 } @Y)m 4(ield st)k 480 5122( { 2 22 } @Y)m 4(ield nd)k 480 4834( { 3 23 } @Y)m 4(ield rd)k -480 4546( else @Y)m 4(ield th)k 480 4258(})m 240 fnt1 0 3764(In)m -257(this)s 654(e)s 3(xample)k 1518(the)s 1868(result)s -2459(will)s 2886(be)s 3169(st)s 3390(if)s 220 fnt2 -3608 3761(@Da)m 6(y)k 240 fnt1 4274 3764(is)m 4485(1,)s -4714(21,)s 5062(or)s 5322(31,)s 5670(and)s 6076(nd)s -6375(if)s 220 fnt2 6593 3761(@Da)m 6(y)k 240 fnt1 -7259 3764(is)m 7471(2)s 7646(or)s 7906(22,)s 8254(etc.)s -8698(The)s 0 3476(ef)m 6(fect)k 594(is)s 801(similar)s -1520(to)s 1756(accessing)s 2722(a)s 2885(database,)s 3812(though)s -4532(in)s 4773(a)s 4936(more)s 5480(compact)s 6347(form.)s -6972(The)s 7397(right)s 7905(parameter)s 8916(is)s 0 3188(a)m -171(sequence)s 1109(of)s 220 fnt2 1385 3185(@Y)m 4(ield)k -240 fnt1 2143 3188(symbols,)m 3053(each)s 3553(with)s 4040(a)s -4211(left)s 4594(parameter)s 5613(whose)s 6286(v)s 6(alue)k -6859(is)s 7074(a)s 7245(sequence)s 8183(of)s 8459(one)s -8867(or)s 0 2900(more)m 547(juxtapositions)s 1940(of)s 2211(simple)s -2904(w)s 2(ords,)k 3594(and)s 3998(a)s 4164(right)s -4675(parameter)s 5689(which)s 6331(may)s 6797(be)s 7079(an)s 3(y)k -7476(object.)s 480 2526(W)m 19(e)k 895(\207rst)s 1372(describe)s -2271(the)s 2665(beha)s 4(viour)k 3725(when)s 4347(the)s -4742(v)s 6(alue)k 5356(of)s 5674(the)s 6068(left)s -6492(parameter)s 7552(of)s 220 fnt2 7870 2523(@Case)m 240 fnt1 -8703 2526(is)m 8960(a)s 0 2238(juxtaposition)m 1302(of)s 1568(one)s -1965(or)s 2220(more)s 2762(simple)s 3450(w)s 2(ords.)k -4193(Then)s 4737(the)s 5080(result)s 5666(of)s 5932(the)s -220 fnt2 6275 2235(@Case)m 240 fnt1 7058 2238(is)m 7263(the)s -7606(right)s 8112(parameter)s 0 1950(of)m 287(the)s 652(\207rst)s -220 fnt2 1100 1947(@Y)m 4(ield)k 240 fnt1 1870 1950(whose)m -2554(left)s 2948(parameter)s 3979(contains)s 4844(either)s 5463(the)s -5828(v)s 6(alue)k 6413(of)s 6701(the)s 7065(left)s -7459(parameter)s 8490(of)s 8778(the)s 220 fnt2 0 1659(@Case)m -240 fnt1 727 1662(,)m 834(or)s 1093(the)s 1441(special)s -2159(v)s 6(alue)k 220 fnt2 2727 1659(else)m 240 fnt1 -3121 1662(.)m 3285(If)s 3515(there)s 4048(is)s 4258(no)s -4551(such)s 220 fnt2 5047 1659(@Y)m 4(ield)k 240 fnt1 -5800 1662(it)m 5992(is)s 6202(an)s 6485(error)s 13(.)k -480 1288(When)m 1133(the)s 1506(left)s 1908(parameter)s 2946(of)s -220 fnt2 3242 1285(@Case)m 240 fnt1 4054 1288(is)m 4288(not)s -4679(a)s 4870(juxtaposition)s 6200(of)s 6496(simple)s 7214(w)s 2(ords,)k -7928(the)s 8301(result)s 8916(is)s 0 1000(the)m 350(right)s -864(parameter)s 1881(of)s 2155(the)s 2506(\207rst)s 220 fnt2 -2940 997(@Y)m 4(ield)k 240 fnt1 3696 1000(whose)m 4367(left)s -4746(parameter)s 5763(is)s 220 fnt2 5976 997(else)m 240 fnt1 -6370 1000(,)m 6480(or)s 6742(an)s 7028(error)s 7554(otherwise.)s -8650(This)s 0 712(permits)m 767(e)s 3(xamples)k 1718(lik)s 2(e)k -220 fnt2 480 211(@RunningTitle @Case {)m +7629(on)s 7926(a)s 8092(tag:)s 220 fnt2 480 1296(@Da)m 6(y @Case {)k +480 1008( { 1 21 31 } @Y)m 4(ield st)k 480 720( { 2 22 } @Y)m 4(ield nd)k 480 432( { 3 23 } @Y)m 4(ield rd)k +480 144( else @Y)m 4(ield th)k grestore gsave 1417 -15423 translate @@ -14650,86 +14669,102 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13267 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -220 fnt2 480 13207( dft @Y)m 4(ield @Title)k -480 12919( else @Y)m 4(ield @RunningTitle)k 480 12631(})m 240 fnt1 0 12137(where)m -661(a)s 848(running)s 1667(title)s 2115(is)s 2346(returned)s -3221(unless)s 3892(it)s 4105(has)s 4496(the)s 4866(v)s 6(alue)k -220 fnt2 5455 12134(dft)m 240 fnt1 5776 12137(\(which)m 6519(presumably)s -7710(means)s 8393(that)s 8833(no)s 0 11849(running)m 798(title)s -1224(w)s 2(as)k 1645(supplied\),)s 2642(in)s 2885(which)s -3527(case)s 3994(an)s 4277(ordinary)s 5141(title)s 5567(is)s -5777(returned)s 6631(instead.)s 480 11475(When)m 1126(a)s 1310(recepti)s 6(v)k 3(e)k +220 fnt2 480 13210(})m 240 fnt1 +0 12716(In)m 257(this)s 654(e)s 3(xample)k 1518(the)s +1868(result)s 2459(will)s 2886(be)s 3169(st)s 3390(if)s +220 fnt2 3608 12713(@Da)m 6(y)k 240 fnt1 4274 12716(is)m +4485(1,)s 4714(21,)s 5062(or)s 5322(31,)s 5670(and)s +6076(nd)s 6375(if)s 220 fnt2 6593 12713(@Da)m 6(y)k +240 fnt1 7259 12716(is)m 7471(2)s 7646(or)s 7906(22,)s +8254(etc.)s 8698(The)s 0 12428(ef)m 6(fect)k 594(is)s +801(similar)s 1520(to)s 1756(accessing)s 2722(a)s 2885(database,)s +3812(though)s 4532(in)s 4773(a)s 4936(more)s 5480(compact)s +6347(form.)s 6972(The)s 7397(right)s 7905(parameter)s 8916(is)s +0 12140(a)m 171(sequence)s 1109(of)s 220 fnt2 1385 12137(@Y)m 4(ield)k +240 fnt1 2143 12140(symbols,)m 3053(each)s 3553(with)s 4040(a)s +4211(left)s 4594(parameter)s 5613(whose)s 6286(v)s 6(alue)k +6859(is)s 7074(a)s 7245(sequence)s 8183(of)s 8459(one)s +8867(or)s 0 11852(more)m 547(juxtapositions)s 1940(of)s 2211(simple)s +2904(w)s 2(ords,)k 3594(and)s 3998(a)s 4164(right)s +4675(parameter)s 5689(which)s 6331(may)s 6797(be)s 7079(an)s 3(y)k +7476(object.)s 480 11478(W)m 19(e)k 895(\207rst)s 1372(describe)s +2271(the)s 2665(beha)s 4(viour)k 3725(when)s 4347(the)s +4742(v)s 6(alue)k 5356(of)s 5674(the)s 6068(left)s +6492(parameter)s 7552(of)s 220 fnt2 7870 11475(@Case)m 240 fnt1 +8703 11478(is)m 8960(a)s 0 11190(juxtaposition)m 1302(of)s 1568(one)s +1965(or)s 2220(more)s 2762(simple)s 3450(w)s 2(ords.)k +4193(Then)s 4737(the)s 5080(result)s 5666(of)s 5932(the)s +220 fnt2 6275 11187(@Case)m 240 fnt1 7058 11190(is)m 7263(the)s +7606(right)s 8112(parameter)s 0 10902(of)m 287(the)s 652(\207rst)s +220 fnt2 1100 10899(@Y)m 4(ield)k 240 fnt1 1870 10902(whose)m +2554(left)s 2948(parameter)s 3979(contains)s 4844(either)s 5463(the)s +5828(v)s 6(alue)k 6413(of)s 6701(the)s 7065(left)s +7459(parameter)s 8490(of)s 8778(the)s 220 fnt2 0 10611(@Case)m +240 fnt1 727 10614(,)m 834(or)s 1093(the)s 1441(special)s +2159(v)s 6(alue)k 220 fnt2 2727 10611(else)m 240 fnt1 +3121 10614(.)m 3285(If)s 3515(there)s 4048(is)s 4258(no)s +4551(such)s 220 fnt2 5047 10611(@Y)m 4(ield)k 240 fnt1 +5800 10614(it)m 5992(is)s 6202(an)s 6485(error)s 13(.)k +480 10240(When)m 1133(the)s 1506(left)s 1908(parameter)s 2946(of)s +220 fnt2 3242 10237(@Case)m 240 fnt1 4054 10240(is)m 4288(not)s +4679(a)s 4870(juxtaposition)s 6200(of)s 6496(simple)s 7214(w)s 2(ords,)k +7928(the)s 8301(result)s 8916(is)s 0 9952(the)m 350(right)s +864(parameter)s 1881(of)s 2155(the)s 2506(\207rst)s 220 fnt2 +2940 9949(@Y)m 4(ield)k 240 fnt1 3696 9952(whose)m 4367(left)s +4746(parameter)s 5763(is)s 220 fnt2 5976 9949(else)m 240 fnt1 +6370 9952(,)m 6480(or)s 6742(an)s 7028(error)s 7554(otherwise.)s +8650(This)s 0 9664(permits)m 767(e)s 3(xamples)k 1718(lik)s 2(e)k +220 fnt2 480 9163(@RunningTitle @Case {)m 480 8875( dft @Y)m 4(ield @Title)k 480 8587( else @Y)m 4(ield @RunningTitle)k +480 8299(})m 240 fnt1 0 7805(where)m 661(a)s 848(running)s +1667(title)s 2115(is)s 2346(returned)s 3221(unless)s 3892(it)s +4105(has)s 4496(the)s 4866(v)s 6(alue)k 220 fnt2 +5455 7802(dft)m 240 fnt1 5776 7805(\(which)m 6519(presumably)s 7710(means)s +8393(that)s 8833(no)s 0 7517(running)m 798(title)s 1224(w)s 2(as)k +1645(supplied\),)s 2642(in)s 2885(which)s 3527(case)s 3994(an)s +4277(ordinary)s 5141(title)s 5567(is)s 5777(returned)s 6631(instead.)s +480 7143(When)m 1126(a)s 1310(recepti)s 6(v)k 3(e)k 2250(symbol)s 3028(is)s 3256(placed)s 3955(within)s 4641(a)s -220 fnt2 4825 11472(@Case)m 240 fnt1 5552 11475(,)m 5677(it)s +220 fnt2 4825 7140(@Case)m 240 fnt1 5552 7143(,)m 5677(it)s 5887(should)s 6601(be)s 6901(included)s 7801(in)s 8062(each)s -8575(alter)s 8998(-)s 0 11187(nati)m 6(v)k 3(e,)k +8575(alter)s 8998(-)s 0 6855(nati)m 6(v)k 3(e,)k 695(since)s 1255(otherwise)s 2254(Basser)s 2964(Lout)s 3490(may)s 3969(become)s 4783(confused)s 5718(when)s 6308(trying)s 6945(to)s -7198(predict)s 7934(whether)s 8778(the)s 0 10899(symbol)m 755(will)s +7198(predict)s 7934(whether)s 8778(the)s 0 6567(symbol)m 755(will)s 1176(be)s 1453(a)s 1613(part)s 2039(of)s 2305(the)s 2648(result)s 3232(or)s 3486(not.)s 3951(Alternati)s 6(v)k 3(ely)k 15(,)k 5288(if)s 5500(it)s 5687(can)s 6071(be)s 6347(guaranteed)s 7449(that)s 7862(the)s 8204(recepti)s 6(v)k 3(e)k -0 10611(symbol)m 764(will)s 1195(ne)s 6(v)k 3(er)k +0 6279(symbol)m 764(will)s 1195(ne)s 6(v)k 3(er)k 1782(be)s 2069(searched)s 2967(for)s 3310(when)s 3891(the)s 4244(cases)s 4804(that)s 5226(it)s 5423(does)s 5918(not)s 6289(lie)s 6587(within)s 7260(are)s 7612(selected,)s 8493(that)s -8916(is)s 0 10323(all)m 293(right)s 804(too.)s 240 fnt5 -0 9530(3.31.)m 591(@Moment)s +8916(is)s 0 5991(all)m 293(right)s 804(too.)s 240 fnt5 +0 5198(3.31.)m 591(@Moment)s [ /Dest /LOUTmoment /DEST pdfmark -240 fnt1 480 9098(The)m 908(prede\207ned)s -1976(symbol)s 220 fnt2 2736 9095(@Moment)m -[ /Dest /LOUT19_4262_pre_mome_1 /DEST pdfmark -240 fnt1 3808 9098(has)m +240 fnt1 480 4766(The)m 908(prede\207ned)s +1976(symbol)s 220 fnt2 2736 4763(@Moment)m +[ /Dest /LOUT19_4263_pre_mome_1 /DEST pdfmark +240 fnt1 3808 4766(has)m 4178(the)s 4526(follo)s 6(wing)k 5503(de\207nition:)s 220 fnt2 -480 8597(def @Moment)m 480 8309( named @T)m 26(ag {})k 480 8021( named @Second {})m 480 7733( named @Min)m 2(ute {})k -480 7445( named @Hour {})m 480 7157( named @Da)m 6(y {})k 480 6869( named @Month {})m 480 6581( named @Y)m 30(ear {})k -480 6293( named @Centur)m -6(y {})k 480 6005( named @W)m 6(eekDa)k 6(y {})k -480 5717( named @Y)m 30(earDa)k 6(y {})k 480 5429( named @Da)m 6(ylightSa)k 4(ving {})k -480 5141({})m 240 fnt1 0 4647(It)m 208(may)s 677(be)s +480 4265(def @Moment)m 480 3977( named @T)m 26(ag {})k 480 3689( named @Second {})m 480 3401( named @Min)m 2(ute {})k +480 3113( named @Hour {})m 480 2825( named @Da)m 6(y {})k 480 2537( named @Month {})m 480 2249( named @Y)m 30(ear {})k +480 1961( named @Centur)m -6(y {})k 480 1673( named @W)m 6(eekDa)k 6(y {})k +480 1385( named @Y)m 30(earDa)k 6(y {})k 480 1097( named @Da)m 6(ylightSa)k 4(ving {})k +480 809({})m 240 fnt1 0 315(It)m 208(may)s 677(be)s 962(used)s 1463(lik)s 2(e)k 1878(an)s 3(y)k 2278(other)s 2832(symbol.)s 3705(Lout)s 4220(pro)s 3(vides)k 5095(an)s 5381(in)s 9(v)k 4(ocation)k 6439(of)s -220 fnt2 6713 4644(@Moment)m 240 fnt1 7788 4647(with)m 8273(tag)s -220 fnt2 8622 4644(no)m 3(w)k 240 fnt1 9019 4647(,)m -0 4359(whose)m 668(other)s 1219(parameters)s 2317(are)s 2664(numbers)s -3539(encoding)s 4470(the)s 4818(current)s 5554(date)s 6008(and)s -6412(time:)s 220 fnt2 480 3794(@Second)m 240 fnt1 2482 3797(the)m -2830(current)s 3566(second,)s 4338(usually)s 5083(between)s 5937(00)s -6232(and)s 6636(59)s 220 fnt2 480 3463(@Min)m 2(ute)k -240 fnt1 2482 3466(the)m 2830(current)s 3566(minute,)s 4337(between)s -5191(00)s 5486(and)s 5890(59)s 220 fnt2 480 3153(@Hour)m -240 fnt1 2482 3156(the)m 2830(current)s 3566(hour)s 9(,)k -4103(between)s 4957(00)s 5252(and)s 5656(23)s 220 fnt2 -480 2843(@Da)m 6(y)k 240 fnt1 2482 2846(the)m 2830(current)s -3566(day)s 3966(of)s 4237(the)s 4585(month,)s 5304(between)s -6158(1)s 6313(and)s 6717(31)s 220 fnt2 480 2514(@Month)m -240 fnt1 2482 2517(the)m 2830(current)s 3566(month,)s 4285(between)s -5139(1)s 5294(\(January\))s 6245(and)s 6649(12)s 6943(\(December\))s -220 fnt2 480 2185(@Y)m 30(ear)k 240 fnt1 2482 2188(the)m -2830(current)s 3566(year)s 4037(of)s 4308(the)s 4656(century)s 15(,)k -5465(between)s 6319(00)s 6614(and)s 7018(99)s 220 fnt2 -480 1856(@Centur)m -6(y)k 240 fnt1 2482 1859(the)m 2830(current)s -3566(century)s 15(,)k 4375(e.g.)s 4765(19)s 5056(or)s -5315(20)s 220 fnt2 480 1527(@W)m 6(eekDa)k 6(y)k -240 fnt1 2482 1530(the)m 2830(current)s 3566(day)s 3966(of)s -4237(the)s 4585(week,)s 5197(between)s 6051(1)s 6206(\(Sunday\))s -7132(and)s 7536(7)s 7704(\(Saturday\))s 220 fnt2 480 1196(@Y)m 30(earDa)k 6(y)k -240 fnt1 2482 1199(the)m 2830(current)s 3566(day)s 3966(of)s -4237(the)s 4585(year)s 9(,)k 5094(between)s 5948(0)s -6123(and)s 6527(365)s 220 fnt2 480 867(@Da)m 6(ylightSa)k 4(ving)k -240 fnt1 2482 870(an)m 2784(implementation-dependent)s 5427(number)s 6237(that)s -6675(may)s 7160(encode)s 7914(the)s 8282(daylight)s 2482 582(sa)m 4(ving)k -3156(currently)s 4072(in)s 4315(ef)s 6(fect)k +220 fnt2 6713 312(@Moment)m 240 fnt1 7788 315(with)m 8273(tag)s +220 fnt2 8622 312(no)m 3(w)k 240 fnt1 9019 315(,)m + grestore gsave 1417 -15423 translate -240 fnt1 -0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore @@ -14776,129 +14811,110 @@ gsave 240 fnt6 1417 -1578(3.31.)m 1991(@Moment)s 240 fnt5 10250 -1581(63)m gsave 1417 -15423 translate -240 fnt1 9066 13414 0 13304 240 288 60 LoutGraphic +240 fnt1 9066 13414 0 13305 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore - -[ /Dest /LOUT19_4262_pre_mome_2 /DEST pdfmark -0 13250(Unix)m +0 13251(whose)m +668(other)s 1219(parameters)s 2317(are)s 2664(numbers)s 3539(encoding)s +4470(the)s 4818(current)s 5554(date)s 6008(and)s 6412(time:)s +220 fnt2 480 12686(@Second)m 240 fnt1 2482 12689(the)m 2830(current)s +3566(second,)s 4338(usually)s 5083(between)s 5937(00)s 6232(and)s +6636(59)s 220 fnt2 480 12355(@Min)m 2(ute)k 240 fnt1 +2482 12358(the)m 2830(current)s 3566(minute,)s 4337(between)s 5191(00)s +5486(and)s 5890(59)s 220 fnt2 480 12045(@Hour)m 240 fnt1 +2482 12048(the)m 2830(current)s 3566(hour)s 9(,)k 4103(between)s +4957(00)s 5252(and)s 5656(23)s 220 fnt2 480 11735(@Da)m 6(y)k +240 fnt1 2482 11738(the)m 2830(current)s 3566(day)s 3966(of)s +4237(the)s 4585(month,)s 5304(between)s 6158(1)s 6313(and)s +6717(31)s 220 fnt2 480 11406(@Month)m 240 fnt1 2482 11409(the)m +2830(current)s 3566(month,)s 4285(between)s 5139(1)s 5294(\(January\))s +6245(and)s 6649(12)s 6943(\(December\))s 220 fnt2 480 11077(@Y)m 30(ear)k +240 fnt1 2482 11080(the)m 2830(current)s 3566(year)s 4037(of)s +4308(the)s 4656(century)s 15(,)k 5465(between)s 6319(00)s +6614(and)s 7018(99)s 220 fnt2 480 10748(@Centur)m -6(y)k +240 fnt1 2482 10751(the)m 2830(current)s 3566(century)s 15(,)k +4375(e.g.)s 4765(19)s 5056(or)s 5315(20)s 220 fnt2 +480 10419(@W)m 6(eekDa)k 6(y)k 240 fnt1 2482 10422(the)m +2830(current)s 3566(day)s 3966(of)s 4237(the)s 4585(week,)s +5197(between)s 6051(1)s 6206(\(Sunday\))s 7132(and)s 7536(7)s +7704(\(Saturday\))s 220 fnt2 480 10088(@Y)m 30(earDa)k 6(y)k +240 fnt1 2482 10091(the)m 2830(current)s 3566(day)s 3966(of)s +4237(the)s 4585(year)s 9(,)k 5094(between)s 5948(0)s +6123(and)s 6527(365)s 220 fnt2 480 9759(@Da)m 6(ylightSa)k 4(ving)k +240 fnt1 2482 9762(an)m 2784(implementation-dependent)s 5427(number)s 6237(that)s +6675(may)s 7160(encode)s 7914(the)s 8282(daylight)s 2482 9474(sa)m 4(ving)k +3156(currently)s 4072(in)s 4315(ef)s 6(fect)k +[ /Dest /LOUT19_4263_pre_mome_2 /DEST pdfmark +0 8913(Unix)m 519(manual)s 1262(entries)s 1934(state)s 2411(that)s 220 fnt2 -2814 13247(@Second)m 240 fnt1 3813 13250(can)m 4186(be)s 4453(as)s +2814 8910(@Second)m 240 fnt1 3813 8913(can)m 4186(be)s 4453(as)s 4687(high)s 5155(as)s 5389(61,)s 5720(to)s 5944(allo)s 6(w)k -6507(for)s 6830(leap)s 7265(seconds.)s 8171(Judicious)s 0 12962(use)m +6507(for)s 6830(leap)s 7265(seconds.)s 8171(Judicious)s 0 8625(use)m 375(of)s 646(databases)s 1613(can)s 2002(con)s 9(v)k 3(ert)k 2767(these)s 3314(numbers)s 4189(into)s 4614(useful)s 5253(dates.)s 5908(F)s 3(or)k 6297(e)s 3(xample,)k 220 fnt2 -480 12461(@Moment&&no)m 3(w @Open { @Da)k 6(y {@Months&&@Month}, @Centur)k -6(y{@Y)k 30(ear} })k -240 fnt1 0 11961(produces)m 915(something)s 1965(lik)s 2(e)k -2377(24)s 2671(August,)s 3470(2005)s 3996(gi)s 6(v)k 3(en)k -4576(a)s 4742(suitable)s 5541(database)s 6420(of)s 6691(months.)s -240 fnt5 0 11168(3.32.)m 591(@Null)s +480 8124(@Moment&&no)m 3(w @Open { @Da)k 6(y {@Months&&@Month}, @Centur)k -6(y{@Y)k 30(ear} })k +240 fnt1 0 7624(produces)m 915(something)s 1965(lik)s 2(e)k +2377(25)s 2663(October)s 9(,)k 3531(2006)s 4064(gi)s 6(v)k 3(en)k +4644(a)s 4810(suitable)s 5609(database)s 6488(of)s 6759(months.)s +240 fnt5 0 6831(3.32.)m 591(@Null)s [ /Dest /LOUTnull /DEST pdfmark -240 fnt1 480 10736(This)m +240 fnt1 480 6399(This)m 979(symbol)s -[ /Dest /LOUT19_4262_pre_null_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_null_1 /DEST pdfmark 1762(pro)s 3(vides)k 2657(a)s 2846(con)s 9(v)k 3(enient)k 3967(w)s 2(ay)k 4441(to)s 4703(remo)s 3(v)k 3(e)k 5493(unw)s 2(anted)k 6503(concatenation)s 7911(symbols.)s 8896(If)s -0 10448(there)m 544(is)s 765(a)s 942(concatenation)s 2339(symbol)s -3110(preceding)s 220 fnt2 4117 10445(@Null)m 240 fnt1 4702 10448(,)m -4821(the)s 220 fnt2 5180 10445(@Null)m 240 fnt1 5836 10448(and)m -6252(the)s 6611(concatenation)s 8007(symbol)s 8779(are)s 0 10160(both)m +0 6111(there)m 544(is)s 765(a)s 942(concatenation)s 2339(symbol)s +3110(preceding)s 220 fnt2 4117 6108(@Null)m 240 fnt1 4702 6111(,)m +4821(the)s 220 fnt2 5180 6108(@Null)m 240 fnt1 5836 6111(and)m +6252(the)s 6611(concatenation)s 8007(symbol)s 8779(are)s 0 5823(both)m 482(deleted.)s 1335(Otherwise,)s 2423(if)s 2638(there)s 3170(is)s 3379(a)s 3544(follo)s 6(wing)k 4519(concatenation)s 5903(symbol,)s -6714(it)s 6905(and)s 7307(the)s 220 fnt2 7654 10157(@Null)m -240 fnt1 8298 10160(are)m 8643(both)s 0 9872(deleted.)m 794(Otherwise,)s -220 fnt2 1883 9869(@Null)m 240 fnt1 2528 9872(becomes)m 3416(an)s -3699(empty)s 4351(object.)s 480 9498(These)m 1107(rules)s 1622(apply)s +6714(it)s 6905(and)s 7307(the)s 220 fnt2 7654 5820(@Null)m +240 fnt1 8298 5823(are)m 8643(both)s 0 5535(deleted.)m 794(Otherwise,)s +220 fnt2 1883 5532(@Null)m 240 fnt1 2528 5535(becomes)m 3416(an)s +3699(empty)s 4351(object.)s 480 5161(These)m 1107(rules)s 1622(apply)s 2208(to)s 2447(a)s 2613(fully)s 3118(parenthesized)s 4490(v)s 3(ersion)k 5248(of)s 5519(the)s 5867(e)s 3(xpression.)k 7051(F)s 3(or)k -7440(e)s 3(xample,)k 8354(in)s 220 fnt2 480 8997(...)m 13( //1vx @Null |0.5i ...)k -240 fnt1 0 8542(it)m 202(is)s 423(the)s 782(horizontal)s +7440(e)s 3(xample,)k 8354(in)s 220 fnt2 480 4660(...)m 13( //1vx @Null |0.5i ...)k +240 fnt1 0 4205(it)m 202(is)s 423(the)s 782(horizontal)s 1817(concatenation)s 3213(symbol)s 3984(follo)s 6(wing)k 220 fnt2 -4972 8539(@Null)m 240 fnt1 5628 8542(that)m 6057(disappears,)s 7184(because)s -8008(in)s 8262(the)s 8621(fully)s 0 8254(parenthesized)m 1372(v)s 3(ersion)k -220 fnt2 480 7753(...)m 13( //1vx { @Null |0.5i ...)k 13( })k 240 fnt1 -0 7259(there)m 533(is)s 743(no)s 1036(concatenation)s 2421(symbol)s -3181(preceding)s 4177(the)s 220 fnt2 4525 7256(@Null)m 240 fnt1 -5110 7259(.)m 240 fnt5 0 6466(3.33.)m 591(@Galley)s 1534(and)s +4972 4202(@Null)m 240 fnt1 5628 4205(that)m 6057(disappears,)s 7184(because)s +8008(in)s 8262(the)s 8621(fully)s 0 3917(parenthesized)m 1372(v)s 3(ersion)k +220 fnt2 480 3416(...)m 13( //1vx { @Null |0.5i ...)k 13( })k 240 fnt1 +0 2922(there)m 533(is)s 743(no)s 1036(concatenation)s 2421(symbol)s +3181(preceding)s 4177(the)s 220 fnt2 4525 2919(@Null)m 240 fnt1 +5110 2922(.)m 240 fnt5 0 2129(3.33.)m 591(@Galley)s 1534(and)s 1975(@F)s 6(or)k 4(ceGalley)k [ /Dest /LOUTgalley /DEST pdfmark -240 fnt1 480 5989(These)m +240 fnt1 480 1652(These)m 1131(symbols)s -[ /Dest /LOUT19_4262_pre_gall_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_gall_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_gall_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_gall_2 /DEST pdfmark 2004(both)s 2511(act)s 2874(as)s 3148(a)s 3338(placeholder)s 4538(for)s 4900(a)s 5090(g)s 1(alle)k 3(y)k 15(.)k 5844(That)s 6366(is,)s 6656(the)s 3(y)k 7144(may)s -7634(be)s 7940(replaced)s 8832(by)s 0 5701(components)m 1210(of)s +7634(be)s 7940(replaced)s 8832(by)s 0 1364(components)m 1210(of)s 1483(a)s 1651(g)s 1(alle)k 3(y)k 15(.)k 2383(In)s 2641(the)s 2991(case)s 3460(of)s 220 fnt2 -3734 5698(@F)m 6(orceGalle)k 4(y)k 240 fnt1 5189 5701(the)m +3734 1361(@F)m 6(orceGalle)k 4(y)k 240 fnt1 5189 1364(the)m 5539(g)s 1(alle)k 3(y)k 6175(will)s 6604(then)s 7075(ha)s 4(v)k 3(e)k 7578(a)s 7746(forcing)s -8492(g)s 1(alle)k 3(y)k 0 5413(ef)m 6(fect)k +8492(g)s 1(alle)k 3(y)k 0 1076(ef)m 6(fect)k 583(at)s 802(this)s 1184(point)s 1723(although)s 2604(it)s 2783(need)s 3280(not)s 3632(be)s 3901(declared)s 4754(using)s -220 fnt2 5313 5410(f)m 6(orce into)k 240 fnt1 6202 5413(.)m +220 fnt2 5313 1073(f)m 6(orce into)k 240 fnt1 6202 1076(.)m 6353(See)s 6740(Section)s 7501(2.7)s 7835(for)s 8160(a)s -8312(detailed)s 0 5125(discussion)m 1054(of)s 1325(g)s 1(alle)k 3(ys,)k +8312(detailed)s 0 788(discussion)m 1054(of)s 1325(g)s 1(alle)k 3(ys,)k 2105(forcing)s 2848(g)s 1(alle)k 3(ys,)k 3628(and)s -4032(tar)s 4(gets.)k 240 fnt5 0 4332(3.34.)m 591(@BeginHeaderComponent,)s -3466(@EndHeaderComponent,)s 6182(@SetHeaderComponent,)s 591 4044(and)m 1032(@ClearHeaderComponent)s -[ /Dest /LOUTheader_comp /DEST pdfmark -240 fnt1 -480 3567(Informally)m 15(,)k 1597(header)s 2298(components)s 3510(are)s -3861(running)s 4663(headers)s 5448(that)s 5871(appear)s 6572(at)s -6808(the)s -[ /Dest /LOUT19_4262_pre_head_1 /DEST pdfmark -7160(top)s 7523(of)s 7798(the)s 8151(displayed)s -0 3279(se)m 3(gments)k 936(of)s 1204(g)s 1(alle)k 3(ys.)k -2039(The)s 3(y)k 2579(are)s 2923(used,)s 3467(for)s -3802(e)s 3(xample,)k 4714(by)s 5005(the)s 220 fnt2 -5350 3276(@Tb)m 4(l)k 240 fnt1 5917 3279(table)m 6434(formatting)s -7493(package)s 8330(to)s 8566(place)s 0 2991(running)m 798(headers)s -1579(at)s 1811(the)s 2159(top)s 2518(of)s 2789(each)s -3284(page)s 3792(of)s 4063(a)s 4229(multi-page)s 5320(table,)s -5891(after)s 6387(the)s 6735(\207rst)s 7166(page.)s 480 2617(F)m 3(ormally)k 15(,)k -1431(a)s 1583(header)s 2266(component)s 3376(of)s 3633(a)s -3785(g)s 1(alle)k 3(y)k 4405(is)s 4601(an)s -4870(ordinary)s 5720(component)s 6830(of)s 7087(a)s 7239(g)s 1(alle)k 3(y)k -7859(\(Section)s 8698(2.7\))s 0 2329(together)m 845(with)s 1330(an)s -1616(indication)s 2631(that)s 3052(the)s 3403(component)s 4530(is)s -4742(a)s 4911(header)s 5611(component.)s 6841(When)s 7473(printed,)s -8260(a)s 8429(header)s 0 2041(component)m 1125(looks)s 1696(e)s 3(xactly)k -2438(lik)s 2(e)k 2851(it)s 3045(w)s 2(ould)k -3701(ha)s 4(v)k 3(e)k 4203(done)s 4726(as)s -4977(an)s 5262(ordinary)s 6127(component;)s 7304(the)s 7653(dif)s 6(ference)k -8671(is)s 8883(in)s 0 1753(whether)m 830(the)s 1178(component)s -2302(is)s 2512(printed)s 3247(at)s 3479(all,)s 3824(and)s -4228(if)s 4445(so)s 4711(where.)s 480 1379(Ev)m 3(ery)k -1109(non-header)s 2253(component)s 3384(of)s 3663(e)s 6(v)k 3(ery)k -4246(g)s 1(alle)k 3(y)k 4888(has)s 5266(associated)s -6313(with)s 6803(it)s 7002(a)s 7176(sequence)s 8116(of)s -8395(zero)s 8867(or)s 0 1091(more)m 553(header)s 1257(components.)s -2585(Whene)s 6(v)k 3(er)k 3625(a)s 3798(g)s 1(alle)k 3(y)k -4439(attaches)s 5266(to)s 5511(a)s 5684(tar)s 4(get,)k -6337(and)s 6748(the)s 7102(tar)s 4(get)k 7708(does)s -8205(not)s 8578(itself)s 0 803(occup)m 2(y)k 736(an)s -1010(entire)s 1601(component)s 2716(of)s 2979(the)s 3318(enclosing)s -4280(g)s 1(alle)k 3(y)k 15(,)k 4943(copies)s -5597(of)s 5859(the)s 6199(header)s 6887(components)s 8086(associated)s -0 515(with)m 482(the)s 830(\207rst)s 1261(ordinary)s 2125(component)s -3249(to)s 3488(be)s 3770(promoted)s 4745(into)s 5170(that)s -5588(tar)s 4(get)k 6187(are)s 6534(promoted)s 7509(into)s -7934(it)s 8126(\207rst.)s 480 141(The)m 914(condition)s 1881(`and)s -2370(the)s 2724(tar)s 4(get)k 3329(does)s 3825(not)s -4197(itself)s 4751(occup)s 2(y)k 5501(an)s 5790(entire)s -6395(component)s 7525(of)s 7802(the)s 8156(enclosing)s +4032(tar)s 4(gets.)k grestore gsave 1417 -15423 translate -240 fnt1 -0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore @@ -14917,8 +14933,8 @@ showpage %%PageResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic -%%+ font Symbol %%+ font Helvetica +%%+ font Symbol /pgsave save def %%IncludeResource: font Times-Roman /Times-Romanfnt1 vec2 /Times-Roman LoutRecode @@ -14929,11 +14945,11 @@ showpage %%IncludeResource: font Times-Italic /Times-Italicfnt6 vec2 /Times-Italic LoutRecode /fnt6 { /Times-Italicfnt6 LoutFont } def -%%IncludeResource: font Symbol -/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica /Helveticafnt2 vec2 /Helvetica LoutRecode /fnt2 { /Helveticafnt2 LoutFont } def +%%IncludeResource: font Symbol +/fnt4 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave @@ -14949,136 +14965,145 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -0 13205(g)m 1(alle)k 3(y')k +240 fnt5 0 13203(3.34.)m 591(@BeginHeaderComponent,)s +3466(@EndHeaderComponent,)s 6182(@SetHeaderComponent,)s 591 12915(and)m 1032(@ClearHeaderComponent)s +[ /Dest /LOUTheader_comp /DEST pdfmark +240 fnt1 +480 12438(Informally)m 15(,)k 1597(header)s 2298(components)s 3510(are)s +3861(running)s 4663(headers)s 5448(that)s 5871(appear)s 6572(at)s +6808(the)s +[ /Dest /LOUT19_4263_pre_head_1 /DEST pdfmark +7160(top)s 7523(of)s 7798(the)s 8151(displayed)s +0 12150(se)m 3(gments)k 936(of)s 1204(g)s 1(alle)k 3(ys.)k +2039(The)s 3(y)k 2579(are)s 2923(used,)s 3467(for)s +3802(e)s 3(xample,)k 4714(by)s 5005(the)s 220 fnt2 +5350 12147(@Tb)m 4(l)k 240 fnt1 5917 12150(table)m 6434(formatting)s +7493(package)s 8330(to)s 8566(place)s 0 11862(running)m 798(headers)s +1579(at)s 1811(the)s 2159(top)s 2518(of)s 2789(each)s +3284(page)s 3792(of)s 4063(a)s 4229(multi-page)s 5320(table,)s +5891(after)s 6387(the)s 6735(\207rst)s 7166(page.)s 480 11488(F)m 3(ormally)k 15(,)k +1431(a)s 1583(header)s 2266(component)s 3376(of)s 3633(a)s +3785(g)s 1(alle)k 3(y)k 4405(is)s 4601(an)s +4870(ordinary)s 5720(component)s 6830(of)s 7087(a)s 7239(g)s 1(alle)k 3(y)k +7859(\(Section)s 8698(2.7\))s 0 11200(together)m 845(with)s 1330(an)s +1616(indication)s 2631(that)s 3052(the)s 3403(component)s 4530(is)s +4742(a)s 4911(header)s 5611(component.)s 6841(When)s 7473(printed,)s +8260(a)s 8429(header)s 0 10912(component)m 1125(looks)s 1696(e)s 3(xactly)k +2438(lik)s 2(e)k 2851(it)s 3045(w)s 2(ould)k +3701(ha)s 4(v)k 3(e)k 4203(done)s 4726(as)s +4977(an)s 5262(ordinary)s 6127(component;)s 7304(the)s 7653(dif)s 6(ference)k +8671(is)s 8883(in)s 0 10624(whether)m 830(the)s 1178(component)s +2302(is)s 2512(printed)s 3247(at)s 3479(all,)s 3824(and)s +4228(if)s 4445(so)s 4711(where.)s 480 10250(Ev)m 3(ery)k +1109(non-header)s 2253(component)s 3384(of)s 3663(e)s 6(v)k 3(ery)k +4246(g)s 1(alle)k 3(y)k 4888(has)s 5266(associated)s +6313(with)s 6803(it)s 7002(a)s 7176(sequence)s 8116(of)s +8395(zero)s 8867(or)s 0 9962(more)m 553(header)s 1257(components.)s +2585(Whene)s 6(v)k 3(er)k 3625(a)s 3798(g)s 1(alle)k 3(y)k +4439(attaches)s 5266(to)s 5511(a)s 5684(tar)s 4(get,)k +6337(and)s 6748(the)s 7102(tar)s 4(get)k 7708(does)s +8205(not)s 8578(itself)s 0 9674(occup)m 2(y)k 736(an)s +1010(entire)s 1601(component)s 2716(of)s 2979(the)s 3318(enclosing)s +4280(g)s 1(alle)k 3(y)k 15(,)k 4943(copies)s +5597(of)s 5859(the)s 6199(header)s 6887(components)s 8086(associated)s +0 9386(with)m 482(the)s 830(\207rst)s 1261(ordinary)s 2125(component)s +3249(to)s 3488(be)s 3770(promoted)s 4745(into)s 5170(that)s +5588(tar)s 4(get)k 6187(are)s 6534(promoted)s 7509(into)s +7934(it)s 8126(\207rst.)s 480 9012(The)m 914(condition)s 1881(`and)s +2370(the)s 2724(tar)s 4(get)k 3329(does)s 3825(not)s +4197(itself)s 4751(occup)s 2(y)k 5501(an)s 5790(entire)s +6395(component)s 7525(of)s 7802(the)s 8156(enclosing)s 0 8724(g)m 1(alle)k 3(y')k 704(ensures)s 1484(that,)s 1961(for)s 2311(e)s 3(xample,)k 3237(when)s 3825(part)s 4268(of)s 4551(a)s 4729(section)s 5475(has)s 5857(header)s 6566(components,)s 7842(these)s 8401(are)s -8760(not)s 0 12917(printed)m 739(where)s 1384(the)s 1736(section)s +8760(not)s 0 8436(printed)m 739(where)s 1384(the)s 1736(section)s 2475(is)s 2689(promoted)s 3669(into)s 4098(its)s 4379(chapter)s 9(,)k 5184(b)s 4(ut)k 5551(rather)s 6171(where)s 6816(the)s -7168(chapter)s 7936(is)s 8151(promoted)s 0 12629(onto)m 481(pages.)s +7168(chapter)s 7936(is)s 8151(promoted)s 0 8148(onto)m 481(pages.)s 1193(If)s 1426(the)s 1777(tar)s 4(get)k 2379(occupies)s 3269(the)s 3620(whole)s 4264(component,)s 5438(then)s 5910(the)s 6260(incoming)s 7220(g)s 1(alle)k 3(y)k 7857(will)s -8286(not)s 8655(split)s 0 12341(at)m 232(all,)s 577(so)s +8286(not)s 8655(split)s 0 7860(at)m 232(all,)s 577(so)s 843(headers)s 1624(w)s 2(ould)k 2279(be)s 2561(of)s -2832(no)s 3125(interest)s 3887(there.)s 480 11967(The)m 896(one)s +2832(no)s 3125(interest)s 3887(there.)s 480 7486(The)m 896(one)s 1286(remaining)s 2295(question)s 3151(is)s 3348(`Ho)s 6(w)k 3929(is)s 4126(the)s 4462(sequence)s 5383(of)s 5641(header)s -6326(components)s 7521(of)s 7780(each)s 8262(ordinary)s 0 11679(component)m +6326(components)s 7521(of)s 7780(each)s 8262(ordinary)s 0 7198(component)m 1124(determined?')s 2477(By)s 2812(def)s 2(ault,)k 3580(the)s 3928(header)s 4626(components)s 5834(of)s 6106(one)s 6508(component)s -7632(are)s 7980(the)s 8328(same)s 8876(as)s 0 11391(those)m +7632(are)s 7980(the)s 8328(same)s 8876(as)s 0 6910(those)m 561(of)s 832(the)s 1180(pre)s 6(vious)k 2049(component.)s 3277(W)s 19(e)k 3646(can)s 4035(sho)s 6(w)k 4589(this)s 4985(graphically)s 6114(as)s 6364(follo)s 6(ws:)k -240 fnt6 480 10892(C)m 167 fnt6 645 10805(i)m 240 fnt4 -773 10884(:)m 240 fnt6 903 10892(H)m 167 fnt4 1086 10800(1)m -240 fnt4 1163 10884(,)m 240 fnt6 1270 10892(H)m 167 fnt4 -1453 10800(2)m 240 fnt4 1544 10884(,)m 1651(\274)s 1949(,)s -240 fnt6 2056 10892(H)m 167 fnt6 2239 10805(n)m 240 fnt6 -480 10604(/)m 480 10316(C)m 167 fnt6 645 10229(i)m 167 fnt4 -711 10224(+)m 823(1)s 240 fnt4 972 10308(:)m 240 fnt6 -1102 10316(H)m 167 fnt4 1285 10224(1)m 240 fnt4 1362 10308(,)m -240 fnt6 1469 10316(H)m 167 fnt4 1652 10224(2)m 240 fnt4 -1743 10308(,)m 1850(\274)s 2148(,)s 240 fnt6 2255 10316(H)m -167 fnt6 2438 10229(n)m 240 fnt1 0 9773(which)m 642(may)s +240 fnt6 480 6411(C)m 167 fnt6 645 6324(i)m 240 fnt4 +773 6403(:)m 240 fnt6 903 6411(H)m 167 fnt4 1086 6319(1)m +240 fnt4 1163 6403(,)m 240 fnt6 1270 6411(H)m 167 fnt4 +1453 6319(2)m 240 fnt4 1544 6403(,)m 1651(\274)s 1949(,)s +240 fnt6 2056 6411(H)m 167 fnt6 2239 6324(n)m 240 fnt6 +480 6123(/)m 480 5835(C)m 167 fnt6 645 5748(i)m 167 fnt4 +711 5743(+)m 823(1)s 240 fnt4 972 5827(:)m 240 fnt6 +1102 5835(H)m 167 fnt4 1285 5743(1)m 240 fnt4 1362 5827(,)m +240 fnt6 1469 5835(H)m 167 fnt4 1652 5743(2)m 240 fnt4 +1743 5827(,)m 1850(\274)s 2148(,)s 240 fnt6 2255 5835(H)m +167 fnt6 2438 5748(n)m 240 fnt1 0 5292(which)m 642(may)s 1109(be)s 1391(read:)s 1909(`If)s 2218(ordinary)s 3083(component)s -240 fnt6 4208 9775(C)m 167 fnt6 4373 9719(i)m 240 fnt1 -4477 9773(has)m 4848(header)s 5545(component)s 6670(sequence)s 240 fnt6 -7604 9775(H)m 167 fnt4 7787 9715(1)m 240 fnt4 7864 9767(,)m -240 fnt6 7971 9775(H)m 167 fnt4 8154 9714(2)m 240 fnt4 -8245 9767(,)m 8352(\274)s 8650(,)s 240 fnt6 8757 9775(H)m -167 fnt6 8940 9720(n)m 240 fnt1 9019 9773(,)m 0 9485(then)m -468(its)s 743(successor)s 1718(component)s 240 fnt6 2841 9487(C)m -167 fnt6 3006 9431(i)m 167 fnt4 3072 9426(+)m 3184(1)s -240 fnt1 3308 9485(has)m 3677(header)s 4373(component)s 5496(sequence)s -240 fnt6 6428 9487(H)m 167 fnt4 6611 9427(1)m 240 fnt4 -6688 9479(,)m 240 fnt6 6795 9487(H)m 167 fnt4 6978 9426(2)m -240 fnt4 7069 9479(,)m 7176(\274)s 7474(,)s 240 fnt6 -7581 9487(H)m 167 fnt6 7764 9432(n)m 240 fnt1 7902 9485(also.)m 16(')k -8501(Using)s 0 9197(this)m 396(notation,)s 1287(we)s 1622(may)s +240 fnt6 4208 5294(C)m 167 fnt6 4373 5238(i)m 240 fnt1 +4477 5292(has)m 4848(header)s 5545(component)s 6670(sequence)s 240 fnt6 +7604 5294(H)m 167 fnt4 7787 5234(1)m 240 fnt4 7864 5286(,)m +240 fnt6 7971 5294(H)m 167 fnt4 8154 5233(2)m 240 fnt4 +8245 5286(,)m 8352(\274)s 8650(,)s 240 fnt6 8757 5294(H)m +167 fnt6 8940 5239(n)m 240 fnt1 9019 5292(,)m 0 5004(then)m +468(its)s 743(successor)s 1718(component)s 240 fnt6 2841 5006(C)m +167 fnt6 3006 4950(i)m 167 fnt4 3072 4945(+)m 3184(1)s +240 fnt1 3308 5004(has)m 3677(header)s 4373(component)s 5496(sequence)s +240 fnt6 6428 5006(H)m 167 fnt4 6611 4946(1)m 240 fnt4 +6688 4998(,)m 240 fnt6 6795 5006(H)m 167 fnt4 6978 4945(2)m +240 fnt4 7069 4998(,)m 7176(\274)s 7474(,)s 240 fnt6 +7581 5006(H)m 167 fnt6 7764 4951(n)m 240 fnt1 7902 5004(also.)m 16(')k +8501(Using)s 0 4716(this)m 396(notation,)s 1287(we)s 1622(may)s 2088(no)s 6(w)k 2549(de\207ne)s 3190(the)s 3538(four)s 3996(symbols)s 4845(that)s 5263(af)s 6(fect)k 5859(header)s -6556(component)s 7680(sequences:)s 240 fnt6 480 8698(C)m 167 fnt6 -645 8611(i)m 240 fnt4 773 8690(:)m 240 fnt6 903 8698(H)m -167 fnt4 1086 8606(1)m 240 fnt4 1163 8690(,)m 240 fnt6 -1270 8698(H)m 167 fnt4 1453 8606(2)m 240 fnt4 1544 8690(,)m -1651(\274)s 1949(,)s 240 fnt6 2056 8698(H)m 167 fnt6 -2239 8611(n)m 240 fnt6 480 8410(/)m 480 8122(gap)m 220 fnt2 -905 8117(@BeginHeaderComponent)m 240 fnt6 3609 8122(H)m 167 fnt6 3792 8035(n)m -167 fnt4 3893 8030(+)m 4005(1)s 240 fnt6 480 7834(/)m -480 7546(C)m 167 fnt6 645 7459(i)m 167 fnt4 711 7454(+)m -823(1)s 240 fnt4 972 7538(:)m 240 fnt6 1102 7546(H)m -167 fnt4 1285 7454(1)m 240 fnt4 1362 7538(,)m 240 fnt6 -1469 7546(H)m 167 fnt4 1652 7454(2)m 240 fnt4 1743 7538(,)m -1850(\274)s 2148(,)s 240 fnt6 2255 7546(H)m 167 fnt6 -2438 7459(n)m 240 fnt4 2529 7538(,)m 240 fnt6 2636 7546(H)m -167 fnt6 2819 7459(n)m 167 fnt4 2920 7454(+)m 3032(1)s -240 fnt1 0 7003(That)m 478(is,)s 220 fnt2 723 7000(@BeginHeaderComponent)m -240 fnt1 3394 7003(occup)m 2(ying)k 4422(an)s 4684(entire)s - -[ /Dest /LOUT19_4262_pre_head_2 /DEST pdfmark +6556(component)s 7680(sequences:)s 240 fnt6 480 4217(C)m 167 fnt6 +645 4130(i)m 240 fnt4 773 4209(:)m 240 fnt6 903 4217(H)m +167 fnt4 1086 4125(1)m 240 fnt4 1163 4209(,)m 240 fnt6 +1270 4217(H)m 167 fnt4 1453 4125(2)m 240 fnt4 1544 4209(,)m +1651(\274)s 1949(,)s 240 fnt6 2056 4217(H)m 167 fnt6 +2239 4130(n)m 240 fnt6 480 3929(/)m 480 3641(gap)m 220 fnt2 +905 3636(@BeginHeaderComponent)m 240 fnt6 3609 3641(H)m 167 fnt6 3792 3554(n)m +167 fnt4 3893 3549(+)m 4005(1)s 240 fnt6 480 3353(/)m +480 3065(C)m 167 fnt6 645 2978(i)m 167 fnt4 711 2973(+)m +823(1)s 240 fnt4 972 3057(:)m 240 fnt6 1102 3065(H)m +167 fnt4 1285 2973(1)m 240 fnt4 1362 3057(,)m 240 fnt6 +1469 3065(H)m 167 fnt4 1652 2973(2)m 240 fnt4 1743 3057(,)m +1850(\274)s 2148(,)s 240 fnt6 2255 3065(H)m 167 fnt6 +2438 2978(n)m 240 fnt4 2529 3057(,)m 240 fnt6 2636 3065(H)m +167 fnt6 2819 2978(n)m 167 fnt4 2920 2973(+)m 3032(1)s +240 fnt1 0 2522(That)m 478(is,)s 220 fnt2 723 2519(@BeginHeaderComponent)m +240 fnt1 3394 2522(occup)m 2(ying)k 4422(an)s 4684(entire)s + +[ /Dest /LOUT19_4263_pre_head_2 /DEST pdfmark 5263(component)s 6366(appends)s 7181(a)s 7326(header)s 8002(component)s -0 6715(to)m 255(the)s 619(sequence)s 1568(of)s 1856(the)s +0 2234(to)m 255(the)s 619(sequence)s 1568(of)s 1856(the)s 2220(follo)s 6(wing)k 3213(ordinary)s 4093(components.)s 5431(When)s -6076(printed,)s 6876(this)s 7288(header)s 8002(component)s 0 6427(is)m -217(separated)s 1184(by)s 240 fnt6 1485 6429(gap)m 240 fnt1 -1905 6427(from)m 2436(the)s 2792(follo)s 6(wing)k 3776(component;)s -4959(if)s 240 fnt6 5183 6429(gap)m 240 fnt1 5603 6427(is)m -5820(empty)s 6480(it)s 6679(denotes)s 220 fnt2 7468 6424(0ie)m -240 fnt1 7819 6427(as)m 8076(usual)s 8644(with)s 0 6139(concatenation)m +6076(printed,)s 6876(this)s 7288(header)s 8002(component)s 0 1946(is)m +217(separated)s 1184(by)s 240 fnt6 1485 1948(gap)m 240 fnt1 +1905 1946(from)m 2436(the)s 2792(follo)s 6(wing)k 3776(component;)s +4959(if)s 240 fnt6 5183 1948(gap)m 240 fnt1 5603 1946(is)m +5820(empty)s 6480(it)s 6679(denotes)s 220 fnt2 7468 1943(0ie)m +240 fnt1 7819 1946(as)m 8076(usual)s 8644(with)s 0 1658(concatenation)m 1391(g)s 1(aps.)k 2000(The)s 2434(appearance)s 3572(of)s 3850(the)s 4204(header)s 4908(component)s 6039(will)s 6471(be)s 6760(e)s 3(xactly)k 7508(as)s 7764(it)s 7963(w)s 2(ould)k -8625(ha)s 4(v)k 3(e)k 0 5851(been)m 509(had)s +8625(ha)s 4(v)k 3(e)k 0 1370(been)m 509(had)s 913(it)s 1105(occurred)s 1999(alone)s 2573(at)s 2805(that)s 3223(point,)s 3822(rather)s 4438(than)s 4907(after)s 220 fnt2 -5403 5848(@BeginHeaderComponent)m 240 fnt1 8035 5851(.)m 480 5477(Ne)m 3(xt)k -1002(comes)s 220 fnt2 1664 5474(@EndHeaderComponent)m 240 fnt1 4126 5477(:)m -240 fnt6 480 4982(C)m 167 fnt6 645 4895(i)m 240 fnt4 -773 4974(:)m 240 fnt6 903 4982(H)m 167 fnt4 1086 4890(1)m -240 fnt4 1163 4974(,)m 240 fnt6 1270 4982(H)m 167 fnt4 -1453 4890(2)m 240 fnt4 1544 4974(,)m 1651(\274)s 1949(,)s -240 fnt6 2056 4982(H)m 167 fnt6 2239 4895(n)m 240 fnt4 -2330 4974(,)m 240 fnt6 2437 4982(H)m 167 fnt6 2620 4895(n)m -167 fnt4 2721 4890(+)m 2833(1)s 240 fnt6 480 4694(/)m -220 fnt2 480 4401(@EndHeaderComponent)m 240 fnt6 480 4118(/)m 480 3830(C)m -167 fnt6 645 3743(i)m 167 fnt4 711 3738(+)m 823(1)s -240 fnt4 972 3822(:)m 240 fnt6 1102 3830(H)m 167 fnt4 -1285 3738(1)m 240 fnt4 1362 3822(,)m 240 fnt6 1469 3830(H)m -167 fnt4 1652 3738(2)m 240 fnt4 1743 3822(,)m 1850(\274)s -2148(,)s 240 fnt6 2255 3830(H)m 167 fnt6 2438 3743(n)m -240 fnt1 0 3287(That)m 520(is,)s 220 fnt2 809 3284(@EndHeaderComponent)m -240 fnt1 3353 3287(\(which)m 4097(has)s 4490(no)s 4805(parameters\))s -6003(occup)s 2(ying)k 7074(an)s -[ /Dest /LOUT19_4262_pre_head_3 /DEST pdfmark -7380(entire)s 8002(component)s -0 2999(deletes)m 722(the)s 1078(last)s 1477(header)s 2182(component.)s -3418(If)s 3656(the)s 4012(sequence)s 4953(is)s 5171(empty)s 15(,)k -5869(a)s 6043(w)s 2(arning)k 6886(message)s 7760(is)s -7978(printed)s 8722(and)s 0 2711(it)m 193(remains)s 1002(empty)s 15(.)k -220 fnt2 1751 2708(@BeginHeaderComponent)m 240 fnt1 4445 2711(and)m 220 fnt2 -4851 2708(@EndHeaderComponent)m 240 fnt1 7375 2711(are)m 7724(naturally)s 8629(used)s -0 2423(in)m 243(matching)s 1186(\(possibly)s 2117(nested\))s 2856(pairs,)s -3427(to)s 3666(introduce)s 4625(and)s 5029(subsequently)s 6333(retract)s -7001(a)s 7167(header)s 7864(component.)s 480 2049(Ne)m 3(xt)k -1002(comes)s 220 fnt2 1664 2046(@SetHeaderComponent)m 240 fnt1 4065 2049(:)m -240 fnt6 480 1554(C)m 167 fnt6 645 1467(i)m 240 fnt4 -773 1546(:)m 240 fnt6 903 1554(H)m 167 fnt4 1086 1462(1)m -240 fnt4 1163 1546(,)m 240 fnt6 1270 1554(H)m 167 fnt4 -1453 1462(2)m 240 fnt4 1544 1546(,)m 1651(\274)s 1949(,)s -240 fnt6 2056 1554(H)m 167 fnt6 2239 1467(n)m 240 fnt6 -480 1266(/)m 480 978(gap)m 220 fnt2 905 973(@SetHeaderComponent)m 240 fnt6 -3378 978(H)m 167 fnt6 3561 891(n)m 167 fnt4 3662 886(+)m -3774(1)s 240 fnt6 480 690(/)m 480 402(C)m 167 fnt6 -645 315(i)m 167 fnt4 711 310(+)m 823(1)s 240 fnt4 -972 394(:)m 240 fnt6 1102 402(H)m 167 fnt6 1285 315(n)m -167 fnt4 1386 310(+)m 1498(1)s +5403 1367(@BeginHeaderComponent)m 240 fnt1 8035 1370(.)m 480 996(Ne)m 3(xt)k +1002(comes)s 220 fnt2 1664 993(@EndHeaderComponent)m 240 fnt1 4126 996(:)m + grestore gsave 1417 -15423 translate @@ -15101,8 +15126,8 @@ showpage %%PageResources: font Times-Roman %%+ font Times-Italic %%+ font Times-Bold -%%+ font Helvetica %%+ font Symbol +%%+ font Helvetica %%+ font Courier /pgsave save def %%IncludeResource: font Times-Roman @@ -15114,11 +15139,11 @@ showpage %%IncludeResource: font Times-Bold /Times-Boldfnt5 vec2 /Times-Bold LoutRecode /fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Symbol +/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica /Helveticafnt2 vec2 /Helvetica LoutRecode /fnt2 { /Helveticafnt2 LoutFont } def -%%IncludeResource: font Symbol -/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Courier /Courierfnt9 vec2 /Courier LoutRecode /fnt9 { /Courierfnt9 LoutFont } def @@ -15137,116 +15162,115 @@ gsave 1991(@Be)s 9(ginHeaderComponent,)k 4778(@EndHeaderComponent,)s 7402(@SetHeaderComponent,)s 1991 -1868(and)m 2417(@ClearHeaderComponent)s 240 fnt5 10250 -1583(65)m gsave 1417 -15423 translate -240 fnt1 9066 13080 0 12971 240 288 60 LoutGraphic +240 fnt1 9066 13080 0 12973 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -220 fnt2 -0 12914(@SetHeaderComponent)m 240 fnt1 2461 12917(clears)m 3068(an)s 3(y)k -3465(current)s 4201(header)s 4898(components)s -[ /Dest /LOUT19_4262_pre_head_4 /DEST pdfmark -6107(and)s 6511(replaces)s -7344(them)s 7882(by)s 8176(one)s 8578(of)s 8850(its)s -0 12629(o)m 6(wn.)k 571(Finally)s 1302(we)s 1637(ha)s 4(v)k 3(e)k -220 fnt2 2138 12626(@ClearHeaderComponent)m 240 fnt1 4733 12629(:)m 240 fnt6 -480 12130(C)m 167 fnt6 645 12043(i)m 240 fnt4 773 12122(:)m -240 fnt6 903 12130(H)m 167 fnt4 1086 12038(1)m 240 fnt4 -1163 12122(,)m 240 fnt6 1270 12130(H)m 167 fnt4 1453 12038(2)m -240 fnt4 1544 12122(,)m 1651(\274)s 1949(,)s 240 fnt6 -2056 12130(H)m 167 fnt6 2239 12043(n)m 240 fnt6 480 11842(/)m -220 fnt2 480 11549(@ClearHeaderComponent)m 240 fnt6 480 11266(/)m 480 10978(C)m -167 fnt6 645 10891(i)m 167 fnt4 711 10886(+)m 823(1)s -240 fnt4 972 10970(:)m 240 fnt1 0 10435(This)m 466(symbol)s +240 fnt6 +480 12921(C)m 167 fnt6 645 12834(i)m 240 fnt4 773 12913(:)m +240 fnt6 903 12921(H)m 167 fnt4 1086 12829(1)m 240 fnt4 +1163 12913(,)m 240 fnt6 1270 12921(H)m 167 fnt4 1453 12829(2)m +240 fnt4 1544 12913(,)m 1651(\274)s 1949(,)s 240 fnt6 +2056 12921(H)m 167 fnt6 2239 12834(n)m 240 fnt4 2330 12913(,)m +240 fnt6 2437 12921(H)m 167 fnt6 2620 12834(n)m 167 fnt4 +2721 12829(+)m 2833(1)s 240 fnt6 480 12633(/)m 220 fnt2 +480 12340(@EndHeaderComponent)m 240 fnt6 480 12057(/)m 480 11769(C)m 167 fnt6 +645 11682(i)m 167 fnt4 711 11677(+)m 823(1)s 240 fnt4 +972 11761(:)m 240 fnt6 1102 11769(H)m 167 fnt4 1285 11677(1)m +240 fnt4 1362 11761(,)m 240 fnt6 1469 11769(H)m 167 fnt4 +1652 11677(2)m 240 fnt4 1743 11761(,)m 1850(\274)s 2148(,)s +240 fnt6 2255 11769(H)m 167 fnt6 2438 11682(n)m 240 fnt1 +0 11226(That)m 520(is,)s 220 fnt2 809 11223(@EndHeaderComponent)m 240 fnt1 +3353 11226(\(which)m 4097(has)s 4490(no)s 4805(parameters\))s 6003(occup)s 2(ying)k +7074(an)s +[ /Dest /LOUT19_4263_pre_head_3 /DEST pdfmark +7380(entire)s 8002(component)s 0 10938(deletes)m 722(the)s +1078(last)s 1477(header)s 2182(component.)s 3418(If)s 3656(the)s +4012(sequence)s 4953(is)s 5171(empty)s 15(,)k 5869(a)s +6043(w)s 2(arning)k 6886(message)s 7760(is)s 7978(printed)s +8722(and)s 0 10650(it)m 193(remains)s 1002(empty)s 15(.)k +220 fnt2 1751 10647(@BeginHeaderComponent)m 240 fnt1 4445 10650(and)m 220 fnt2 +4851 10647(@EndHeaderComponent)m 240 fnt1 7375 10650(are)m 7724(naturally)s 8629(used)s +0 10362(in)m 243(matching)s 1186(\(possibly)s 2117(nested\))s 2856(pairs,)s +3427(to)s 3666(introduce)s 4625(and)s 5029(subsequently)s 6333(retract)s +7001(a)s 7167(header)s 7864(component.)s 480 9988(Ne)m 3(xt)k +1002(comes)s 220 fnt2 1664 9985(@SetHeaderComponent)m 240 fnt1 4065 9988(:)m +240 fnt6 480 9493(C)m 167 fnt6 645 9406(i)m 240 fnt4 +773 9485(:)m 240 fnt6 903 9493(H)m 167 fnt4 1086 9401(1)m +240 fnt4 1163 9485(,)m 240 fnt6 1270 9493(H)m 167 fnt4 +1453 9401(2)m 240 fnt4 1544 9485(,)m 1651(\274)s 1949(,)s +240 fnt6 2056 9493(H)m 167 fnt6 2239 9406(n)m 240 fnt6 +480 9205(/)m 480 8917(gap)m 220 fnt2 905 8912(@SetHeaderComponent)m 240 fnt6 +3378 8917(H)m 167 fnt6 3561 8830(n)m 167 fnt4 3662 8825(+)m +3774(1)s 240 fnt6 480 8629(/)m 480 8341(C)m 167 fnt6 +645 8254(i)m 167 fnt4 711 8249(+)m 823(1)s 240 fnt4 +972 8333(:)m 240 fnt6 1102 8341(H)m 167 fnt6 1285 8254(n)m +167 fnt4 1386 8249(+)m 1498(1)s 220 fnt2 0 7795(@SetHeaderComponent)m +240 fnt1 2461 7798(clears)m 3068(an)s 3(y)k 3465(current)s +4201(header)s 4898(components)s +[ /Dest /LOUT19_4263_pre_head_4 /DEST pdfmark +6107(and)s 6511(replaces)s 7344(them)s +7882(by)s 8176(one)s 8578(of)s 8850(its)s 0 7510(o)m 6(wn.)k +571(Finally)s 1302(we)s 1637(ha)s 4(v)k 3(e)k +220 fnt2 2138 7507(@ClearHeaderComponent)m 240 fnt1 4733 7510(:)m 240 fnt6 +480 7011(C)m 167 fnt6 645 6924(i)m 240 fnt4 773 7003(:)m +240 fnt6 903 7011(H)m 167 fnt4 1086 6919(1)m 240 fnt4 +1163 7003(,)m 240 fnt6 1270 7011(H)m 167 fnt4 1453 6919(2)m +240 fnt4 1544 7003(,)m 1651(\274)s 1949(,)s 240 fnt6 +2056 7011(H)m 167 fnt6 2239 6924(n)m 240 fnt6 480 6723(/)m +220 fnt2 480 6430(@ClearHeaderComponent)m 240 fnt6 480 6147(/)m 480 5859(C)m +167 fnt6 645 5772(i)m 167 fnt4 711 5767(+)m 823(1)s +240 fnt4 972 5851(:)m 240 fnt1 0 5316(This)m 466(symbol)s 1216(clears)s 1813(an)s 3(y)k 2200(header)s 2886(components,)s 4140(lea)s 4(ving)k 4883(the)s 5221(sequence)s 6143(empty)s 15(.)k 6880(These)s -[ /Dest /LOUT19_4262_pre_head_5 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_head_5 /DEST pdfmark 7497(last)s 7878(tw)s 2(o)k 8277(symbols)s -0 10147(combine)m 880(less)s 1288(cleanly)s 2031(than)s 2499(the)s +0 5028(combine)m 880(less)s 1288(cleanly)s 2031(than)s 2499(the)s 2846(\207rst)s 3276(tw)s 2(o)k 3685(\(either)s 4366(will)s 4791(wreck)s 5435(an)s 3(y)k 5831(enclosing)s 220 fnt2 -6800 10144(@BeginHeaderCompo)m 9002(-)s 0 9856(nent)m 240 fnt1 491 9859(\211)m -220 fnt2 679 9856(@EndHeaderComponent)m 240 fnt1 3209 9859(pair\),)m 3774(b)s 4(ut)k +6800 5025(@BeginHeaderCompo)m 9002(-)s 0 4737(nent)m 240 fnt1 491 4740(\211)m +220 fnt2 679 4737(@EndHeaderComponent)m 240 fnt1 3209 4740(pair\),)m 3774(b)s 4(ut)k 4145(the)s 3(y)k 4616(are)s 4971(useful)s 5618(in)s 5869(situations)s 6845(where)s 7493(the)s 7849(range)s 8444(of)s -8724(one)s 0 9571(header)m 697(is)s 907(terminated)s 1986(by)s +8724(one)s 0 4452(header)m 697(is)s 907(terminated)s 1986(by)s 2280(the)s 2628(start)s 3098(of)s 3369(the)s 3717(range)s -4304(of)s 4575(the)s 4923(ne)s 3(xt.)k 480 9197(All)m +4304(of)s 4575(the)s 4923(ne)s 3(xt.)k 480 4078(All)m 859(four)s 1337(symbols)s 2206(yield)s 2761(the)s 3129(v)s 6(alue)k -220 fnt2 3717 9194(@Null)m 240 fnt1 4382 9197(where)m 5041(the)s 3(y)k +220 fnt2 3717 4075(@Null)m 240 fnt1 4382 4078(where)m 5041(the)s 3(y)k 5524(appear)s 13(.)k 6332(If)s 6582(the)s 3(y)k 7064(do)s 7377(not)s 7763(occup)s 2(y)k 8527(entire)s -0 8909(components)m 1208(of)s 1479(their)s 1976(g)s 1(alle)k 3(y)k 15(,)k +0 3790(components)m 1208(of)s 1479(their)s 1976(g)s 1(alle)k 3(y)k 15(,)k 2648(the)s 3(y)k 3111(are)s 3458(silently)s 4215(ignored.)s -480 8535(Owing)m 1186(to)s 1426(limitations)s 2499(in)s 2743(the)s +480 3416(Owing)m 1186(to)s 1426(limitations)s 2499(in)s 2743(the)s 3092(w)s 2(ay)k 3544(header)s 4242(components)s 5451(are)s 5799(implemented,)s 7155(the)s 7504(follo)s 6(wing)k 8482(object)s -0 8247(types)m 547(are)s 885(not)s 1242(allo)s 6(wed)k +0 3128(types)m 547(are)s 885(not)s 1242(allo)s 6(wed)k 2042(inside)s 2660(them,)s 3236(and)s 3631(Basser)s 4319(Lout)s 4821(will)s 5238(complain)s 6176(and)s 6571(quit)s 6994(if)s 7202(it)s 7385(\207nds)s 7893(an)s 3(y)k 8281(of)s -8542(them:)s 0 7959(g)m 1(alle)k 3(ys,)k 772(recepti)s 6(v)k 3(e)k +8542(them:)s 0 2840(g)m 1(alle)k 3(ys,)k 772(recepti)s 6(v)k 3(e)k 1686(or)s 1936(recursi)s 6(v)k 3(e)k 2850(symbols,)s -3747(cross)s 4280(references,)s 220 fnt2 5359 7956(@P)m 8(ageLabel)k -240 fnt1 6608 7959(,)m 220 fnt2 6707 7956(@HExpand)m 240 fnt1 -7820 7959(,)m 220 fnt2 7918 7956(@VExpand)m 240 fnt1 9019 7959(,)m -220 fnt2 0 7668(@HCo)m 3(v)k 5(er)k 240 fnt1 -958 7671(,)m 220 fnt2 1091 7668(@VCo)m 3(v)k 5(er)k -240 fnt1 2037 7671(,)m 2171(and)s 220 fnt2 2602 7668(@Scale)m -240 fnt1 3452 7671(when)m 4054(it)s 4273(has)s 4670(an)s +3747(cross)s 4280(references,)s 220 fnt2 5359 2837(@P)m 8(ageLabel)k +240 fnt1 6608 2840(,)m 220 fnt2 6707 2837(@HExpand)m 240 fnt1 +7820 2840(,)m 220 fnt2 7918 2837(@VExpand)m 240 fnt1 9019 2840(,)m +220 fnt2 0 2549(@HCo)m 3(v)k 5(er)k 240 fnt1 +958 2552(,)m 220 fnt2 1091 2549(@VCo)m 3(v)k 5(er)k +240 fnt1 2037 2552(,)m 2171(and)s 220 fnt2 2602 2549(@Scale)m +240 fnt1 3452 2552(when)m 4054(it)s 4273(has)s 4670(an)s 4980(empty)s 5659(left)s 6062(parameter)s 13(.)k 7134(In)s -7417(addition,)s 8335(if)s 8579(more)s 0 7383(than)m 498(three)s +7417(addition,)s 8335(if)s 8579(more)s 0 2264(than)m 498(three)s 1061(copies)s 1753(of)s 2054(the)s 2432(same)s 3008(running)s 3836(header)s 4563(are)s 4940(printed)s 5705(on)s 6031(the)s -6409(same)s 6986(page,)s 7575(their)s 8102(horizontal)s 0 7095(positions)m +6409(same)s 6986(page,)s 7575(their)s 8102(horizontal)s 0 1976(positions)m 919(will)s 1350(become)s 2155(confused,)s 3131(probably)s 4040(resulting)s 4934(in)s 5182(the)s 5535(apparent)s 6422(disappearance)s 7837(of)s -8113(all)s 8411(b)s 4(ut)k 8778(the)s 0 6807(last)m +8113(all)s 8411(b)s 4(ut)k 8778(the)s 0 1688(last)m 402(three)s 947(copies.)s 1733(\(The)s 2252(magic)s 2900(number)s 3703(3)s 3878(can)s 4279(be)s 4572(increased)s 5544(by)s 5849(recompiling)s 7069(the)s 7428(Lout)s 7952(source)s 8644(with)s -0 6519(the)m 220 fnt9 348 6527(MAX_HCOPIES)m 240 fnt1 1860 6519(constant)m -2717(increased.\))s 240 fnt5 0 5736(3.35.)m 591(@NotRe)s 3(v)k 2(ealed)k - -[ /Dest /LOUTnotrevealed /DEST pdfmark -240 fnt1 480 5304(The)m 220 fnt2 938 5301(@NotRe)m 6(v)k 5(ealed)k -240 fnt1 2495 5304(symbol)m -[ /Dest /LOUT19_4262_pre_notr_1 /DEST pdfmark -3285(e)s 3(x)k 3(erts)k -3931(\207ne)s 4376(control)s 5138(o)s 3(v)k 3(er)k -5647(the)s 6026(process)s 6824(of)s 7125(e)s 3(xpanding)k -8204(recepti)s 6(v)k 3(e)k 0 5016(symbols.)m 955(It)s -1152(may)s 1611(appear)s 2300(only)s 2773(within)s 3433(the)s -3774(body)s 4300(of)s 4564(a)s 4722(de\207nition,)s 5739(immediately)s -6979(follo)s 6(wing)k 7949(the)s 8289(name)s 8855(of)s -0 4728(a)m 166(recepti)s 6(v)k 3(e)k 1088(symbol.)s -1957(F)s 3(or)k 2346(e)s 3(xample:)k 220 fnt2 -480 4227(def A { @Galle)m 4(y })k 480 3651(def B { @Galle)m 4(y })k 480 3075(def ABList)m -480 2787({)m 480 2499( A)m 480 2211( // B @NotRe)m 6(v)k 5(ealed)k -480 1923( // ABList)m 480 1635(})m 240 fnt1 0 1141(The)m 424(meaning)s -1297(is)s 1503(that)s 1916(the)s 2260(symbol)s 3016(immediately)s -4259(preceding)s 220 fnt2 5251 1138(@NotRe)m 6(v)k 5(ealed)k -240 fnt1 6718 1141(,)m 220 fnt2 6821 1138(B)m 240 fnt1 -7015 1141(in)m 7253(this)s 7645(e)s 3(xample,)k 8555(is)s -8760(not)s 0 853(re)m 6(v)k 3(ealed)k 851(to)s -1083(g)s 1(alle)k 3(ys)k 1800(which)s 2435(encounter)s -220 fnt2 3431 850(ABList)m 240 fnt1 4113 853(while)m 4693(searching)s -5655(for)s 5986(tar)s 4(gets;)k 6723(to)s 6955(such)s -7444(g)s 1(alle)k 3(ys)k 8161(it)s 8345(appears)s -0 565(that)m 220 fnt2 408 562(ABList)m 240 fnt1 1086 565(contains)m -220 fnt2 1923 562(A)m 240 fnt1 2116 565(only)m 15(,)k -2624(not)s 220 fnt2 2979 562(B)m 240 fnt1 3117 565(,)m -3213(hence)s 3816(only)s 4286(g)s 1(alle)k 3(ys)k -4999(tar)s 4(geted)k 5811(to)s 220 fnt2 6039 562(A)m -240 fnt1 6233 565(will)m 6648(e)s 3(xpand)k 220 fnt2 -7384 562(ABList)m 240 fnt1 8013 565(.)m 8166(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -0 277(after)m 220 fnt2 496 274(ABList)m 240 fnt1 1185 277(is)m -1395(e)s 3(xpanded)k 2368(by)s 2662(such)s 3158(a)s -3324(g)s 1(alle)k 3(y)k 15(,)k 220 fnt2 -3996 274(B)m 240 fnt1 4194 277(will)m 4620(be)s 4902(a)s 4(v)k 6(ailable)k -5810(as)s 6060(a)s 6226(tar)s 4(get)k 6825(in)s -7068(the)s 7416(usual)s 7976(w)s 2(ay)k 15(.)k - +0 1400(the)m 220 fnt9 348 1408(MAX_HCOPIES)m 240 fnt1 1860 1400(constant)m +2717(increased.\))s grestore gsave 1417 -15423 translate @@ -15298,145 +15322,111 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -480 13205(Apart)m 1081(from)s 1602(this)s -1994(meaning,)s 220 fnt2 2922 13202(@NotRe)m 6(v)k 5(ealed)k -240 fnt1 4445 13205(has)m 4812(no)s 5102(ef)s 6(fect)k -5694(at)s 5923(all,)s 6264(and)s 6665(the)s 7010(body)s -7540(of)s 7808(the)s 8152(de\207nition)s 0 12917(may)m 501(be)s -819(understood)s 1976(by)s 2306(deleting)s 220 fnt2 3164 12914(@NotRe)m 6(v)k 5(ealed)k -240 fnt1 4727 12917(and)m 5166(an)s 3(y)k 5599(preceding)s -6630(space.)s 7361(Thus,)s 7982(the)s 8366(symbol)s 0 12629(preceding)m -220 fnt2 1001 12626(@NotRe)m 6(v)k 5(ealed)k 240 fnt1 -2533 12629(may)m 3004(ha)s 4(v)k 3(e)k 3510(named)s +240 fnt5 0 13203(3.35.)m 591(@NotRe)s 3(v)k 2(ealed)k + +[ /Dest /LOUTnotrevealed /DEST pdfmark +240 fnt1 480 12771(The)m 220 fnt2 938 12768(@NotRe)m 6(v)k 5(ealed)k +240 fnt1 2495 12771(symbol)m +[ /Dest /LOUT19_4263_pre_notr_1 /DEST pdfmark +3285(e)s 3(x)k 3(erts)k +3931(\207ne)s 4376(control)s 5138(o)s 3(v)k 3(er)k +5647(the)s 6026(process)s 6824(of)s 7125(e)s 3(xpanding)k +8204(recepti)s 6(v)k 3(e)k 0 12483(symbols.)m 955(It)s +1152(may)s 1611(appear)s 2300(only)s 2773(within)s 3433(the)s +3774(body)s 4300(of)s 4564(a)s 4722(de\207nition,)s 5739(immediately)s +6979(follo)s 6(wing)k 7949(the)s 8289(name)s 8855(of)s +0 12195(a)m 166(recepti)s 6(v)k 3(e)k 1088(symbol.)s +1957(F)s 3(or)k 2346(e)s 3(xample:)k 220 fnt2 +480 11694(def A { @Galle)m 4(y })k 480 11118(def B { @Galle)m 4(y })k 480 10542(def ABList)m +480 10254({)m 480 9966( A)m 480 9678( // B @NotRe)m 6(v)k 5(ealed)k +480 9390( // ABList)m 480 9102(})m 240 fnt1 0 8608(The)m 424(meaning)s +1297(is)s 1503(that)s 1916(the)s 2260(symbol)s 3016(immediately)s +4259(preceding)s 220 fnt2 5251 8605(@NotRe)m 6(v)k 5(ealed)k +240 fnt1 6718 8608(,)m 220 fnt2 6821 8605(B)m 240 fnt1 +7015 8608(in)m 7253(this)s 7645(e)s 3(xample,)k 8555(is)s +8760(not)s 0 8320(re)m 6(v)k 3(ealed)k 851(to)s +1083(g)s 1(alle)k 3(ys)k 1800(which)s 2435(encounter)s +220 fnt2 3431 8317(ABList)m 240 fnt1 4113 8320(while)m 4693(searching)s +5655(for)s 5986(tar)s 4(gets;)k 6723(to)s 6955(such)s +7444(g)s 1(alle)k 3(ys)k 8161(it)s 8345(appears)s +0 8032(that)m 220 fnt2 408 8029(ABList)m 240 fnt1 1086 8032(contains)m +220 fnt2 1923 8029(A)m 240 fnt1 2116 8032(only)m 15(,)k +2624(not)s 220 fnt2 2979 8029(B)m 240 fnt1 3117 8032(,)m +3213(hence)s 3816(only)s 4286(g)s 1(alle)k 3(ys)k +4999(tar)s 4(geted)k 5811(to)s 220 fnt2 6039 8029(A)m +240 fnt1 6233 8032(will)m 6648(e)s 3(xpand)k 220 fnt2 +7384 8029(ABList)m 240 fnt1 8013 8032(.)m 8166(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +0 7744(after)m 220 fnt2 496 7741(ABList)m 240 fnt1 1185 7744(is)m +1395(e)s 3(xpanded)k 2368(by)s 2662(such)s 3158(a)s +3324(g)s 1(alle)k 3(y)k 15(,)k 220 fnt2 +3996 7741(B)m 240 fnt1 4194 7744(will)m 4620(be)s 4902(a)s 4(v)k 6(ailable)k +5810(as)s 6060(a)s 6226(tar)s 4(get)k 6825(in)s +7068(the)s 7416(usual)s 7976(w)s 2(ay)k 15(.)k +480 7370(Apart)m 1081(from)s 1602(this)s 1994(meaning,)s 220 fnt2 +2922 7367(@NotRe)m 6(v)k 5(ealed)k 240 fnt1 4445 7370(has)m +4812(no)s 5102(ef)s 6(fect)k 5694(at)s 5923(all,)s +6264(and)s 6665(the)s 7010(body)s 7540(of)s 7808(the)s +8152(de\207nition)s 0 7082(may)m 501(be)s 819(understood)s 1976(by)s +2306(deleting)s 220 fnt2 3164 7079(@NotRe)m 6(v)k 5(ealed)k +240 fnt1 4727 7082(and)m 5166(an)s 3(y)k 5599(preceding)s +6630(space.)s 7361(Thus,)s 7982(the)s 8366(symbol)s 0 6794(preceding)m +220 fnt2 1001 6791(@NotRe)m 6(v)k 5(ealed)k 240 fnt1 +2533 6794(may)m 3004(ha)s 4(v)k 3(e)k 3510(named)s 4211(and)s 4620(right)s 5136(parameters)s 6239(in)s 6487(the)s 6840(usual)s 7405(w)s 2(ay;)k 7919(these)s 8471(w)s 2(ould)k -0 12341(follo)m 6(w)k 672(after)s 1168(the)s 220 fnt2 -1516 12338(@NotRe)m 6(v)k 5(ealed)k 240 fnt1 3043 12341(symbol.)m -480 11967(This)m 944(symbol)s 1692(w)s 2(as)k 2101(introduced)s +0 6506(follo)m 6(w)k 672(after)s 1168(the)s 220 fnt2 +1516 6503(@NotRe)m 6(v)k 5(ealed)k 240 fnt1 3043 6506(symbol.)m +480 6132(This)m 944(symbol)s 1692(w)s 2(as)k 2101(introduced)s 3169(to)s 3396(o)s 3(v)k 3(ercome)k 4377(a)s 4530(problem)s 5375(with)s 5845(\210oating)s 6616(\207gures)s 7306(treated)s -8001(as)s 8238(displays.)s 0 11679(It)m 205(turned)s 874(out)s +8001(as)s 8238(displays.)s 0 5844(It)m 205(turned)s 874(out)s 1240(to)s 1479(be)s 1761(essential)s 2638(to)s 2877(specify)s 3621(the)s 3969(layout)s 4627(of)s 4898(a)s 5064(column)s -5839(\(in)s 6161(part\))s 6660(as)s 220 fnt2 480 11178(@BodyT)m 26(e)k 6(xtPlace)k -480 10890(// @FigurePlace)m 480 10602(// @BodyT)m 26(e)k 6(xtPlace)k 480 10314(// @FigurePlace)m -480 10026(// @BodyT)m 26(e)k 6(xtPlace)k 480 9738(...)m 240 fnt1 -0 9287(so)m 256(that)s 664(\207gures)s 1356(could)s 1935(alternate)s +5839(\(in)s 6161(part\))s 6660(as)s 220 fnt2 480 5343(@BodyT)m 26(e)k 6(xtPlace)k +480 5055(// @FigurePlace)m 480 4767(// @BodyT)m 26(e)k 6(xtPlace)k 480 4479(// @FigurePlace)m +480 4191(// @BodyT)m 26(e)k 6(xtPlace)k 480 3903(...)m 240 fnt1 +0 3452(so)m 256(that)s 664(\207gures)s 1356(could)s 1935(alternate)s 2802(with)s 3274(body)s 3798(te)s 3(xt)k 4202(do)s 6(wn)k 4776(the)s 5114(column.)s 5986(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k 6935(some)s 7486(means)s 8138(w)s 2(as)k 8548(need)s -8998(-)s 0 8999(ed)m 291(to)s 538(ensure)s 1226(that)s +8998(-)s 0 3164(ed)m 291(to)s 538(ensure)s 1226(that)s 1652(in)s 1903(the)s 2259(absence)s 3080(of)s 3359(an)s 3(y)k 3764(\207gures)s 4474(there)s 5015(could)s 5613(only)s 6101(be)s -6391(one)s 220 fnt2 6801 8996(@BodyT)m 26(e)k 6(xtPlace)k -240 fnt1 8527 8999(in)m 8778(the)s 0 8711(column,)m 831(since)s +6391(one)s 220 fnt2 6801 3161(@BodyT)m 26(e)k 6(xtPlace)k +240 fnt1 8527 3164(in)m 8778(the)s 0 2876(column,)m 831(since)s 1385(otherwise)s 2377(v)s 6(arious)k 3132(problems)s 4080(arose,)s 4698(for)s 5042(e)s 3(xample)k 5912(the)s 220 fnt2 -6267 8708(@NP)m 240 fnt1 6851 8711(symbol)m 7618(merely)s 8342(causing)s -0 8423(a)m 174(skip)s 634(from)s 1167(one)s 220 fnt2 -1577 8420(@BodyT)m 26(e)k 6(xtPlace)k 240 fnt1 3303 8423(to)m +6267 2873(@NP)m 240 fnt1 6851 2876(symbol)m 7618(merely)s 8342(causing)s +0 2588(a)m 174(skip)s 634(from)s 1167(one)s 220 fnt2 +1577 2585(@BodyT)m 26(e)k 6(xtPlace)k 240 fnt1 3303 2588(to)m 3551(the)s 3907(ne)s 3(xt)k 4385(in)s 4636(the)s 4992(same)s 5548(column,)s 6381(rather)s 7006(than)s 7483(to)s -7730(the)s 8087(\207rst)s 8526(in)s 8778(the)s 0 8135(ne)m 3(xt)k +7730(the)s 8087(\207rst)s 8526(in)s 8778(the)s 0 2300(ne)m 3(xt)k 490(column.)s 1394(Also,)s 1974(without)s 2787(this)s 3204(feature)s 3944(the)s 4314(optimal)s 5120(page)s 5650(break)s 2(er')k 13(s)k 6595(attempts)s 7477(to)s 7737(end)s 8163(a)s 8351(column)s -0 7847(early)m 545(w)s 2(ould)k 1214(be)s 1510(frustrated)s +0 2012(early)m 545(w)s 2(ould)k 1214(be)s 1510(frustrated)s 2496(by)s 2805(Lout)s 3331(then)s 3814(disco)s 3(v)k 3(ering)k 4991(that)s 5423(plenty)s 6090(of)s 6375(space)s 6976(e)s 3(xisted)k 7722(at)s 7968(a)s 8149(follo)s 6(wing)k 220 fnt2 -0 7556(@BodyT)m 26(e)k 6(xtPlace)k 240 fnt1 1703 7559(in)m +0 1721(@BodyT)m 26(e)k 6(xtPlace)k 240 fnt1 1703 1724(in)m 1931(the)s 2263(same)s 2795(column.)s 3662(The)s 4074(solution)s -4887(is)s 5082(based)s 5669(on)s 220 fnt2 5951 7556(ABList)m -240 fnt1 6625 7559(abo)m 3(v)k 3(e;)k 7287(each)s -7767(occurrence)s 8855(of)s 220 fnt2 0 7268(@BodyT)m 26(e)k 6(xtPlace)k -240 fnt1 1712 7271(after)m 2201(a)s 220 fnt2 2361 7268(@FigurePlace)m -240 fnt1 3798 7271(is)m 4002(not)s 4361(re)s 6(v)k 3(ealed)k +4887(is)s 5082(based)s 5669(on)s 220 fnt2 5951 1721(ABList)m +240 fnt1 6625 1724(abo)m 3(v)k 3(e;)k 7287(each)s +7767(occurrence)s 8855(of)s 220 fnt2 0 1433(@BodyT)m 26(e)k 6(xtPlace)k +240 fnt1 1712 1436(after)m 2201(a)s 220 fnt2 2361 1433(@FigurePlace)m +240 fnt1 3798 1436(is)m 4002(not)s 4361(re)s 6(v)k 3(ealed)k 5213(in)s 5449(the)s 5791(enclosing)s 6754(de\207nition,)s 7772(and)s -8169(so)s 8428(cannot)s 0 6983(be)m 282(found)s 899(by)s +8169(so)s 8428(cannot)s 0 1148(be)m 282(found)s 899(by)s 1194(body)s 1728(te)s 3(xt)k 2144(g)s 1(alle)k 3(ys)k 2868(unless)s 3517(a)s 3684(\207gure)s 4298(has)s 4669(pre)s 6(viously)k 5727(attached)s 6581(to)s 6821(the)s 7169(preceding)s 220 fnt2 -8166 6980(@Figure)m 9002(-)s 0 6692(Place)m 240 fnt1 540 6695(.)m -240 fnt5 0 5948(3.36.)m 591(The)s 1046(cr)s 4(oss)k -1614(r)s 4(efer)k 4(ence)k 2616(symbols)s 3494(&&)s -3941(and)s 4382(&&&)s -[ /Dest /LOUTcrossref /DEST pdfmark -240 fnt1 480 5471(The)m 941(cross)s -1516(reference)s 2493(symbol)s 220 fnt2 3286 5468(&&)m 240 fnt1 -3668 5471(tak)m 2(es)k 4241(the)s 4623(name)s 5230(of)s -5534(a)s 5734(symbol)s 6527(\(not)s 7006(an)s 7322(object\))s -8068(for)s 8439(its)s 8749(left)s 0 5183(parameter)m 9(,)k -1068(and)s 1489(an)s 1788(object)s 2449(whose)s 3134(v)s 6(alue)k -3718(must)s 4260(be)s 4559(a)s 4741(simple)s 5451(w)s 2(ord,)k -6064(or)s 6340(se)s 6(v)k 3(eral)k 7079(simple)s -7788(w)s 2(ords,)k 8495(for)s 8850(its)s 0 4895(right)m -519(parameter)s 13(.)k 1633(The)s 2069(result)s 2668(is)s -2887(a)s 3061(cross)s 3612(reference,)s 4615(which)s 5265(may)s -5740(be)s 6030(thought)s 6831(of)s 7111(as)s 7369(an)s -7661(arro)s 6(w)k 8275(pointing)s 0 4607(from)m 524(the)s -872(cross)s 1414(reference)s 2357(symbol)s 3117(to)s 3356(the)s -3704(be)s 3(ginning)k 4712(of)s 4983(an)s 5266(in)s 9(v)k 4(ocation)k -6320(of)s 6591(the)s 6939(named)s 7635(symbol.)s 480 4233(The)m -894(in)s 9(v)k 4(ocation)k 1934(pointed)s 2696(to,)s -2975(kno)s 6(wn)k 3665(as)s 3901(the)s 240 fnt6 -4235 4235(tar)m 8(g)k 2(et)k 240 fnt1 4846 4233(of)m -5103(the)s 5437(cross)s 5965(reference,)s 6945(is)s 7141(generally)s -8070(one)s 8458(whose)s 220 fnt2 0 3942(@T)m 26(ag)k -240 fnt1 643 3945(parameter)m 1677(has)s 2067(v)s 6(alue)k -2655(equal)s 3248(to)s 3507(the)s 3875(right)s 4406(parameter)s -5440(of)s 5731(the)s 6099(cross)s 6661(reference)s 7624(symbol.)s -8513(Three)s 0 3657(special)m 759(tags,)s 220 fnt2 1292 3654(preceding)m -240 fnt1 2243 3657(,)m 220 fnt2 2391 3654(f)m 6(ollo)k 3(wing)k -240 fnt1 3221 3657(,)m 3369(and)s 220 fnt2 3814 3654(f)m 6(oll_or_prec)k -240 fnt1 4948 3657(,)m 5097(point)s 5690(respecti)s 6(v)k 3(ely)k -6930(to)s 7210(the)s 7599(\207rst)s 8072(in)s 9(v)k 4(ocation)k -0 3369(preceding)m 1006(the)s 1365(cross)s 1918(reference)s 2872(in)s -3126(the)s 3485(\207nal)s 3976(printed)s 4721(document,)s 5783(to)s -6033(the)s 6392(\207rst)s 6834(in)s 9(v)k 4(ocation)k -7899(follo)s 6(wing)k 8887(it,)s 0 3081(and)m 404(to)s -643(the)s 991(\207rst)s 1422(follo)s 6(wing)k 2399(it)s -2591(if)s 2808(such)s 3304(e)s 3(xists)k 3896(else)s -4323(to)s 4562(the)s 4910(\207rst)s 5341(preceding)s 6337(it.)s -480 2707(A)m 709(cross)s 1249(reference)s 2190(may)s 2654(be)s -2935(used)s 3430(in)s 3671(four)s 4127(w)s 2(ays:)k -4782(where)s 5420(an)s 5701(object)s 6343(is)s 6552(e)s 3(xpected,)k -7504(in)s 7745(which)s 8385(case)s 8850(its)s 0 2419(v)m 6(alue)k -576(is)s 795(a)s 970(cop)s 2(y)k 1497(of)s -1777(the)s 2134(tar)s 4(get;)k 2794(with)s 3285(the)s -220 fnt2 3642 2416(@Open)m 240 fnt1 4457 2419(and)m 220 fnt2 -4870 2416(@Use)m 240 fnt1 5544 2419(symbols;)m 6463(with)s 6954(the)s -220 fnt2 7311 2416(@T)m 26(agged)k 240 fnt1 8309 2419(symbol;)m -0 2131(and)m 414(in)s 667(the)s 220 fnt2 1025 2128(into)m -240 fnt1 1441 2131(clause)m 2105(or)s 220 fnt2 2374 2128(@T)m 26(arget)k -240 fnt1 3271 2131(symbol)m 4041(of)s 4323(a)s 4499(g)s 1(alle)k 3(y)k -5143(de\207nition,)s 6177(in)s 6430(which)s 7083(case)s 7560(the)s -7918(v)s 6(alue)k 8496(of)s 8778(the)s 0 1843(tag)m -345(must)s 870(be)s 220 fnt2 1152 1840(preceding)m 240 fnt1 -2103 1843(,)m 220 fnt2 2210 1840(f)m 6(ollo)k 3(wing)k -240 fnt1 3040 1843(,)m 3147(or)s 220 fnt2 3406 1840(f)m 6(oll_or_prec)k -240 fnt1 4540 1843(.)m 480 1469(W)m 9(ithin)k 1233(an)s -220 fnt2 1557 1466(into)m 240 fnt1 2004 1469(clause)m 2698(or)s -220 fnt2 2999 1466(@T)m 26(arget)k 240 fnt1 3927 1469(symbol,)m -4780(the)s 5169(alternati)s 6(v)k 3(e)k 6265(form)s -220 fnt2 6830 1466(&&&)m 240 fnt1 7365 1469(is)m 7616(acceptable)s -8722(and)s 0 1181(indicates)m 900(a)s 1066(forcing)s 1809(g)s 1(alle)k 3(y)k -2443(\(Section)s 3296(2.7\).)s 480 807(Except)m 1203(within)s 1870(an)s -220 fnt2 2151 804(into)m 240 fnt1 2556 807(clause)m 3208(or)s -220 fnt2 3465 804(@T)m 26(arget)k 240 fnt1 4351 807(symbol,)m -5162(the)s 5508(symbol)s 6267(referred)s 7078(to)s 7315(must)s -7839(ha)s 4(v)k 3(e)k 8339(a)s 220 fnt2 -8503 804(@T)m 26(ag)k 240 fnt1 0 519(parameter)m 13(.)k -1100(This)s 1570(is)s 1775(so)s 2035(e)s 6(v)k 3(en)k -2530(if)s 2741(the)s 3084(right)s 3589(parameter)s 4597(of)s -4863(the)s 5205(cross)s 5742(reference)s 6679(is)s 220 fnt2 -6884 516(preceding)m 240 fnt1 7835 519(,)m 220 fnt2 7936 516(f)m 6(ollo)k 3(wing)k -240 fnt1 8766 519(,)m 8867(or)s 220 fnt2 0 228(f)m 6(oll_or_prec)k -240 fnt1 1134 231(.)m +8166 1145(@Figure)m 9002(-)s 0 857(Place)m 240 fnt1 540 860(.)m + grestore gsave 1417 -15423 translate @@ -15484,130 +15474,164 @@ grestore gsave 0 16840 translate 0.0000 rotate -240 fnt6 1417 -1580(3.37.)m -1991(@T)s 22(a)k 2(g)k 2(g)k 2(ed)k -240 fnt5 10248 -1583(67)m gsave +240 fnt6 1417 -1580(3.36.)m +1991(The)s 2403(cr)s 10(oss)k 2953(r)s 8(efer)k 8(ence)k +3892(symbols)s 4718(&&)s 5137(and)s 5563(&&&)s 240 fnt5 +10248 -1583(67)m gsave 1417 -15423 translate 240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -240 fnt5 0 13203(3.37.)m -591(@T)s 22(agged)k +240 fnt5 0 13203(3.36.)m 591(The)s +1046(cr)s 4(oss)k 1614(r)s 4(efer)k 4(ence)k +2616(symbols)s 3494(&&)s 3941(and)s 4382(&&&)s +[ /Dest /LOUTcrossref /DEST pdfmark +240 fnt1 +480 12726(The)m 941(cross)s 1516(reference)s 2493(symbol)s 220 fnt2 +3286 12723(&&)m 240 fnt1 3668 12726(tak)m 2(es)k 4241(the)s +4623(name)s 5230(of)s 5534(a)s 5734(symbol)s 6527(\(not)s +7006(an)s 7322(object\))s 8068(for)s 8439(its)s 8749(left)s +0 12438(parameter)m 9(,)k 1068(and)s 1489(an)s 1788(object)s +2449(whose)s 3134(v)s 6(alue)k 3718(must)s 4260(be)s +4559(a)s 4741(simple)s 5451(w)s 2(ord,)k 6064(or)s +6340(se)s 6(v)k 3(eral)k 7079(simple)s 7788(w)s 2(ords,)k +8495(for)s 8850(its)s 0 12150(right)m 519(parameter)s 13(.)k +1633(The)s 2069(result)s 2668(is)s 2887(a)s 3061(cross)s +3612(reference,)s 4615(which)s 5265(may)s 5740(be)s 6030(thought)s +6831(of)s 7111(as)s 7369(an)s 7661(arro)s 6(w)k +8275(pointing)s 0 11862(from)m 524(the)s 872(cross)s 1414(reference)s +2357(symbol)s 3117(to)s 3356(the)s 3704(be)s 3(ginning)k +4712(of)s 4983(an)s 5266(in)s 9(v)k 4(ocation)k +6320(of)s 6591(the)s 6939(named)s 7635(symbol.)s 480 11488(The)m +894(in)s 9(v)k 4(ocation)k 1934(pointed)s 2696(to,)s +2975(kno)s 6(wn)k 3665(as)s 3901(the)s 240 fnt6 +4235 11490(tar)m 8(g)k 2(et)k 240 fnt1 4846 11488(of)m +5103(the)s 5437(cross)s 5965(reference,)s 6945(is)s 7141(generally)s +8070(one)s 8458(whose)s 220 fnt2 0 11197(@T)m 26(ag)k +240 fnt1 643 11200(parameter)m 1677(has)s 2067(v)s 6(alue)k +2655(equal)s 3248(to)s 3507(the)s 3875(right)s 4406(parameter)s +5440(of)s 5731(the)s 6099(cross)s 6661(reference)s 7624(symbol.)s +8513(Three)s 0 10912(special)m 759(tags,)s 220 fnt2 1292 10909(preceding)m +240 fnt1 2243 10912(,)m 220 fnt2 2391 10909(f)m 6(ollo)k 3(wing)k +240 fnt1 3221 10912(,)m 3369(and)s 220 fnt2 3814 10909(f)m 6(oll_or_prec)k +240 fnt1 4948 10912(,)m 5097(point)s 5690(respecti)s 6(v)k 3(ely)k +6930(to)s 7210(the)s 7599(\207rst)s 8072(in)s 9(v)k 4(ocation)k +0 10624(preceding)m 1006(the)s 1365(cross)s 1918(reference)s 2872(in)s +3126(the)s 3485(\207nal)s 3976(printed)s 4721(document,)s 5783(to)s +6033(the)s 6392(\207rst)s 6834(in)s 9(v)k 4(ocation)k +7899(follo)s 6(wing)k 8887(it,)s 0 10336(and)m 404(to)s +643(the)s 991(\207rst)s 1422(follo)s 6(wing)k 2399(it)s +2591(if)s 2808(such)s 3304(e)s 3(xists)k 3896(else)s +4323(to)s 4562(the)s 4910(\207rst)s 5341(preceding)s 6337(it.)s +480 9962(A)m 709(cross)s 1249(reference)s 2190(may)s 2654(be)s +2935(used)s 3430(in)s 3671(four)s 4127(w)s 2(ays:)k +4782(where)s 5420(an)s 5701(object)s 6343(is)s 6552(e)s 3(xpected,)k +7504(in)s 7745(which)s 8385(case)s 8850(its)s 0 9674(v)m 6(alue)k +576(is)s 795(a)s 970(cop)s 2(y)k 1497(of)s +1777(the)s 2134(tar)s 4(get;)k 2794(with)s 3285(the)s +220 fnt2 3642 9671(@Open)m 240 fnt1 4457 9674(and)m 220 fnt2 +4870 9671(@Use)m 240 fnt1 5544 9674(symbols;)m 6463(with)s 6954(the)s +220 fnt2 7311 9671(@T)m 26(agged)k 240 fnt1 8309 9674(symbol;)m +0 9386(and)m 414(in)s 667(the)s 220 fnt2 1025 9383(into)m +240 fnt1 1441 9386(clause)m 2105(or)s 220 fnt2 2374 9383(@T)m 26(arget)k +240 fnt1 3271 9386(symbol)m 4041(of)s 4323(a)s 4499(g)s 1(alle)k 3(y)k +5143(de\207nition,)s 6177(in)s 6430(which)s 7083(case)s 7560(the)s +7918(v)s 6(alue)k 8496(of)s 8778(the)s 0 9098(tag)m +345(must)s 870(be)s 220 fnt2 1152 9095(preceding)m 240 fnt1 +2103 9098(,)m 220 fnt2 2210 9095(f)m 6(ollo)k 3(wing)k +240 fnt1 3040 9098(,)m 3147(or)s 220 fnt2 3406 9095(f)m 6(oll_or_prec)k +240 fnt1 4540 9098(.)m 480 8724(W)m 9(ithin)k 1233(an)s +220 fnt2 1557 8721(into)m 240 fnt1 2004 8724(clause)m 2698(or)s +220 fnt2 2999 8721(@T)m 26(arget)k 240 fnt1 3927 8724(symbol,)m +4780(the)s 5169(alternati)s 6(v)k 3(e)k 6265(form)s +220 fnt2 6830 8721(&&&)m 240 fnt1 7365 8724(is)m 7616(acceptable)s +8722(and)s 0 8436(indicates)m 900(a)s 1066(forcing)s 1809(g)s 1(alle)k 3(y)k +2443(\(Section)s 3296(2.7\).)s 480 8062(Except)m 1203(within)s 1870(an)s +220 fnt2 2151 8059(into)m 240 fnt1 2556 8062(clause)m 3208(or)s +220 fnt2 3465 8059(@T)m 26(arget)k 240 fnt1 4351 8062(symbol,)m +5162(the)s 5508(symbol)s 6267(referred)s 7078(to)s 7315(must)s +7839(ha)s 4(v)k 3(e)k 8339(a)s 220 fnt2 +8503 8059(@T)m 26(ag)k 240 fnt1 0 7774(parameter)m 13(.)k +1100(This)s 1570(is)s 1775(so)s 2035(e)s 6(v)k 3(en)k +2530(if)s 2741(the)s 3084(right)s 3589(parameter)s 4597(of)s +4863(the)s 5205(cross)s 5742(reference)s 6679(is)s 220 fnt2 +6884 7771(preceding)m 240 fnt1 7835 7774(,)m 220 fnt2 7936 7771(f)m 6(ollo)k 3(wing)k +240 fnt1 8766 7774(,)m 8867(or)s 220 fnt2 0 7483(f)m 6(oll_or_prec)k +240 fnt1 1134 7486(.)m 240 fnt5 0 6697(3.37.)m 591(@T)s 22(agged)k + [ /Dest /LOUTtagged /DEST pdfmark -240 fnt1 480 12726(The)m 220 fnt2 -924 12723(@T)m 26(agged)k -[ /Dest /LOUT19_4262_pre_tagg_1 /DEST pdfmark -240 fnt1 1929 12726(symbol)m 2705(tak)s 2(es)k -3261(a)s 3444(cross)s 4002(reference)s 4961(for)s 5315(its)s -5607(left)s 6001(parameter)s 7031(and)s 7451(an)s 7750(object,)s -8458(whose)s 0 12438(v)m 6(alue)k 565(must)s 1087(be)s -1366(a)s 1528(juxtaposition)s 2831(of)s 3099(simple)s 3788(w)s 2(ords,)k +240 fnt1 480 6220(The)m 220 fnt2 924 6217(@T)m 26(agged)k + +[ /Dest /LOUT19_4263_pre_tagg_1 /DEST pdfmark +240 fnt1 1929 6220(symbol)m 2705(tak)s 2(es)k 3261(a)s +3444(cross)s 4002(reference)s 4961(for)s 5315(its)s 5607(left)s +6001(parameter)s 7031(and)s 7451(an)s 7750(object,)s 8458(whose)s +0 5932(v)m 6(alue)k 565(must)s 1087(be)s 1366(a)s +1528(juxtaposition)s 2831(of)s 3099(simple)s 3788(w)s 2(ords,)k 4475(or)s 4731(se)s 6(v)k 3(eral)k 5450(w)s 2(ords,)k 6136(or)s 6392(an)s 6672(empty)s 7320(object,)s 8008(for)s -8343(its)s 8615(right)s 0 12150(parameter)m 13(.)k 1104(It)s +8343(its)s 8615(right)s 0 5644(parameter)m 13(.)k 1104(It)s 1307(has)s 1675(the)s 2021(ef)s 6(fect)k 2615(of)s 2885(attaching)s 3812(its)s 4086(right)s 4595(parameter)s 5607(as)s 5856(an)s 6137(additional)s 7146(tag)s 7489(to)s 7726(the)s -8072(in)s 9(v)k 4(ocation)k 0 11862(denoted)m 819(by)s +8072(in)s 9(v)k 4(ocation)k 0 5356(denoted)m 819(by)s 1117(its)s 1397(left)s 1778(parameter)s 9(,)k 2834(unless)s 3487(the)s 3839(right)s 4353(parameter)s 5371(is)s 5585(empty)s 15(,)k -6279(in)s 6526(which)s 7172(case)s 220 fnt2 7643 11859(@T)m 26(agged)k -240 fnt1 8636 11862(does)m 0 11574(nothing.)m 896(The)s 1324(result)s -1914(of)s 220 fnt2 2185 11571(@T)m 26(agged)k 240 fnt1 -3174 11574(is)m 3384(al)s 2(w)k 2(ays)k 220 fnt2 -4095 11571(@Null)m 240 fnt1 4680 11574(,)m 4787(which)s 5429(mak)s 2(es)k +6279(in)s 6526(which)s 7172(case)s 220 fnt2 7643 5353(@T)m 26(agged)k +240 fnt1 8636 5356(does)m 0 5068(nothing.)m 896(The)s 1324(result)s +1914(of)s 220 fnt2 2185 5065(@T)m 26(agged)k 240 fnt1 +3174 5068(is)m 3384(al)s 2(w)k 2(ays)k 220 fnt2 +4095 5065(@Null)m 240 fnt1 4680 5068(,)m 4787(which)s 5429(mak)s 2(es)k 6089(it)s 6281(ef)s 6(fecti)k 6(v)k 3(ely)k -7340(in)s 9(visible.)k 240 fnt5 0 10781(3.38.)m 591(@Open and @Use)s +7340(in)s 9(visible.)k 240 fnt5 0 4275(3.38.)m 591(@Open and @Use)s [ /Dest /LOUTopen /DEST pdfmark -240 fnt1 480 10304(The)m 220 fnt2 904 10301(@Open)m 240 fnt1 -1706 10304(symbol)m -[ /Dest /LOUT19_4262_pre_open_1 /DEST pdfmark +240 fnt1 480 3798(The)m 220 fnt2 904 3795(@Open)m 240 fnt1 +1706 3798(symbol)m +[ /Dest /LOUT19_4263_pre_open_1 /DEST pdfmark 2462(tak)s 2(es)k 2998(a)s 3159(cross)s 3697(reference)s 4636(or)s 4891(symbol)s 5647(in)s 9(v)k 4(ocation)k 6696(for)s 7030(its)s 7302(left)s 7675(parameter)s 9(,)k -8722(and)s 0 10016(an)m 269(arbitrary)s 1130(object,)s 1807(which)s +8722(and)s 0 3510(an)m 269(arbitrary)s 1130(object,)s 1807(which)s 2435(must)s 2946(be)s 3214(enclosed)s 4095(in)s 4324(braces,)s 5027(for)s 5351(its)s 5613(right)s 6110(parameter)s 13(.)k -7201(The)s 7615(right)s 8112(parameter)s 0 9728(may)m 462(refer)s +7201(The)s 7615(right)s 8112(parameter)s 0 3222(may)m 462(refer)s 966(to)s 1201(the)s 1544(e)s 3(xported)k 2432(parameters)s 3525(and)s 3925(nested)s 4589(de\207nitions)s 5646(of)s 5912(the)s 6256(in)s 9(v)k 4(ocation)k 7305(denoted)s 8117(by)s -8406(the)s 8749(left)s 0 9440(parameter)m 9(,)k 1050(and)s +8406(the)s 8749(left)s 0 2934(parameter)m 9(,)k 1050(and)s 1452(its)s 1725(v)s 6(alue)k 2291(is)s 2499(the)s -220 fnt2 2844 9437(@Open)m 240 fnt1 3648 9440(symbol')m 13(s)k +220 fnt2 2844 2931(@Open)m 240 fnt1 3648 2934(symbol')m 13(s)k 4560(result.)s 5252(The)s 5678(tar)s 4(get)k 6274(of)s 6543(the)s 6889(cross)s 7428(reference)s 8369(may)s 8832(lie)s -0 9152(in)m 234(an)s 507(e)s 3(xternal)k 1318(database)s +0 2646(in)m 234(an)s 507(e)s 3(xternal)k 1318(database)s 2187(\(Section)s 3031(3.40\).)s 3684(An)s 3(y)k 4138(symbol)s 4888(a)s 4(v)k 6(ailable)k 5787(outside)s 6524(the)s -220 fnt2 6862 9149(@Open)m 240 fnt1 7658 9152(which)m 8290(happens)s -0 8864(to)m 239(ha)s 4(v)k 3(e)k 741(the)s +220 fnt2 6862 2643(@Open)m 240 fnt1 7658 2646(which)m 8290(happens)s +0 2358(to)m 239(ha)s 4(v)k 3(e)k 741(the)s 1089(same)s 1637(name)s 2212(as)s 2462(one)s 2865(of)s 3137(the)s 3485(symbols)s 4335(made)s 4910(a)s 4(v)k 6(ailable)k -5818(by)s 6113(the)s 220 fnt2 6462 8861(@Open)m 240 fnt1 -7268 8864(will)m 7695(be)s 7978(una)s 4(v)k 6(ailable)k -0 8576(within)m 668(the)s 220 fnt2 1016 8573(@Open)m 240 fnt1 -1762 8576(.)m -[ /Dest /LOUT19_4262_pre_open_2 /DEST pdfmark -538 8202(The)m 220 fnt2 963 8199(@Use)m 240 fnt1 -1625 8202(symbol)m 2382(is)s 2589(an)s 220 fnt2 2869 8199(@Open)m -240 fnt1 3672 8202(symbol)m 4429(in)s 4669(a)s 4832(dif)s 6(ferent)k +5818(by)s 6113(the)s 220 fnt2 6462 2355(@Open)m 240 fnt1 +7268 2358(will)m 7695(be)s 7978(una)s 4(v)k 6(ailable)k +0 2070(within)m 668(the)s 220 fnt2 1016 2067(@Open)m 240 fnt1 +1762 2070(.)m +[ /Dest /LOUT19_4263_pre_open_2 /DEST pdfmark +538 1696(The)m 220 fnt2 963 1693(@Use)m 240 fnt1 +1625 1696(symbol)m 2382(is)s 2589(an)s 220 fnt2 2869 1693(@Open)m +240 fnt1 3672 1696(symbol)m 4429(in)s 4669(a)s 4832(dif)s 6(ferent)k 5704(form.)s 6329(It)s 6531(may)s 6994(only)s 7471(appear)s -8165(among)s 8867(or)s 0 7914(after)m 502(the)s 857(de\207nitions)s +8165(among)s 8867(or)s 0 1408(after)m 502(the)s 857(de\207nitions)s 1925(in)s 2175(Lout')s 13(s)k 2844(input,)s 3450(and)s 3861(it)s 4060(is)s 4277(equi)s 6(v)k 6(alent)k 5328(to)s 5574(enclosing)s 6551(the)s 6906(remainder)s 7941(of)s -8219(the)s 8574(input)s 0 7626(in)m 243(an)s 220 fnt2 -526 7623(@Open)m 240 fnt1 1332 7626(symbol.)m 2201(F)s 3(or)k -2590(e)s 3(xample,)k 240 fnt6 480 7123(de\207nitions)m 220 fnt2 -480 6830(@Use)m 1145({)s 240 fnt6 1269 6835(x)m 220 fnt2 -1435 6830(})m 480 6542(@Use)m 1145({)s 240 fnt6 1269 6547(y)m -220 fnt2 1431 6542(})m 240 fnt6 480 6259(r)m 8(est)k -894(of)s 1175(input)s 240 fnt1 0 5758(is)m 210(equi)s 6(v)k 6(alent)k -1254(to)s 240 fnt6 480 5255(de\207nitions)m 480 4967(x)m 220 fnt2 -646 4962(@Open)m 480 4674({)m 240 fnt6 960 4679(y)m 220 fnt2 -1122 4674(@Open)m 960 4386({)m 240 fnt6 1084 4391(r)m 8(est)k -1498(of)s 1779(input)s 220 fnt2 960 4098(})m 480 3810(})m -240 fnt1 0 3316(The)m 220 fnt2 424 3313(@Use)m 240 fnt1 -1085 3316(symbol)m 1841(allo)s 6(ws)k 2506(a)s 2668(set)s -2989(of)s 3256(standard)s 4120(packages)s 5044(to)s 5279(be)s -5557(opened)s 6303(without)s 7090(the)s 7434(incon)s 9(v)k 3(enience)k -8855(of)s 0 3028(enclosing)m 974(the)s 1327(entire)s 1931(document)s -2939(in)s 220 fnt2 3187 3025(@Open)m 240 fnt1 3998 3028(symbols.)m -4964(Such)s 5505(enclosure)s 6482(could)s 7076(cause)s 7668(Basser)s -8370(Lout)s 8887(to)s 0 2740(run)m 376(out)s 742(of)s -1013(memory)s 15(.)k 240 fnt5 0 1947(3.39.)m 591(@LinkSour)s 4(ce,)k -2120(@LinkDest,)s 3400(and)s 3841(@URLLink)s -[ /Dest /LOUTlink_source /DEST pdfmark -240 fnt1 480 1476(The)m -949(tw)s 2(o)k 1400(symbols)s 220 fnt2 2290 1473(@LinkSource)m -240 fnt1 3703 1476(and)m 220 fnt2 4148 1473(@LinkDest)m -[ /Dest /LOUT19_4262_pre_link_1 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_link_2 /DEST pdfmark -240 fnt1 -5322 1476(w)m 2(ork)k 5914(together)s 6798(to)s 7078(create)s -240 fnt6 7744 1478(cr)m 10(oss)k 8335(links)s 240 fnt1 -8883 1476(in)m 0 1188(a)m 202(document,)s 1290(that)s 1745(is,)s -2048(points)s 2721(where)s 3398(a)s 3601(user)s 4096(vie)s 6(wing)k -4951(the)s 5336(document)s 6377(on)s 6711(screen)s 7415(can)s -7841(click)s 8403(and)s 8844(be)s 0 900(transported)m 1132(to)s -1369(another)s 2144(point)s 2695(in)s 2936(the)s 3282(document.)s -4389(W)s 19(e)k 4756(call)s 5153(the)s 5500(point)s -6050(where)s 6688(the)s 7035(user)s 7491(clicks)s 8097(the)s -240 fnt6 8443 902(sour)m 8(ce)k 240 fnt1 0 612(of)m -271(the)s 619(link,)s 1098(and)s 1502(the)s 1850(point)s -2402(where)s 3042(the)s 3390(user)s 3848(arri)s 6(v)k 3(es)k -4539(the)s 240 fnt6 4887 614(destination)m 240 fnt1 6004 612(of)m -6275(the)s 6623(link.)s 480 238(T)m 19(o)k 780(create)s -1405(a)s 1571(source)s 2251(point,)s 2850(place)s +8219(the)s 8574(input)s 0 1120(in)m 243(an)s 220 fnt2 +526 1117(@Open)m 240 fnt1 1332 1120(symbol.)m 2201(F)s 3(or)k +2590(e)s 3(xample,)k grestore gsave 1417 -15423 translate -240 fnt1 -0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore @@ -15659,130 +15683,104 @@ gsave gsave 0 LoutMargSet grestore -240 fnt6 480 13205(ta)m 2(g)k -220 fnt2 838 13200(@LinkSource)m 240 fnt6 2210 13205(object)m 240 fnt1 -0 12702(at)m 228(some)s 785(point)s 1332(in)s 1571(the)s -1915(document,)s 2961(where)s 3597(the)s 3941(v)s 6(alue)k -4504(of)s 240 fnt6 4771 12704(ta)m 2(g)k 240 fnt1 -5124 12702(is)m 5330(a)s 5492(le)s 3(g)k 1(al)k +240 fnt6 480 13205(de\207nitions)m 220 fnt2 +480 12912(@Use)m 1145({)s 240 fnt6 1269 12917(x)m 220 fnt2 +1435 12912(})m 480 12624(@Use)m 1145({)s 240 fnt6 1269 12629(y)m +220 fnt2 1431 12624(})m 240 fnt6 480 12341(r)m 8(est)k +894(of)s 1175(input)s 240 fnt1 0 11840(is)m 210(equi)s 6(v)k 6(alent)k +1254(to)s 240 fnt6 480 11337(de\207nitions)m 480 11049(x)m 220 fnt2 +646 11044(@Open)m 480 10756({)m 240 fnt6 960 10761(y)m 220 fnt2 +1122 10756(@Open)m 960 10468({)m 240 fnt6 1084 10473(r)m 8(est)k +1498(of)s 1779(input)s 220 fnt2 960 10180(})m 480 9892(})m +240 fnt1 0 9398(The)m 220 fnt2 424 9395(@Use)m 240 fnt1 +1085 9398(symbol)m 1841(allo)s 6(ws)k 2506(a)s 2668(set)s +2989(of)s 3256(standard)s 4120(packages)s 5044(to)s 5279(be)s +5557(opened)s 6303(without)s 7090(the)s 7434(incon)s 9(v)k 3(enience)k +8855(of)s 0 9110(enclosing)m 974(the)s 1327(entire)s 1931(document)s +2939(in)s 220 fnt2 3187 9107(@Open)m 240 fnt1 3998 9110(symbols.)m +4964(Such)s 5505(enclosure)s 6482(could)s 7076(cause)s 7668(Basser)s +8370(Lout)s 8887(to)s 0 8822(run)m 376(out)s 742(of)s +1013(memory)s 15(.)k 240 fnt5 0 8029(3.39.)m 591(@LinkSour)s 4(ce,)k +2120(@LinkDest,)s 3400(and)s 3841(@URLLink)s +[ /Dest /LOUTlink_source /DEST pdfmark +240 fnt1 480 7558(The)m +949(tw)s 2(o)k 1400(symbols)s 220 fnt2 2290 7555(@LinkSource)m +240 fnt1 3703 7558(and)m 220 fnt2 4148 7555(@LinkDest)m +[ /Dest /LOUT19_4263_pre_link_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_link_2 /DEST pdfmark +240 fnt1 +5322 7558(w)m 2(ork)k 5914(together)s 6798(to)s 7078(create)s +240 fnt6 7744 7560(cr)m 10(oss)k 8335(links)s 240 fnt1 +8883 7558(in)m 0 7270(a)m 202(document,)s 1290(that)s 1745(is,)s +2048(points)s 2721(where)s 3398(a)s 3601(user)s 4096(vie)s 6(wing)k +4951(the)s 5336(document)s 6377(on)s 6711(screen)s 7415(can)s +7841(click)s 8403(and)s 8844(be)s 0 6982(transported)m 1132(to)s +1369(another)s 2144(point)s 2695(in)s 2936(the)s 3282(document.)s +4389(W)s 19(e)k 4756(call)s 5153(the)s 5500(point)s +6050(where)s 6688(the)s 7035(user)s 7491(clicks)s 8097(the)s +240 fnt6 8443 6984(sour)m 8(ce)k 240 fnt1 0 6694(of)m +271(the)s 619(link,)s 1098(and)s 1502(the)s 1850(point)s +2402(where)s 3042(the)s 3390(user)s 3848(arri)s 6(v)k 3(es)k +4539(the)s 240 fnt6 4887 6696(destination)m 240 fnt1 6004 6694(of)m +6275(the)s 6623(link.)s 480 6320(T)m 19(o)k 780(create)s +1405(a)s 1571(source)s 2251(point,)s 2850(place)s 240 fnt6 +480 5817(ta)m 2(g)k 220 fnt2 838 5812(@LinkSource)m 240 fnt6 +2210 5817(object)m 240 fnt1 0 5314(at)m 228(some)s 785(point)s +1332(in)s 1571(the)s 1915(document,)s 2961(where)s 3597(the)s +3941(v)s 6(alue)k 4504(of)s 240 fnt6 4771 5316(ta)m 2(g)k +240 fnt1 5124 5314(is)m 5330(a)s 5492(le)s 3(g)k 1(al)k 6002(cross)s 6540(reference)s 7479(tag,)s 7873(and)s 240 fnt6 -8273 12704(object)m 240 fnt1 8916 12702(is)m 0 12414(an)m 279(arbitrary)s +8273 5316(object)m 240 fnt1 8916 5314(is)m 0 5026(an)m 279(arbitrary)s 1149(Lout)s 1657(object.)s 2400(The)s 2823(result)s 3409(of)s -3675(this)s 4066(is)s 4272(just)s 240 fnt6 4672 12416(object)m -240 fnt1 5260 12414(,)m 5363(b)s 4(ut)k 5720(if)s +3675(this)s 4066(is)s 4272(just)s 240 fnt6 4672 5028(object)m +240 fnt1 5260 5026(,)m 5363(b)s 4(ut)k 5720(if)s 5932(the)s 6276(user)s 6729(of)s 6995(a)s 7157(screen)s -7819(vie)s 6(wer)k 8518(clicks)s 0 12126(on)m 297(an)s 3(y)k +7819(vie)s 6(wer)k 8518(clicks)s 0 4738(on)m 297(an)s 3(y)k 694(point)s 1246(within)s 1914(the)s 2262(rectangular)s 3396(bounding)s 4355(box)s 4770(of)s 5041(that)s 5459(object,)s 6150(a)s -6316(link)s 6749(will)s 7175(be)s 7457(entered.)s 480 11752(At)m -799(present,)s 240 fnt6 1616 11754(object)m 240 fnt1 2285 11752(abo)m 3(v)k 3(e)k +6316(link)s 6749(will)s 7175(be)s 7457(entered.)s 480 4364(At)m +799(present,)s 240 fnt6 1616 4366(object)m 240 fnt1 2285 4364(abo)m 3(v)k 3(e)k 2927(is)s 3158(treated)s 3885(as)s 4156(though)s 4899(it)s -5111(were)s 5652(enclosed)s 6567(in)s 220 fnt2 6831 11749(@OneCol)m -240 fnt1 7783 11752(.)m 7967(This)s 8464(means)s 0 11464(that)m +5111(were)s 5652(enclosed)s 6567(in)s 220 fnt2 6831 4361(@OneCol)m +240 fnt1 7783 4364(.)m 7967(This)s 8464(means)s 0 4076(that)m 420(a)s 589(long)s 1071(link)s 1507(source)s 2190(or)s 2452(destination)s 3561(point)s 4116(will)s 4545(not)s 4914(break)s 5509(o)s 3(v)k 3(er)k 5991(tw)s 2(o)k 6404(lines)s 6909(as)s 7162(part)s 7596(of)s 7870(an)s -8156(enclosing)s 0 11176(paragraph.)m 480 10802(T)m 19(o)k 780(create)s +8156(enclosing)s 0 3788(paragraph.)m 480 3414(T)m 19(o)k 780(create)s 1405(a)s 1571(destination)s 2677(point,)s 3276(place)s 240 fnt6 -480 10299(ta)m 2(g)k 220 fnt2 838 10294(@LinkDest)m 240 fnt6 -1970 10299(object)m 240 fnt1 0 9796(at)m 221(some)s 771(point)s +480 2911(ta)m 2(g)k 220 fnt2 838 2906(@LinkDest)m 240 fnt6 +1970 2911(object)m 240 fnt1 0 2408(at)m 221(some)s 771(point)s 1312(in)s 1544(the)s 1881(document.)s 2978(Ag)s 1(ain,)k -240 fnt6 3658 9798(ta)m 2(g)k 240 fnt1 4005 9796(must)m +240 fnt6 3658 2410(ta)m 2(g)k 240 fnt1 4005 2408(must)m 4519(e)s 6(v)k 6(aluate)k 5348(to)s 5576(a)s 5731(le)s 3(g)k 1(al)k 6235(cross)s 6766(reference)s -7698(tag,)s 8086(and)s 240 fnt6 8478 9798(object)m 240 fnt1 -0 9508(may)m 469(be)s 755(an)s 3(y)k 1156(Lout)s -1672(object.)s 2424(All)s 220 fnt2 2788 9505(@LinkSource)m 240 fnt1 -4164 9508(symbols)m 5017(whose)s 5689(tag)s 6038(is)s 6252(equal)s +7698(tag,)s 8086(and)s 240 fnt6 8478 2410(object)m 240 fnt1 +0 2120(may)m 469(be)s 755(an)s 3(y)k 1156(Lout)s +1672(object.)s 2424(All)s 220 fnt2 2788 2117(@LinkSource)m 240 fnt1 +4164 2120(symbols)m 5017(whose)s 5689(tag)s 6038(is)s 6252(equal)s 6829(to)s 7072(this)s 7472(one)s 7878(are)s 8229(link)s 2(ed)k -8887(to)s 0 9220(this)m 396(destination)s 1502(point.)s 480 8846(F)m 3(or)k +8887(to)s 0 1832(this)m 396(destination)s 1502(point.)s 480 1458(F)m 3(or)k 907(e)s 6(v)k 3(ery)k 1521(source)s 2239(point)s 2829(there)s 3400(must)s 3963(be)s 4283(e)s 3(xactly)k 5062(one)s 5502(destination)s 6646(point)s 7236(with)s 7756(the)s -8142(same)s 8727(tag,)s 0 8558(otherwise)m 1016(it)s 1240(will)s +8142(same)s 8727(tag,)s 0 1170(otherwise)m 1016(it)s 1240(will)s 1697(not)s 2095(be)s 2408(clear)s 2963(where)s 3634(the)s 4014(link)s 4479(is)s 4720(supposed)s 5702(to)s 5972(tak)s 2(e)k 6456(the)s 6835(user)s 13(.)k 7416(Lout)s 7959(will)s -8417(print)s 8960(a)s 0 8270(w)m 2(arning)k 829(if)s +8417(print)s 8960(a)s 0 882(w)m 2(arning)k 829(if)s 1040(this)s 1430(condition)s 2384(is)s 2588(violated)s 3410(an)s 3(ywhere;)k 4443(it)s 4628(will)s 5048(refuse)s 5681(to)s 5914(insert)s 6497(a)s 6657(destination)s 7757(point)s 8303(with)s 8778(the)s -0 7982(same)m 555(name)s 1138(as)s 1397(a)s 1571(pre)s 6(vious)k +0 594(same)m 555(name)s 1138(as)s 1397(a)s 1571(pre)s 6(vious)k 2449(one,)s 2911(b)s 4(ut)k 3282(it)s 3482(is)s 3701(not)s 4076(able)s 4539(to)s 4786(refrain)s 5487(from)s 6020(inserting)s 6918(a)s 7092(source)s 7781(point)s 8342(with)s -8833(no)s 0 7694(corresponding)m 1430(destination)s 2544(point,)s 3152(and)s +8833(no)s 0 306(corresponding)m 1430(destination)s 2544(point,)s 3152(and)s 3564(such)s 4068(points)s 4713(must)s 5246(cause)s 5842(errors)s 6457(of)s 6736(some)s 7306(kind)s 7798(when)s 8383(vie)s 6(wed)k -0 7406(\(e)m 3(xactly)k 820(what)s 1345(error)s 1868(will)s -2294(depend)s 3044(on)s 3341(the)s 3689(vie)s 6(wer\).)k -480 7032(The)m 220 fnt2 915 7029(@URLLink)m 240 fnt1 2045 7032(symbol)m -2812(is)s 3029(similar)s 3758(to)s 220 fnt2 4004 7029(@LinkSource)m -240 fnt1 5383 7032(in)m 5633(being)s 6225(the)s 6580(source)s -7267(point)s 7826(of)s 8104(a)s 8277(link,)s 8764(b)s 4(ut)k -0 6744(instead)m 735(of)s 1006(a)s 1172(tag)s 1517(you)s -1932(supply)s 2625(a)s 2791(URL)s 3327(to)s 3566(some)s -4127(other)s 4678(document)s 5682(altogether:)s 220 fnt2 480 6243("http://snar)m -3(k.ptc.spb)k 4(u.r)k -3(u/~uw)k 2(e/lout/lout.html" @URLLink { Lout Home P)k 8(age })k -240 fnt1 0 5744(The)m 445(URL)s 999(will)s 1443(need)s -1970(to)s 2227(be)s 2527(enclosed)s 3439(in)s 3700(quotes,)s -4450(because)s 5280(of)s 5569(the)s 5935(/)s 6080(characters)s -7116(which)s 7776(are)s 8141(otherwise)s 0 5456(tak)m 2(en)k -591(to)s 849(be)s 1150(concatenation)s 2553(operations.)s 3732(As)s -4068(for)s 220 fnt2 4425 5453(@LinkSource)m 240 fnt1 5737 5456(,)m -5862(the)s 6229(result)s 6838(is)s 7067(just)s 7490(the)s -7857(object)s 8520(to)s 8778(the)s 0 5168(right,)m 558(lik)s 2(e)k -970(this:)s -[ /Rect [480 4618 2091 4828] /Border [0 0 0] /Action << /Subtype /URI /URI (http://snark.ptc.spbu.ru/~uwe/lout/lout.html) >> /Subtype /Link /ANN pdfmark -480 4670(Lout)m 992(Home)s 1633(P)s 3(age)k -0 4167(b)m 4(ut)k 373(if)s 601(the)s 960(user)s -1429(clicks)s 2048(on)s 2356(this)s 2763(object)s 3418(on)s -3726(the)s 4086(screen)s 4764(the)s 3(y)k 5238(enter)s -5786(a)s 5963(link)s 6407(that)s 6836(tak)s 2(es)k -7387(them)s 7936(to)s 8186(the)s 8546(gi)s 6(v)k 3(en)k -0 3879(URL)m 530(location,)s 1401(assuming)s 2352(that)s 2764(the)s -3106(softw)s 2(are)k 3976(which)s 4612(the)s 3(y)k -5069(are)s 5410(using)s 5976(to)s 6209(display)s 6948(the)s -7290(document)s 8288(is)s 8492(cle)s 6(v)k 3(er)k -0 3591(enough)m 763(to)s 1002(do)s 1295(this.)s 480 3217(F)m 3(or)k -920(the)s 1320(purposes)s 2274(of)s 220 fnt2 2596 3214(@Common)m -240 fnt1 3695 3217(,)m 220 fnt2 3854 3214(@Rump)m 240 fnt1 -4654 3217(,)m 4813(and)s 220 fnt2 5269 3214(@Meld)m 240 fnt1 -5955 3217(,)m 6113(tw)s 2(o)k 220 fnt2 6575 3214(@LinkSource)m -240 fnt1 7999 3217(objects)m 8779(are)s 0 2929(considered)m 1092(to)s -1328(be)s 1608(equal)s 2178(if)s 2393(their)s 2887(right)s -3396(parameters)s 4491(are)s 4836(equal;)s 5463(the)s 5809(left)s -6183(parameters)s 7279(are)s 7623(not)s 7986(considered.)s 0 2641(This)m -480(beha)s 4(viour)k 1498(is)s 1713(needed,)s 2503(for)s -2846(e)s 3(xample,)k 3765(to)s 4009(mak)s 2(e)k -4586(inde)s 3(x)k 5175(entries)s 5867(look)s 6359(reasonable)s -7442(when)s 8023(melded.)s 8896(If)s 0 2353(tw)m 2(o)k -220 fnt2 420 2350(@LinkSource)m 240 fnt1 1803 2353(objects)m 2542(with)s -3035(equal)s 3619(right)s 4141(parameters)s 5250(b)s 4(ut)k -5623(dif)s 6(ferent)k 6509(left)s 6897(parameters)s 8006(are)s -8364(melded)s 0 2065(into)m 412(one,)s 851(one)s 1239(of)s -1497(the)s 1831(tw)s 2(o)k 2227(will)s 2639(be)s -2908(the)s 3242(result,)s 3865(b)s 4(ut)k 4214(which)s -4842(one)s 5230(is)s 5426(unde\207ned.)s 6522(Notice)s 7201(that)s -7605(melding)s 8428(cannot)s 0 1777(produce)m 827(an)s 1110(unde\207ned)s -2113(link,)s 2592(since)s 3139(the)s 3487(w)s 2(orst)k -4076(it)s 4268(can)s 4657(do)s 4950(is)s 5160(delete)s -5786(a)s 220 fnt2 5952 1774(@LinkSource)m 240 fnt1 7264 1777(.)m -480 1403(Practically)m 1595(speaking,)s 2594(the)s 2984(right)s 3536(parameters)s -4676(of)s 220 fnt2 4988 1400(@LinkSource)m 240 fnt1 6402 1403(and)m -220 fnt2 6847 1400(@URLLink)m 240 fnt1 8012 1403(need)m 8563(to)s -8844(be)s 0 1115(non-null,)m 941(non-empty)s 2055(objects,)s 2863(since)s -3433(otherwise)s 4442(there)s 4998(is)s 5232(nothing)s 6040(visible)s -6756(for)s 7118(the)s 7489(user)s 7971(to)s 8233(click)s -8782(on.)s 0 827(\(This)m 542(condition)s 1489(is)s 1686(not)s -2038(check)s 2(ed)k 2865(or)s 3110(enforced)s 3991(by)s -4271(Lout.\))s 4958(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -5904(the)s 6239(right)s 6736(parameter)s 7737(of)s 220 fnt2 -7994 824(@LinkDest)m 240 fnt1 0 539(could)m 588(reasonably)s 1676(be)s -1956(empty)s 2605(or)s 2862(null.)s 3396(Usually)s 15(,)k -4229(when)s 220 fnt2 4803 536(@Null)m 240 fnt1 5446 539(lies)m -5825(inside)s 6450(a)s 6614(non-concatenation)s 8435(object,)s 0 251(for)m -338(e)s 3(xample)k + grestore gsave 1417 -15423 translate @@ -15838,114 +15836,123 @@ gsave gsave 1 LoutMargSet grestore -480 13224(@OneCol @Null)m -0 12770(the)m 379(ef)s 6(fect)k 1007(of)s 1309(the)s -220 fnt2 1689 12767(@Null)m 240 fnt1 2365 12770(is)m 2607(lost)s -3043(\211)s 3255(the)s 3634(result)s 4256(in)s 4530(this)s -4958(e)s 3(xample)k 5852(is)s 6094(equi)s 6(v)k 6(alent)k -7169(to)s 7440(an)s 7754(empty)s 8438(object.)s 0 12482(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k +0 13224(\(e)m 3(xactly)k +820(what)s 1345(error)s 1868(will)s 2294(depend)s 3044(on)s +3341(the)s 3689(vie)s 6(wer\).)k 480 12850(The)m 220 fnt2 +915 12847(@URLLink)m 240 fnt1 2045 12850(symbol)m 2812(is)s 3029(similar)s +3758(to)s 220 fnt2 4004 12847(@LinkSource)m 240 fnt1 5383 12850(in)m +5633(being)s 6225(the)s 6580(source)s 7267(point)s 7826(of)s +8104(a)s 8277(link,)s 8764(b)s 4(ut)k 0 12562(instead)m +735(of)s 1006(a)s 1172(tag)s 1517(you)s 1932(supply)s +2625(a)s 2791(URL)s 3327(to)s 3566(some)s 4127(other)s +4678(document)s 5682(altogether:)s 220 fnt2 480 12061("http://snar)m -3(k.ptc.spb)k 4(u.r)k -3(u/~uw)k 2(e/lout/lout.html" @URLLink { Lout Home P)k 8(age })k +240 fnt1 0 11562(The)m 445(URL)s 999(will)s 1443(need)s +1970(to)s 2227(be)s 2527(enclosed)s 3439(in)s 3700(quotes,)s +4450(because)s 5280(of)s 5569(the)s 5935(/)s 6080(characters)s +7116(which)s 7776(are)s 8141(otherwise)s 0 11274(tak)m 2(en)k +591(to)s 849(be)s 1150(concatenation)s 2553(operations.)s 3732(As)s +4068(for)s 220 fnt2 4425 11271(@LinkSource)m 240 fnt1 5737 11274(,)m +5862(the)s 6229(result)s 6838(is)s 7067(just)s 7490(the)s +7857(object)s 8520(to)s 8778(the)s 0 10986(right,)m 558(lik)s 2(e)k +970(this:)s +[ /Rect [480 10436 2091 10646] /Border [0 0 0] /Action << /Subtype /URI /URI (http://snark.ptc.spbu.ru/~uwe/lout/lout.html) >> /Subtype /Link /ANN pdfmark +480 10488(Lout)m 992(Home)s 1633(P)s 3(age)k +0 9985(b)m 4(ut)k 373(if)s 601(the)s 960(user)s +1429(clicks)s 2048(on)s 2356(this)s 2763(object)s 3418(on)s +3726(the)s 4086(screen)s 4764(the)s 3(y)k 5238(enter)s +5786(a)s 5963(link)s 6407(that)s 6836(tak)s 2(es)k +7387(them)s 7936(to)s 8186(the)s 8546(gi)s 6(v)k 3(en)k +0 9697(URL)m 530(location,)s 1401(assuming)s 2352(that)s 2764(the)s +3106(softw)s 2(are)k 3976(which)s 4612(the)s 3(y)k +5069(are)s 5410(using)s 5976(to)s 6209(display)s 6948(the)s +7290(document)s 8288(is)s 8492(cle)s 6(v)k 3(er)k +0 9409(enough)m 763(to)s 1002(do)s 1295(this.)s 480 9035(F)m 3(or)k +920(the)s 1320(purposes)s 2274(of)s 220 fnt2 2596 9032(@Common)m +240 fnt1 3695 9035(,)m 220 fnt2 3854 9032(@Rump)m 240 fnt1 +4654 9035(,)m 4813(and)s 220 fnt2 5269 9032(@Meld)m 240 fnt1 +5955 9035(,)m 6113(tw)s 2(o)k 220 fnt2 6575 9032(@LinkSource)m +240 fnt1 7999 9035(objects)m 8779(are)s 0 8747(considered)m 1092(to)s +1328(be)s 1608(equal)s 2178(if)s 2393(their)s 2887(right)s +3396(parameters)s 4491(are)s 4836(equal;)s 5463(the)s 5809(left)s +6183(parameters)s 7279(are)s 7623(not)s 7986(considered.)s 0 8459(This)m +480(beha)s 4(viour)k 1498(is)s 1713(needed,)s 2503(for)s +2846(e)s 3(xample,)k 3765(to)s 4009(mak)s 2(e)k +4586(inde)s 3(x)k 5175(entries)s 5867(look)s 6359(reasonable)s +7442(when)s 8023(melded.)s 8896(If)s 0 8171(tw)m 2(o)k +220 fnt2 420 8168(@LinkSource)m 240 fnt1 1803 8171(objects)m 2542(with)s +3035(equal)s 3619(right)s 4141(parameters)s 5250(b)s 4(ut)k +5623(dif)s 6(ferent)k 6509(left)s 6897(parameters)s 8006(are)s +8364(melded)s 0 7883(into)m 412(one,)s 851(one)s 1239(of)s +1497(the)s 1831(tw)s 2(o)k 2227(will)s 2639(be)s +2908(the)s 3242(result,)s 3865(b)s 4(ut)k 4214(which)s +4842(one)s 5230(is)s 5426(unde\207ned.)s 6522(Notice)s 7201(that)s +7605(melding)s 8428(cannot)s 0 7595(produce)m 827(an)s 1110(unde\207ned)s +2113(link,)s 2592(since)s 3139(the)s 3487(w)s 2(orst)k +4076(it)s 4268(can)s 4657(do)s 4950(is)s 5160(delete)s +5786(a)s 220 fnt2 5952 7592(@LinkSource)m 240 fnt1 7264 7595(.)m +480 7221(Practically)m 1595(speaking,)s 2594(the)s 2984(right)s 3536(parameters)s +4676(of)s 220 fnt2 4988 7218(@LinkSource)m 240 fnt1 6402 7221(and)m +220 fnt2 6847 7218(@URLLink)m 240 fnt1 8012 7221(need)m 8563(to)s +8844(be)s 0 6933(non-null,)m 941(non-empty)s 2055(objects,)s 2863(since)s +3433(otherwise)s 4442(there)s 4998(is)s 5232(nothing)s 6040(visible)s +6756(for)s 7118(the)s 7489(user)s 7971(to)s 8233(click)s +8782(on.)s 0 6645(\(This)m 542(condition)s 1489(is)s 1686(not)s +2038(check)s 2(ed)k 2865(or)s 3110(enforced)s 3991(by)s +4271(Lout.\))s 4958(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +5904(the)s 6239(right)s 6736(parameter)s 7737(of)s 220 fnt2 +7994 6642(@LinkDest)m 240 fnt1 0 6357(could)m 588(reasonably)s 1676(be)s +1956(empty)s 2605(or)s 2862(null.)s 3396(Usually)s 15(,)k +4229(when)s 220 fnt2 4803 6354(@Null)m 240 fnt1 5446 6357(lies)m +5825(inside)s 6450(a)s 6614(non-concatenation)s 8435(object,)s 0 6069(for)m +338(e)s 3(xample)k 480 5566(@OneCol @Null)m 0 5112(the)m 379(ef)s 6(fect)k +1007(of)s 1309(the)s 220 fnt2 1689 5109(@Null)m 240 fnt1 +2365 5112(is)m 2607(lost)s 3043(\211)s 3255(the)s 3634(result)s +4256(in)s 4530(this)s 4958(e)s 3(xample)k 5852(is)s +6094(equi)s 6(v)k 6(alent)k 7169(to)s 7440(an)s +7754(empty)s 8438(object.)s 0 4824(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k 960(when)s 1536(the)s 1884(right)s 2395(parameter)s 3409(of)s -220 fnt2 3680 12479(@LinkDest)m 240 fnt1 4812 12482(is)m 220 fnt2 -5022 12479(@Null)m 240 fnt1 5607 12482(:)m 480 11979(@LinkDest @Null)m 0 11525(or)m +220 fnt2 3680 4821(@LinkDest)m 240 fnt1 4812 4824(is)m 220 fnt2 +5022 4821(@Null)m 240 fnt1 5607 4824(:)m 480 4321(@LinkDest @Null)m 0 3867(or)m 307(when)s 932(it)s 1173(is)s 1432(some)s 2042(object)s -2735(treated)s 3491(lik)s 2(e)k 220 fnt2 3952 11522(@Null)m -240 fnt1 4645 11525(by)m 4988(Lout)s 5549(\(e.g.)s 6067(a)s -220 fnt2 6282 11522(@T)m 26(agged)k 240 fnt1 7320 11525(symbol\),)m -8260(then)s 8778(the)s 220 fnt2 0 11234(@LinkDest)m 240 fnt1 -1121 11237(itself)m 1657(has)s 2016(the)s 2352(ef)s 6(fect)k +2735(treated)s 3491(lik)s 2(e)k 220 fnt2 3952 3864(@Null)m +240 fnt1 4645 3867(by)m 4988(Lout)s 5549(\(e.g.)s 6067(a)s +220 fnt2 6282 3864(@T)m 26(agged)k 240 fnt1 7320 3867(symbol\),)m +8260(then)s 8778(the)s 220 fnt2 0 3576(@LinkDest)m 240 fnt1 +1121 3579(itself)m 1657(has)s 2016(the)s 2352(ef)s 6(fect)k 2937(on)s 3222(surrounding)s 4420(concatentation)s 5860(operators)s 6788(that)s -220 fnt2 7195 11234(@Null)m 240 fnt1 7828 11237(has,)m 8242(allo)s 6(wing)k -0 10949(it)m 192(to)s 431(be)s 713(made)s 1287(ef)s 6(fecti)k 6(v)k 3(ely)k +220 fnt2 7195 3576(@Null)m 240 fnt1 7828 3579(has,)m 8242(allo)s 6(wing)k +0 3291(it)m 192(to)s 431(be)s 713(made)s 1287(ef)s 6(fecti)k 6(v)k 3(ely)k 2346(in)s 9(visible)k 3216(in)s 3459(the)s 3807(printed)s 4542(document,)s 5593(though)s 6316(still)s 6728(really)s 7325(there.)s -240 fnt5 0 10156(3.40.)m 591(@Database and @SysDatabase)s +240 fnt5 0 2498(3.40.)m 591(@Database and @SysDatabase)s [ /Dest /LOUTdatabase /DEST pdfmark -[ /Dest /LOUT19_4262_pre_data_1 /DEST pdfmark -240 fnt1 529 9679(The)m -220 fnt2 945 9676(@Database)m 240 fnt1 2148 9679(symbol)m 2896(is)s +[ /Dest /LOUT19_4263_pre_data_1 /DEST pdfmark +240 fnt1 529 2021(The)m +220 fnt2 945 2018(@Database)m 240 fnt1 2148 2021(symbol)m 2896(is)s 3095(used)s 3580(to)s 3808(declare)s 4541(the)s 4877(e)s 3(xistence)k 5808(of)s 6067(a)s 6222(\207le)s 6571(of)s 6831(symbol)s -7579(in)s 9(v)k 4(ocations)k 8708(that)s 0 9391(Lout)m +7579(in)s 9(v)k 4(ocations)k 8708(that)s 0 1733(Lout)m 512(may)s 978(refer)s 1487(to)s 1726(when)s 2302(e)s 6(v)k 6(aluating)k 3339(cross)s 3881(references.)s 5025(In)s 5281(Basser)s 5978(Lout,)s -6537(for)s 6875(e)s 3(xample,)k 220 fnt2 480 8890(@Database @Months @W)m 6(eekDa)k 6(ys { standard })k -240 fnt1 0 8392(means)m 690(that)s 1137(there)s 1698(is)s -1937(a)s 2131(\207le)s 2521(called)s 220 fnt2 3177 8389(standard.ld)m -240 fnt1 4339 8392(containing)m 5430(in)s 9(v)k 4(ocations)k +6537(for)s 6875(e)s 3(xample,)k 220 fnt2 480 1232(@Database @Months @W)m 6(eekDa)k 6(ys { standard })k +240 fnt1 0 734(means)m 690(that)s 1137(there)s 1698(is)s +1937(a)s 2131(\207le)s 2521(called)s 220 fnt2 3177 731(standard.ld)m +240 fnt1 4339 734(containing)m 5430(in)s 9(v)k 4(ocations)k 6600(of)s 6899(the)s 7276(pre)s 6(viously)k 8363(de\207ned)s -0 8104(symbols)m 220 fnt2 846 8101(@Months)m 240 fnt1 1838 8104(and)m -220 fnt2 2238 8101(@W)m 6(eekDa)k 6(ys)k 240 fnt1 -3503 8104(.)m 3663(A)s 220 fnt2 3889 8101(@Database)m 240 fnt1 -5100 8104(symbol)m 5856(may)s 6318(appear)s 7011(an)s 3(ywhere)k -7990(a)s 8152(de\207nition)s 0 7816(or)m 252(a)s 220 fnt2 -411 7813(@Use)m 240 fnt1 1069 7816(symbol)m 1822(may)s 2281(appear)s 13(.)k +0 446(symbols)m 220 fnt2 846 443(@Months)m 240 fnt1 1838 446(and)m +220 fnt2 2238 443(@W)m 6(eekDa)k 6(ys)k 240 fnt1 +3503 446(.)m 3663(A)s 220 fnt2 3889 443(@Database)m 240 fnt1 +5100 446(symbol)m 5856(may)s 6318(appear)s 7011(an)s 3(ywhere)k +7990(a)s 8152(de\207nition)s 0 158(or)m 252(a)s 220 fnt2 +411 155(@Use)m 240 fnt1 1069 158(symbol)m 1822(may)s 2281(appear)s 13(.)k 3062(Dif)s 6(ferent)k 3982(de\207nitions)s 5036(packages)s 5957(may)s 6416(refer)s 6918(to)s 7150(a)s 7309(common)s 8196(database,)s -0 7528(pro)m 3(vided)k 935(the)s 1312(de\207nitions)s 2402(the)s 3(y)k -2894(gi)s 6(v)k 3(e)k 3382(for)s 3749(its)s -4054(symbols)s 4932(are)s 5308(compatible.)s 6563(An)s 6942(entry)s -7516(is)s 7755(interpreted)s 8876(as)s 0 7240(though)m 756(it)s -981(appears)s 1795(at)s 2060(the)s 2441(point)s 3026(where)s -3699(the)s 4080(cross)s 4655(reference)s 5631(that)s 6082(retrie)s 6(v)k 3(es)k -6978(it)s 7203(does,)s 7782(which)s 8457(allo)s 6(ws)k -0 6952(symbols)m 866(lik)s 2(e)k 220 fnt2 1296 6949(@I)m -240 fnt1 1639 6952(for)m 220 fnt2 1995 6949(Slope @F)m 6(ont)k -240 fnt1 3346 6952(to)m 3602(be)s 3902(used)s 4417(in)s -4678(databases.)s 5776(The)s 6221(database)s 7118(\207le)s 7497(may)s -7981(not)s 8365(contain)s 220 fnt2 0 6661(@Database)m 240 fnt1 -1214 6664(or)m 220 fnt2 1473 6661(@Include)m 240 fnt1 2455 6664(symbols,)m -3360(and)s 3764(each)s 4259(in)s 9(v)k 4(ocation)k -5313(within)s 5981(it)s 6173(must)s 6698(be)s 6980(enclosed)s -7875(in)s 8118(braces.)s 480 6290(Basser)m 1198(Lout)s 1732(constructs)s -2773(an)s 240 fnt6 3078 6292(inde)m 4(x)k 3674(\207le)s -240 fnt1 3959 6290(,)m -[ /Dest /LOUT19_4262_pre_data_2 /DEST pdfmark -4087(which)s 4751(in)s 5016(this)s -5433(e)s 3(xample)k 6318(is)s 6550(called)s 220 fnt2 -7199 6287(standard.li)m 240 fnt1 8196 6290(,)m 8325(the)s 8695(\207rst)s -0 6002(time)m 481(it)s 675(e)s 6(v)k 3(er)k -1139(encounters)s 2227(the)s 2577(database,)s 3509(as)s 3761(an)s -4045(aid)s 4397(to)s 4638(searching)s 5608(it.)s 5906(If)s -6138(the)s 6488(database)s 7368(\207le)s 7731(is)s 7943(changed,)s -8850(its)s 0 5714(inde)m 3(x)k 586(\207le)s 950(must)s -1477(be)s 1762(deleted)s 2512(by)s 2809(the)s 3159(user)s -3620(so)s 3888(that)s 4309(Basser)s 5008(Lout)s 5523(kno)s 6(ws)k -6196(to)s 6438(reconstruct)s 7561(it.)s 7860(There)s 8475(is)s -8688(also)s 0 5426(an)m 300(installation)s 1435(option)s 2121(which)s -2780(allo)s 6(ws)k 3466(this)s 3879(deletion)s 4723(to)s -4979(be)s 5278(done)s 5817(automatically)s 7188(on)s 7502(suitable)s -8318(systems)s 0 5138(\(including)m 1036(Unix\).)s 480 4764(Basser)m 1210(Lout)s -1756(searches)s 2649(for)s 3021(databases)s 4021(in)s 4298(the)s -4679(current)s 5449(directory)s 6398(\207rst,)s 6910(then)s 7412(in)s -7689(a)s 7888(sequence)s 8855(of)s 0 4476(standard)m 868(places.)s -1629(T)s 19(o)k 1929(search)s 2596(the)s 2944(standard)s -3812(places)s 4460(only)s 15(,)k 4978(use)s -[ /Dest /LOUT19_4262_pre_data_3 /DEST pdfmark -220 fnt2 -5353 4473(@SysDatabase)m 240 fnt1 6873 4476(.)m 240 fnt5 0 3683(3.41.)m -591(@Graphic)s -[ /Dest /LOUTgraphic /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_grap_1 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_grap_2 /DEST pdfmark -240 fnt1 556 3206(Lout)m 1084(does)s 1590(not)s -1972(pro)s 3(vide)k 2772(the)s 3136(v)s 6(ast)k -3592(repertoire)s 4591(of)s 4878(graphical)s 5838(objects)s 6582(\(lines,)s -7235(circles,)s 7980(box)s 3(es,)k 8660(etc.\))s 0 2918(required)m -846(by)s 1132(diagrams.)s 2163(Instead,)s 2952(it)s 3135(pro)s 3(vides)k -3999(an)s 4274(escape)s 4958(route)s 5497(to)s 5727(some)s -6280(other)s 6823(language)s 7734(that)s 8144(does)s 8625(ha)s 4(v)k 3(e)k -0 2630(these)m 547(features,)s 1409(via)s 1761(its)s 220 fnt2 -2037 2627(@Gr)m 2(aphic)k 240 fnt1 3081 2630(symbol:)m -[ /Dest /LOUT19_4262_pre_grap_3 /DEST pdfmark grestore gsave 1417 -15423 translate -240 fnt1 -0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore @@ -15993,19 +16000,79 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13267 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -220 fnt2 480 13210({ 0 0 mo)m 3(v)k 5(eto)k -480 12922( 0 ysiz)m 3(e lineto)k 480 12634( xsiz)m 3(e ysiz)k 3(e lineto)k -480 12346( xsiz)m 3(e 0 lineto)k 480 12058( closepath)m 480 11770( strok)m 4(e)k -480 11482(})m 480 11194(@Gr)m 2(aphic)k 480 10906({ //0.2c)m 480 10618( ||0.2c hello)m 8(, w)k 2(or)k -3(ld ||0.2c)k -480 10330( //0.2c)m 480 10042(})m 240 fnt1 0 9548(The)m 428(result)s +0 13205(pro)m 3(vided)k 935(the)s +1312(de\207nitions)s 2402(the)s 3(y)k 2894(gi)s 6(v)k 3(e)k +3382(for)s 3749(its)s 4054(symbols)s 4932(are)s 5308(compatible.)s +6563(An)s 6942(entry)s 7516(is)s 7755(interpreted)s 8876(as)s +0 12917(though)m 756(it)s 981(appears)s 1795(at)s 2060(the)s +2441(point)s 3026(where)s 3699(the)s 4080(cross)s 4655(reference)s +5631(that)s 6082(retrie)s 6(v)k 3(es)k 6978(it)s +7203(does,)s 7782(which)s 8457(allo)s 6(ws)k 0 12629(symbols)m +866(lik)s 2(e)k 220 fnt2 1296 12626(@I)m 240 fnt1 +1639 12629(for)m 220 fnt2 1995 12626(Slope @F)m 6(ont)k 240 fnt1 +3346 12629(to)m 3602(be)s 3902(used)s 4417(in)s 4678(databases.)s +5776(The)s 6221(database)s 7118(\207le)s 7497(may)s 7981(not)s +8365(contain)s 220 fnt2 0 12338(@Database)m 240 fnt1 1214 12341(or)m +220 fnt2 1473 12338(@Include)m 240 fnt1 2455 12341(symbols,)m 3360(and)s +3764(each)s 4259(in)s 9(v)k 4(ocation)k 5313(within)s +5981(it)s 6173(must)s 6698(be)s 6980(enclosed)s 7875(in)s +8118(braces.)s 480 11967(Basser)m 1198(Lout)s 1732(constructs)s 2773(an)s +240 fnt6 3078 11969(inde)m 4(x)k 3674(\207le)s 240 fnt1 +3959 11967(,)m +[ /Dest /LOUT19_4263_pre_data_2 /DEST pdfmark +4087(which)s 4751(in)s 5016(this)s 5433(e)s 3(xample)k +6318(is)s 6550(called)s 220 fnt2 7199 11964(standard.li)m 240 fnt1 +8196 11967(,)m 8325(the)s 8695(\207rst)s 0 11679(time)m 481(it)s +675(e)s 6(v)k 3(er)k 1139(encounters)s 2227(the)s +2577(database,)s 3509(as)s 3761(an)s 4045(aid)s 4397(to)s +4638(searching)s 5608(it.)s 5906(If)s 6138(the)s 6488(database)s +7368(\207le)s 7731(is)s 7943(changed,)s 8850(its)s 0 11391(inde)m 3(x)k +586(\207le)s 950(must)s 1477(be)s 1762(deleted)s 2512(by)s +2809(the)s 3159(user)s 3620(so)s 3888(that)s 4309(Basser)s +5008(Lout)s 5523(kno)s 6(ws)k 6196(to)s 6438(reconstruct)s +7561(it.)s 7860(There)s 8475(is)s 8688(also)s 0 11103(an)m +300(installation)s 1435(option)s 2121(which)s 2780(allo)s 6(ws)k +3466(this)s 3879(deletion)s 4723(to)s 4979(be)s 5278(done)s +5817(automatically)s 7188(on)s 7502(suitable)s 8318(systems)s 0 10815(\(including)m +1036(Unix\).)s 480 10441(Basser)m 1210(Lout)s 1756(searches)s 2649(for)s +3021(databases)s 4021(in)s 4298(the)s 4679(current)s 5449(directory)s +6398(\207rst,)s 6910(then)s 7412(in)s 7689(a)s 7888(sequence)s +8855(of)s 0 10153(standard)m 868(places.)s 1629(T)s 19(o)k +1929(search)s 2596(the)s 2944(standard)s 3812(places)s 4460(only)s 15(,)k +4978(use)s +[ /Dest /LOUT19_4263_pre_data_3 /DEST pdfmark +220 fnt2 5353 10150(@SysDatabase)m 240 fnt1 6873 10153(.)m +240 fnt5 0 9360(3.41.)m 591(@Graphic)s +[ /Dest /LOUTgraphic /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_grap_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_grap_2 /DEST pdfmark +240 fnt1 556 8883(Lout)m +1084(does)s 1590(not)s 1972(pro)s 3(vide)k 2772(the)s +3136(v)s 6(ast)k 3592(repertoire)s 4591(of)s 4878(graphical)s +5838(objects)s 6582(\(lines,)s 7235(circles,)s 7980(box)s 3(es,)k +8660(etc.\))s 0 8595(required)m 846(by)s 1132(diagrams.)s 2163(Instead,)s +2952(it)s 3135(pro)s 3(vides)k 3999(an)s 4274(escape)s +4958(route)s 5497(to)s 5727(some)s 6280(other)s 6823(language)s +7734(that)s 8144(does)s 8625(ha)s 4(v)k 3(e)k +0 8307(these)m 547(features,)s 1409(via)s 1761(its)s 220 fnt2 +2037 8304(@Gr)m 2(aphic)k 240 fnt1 3081 8307(symbol:)m +[ /Dest /LOUT19_4263_pre_grap_3 /DEST pdfmark +220 fnt2 +480 7809({ 0 0 mo)m 3(v)k 5(eto)k 480 7521( 0 ysiz)m 3(e lineto)k +480 7233( xsiz)m 3(e ysiz)k 3(e lineto)k 480 6945( xsiz)m 3(e 0 lineto)k +480 6657( closepath)m 480 6369( strok)m 4(e)k 480 6081(})m 480 5793(@Gr)m 2(aphic)k +480 5505({ //0.2c)m 480 5217( ||0.2c hello)m 8(, w)k 2(or)k -3(ld ||0.2c)k +480 4929( //0.2c)m 480 4641(})m 240 fnt1 0 4147(The)m 428(result)s 1018(of)s 1289(the)s 1637(abo)s 3(v)k 3(e)k 2259(in)s 9(v)k 4(ocation)k 3313(of)s 3584(the)s -3932(symbol)s 220 fnt2 4692 9545(@Gr)m 2(aphic)k 240 fnt1 -5736 9548(is)m 1365 422 0 422 240 288 60 480 8786 LoutGr2 +3932(symbol)s 220 fnt2 4692 4144(@Gr)m 2(aphic)k 240 fnt1 +5736 4147(is)m 1365 422 0 422 240 288 60 480 3385 LoutGr2 0 0 moveto 0 ysize lineto xsize ysize lineto @@ -16015,59 +16082,42 @@ stroke grestore 113 146(hello,)m 698(w)s 2(orld)k grestore -480 8070(The)m +480 2669(The)m 909(right)s 1421(parameter)s 2437(al)s 2(w)k 2(ays)k 3149(appears)s 3931(as)s 4183(part)s 4615(of)s 4888(the)s 5237(result,)s 5875(and)s 6281(indeed)s 6978(the)s 7327(result)s 7919(is)s 8130(al)s 2(w)k 2(ays)k 8843(an)s -0 7782(object)m 651(whose)s 1327(size)s 1761(is)s 1979(identical)s +0 2381(object)m 651(whose)s 1327(size)s 1761(is)s 1979(identical)s 2863(to)s 3110(the)s 3465(size)s 3900(of)s 4178(the)s -4534(right)s 5052(parameter)s 6074(with)s 220 fnt2 6563 7779(@OneCol)m -240 fnt1 7583 7782(and)m 220 fnt2 7995 7779(@OneRo)m 3(w)k -240 fnt1 0 7494(applied)m 762(to)s 1001(it.)s 1297(From)s +4534(right)s 5052(parameter)s 6074(with)s 220 fnt2 6563 2378(@OneCol)m +240 fnt1 7583 2381(and)m 220 fnt2 7995 2378(@OneRo)m 3(w)k +240 fnt1 0 2093(applied)m 762(to)s 1001(it.)s 1297(From)s 1875(no)s 6(w)k 2336(on)s 2633(we)s 2968(refer)s 3477(to)s 3716(this)s 4112(part)s 4543(of)s 4814(the)s -5162(result)s 5752(as)s 6002(the)s 240 fnt6 6350 7496(base)m -240 fnt1 6782 7494(.)m 480 7120(The)m 898(left)s 1264(parameter)s +5162(result)s 5752(as)s 6002(the)s 240 fnt6 6350 2095(base)m +240 fnt1 6782 2093(.)m 480 1719(The)m 898(left)s 1264(parameter)s 2267(is)s 2466(implementation-dependent:)s 5184(that)s 5591(is,)s 5847(its)s 6112(meaning)s 6978(is)s 7177(not)s 7532(de\207ned)s 8284(by)s -8567(Lout,)s 0 6832(and)m 421(dif)s 6(ferent)k 1313(implementations)s +8567(Lout,)s 0 1431(and)m 421(dif)s 6(ferent)k 1313(implementations)s 2975(could)s 3582(require)s 4332(dif)s 6(ferent)k 5224(v)s 6(alues)k 5898(for)s 6253(it.)s 6567(The)s 7012(follo)s 6(wing)k -8007(description)s 0 6544(applies)m 713(to)s 936(Basser)s 1618(Lout,)s +8007(description)s 0 1143(applies)m 713(to)s 936(Basser)s 1618(Lout,)s 2161(which)s 2787(uses)s 3235(the)s 3567(PostScript)s 4593(page)s 5086(description)s 6189(language)s 7093([)s -[ /Rect [7164 6544 7259 6706] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTadobe1990ps /ANN pdfmark +[ /Rect [7164 1143 7259 1305] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTadobe1990ps /ANN pdfmark 7164(1)s 7259(].)s -7487(Similar)s 8233(b)s 4(ut)k 8579(more)s 0 6256(restricted)m +7487(Similar)s 8233(b)s 4(ut)k 8579(more)s 0 855(restricted)m 962(possibilities)s 2172(e)s 3(xist)k 2698(with)s 3198(the)s 3563(PDF)s 4078(back)s 4609(end)s 5031(\(see)s 5488(a)s 5672(separate)s 6528(document)s 7550(distrib)s 4(uted)k 8644(with)s -0 5968(Lout\);)m 643(to)s 882(include)s 1642(both,)s 2175(use)s -2550(the)s 220 fnt2 2898 5965(@Bac)m 4(kEnd)k 240 fnt1 -4043 5968(symbol)m 4803(lik)s 2(e)k 5215(this:)s 220 fnt2 -480 5467({ @Bac)m 4(kEnd @Case {)k 480 5179( P)m 11(ostScr)k -3(ipt @Y)k 4(ield)k -480 4891( {)m 480 4603( ...)m 480 4315( })m 480 4027( PDF @Y)m 4(ield)k -480 3739( {)m 480 3451( ...)m 480 3163( })m 480 2875( })m 480 2587( @Gr)m 2(aphic)k -480 2299( {)m 480 2011( ...)m 480 1723( })m 480 1435(})m 240 fnt1 -0 941(Returning)m 1039(to)s 1307(PostScript,)s 2425(the)s 2802(left)s -3208(parameter)s 4251(refers)s 4874(to)s 5142(a)s 5337(coordinate)s -6431(system)s 7184(whose)s 7881(origin)s 8538(is)s 8778(the)s -0 653(bottom)m 773(left-hand)s 1728(corner)s 2433(of)s 2740(the)s -3123(base.)s 3747(It)s 3987(may)s 4489(use)s 4899(the)s -5282(symbols)s 220 fnt2 6166 650(xsiz)m 3(e)k 240 fnt1 -6751 653(and)m 220 fnt2 7190 650(ysiz)m 3(e)k 240 fnt1 -7774 653(to)m 8048(denote)s 8778(the)s 0 365(horizontal)m 1031(and)s -1442(v)s 3(ertical)k 2216(size)s 2650(of)s 2928(the)s -3283(base;)s 3827(similarly)s 15(,)k 220 fnt2 4774 362(xmar)m -3(k)k -240 fnt1 5442 365(and)m 220 fnt2 5853 362(ymar)m -3(k)k -240 fnt1 6521 365(denote)m 7222(the)s 7577(positions)s 8499(of)s -8778(the)s 0 77(base')m 13(s)k 635(column)s 1410(and)s -1814(ro)s 6(w)k 2234(marks:)s +0 567(Lout\);)m 643(to)s 882(include)s 1642(both,)s 2175(use)s +2550(the)s 220 fnt2 2898 564(@Bac)m 4(kEnd)k 240 fnt1 +4043 567(symbol)m 4803(lik)s 2(e)k 5215(this:)s grestore gsave 1417 -15423 translate -240 fnt1 0 0 0 0 240 288 60 LoutGraphic +240 fnt1 +0 0 0 0 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore @@ -16115,18 +16165,35 @@ gsave 1991(@Gr)s 3(aphic)k 240 fnt5 10256 -1583(71)m gsave 1417 -15423 translate 240 fnt1 -9066 13368 0 13290 240 288 60 LoutGraphic +9066 13368 0 13264 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -gsave -480 11296 translate +220 fnt2 480 13207({ @Bac)m 4(kEnd @Case {)k 480 12919( P)m 11(ostScr)k -3(ipt @Y)k 4(ield)k +480 12631( {)m 480 12343( ...)m 480 12055( })m 480 11767( PDF @Y)m 4(ield)k +480 11479( {)m 480 11191( ...)m 480 10903( })m 480 10615( })m 480 10327( @Gr)m 2(aphic)k +480 10039( {)m 480 9751( ...)m 480 9463( })m 480 9175(})m 240 fnt1 +0 8681(Returning)m 1039(to)s 1307(PostScript,)s 2425(the)s 2802(left)s +3208(parameter)s 4251(refers)s 4874(to)s 5142(a)s 5337(coordinate)s +6431(system)s 7184(whose)s 7881(origin)s 8538(is)s 8778(the)s +0 8393(bottom)m 773(left-hand)s 1728(corner)s 2433(of)s 2740(the)s +3123(base.)s 3747(It)s 3987(may)s 4489(use)s 4899(the)s +5282(symbols)s 220 fnt2 6166 8390(xsiz)m 3(e)k 240 fnt1 +6751 8393(and)m 220 fnt2 7190 8390(ysiz)m 3(e)k 240 fnt1 +7774 8393(to)m 8048(denote)s 8778(the)s 0 8105(horizontal)m 1031(and)s +1442(v)s 3(ertical)k 2216(size)s 2650(of)s 2928(the)s +3283(base;)s 3827(similarly)s 15(,)k 220 fnt2 4774 8102(xmar)m -3(k)k +240 fnt1 5442 8105(and)m 220 fnt2 5853 8102(ymar)m -3(k)k +240 fnt1 6521 8105(denote)m 7222(the)s 7577(positions)s 8499(of)s +8778(the)s 0 7817(base')m 13(s)k 635(column)s 1410(and)s +1814(ro)s 6(w)k 2234(marks:)s gsave +480 5454 translate 180 fnt1 3570 2072 0 1994 180 288 45 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore -180 fnt6 107 1955(ysize)m 0 1388(ymark)m 180 fnt1 -364 253(0)m 2551 1701 850 1134 180 288 45 676 293 LoutGr2 +180 fnt6 +107 1955(ysize)m 0 1388(ymark)m 180 fnt1 364 253(0)m 2551 1701 850 1134 180 288 45 676 293 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 2551 1701 850 1134 180 288 45 0 0 LoutGr2 @@ -16150,103 +16217,44 @@ grestore grestore end end restore grestore -676 14(0)m 180 fnt6 1526 15(xmark)m 3227(xsize)s -end end restore -grestore -0 10845(In)m 265(addition)s 1115(to)s 1363(these)s 1920(four)s -2387(symbols)s 3245(and)s 3658(0,)s 3895(lengths)s 4646(may)s -5121(be)s 5412(denoted)s 6238(in)s 6490(centimetres,)s 7706(inches,)s -8434(points,)s 0 10557(ems,)m 492(f)s -13(')k 13(s,)k -850(v')s 13(s)k 1180(and)s 1584(s')s 13(s)k -1887(using)s 2459(the)s 2807(notation)s 240 fnt6 480 10021(l)m -220 fnt2 666 10016(cm)m 240 fnt1 1197 10019(instead)m 1932(of)s -2203(Lout')s 13(s)k 240 fnt6 3045 10021(l)m 240 fnt1 -3111 10019(c)m 240 fnt6 480 9733(l)m 220 fnt2 666 9728(in)m -240 fnt1 1197 9731(instead)m 1932(of)s 2203(Lout')s 13(s)k -240 fnt6 3045 9733(l)m 240 fnt1 3111 9731(i)m 240 fnt6 -480 9445(l)m 220 fnt2 666 9440(pt)m 240 fnt1 1197 9443(instead)m -1932(of)s 2203(Lout')s 13(s)k 240 fnt6 3045 9445(l)m -240 fnt1 3111 9443(p)m 240 fnt6 480 9157(l)m 220 fnt2 -666 9152(em)m 240 fnt1 1197 9155(instead)m 1932(of)s 2203(Lout')s 13(s)k -240 fnt6 3045 9157(l)m 240 fnt1 3111 9155(m)m 240 fnt6 -480 8869(l)m 220 fnt2 666 8864(ft)m 240 fnt1 1197 8867(instead)m -1932(of)s 2203(Lout')s 13(s)k 240 fnt6 3045 8869(l)m -240 fnt1 3111 8867(f)m 240 fnt6 480 8581(l)m 220 fnt2 -666 8576(vs)m 240 fnt1 1197 8579(instead)m 1932(of)s 2203(Lout')s 13(s)k -240 fnt6 3045 8581(l)m 240 fnt1 3111 8579(v)m 240 fnt6 -480 8293(l)m 220 fnt2 666 8288(sp)m 240 fnt1 1197 8291(instead)m -1932(of)s 2203(Lout')s 13(s)k 240 fnt6 3045 8293(l)m -240 fnt1 3111 8291(s)m 0 7750(Note)m 521(that)s 939(there)s -1472(must)s 1997(be)s 2279(a)s 2445(space)s 3032(between)s -3886(the)s 4234(number)s 5025(and)s 5429(its)s 5705(unit,)s -6184(unlik)s 2(e)k 6836(Lout)s 7348(proper)s 13(.)k -480 7376(A)m 732(point)s 1306(within)s 1996(the)s 2366(base)s -2869(\(and,)s 3423(with)s 3927(care,)s 4453(a)s 4642(point)s -5216(outside)s 5985(it\))s 6267(may)s 6755(be)s 7059(denoted)s -7897(by)s 8213(a)s 8401(pair)s 8855(of)s 0 7088(lengths.)m -855(F)s 3(or)k 1244(e)s 3(xample,)k 220 fnt2 -480 6591(xmar)m -3(k ymar)k -3(k)k 240 fnt1 0 6093(is)m -210(the)s 558(point)s 1110(where)s 1750(the)s 2098(marks)s -2733(cross,)s 3331(and)s 220 fnt2 480 5599(0 2 cm)m 240 fnt1 -0 5144(is)m 195(a)s 346(point)s 883(on)s 1164(the)s -1497(left)s 1859(edge,)s 2402(tw)s 2(o)k 2797(centimetres)s -3933(abo)s 3(v)k 3(e)k 4539(the)s 4872(bottom)s -5595(left-hand)s 6499(corner)s 13(.)k 7245(These)s 7857(tw)s 2(o)k -8251(numbers)s 0 4856(are)m 347(called)s 975(the)s 240 fnt6 -1323 4858(x)m 1489(coor)s 8(dinate)k 240 fnt1 2571 4856(and)m -2975(the)s 240 fnt6 3323 4858(y)m 3485(coor)s 8(dinate)k -240 fnt1 4567 4856(of)m 4838(the)s 5186(point.)s 480 4482(The)m -906(\207rst)s 1335(step)s 1770(in)s 2011(specifying)s 3057(a)s -3221(graphic)s 3988(object)s 4630(is)s 4837(to)s 5074(de\207ne)s -5712(a)s 240 fnt6 5876 4484(path)m 240 fnt1 6297 4482(.)m -6458(A)s 6686(path)s 7152(can)s 7539(be)s 7818(thought)s -8608(of)s 8876(as)s 0 4194(the)m 349(track)s 888(of)s -1161(a)s 1328(pen)s 1733(mo)s 3(ving)k 2516(o)s 3(v)k 3(er)k -2996(the)s 3346(page.)s 3963(The)s 4393(pen)s 4797(may)s -5265(be)s 5548(up)s 5842(\(not)s 6289(dra)s 3(wing\))k -7199(or)s 7460(do)s 6(wn)k 8045(\(dra)s 3(wing)k -8960(a)s 0 3906(line)m 414(or)s 673(curv)s 3(e\))k -1329(as)s 1579(it)s 1771(mo)s 3(v)k 3(es.)k -2554(The)s 2982(entire)s 3581(path)s 4050(is)s 4260(a)s -4426(sequence)s 5359(of)s 5630(the)s 5978(follo)s 6(wing)k -6955(items:)s 240 fnt6 1847 3534(x)m 2013(y)s 220 fnt2 -2175 3529(mo)m 3(v)k 5(eto)k 240 fnt1 3120 3532(Lift)m -3537(the)s 3885(pen)s 4288(and)s 4692(mo)s 3(v)k 3(e)k -5274(it)s 5466(to)s 5705(the)s 6053(indicated)s 6987(point.)s -240 fnt6 2036 3175(x)m 2202(y)s 220 fnt2 2364 3170(lineto)m -240 fnt1 3120 3173(Put)m 3557(the)s 3963(pen)s 4424(do)s 6(wn)k -5066(and)s 5528(dra)s 3(w)k 6115(a)s 6339(straight)s -7173(line)s 7645(to)s 7942(the)s 8348(indicat)s 8998(-)s -3120 2885(ed)m 3404(point.)s 240 fnt6 702 2526(x)m 868(y)s -1030(r)s 1188(angle1)s 1879(angle2)s 220 fnt2 2580 2521(arc)m -240 fnt1 3120 2524(Put)m 3502(the)s 3853(pen)s 4259(do)s 6(wn)k -4846(and)s 5253(dra)s 3(w)k 5785(a)s 5954(circular)s -6745(arc)s 7092(whose)s 7763(centre)s 8405(has)s 8779(co)s -8998(-)s 3120 2236(ordinates)m 240 fnt6 4058 2238(x)m 240 fnt1 -4235 2236(and)m 240 fnt6 4650 2238(y)m 240 fnt1 4823 2236(and)m -5238(whose)s 5917(radius)s 6563(is)s 240 fnt6 6784 2238(r)m -240 fnt1 6882 2236(.)m 7057(The)s 7496(arc)s 7851(be)s 3(gins)k -8535(at)s 8778(the)s 3120 1948(angle)m 240 fnt6 3727 1950(angle1)m -240 fnt1 4451 1948(measuring)m 5533(counterclockwise)s 7295(from)s 7852(the)s -8233(point)s 8818(di)s 8998(-)s 3120 1660(rectly)m 3714(to)s -3949(the)s 4294(right)s 4801(of)s 5069(the)s 5413(centre,)s -6100(and)s 6500(proceeds)s 7397(counterclockwise)s 3120 1372(to)m 240 fnt6 -3361 1374(angle2)m 240 fnt1 4002 1372(.)m 4168(If)s 4401(the)s -4751(arc)s 5098(is)s 5310(not)s 5679(the)s 6029(\207rst)s -6462(thing)s 7010(on)s 7309(the)s 7660(path,)s 8181(a)s -8350(straight)s 3120 1084(line)m 3549(will)s 3990(be)s 4287(dra)s 3(wn)k -4954(connecting)s 6072(the)s 6435(current)s 7186(point)s 7753(to)s -8007(the)s 8370(start)s 8855(of)s 3120 796(the)m 3468(arc.)s -240 fnt6 589 487(x)m 755(y)s 917(r)s 1075(angle1)s -1766(angle2)s 220 fnt2 2467 482(arcn)m 240 fnt1 3120 485(As)m -3437(for)s 3775(arc,)s 4173(b)s 4(ut)k 4535(the)s -4883(arc)s 5227(goes)s 5717(clockwise)s 6729(from)s 240 fnt6 -7253 487(angle1)m 240 fnt1 7944 485(to)m 240 fnt6 8183 487(angle2)m -240 fnt1 8824 485(.)m 220 fnt2 1955 123(closepath)m 240 fnt1 -3120 126(Dra)m 3(w)k 3702(a)s 3868(straight)s 4644(line)s -5058(back)s 5571(to)s 5810(the)s 6158(point)s 6710(most)s -7235(recently)s 8058(mo)s 3(v)k 3(ed)k 8762(to.)s - +676 14(0)m +180 fnt6 1526 15(xmark)m 3227(xsize)s end end restore +grestore +0 5003(In)m 265(addition)s +1115(to)s 1363(these)s 1920(four)s 2387(symbols)s 3245(and)s +3658(0,)s 3895(lengths)s 4646(may)s 5121(be)s 5412(denoted)s +6238(in)s 6490(centimetres,)s 7706(inches,)s 8434(points,)s 0 4715(ems,)m +492(f)s -13(')k 13(s,)k 850(v')s 13(s)k +1180(and)s 1584(s')s 13(s)k 1887(using)s 2459(the)s +2807(notation)s 240 fnt6 480 4179(l)m 220 fnt2 666 4174(cm)m +240 fnt1 1197 4177(instead)m 1932(of)s 2203(Lout')s 13(s)k +240 fnt6 3045 4179(l)m 240 fnt1 3111 4177(c)m 240 fnt6 +480 3891(l)m 220 fnt2 666 3886(in)m 240 fnt1 1197 3889(instead)m +1932(of)s 2203(Lout')s 13(s)k 240 fnt6 3045 3891(l)m +240 fnt1 3111 3889(i)m 240 fnt6 480 3603(l)m 220 fnt2 +666 3598(pt)m 240 fnt1 1197 3601(instead)m 1932(of)s 2203(Lout')s 13(s)k +240 fnt6 3045 3603(l)m 240 fnt1 3111 3601(p)m 240 fnt6 +480 3315(l)m 220 fnt2 666 3310(em)m 240 fnt1 1197 3313(instead)m +1932(of)s 2203(Lout')s 13(s)k 240 fnt6 3045 3315(l)m +240 fnt1 3111 3313(m)m 240 fnt6 480 3027(l)m 220 fnt2 +666 3022(ft)m 240 fnt1 1197 3025(instead)m 1932(of)s 2203(Lout')s 13(s)k +240 fnt6 3045 3027(l)m 240 fnt1 3111 3025(f)m 240 fnt6 +480 2739(l)m 220 fnt2 666 2734(vs)m 240 fnt1 1197 2737(instead)m +1932(of)s 2203(Lout')s 13(s)k 240 fnt6 3045 2739(l)m +240 fnt1 3111 2737(v)m 240 fnt6 480 2451(l)m 220 fnt2 +666 2446(sp)m 240 fnt1 1197 2449(instead)m 1932(of)s 2203(Lout')s 13(s)k +240 fnt6 3045 2451(l)m 240 fnt1 3111 2449(s)m 0 1908(Note)m +521(that)s 939(there)s 1472(must)s 1997(be)s 2279(a)s +2445(space)s 3032(between)s 3886(the)s 4234(number)s 5025(and)s +5429(its)s 5705(unit,)s 6184(unlik)s 2(e)k 6836(Lout)s +7348(proper)s 13(.)k 480 1534(A)m 732(point)s 1306(within)s +1996(the)s 2366(base)s 2869(\(and,)s 3423(with)s 3927(care,)s +4453(a)s 4642(point)s 5216(outside)s 5985(it\))s 6267(may)s +6755(be)s 7059(denoted)s 7897(by)s 8213(a)s 8401(pair)s +8855(of)s 0 1246(lengths.)m 855(F)s 3(or)k 1244(e)s 3(xample,)k +220 fnt2 480 749(xmar)m -3(k ymar)k -3(k)k 240 fnt1 +0 251(is)m 210(the)s 558(point)s 1110(where)s 1750(the)s +2098(marks)s 2733(cross,)s 3331(and)s grestore gsave 1417 -15423 translate @@ -16298,88 +16306,118 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13271 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -0 13205(The)m 428(\207rst)s 860(item)s -1344(should)s 2042(al)s 2(w)k 2(ays)k 2753(be)s -3036(a)s 220 fnt2 3202 13202(mo)m 3(v)k 5(eto)k -240 fnt1 3907 13205(,)m 220 fnt2 4015 13202(arc)m 240 fnt1 -4315 13205(,)m 4422(or)s 220 fnt2 4682 13202(arcn)m 240 fnt1 -5095 13205(.)m 5259(It)s 5465(should)s 6162(be)s 6445(clear)s +220 fnt2 480 13214(0 2 cm)m 240 fnt1 +0 12759(is)m 195(a)s 346(point)s 883(on)s 1164(the)s +1497(left)s 1859(edge,)s 2402(tw)s 2(o)k 2797(centimetres)s +3933(abo)s 3(v)k 3(e)k 4539(the)s 4872(bottom)s +5595(left-hand)s 6499(corner)s 13(.)k 7245(These)s 7857(tw)s 2(o)k +8251(numbers)s 0 12471(are)m 347(called)s 975(the)s 240 fnt6 +1323 12473(x)m 1489(coor)s 8(dinate)k 240 fnt1 2571 12471(and)m +2975(the)s 240 fnt6 3323 12473(y)m 3485(coor)s 8(dinate)k +240 fnt1 4567 12471(of)m 4838(the)s 5186(point.)s 480 12097(The)m +906(\207rst)s 1335(step)s 1770(in)s 2011(specifying)s 3057(a)s +3221(graphic)s 3988(object)s 4630(is)s 4837(to)s 5074(de\207ne)s +5712(a)s 240 fnt6 5876 12099(path)m 240 fnt1 6297 12097(.)m +6458(A)s 6686(path)s 7152(can)s 7539(be)s 7818(thought)s +8608(of)s 8876(as)s 0 11809(the)m 349(track)s 888(of)s +1161(a)s 1328(pen)s 1733(mo)s 3(ving)k 2516(o)s 3(v)k 3(er)k +2996(the)s 3346(page.)s 3963(The)s 4393(pen)s 4797(may)s +5265(be)s 5548(up)s 5842(\(not)s 6289(dra)s 3(wing\))k +7199(or)s 7460(do)s 6(wn)k 8045(\(dra)s 3(wing)k +8960(a)s 0 11521(line)m 414(or)s 673(curv)s 3(e\))k +1329(as)s 1579(it)s 1771(mo)s 3(v)k 3(es.)k +2554(The)s 2982(entire)s 3581(path)s 4050(is)s 4260(a)s +4426(sequence)s 5359(of)s 5630(the)s 5978(follo)s 6(wing)k +6955(items:)s 240 fnt6 1847 11149(x)m 2013(y)s 220 fnt2 +2175 11144(mo)m 3(v)k 5(eto)k 240 fnt1 3120 11147(Lift)m +3537(the)s 3885(pen)s 4288(and)s 4692(mo)s 3(v)k 3(e)k +5274(it)s 5466(to)s 5705(the)s 6053(indicated)s 6987(point.)s +240 fnt6 2036 10790(x)m 2202(y)s 220 fnt2 2364 10785(lineto)m +240 fnt1 3120 10788(Put)m 3557(the)s 3963(pen)s 4424(do)s 6(wn)k +5066(and)s 5528(dra)s 3(w)k 6115(a)s 6339(straight)s +7173(line)s 7645(to)s 7942(the)s 8348(indicat)s 8998(-)s +3120 10500(ed)m 3404(point.)s 240 fnt6 702 10141(x)m 868(y)s +1030(r)s 1188(angle1)s 1879(angle2)s 220 fnt2 2580 10136(arc)m +240 fnt1 3120 10139(Put)m 3502(the)s 3853(pen)s 4259(do)s 6(wn)k +4846(and)s 5253(dra)s 3(w)k 5785(a)s 5954(circular)s +6745(arc)s 7092(whose)s 7763(centre)s 8405(has)s 8779(co)s +8998(-)s 3120 9851(ordinates)m 240 fnt6 4058 9853(x)m 240 fnt1 +4235 9851(and)m 240 fnt6 4650 9853(y)m 240 fnt1 4823 9851(and)m +5238(whose)s 5917(radius)s 6563(is)s 240 fnt6 6784 9853(r)m +240 fnt1 6882 9851(.)m 7057(The)s 7496(arc)s 7851(be)s 3(gins)k +8535(at)s 8778(the)s 3120 9563(angle)m 240 fnt6 3727 9565(angle1)m +240 fnt1 4451 9563(measuring)m 5533(counterclockwise)s 7295(from)s 7852(the)s +8233(point)s 8818(di)s 8998(-)s 3120 9275(rectly)m 3714(to)s +3949(the)s 4294(right)s 4801(of)s 5069(the)s 5413(centre,)s +6100(and)s 6500(proceeds)s 7397(counterclockwise)s 3120 8987(to)m 240 fnt6 +3361 8989(angle2)m 240 fnt1 4002 8987(.)m 4168(If)s 4401(the)s +4751(arc)s 5098(is)s 5310(not)s 5679(the)s 6029(\207rst)s +6462(thing)s 7010(on)s 7309(the)s 7660(path,)s 8181(a)s +8350(straight)s 3120 8699(line)m 3549(will)s 3990(be)s 4287(dra)s 3(wn)k +4954(connecting)s 6072(the)s 6435(current)s 7186(point)s 7753(to)s +8007(the)s 8370(start)s 8855(of)s 3120 8411(the)m 3468(arc.)s +240 fnt6 589 8102(x)m 755(y)s 917(r)s 1075(angle1)s +1766(angle2)s 220 fnt2 2467 8097(arcn)m 240 fnt1 3120 8100(As)m +3437(for)s 3775(arc,)s 4173(b)s 4(ut)k 4535(the)s +4883(arc)s 5227(goes)s 5717(clockwise)s 6729(from)s 240 fnt6 +7253 8102(angle1)m 240 fnt1 7944 8100(to)m 240 fnt6 8183 8102(angle2)m +240 fnt1 8824 8100(.)m 220 fnt2 1955 7738(closepath)m 240 fnt1 +3120 7741(Dra)m 3(w)k 3702(a)s 3868(straight)s 4644(line)s +5058(back)s 5571(to)s 5810(the)s 6158(point)s 6710(most)s +7235(recently)s 8058(mo)s 3(v)k 3(ed)k 8762(to.)s +0 7367(The)m 428(\207rst)s 860(item)s 1344(should)s 2042(al)s 2(w)k 2(ays)k +2753(be)s 3036(a)s 220 fnt2 3202 7364(mo)m 3(v)k 5(eto)k +240 fnt1 3907 7367(,)m 220 fnt2 4015 7364(arc)m 240 fnt1 +4315 7367(,)m 4422(or)s 220 fnt2 4682 7364(arcn)m 240 fnt1 +5095 7367(.)m 5259(It)s 5465(should)s 6162(be)s 6445(clear)s 6968(from)s 7493(this)s 7889(that)s 8308(the)s 8657(path)s -0 12917(gi)m 6(v)k 3(en)k 580(earlier:)s 220 fnt2 -480 12423(0 0 mo)m 3(v)k 5(eto)k 480 12135(0 ysiz)m 3(e lineto)k -480 11847(xsiz)m 3(e ysiz)k 3(e lineto)k 480 11559(xsiz)m 3(e 0 lineto)k -480 11271(closepath)m 240 fnt1 0 10775(traces)m 607(around)s 1330(the)s +0 7079(gi)m 6(v)k 3(en)k 580(earlier:)s 220 fnt2 +480 6585(0 0 mo)m 3(v)k 5(eto)k 480 6297(0 ysiz)m 3(e lineto)k +480 6009(xsiz)m 3(e ysiz)k 3(e lineto)k 480 5721(xsiz)m 3(e 0 lineto)k +480 5433(closepath)m 240 fnt1 0 4937(traces)m 607(around)s 1330(the)s 1678(boundary)s 2637(of)s 2908(the)s 3256(base)s 3737(with)s -4219(the)s 4567(pen)s 4970(do)s 6(wn.)k 480 10401(Once)m +4219(the)s 4567(pen)s 4970(do)s 6(wn.)k 480 4563(Once)m 1039(a)s 1203(path)s 1670(is)s 1877(set)s 2200(up,)s 2545(we)s 2877(are)s 3222(ready)s 3805(to)s 240 fnt6 -4041 10403(paint)m 240 fnt1 4595 10401(it)m 4785(onto)s 5262(the)s +4041 4565(paint)m 240 fnt1 4595 4563(it)m 4785(onto)s 5262(the)s 5607(page.)s 6221(There)s 6832(are)s 7176(tw)s 2(o)k -7584(choices:)s 8405(we)s 8737(can)s 0 10113(either)m 240 fnt6 -618 10115(str)m 10(ok)k 2(e)k 240 fnt1 1259 10113(it,)m +7584(choices:)s 8405(we)s 8737(can)s 0 4275(either)m 240 fnt6 +618 4277(str)m 10(ok)k 2(e)k 240 fnt1 1259 4275(it,)m 1514(which)s 2172(means)s 2850(to)s 3105(display)s 3866(it)s 4074(as)s 4340(described;)s 5383(or)s 5658(we)s 6009(can)s -240 fnt6 6414 10115(\207ll)m 240 fnt1 6742 10113(it,)m 6997(which)s -7655(means)s 8333(to)s 8588(paint)s 0 9825(e)m 6(v)k 3(erything)k +240 fnt6 6414 4277(\207ll)m 240 fnt1 6742 4275(it,)m 6997(which)s +7655(means)s 8333(to)s 8588(paint)s 0 3987(e)m 6(v)k 3(erything)k 1067(inside)s 1694(it)s 1886(gre)s 3(y)k 2362(or)s 2621(black.)s 3303(F)s 3(or)k 3692(stroking)s 4529(the)s 4877(tw)s 2(o)k 5287(main)s 5822(options)s 6578(are)s -240 fnt6 1581 9322(length)m 220 fnt2 2234 9317(setline)m 4(width)k -240 fnt1 3600 9320(The)m 4028(pen)s 4431(will)s 4857(dra)s 3(w)k +240 fnt6 1581 3484(length)m 220 fnt2 2234 3479(setline)m 4(width)k +240 fnt1 3600 3482(The)m 4028(pen)s 4431(will)s 4857(dra)s 3(w)k 5386(lines)s 5888(of)s 6159(the)s 6507(gi)s 6(v)k 3(en)k 7087(width.)s -[ /Dest /LOUT16_1527_pre_grap_1 /DEST pdfmark -220 fnt2 1553 8812([)m 240 fnt6 1668 8817(length)m -220 fnt2 2321 8812(])m 2430(0)s 2605(setdash)s 240 fnt1 -3600 8815(The)m 4034(pen)s 4444(will)s 4876(dra)s 3(w)k +[ /Dest /LOUT16_1579_pre_grap_1 /DEST pdfmark +220 fnt2 1553 2974([)m 240 fnt6 1668 2979(length)m +220 fnt2 2321 2974(])m 2430(0)s 2605(setdash)s 240 fnt1 +3600 2977(The)m 4034(pen)s 4444(will)s 4876(dra)s 3(w)k 5412(dashed)s 6142(lines)s 6650(when)s 7233(it)s 7432(is)s -7648(do)s 6(wn,)k 8289(with)s 8778(the)s 3600 8527(dashes)m +7648(do)s 6(wn,)k 8289(with)s 8778(the)s 3600 2689(dashes)m 4289(each)s 4784(of)s 5055(the)s 5403(gi)s 6(v)k 3(en)k 5983(length.)s -[ /Dest /LOUT16_1527_pre_grap_2 /DEST pdfmark -0 8024(These)m 627(options)s 1383(are)s 1730(follo)s 6(wed)k +[ /Dest /LOUT16_1579_pre_grap_2 /DEST pdfmark +0 2186(These)m 627(options)s 1383(are)s 1730(follo)s 6(wed)k 2632(by)s 2926(the)s 3274(w)s 2(ord)k 220 fnt2 -3822 8021(strok)m 4(e)k 240 fnt1 4408 8024(.)m 4572(So,)s -4932(for)s 5270(e)s 3(xample,)k 220 fnt2 480 7526({ 0 0 mo)m 3(v)k 5(eto xsiz)k 3(e 0 lineto)k -480 7238( 2 pt setline)m 4(width [ 5 pt ] 0 setdash strok)k 4(e)k 480 6950(})m 480 6662(@Gr)m 2(aphic { 3i @Wide })k -240 fnt1 0 6166(has)m 370(result)s 4320 0 0 0 240 288 60 480 5876 LoutGr2 +3822 2183(strok)m 4(e)k 240 fnt1 4408 2186(.)m 4572(So,)s +4932(for)s 5270(e)s 3(xample,)k 220 fnt2 480 1688({ 0 0 mo)m 3(v)k 5(eto xsiz)k 3(e 0 lineto)k +480 1400( 2 pt setline)m 4(width [ 5 pt ] 0 setdash strok)k 4(e)k 480 1112(})m 480 824(@Gr)m 2(aphic { 3i @Wide })k +240 fnt1 0 328(has)m 370(result)s 4320 0 0 0 240 288 60 480 38 LoutGr2 0 0 moveto xsize 0 lineto 2 pt setlinewidth [ 5 pt ] 0 setdash stroke grestore grestore -480 5160(When)m 1106(\207lling)s -1726(in)s 1965(the)s 2310(re)s 3(gion)k 2971(enclosed)s -3862(by)s 4153(a)s 4315(path,)s 4830(the)s 5175(main)s -5706(option)s 6371(is)s 220 fnt2 6578 5157(setg)m 2(r)k 2(a)k 6(y)k -240 fnt1 7286 5160(,)m 7389(which)s 8027(determines)s 0 4872(the)m -348(shade)s 949(of)s 1220(gre)s 3(y)k 1696(to)s -1935(use,)s 2361(on)s 2658(a)s 2824(scale)s 3357(from)s -3881(0)s 4056(\(black\))s 4781(to)s 5020(1)s 5175(\(white\).)s -6028(So,)s 6388(for)s 6726(e)s 3(xample,)k 220 fnt2 -480 4374({ 0 0 mo)m 3(v)k 5(eto xsiz)k 3(e 0 lineto 0 ysiz)k 3(e lineto closepath)k -480 4086( 0.8 setg)m 2(r)k 2(a)k 6(y \207ll)k 480 3798(})m -480 3510(@Gr)m 2(aphic)k 480 3222({ 2c @Wide 2c @High })m 240 fnt1 0 2723(has)m -370(result)s 1134 1134 0 1134 240 288 60 480 1299 LoutGr2 -0 0 moveto xsize 0 lineto 0 ysize lineto closepath -0.8 setgray fill -grestore - -grestore -480 583(There)m 1107(are)s 1468(man)s 3(y)k -2066(other)s 2631(options.)s 3515(The)s 3957(v)s 6(alue)k -4540(of)s 4825(the)s 5188(left)s 5579(parameter)s 6608(of)s -220 fnt2 6893 580(@Gr)m 2(aphic)k 240 fnt1 7952 583(may)m -8432(be)s 8729(an)s 3(y)k 0 295(fragment)m 922(of)s -1193(the)s 1541(PostScript)s 2583(page)s 3091(description)s 4210(language)s -5130([)s -[ /Rect [5201 295 5296 457] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTadobe1990ps /ANN pdfmark -5201(1)s 5296(].)s 5539(Here)s 6059(are)s -6406(tw)s 2(o)k 6816(other)s 7367(e)s 3(xamples:)k grestore gsave @@ -16404,7 +16442,6 @@ showpage %%+ font Times-Italic %%+ font Times-Bold %%+ font Helvetica -%%+ font Symbol /pgsave save def %%IncludeResource: font Times-Roman /Times-Romanfnt1 vec2 /Times-Roman LoutRecode @@ -16418,8 +16455,6 @@ showpage %%IncludeResource: font Helvetica /Helveticafnt2 vec2 /Helvetica LoutRecode /fnt2 { /Helveticafnt2 LoutFont } def -%%IncludeResource: font Symbol -/fnt4 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave @@ -16435,116 +16470,98 @@ gsave 1991(@Gr)s 3(aphic)k 240 fnt5 10250 -1583(73)m gsave 1417 -15423 translate 240 fnt1 -9066 13368 0 13268 240 288 60 LoutGraphic +9066 13368 0 13368 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore -220 fnt2 480 13211(xsiz)m 3(e)k 1030(2)s 1203(div)s -240 fnt1 0 12757(denoting)m 891(a)s 1057(length)s 1712(equal)s +480 12940(When)m 1106(\207lling)s 1726(in)s 1965(the)s 2310(re)s 3(gion)k +2971(enclosed)s 3862(by)s 4153(a)s 4315(path,)s 4830(the)s +5175(main)s 5706(option)s 6371(is)s 220 fnt2 6578 12937(setg)m 2(r)k 2(a)k 6(y)k +240 fnt1 7286 12940(,)m 7389(which)s 8027(determines)s 0 12652(the)m +348(shade)s 949(of)s 1220(gre)s 3(y)k 1696(to)s +1935(use,)s 2361(on)s 2658(a)s 2824(scale)s 3357(from)s +3881(0)s 4056(\(black\))s 4781(to)s 5020(1)s 5175(\(white\).)s +6028(So,)s 6388(for)s 6726(e)s 3(xample,)k 220 fnt2 +480 12154({ 0 0 mo)m 3(v)k 5(eto xsiz)k 3(e 0 lineto 0 ysiz)k 3(e lineto closepath)k +480 11866( 0.8 setg)m 2(r)k 2(a)k 6(y \207ll)k 480 11578(})m +480 11290(@Gr)m 2(aphic)k 480 11002({ 2c @Wide 2c @High })m 240 fnt1 0 10503(has)m +370(result)s 1134 1134 0 1134 240 288 60 480 9079 LoutGr2 +0 0 moveto xsize 0 lineto 0 ysize lineto closepath +0.8 setgray fill +grestore + +grestore +480 8363(There)m 1107(are)s 1468(man)s 3(y)k +2066(other)s 2631(options.)s 3515(The)s 3957(v)s 6(alue)k +4540(of)s 4825(the)s 5188(left)s 5579(parameter)s 6608(of)s +220 fnt2 6893 8360(@Gr)m 2(aphic)k 240 fnt1 7952 8363(may)m +8432(be)s 8729(an)s 3(y)k 0 8075(fragment)m 922(of)s +1193(the)s 1541(PostScript)s 2583(page)s 3091(description)s 4210(language)s +5130([)s +[ /Rect [5201 8075 5296 8237] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTadobe1990ps /ANN pdfmark +5201(1)s 5296(].)s 5539(Here)s 6059(are)s +6406(tw)s 2(o)k 6816(other)s 7367(e)s 3(xamples:)k +220 fnt2 480 7578(xsiz)m 3(e)k 1030(2)s 1203(div)s +240 fnt1 0 7124(denoting)m 891(a)s 1057(length)s 1712(equal)s 2285(to)s 2524(half)s 2967(the)s 3315(horizontal)s 4339(size)s 4766(of)s 5037(the)s 5385(base,)s 5917(and)s 220 fnt2 -480 12258(gsa)m 4(v)k 5(e)k 1110(\207ll)s 1363(g)s 2(restore)k -2219(strok)s 4(e)k 240 fnt1 0 11759(which)m 648(both)s +480 6625(gsa)m 4(v)k 5(e)k 1110(\207ll)s 1363(g)s 2(restore)k +2219(strok)s 4(e)k 240 fnt1 0 6126(which)m 648(both)s 1138(\207lls)s 1554(and)s 1965(strok)s 2(es)k 2698(the)s 3053(path.)s 3636(Since)s 4230(Basser)s 4933(Lout)s 5452(does)s 5949(not)s 6322(check)s 6948(that)s 7373(the)s 7728(left)s -8112(parameter)s 0 11471(is)m 209(v)s 6(alid)k 737(PostScript,)s +8112(parameter)s 0 5838(is)m 209(v)s 6(alid)k 737(PostScript,)s 1824(it)s 2014(is)s 2222(possible)s 3061(to)s 3298(cause)s 3883(mysterious)s 4981(errors)s 5586(in)s 5828(the)s 6174(printing)s 6982(de)s 6(vice,)k 7705(resulting)s 8592(in)s 8833(no)s -0 11183(output,)m 708(if)s 914(an)s 1186(incorrect)s 2083(v)s 6(alue)k +0 5550(output,)m 708(if)s 914(an)s 1186(incorrect)s 2083(v)s 6(alue)k 2640(is)s 2839(gi)s 6(v)k 3(en.)k 3515(It)s 3709(is)s 3908(a)s 4063(good)s 4590(idea)s 5037(to)s 5265(encapsulate)s 6425(graphics)s 7275(objects)s 7992(in)s 8224(carefully)s -0 10895(tested)m 635(de\207nitions,)s 1773(lik)s 2(e)k 2206(those)s +0 5262(tested)m 635(de\207nitions,)s 1773(lik)s 2(e)k 2206(those)s 2788(of)s 3080(the)s 3449(Diag)s 3988(\207gure)s 4623(dra)s 3(wing)k 5478(package)s 6339([)s -[ /Rect [6410 10895 6524 11057] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTkingston1995lout_user /ANN pdfmark +[ /Rect [6410 5262 6524 5424] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTkingston1995lout_user /ANN pdfmark 6410(4)s 6524(,)s 6652(Chapter)s 7490(9],)s -[ /Dest /LOUT19_4262_pre_grap_4 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_grap_4 /DEST pdfmark 7817(to)s 8077(be)s 8380(sure)s 8855(of)s -0 10607(a)m 4(v)k 4(oiding)k 883(these)s 1430(errors.)s -480 10233(PostScript)m 1543(e)s 3(xperts)k 2302(may)s 2789(\207nd)s +0 4974(a)m 4(v)k 4(oiding)k 883(these)s 1430(errors.)s +480 4600(PostScript)m 1543(e)s 3(xperts)k 2302(may)s 2789(\207nd)s 3241(the)s 3610(follo)s 6(wing)k 4608(information)s 5814(helpful)s -6567(when)s 7164(designing)s 8170(adv)s 6(anced)k 0 9945(graphics)m +6567(when)s 7164(designing)s 8170(adv)s 6(anced)k 0 4312(graphics)m 861(features.)s 1780(The)s 2208(left)s 2585(parameter)s 3599(of)s -220 fnt2 3870 9942(@Gr)m 2(aphic)k 240 fnt1 4914 9945(may)m +220 fnt2 3870 4309(@Gr)m 2(aphic)k 240 fnt1 4914 4312(may)m 5380(ha)s 4(v)k 3(e)k 5881(tw)s 2(o)k -6291(parts,)s 6862(separated)s 7822(by)s 220 fnt2 8116 9942(//)m -240 fnt1 8241 9945(:)m 220 fnt2 480 9437({)m 240 fnt6 -604 9442(\207r)m 2(st)k 1038(part)s 220 fnt2 1501 9437(//)m -240 fnt6 1686 9442(second)m 2417(part)s 220 fnt2 2880 9437(} @Gr)m 2(aphic)k -240 fnt6 4058 9442(object)m 240 fnt1 0 8941(If)m 230(there)s -763(is)s 973(no)s 220 fnt2 1266 8938(//)m 240 fnt1 -1391 8941(,)m 1498(the)s 1846(second)s 2569(part)s 3000(is)s +6291(parts,)s 6862(separated)s 7822(by)s 220 fnt2 8116 4309(//)m +240 fnt1 8241 4312(:)m 220 fnt2 480 3804({)m 240 fnt6 +604 3809(\207r)m 2(st)k 1038(part)s 220 fnt2 1501 3804(//)m +240 fnt6 1686 3809(second)m 2417(part)s 220 fnt2 2880 3804(} @Gr)m 2(aphic)k +240 fnt6 4058 3809(object)m 240 fnt1 0 3308(If)m 230(there)s +763(is)s 973(no)s 220 fnt2 1266 3305(//)m 240 fnt1 +1391 3308(,)m 1498(the)s 1846(second)s 2569(part)s 3000(is)s 3210(tak)s 2(en)k 3783(to)s 4022(be)s 4304(empty)s 15(.)k 5051(The)s 5479(PostScript)s 6521(output)s 7193(has)s 7563(the)s -7911(form)s 220 fnt2 480 8484(gsa)m 4(v)k 5(e)k -240 fnt6 480 8201(x)m 646(y)s 220 fnt2 808 8196(tr)m 2(anslate)k -240 fnt6 480 7913(Code)m 1039(whic)s 3(h)k 1663(de\207nes)s -220 fnt2 2383 7908(xsiz)m 3(e)k 240 fnt6 2872 7913(,)m -220 fnt2 2965 7908(ysiz)m 3(e)k 240 fnt6 3454 7913(,)m -220 fnt2 3547 7908(xmar)m -3(k)k 240 fnt6 4148 7913(,)m -220 fnt2 4241 7908(ymar)m -3(k)k 240 fnt6 4842 7913(,)m -220 fnt2 4935 7908(ft)m 240 fnt6 5053 7913(,)m 220 fnt2 -5146 7908(vs)m 240 fnt6 5359 7913(,)m 5452(and)s 220 fnt2 -5878 7908(sp)m 480 7620(gsa)m 4(v)k 5(e)k 240 fnt6 -480 7337(\207r)m 2(st)k 914(part)s 220 fnt2 480 7044(g)m 2(restore)k -240 fnt6 480 6761(Code)m 1039(whic)s 3(h)k 1663(r)s 8(ender)k 2(s)k +7911(form)s 220 fnt2 480 2851(gsa)m 4(v)k 5(e)k +240 fnt6 480 2568(x)m 646(y)s 220 fnt2 808 2563(tr)m 2(anslate)k +240 fnt6 480 2280(Code)m 1039(whic)s 3(h)k 1663(de\207nes)s +220 fnt2 2383 2275(xsiz)m 3(e)k 240 fnt6 2872 2280(,)m +220 fnt2 2965 2275(ysiz)m 3(e)k 240 fnt6 3454 2280(,)m +220 fnt2 3547 2275(xmar)m -3(k)k 240 fnt6 4148 2280(,)m +220 fnt2 4241 2275(ymar)m -3(k)k 240 fnt6 4842 2280(,)m +220 fnt2 4935 2275(ft)m 240 fnt6 5053 2280(,)m 220 fnt2 +5146 2275(vs)m 240 fnt6 5359 2280(,)m 5452(and)s 220 fnt2 +5878 2275(sp)m 480 1987(gsa)m 4(v)k 5(e)k 240 fnt6 +480 1704(\207r)m 2(st)k 914(part)s 220 fnt2 480 1411(g)m 2(restore)k +240 fnt6 480 1128(Code)m 1039(whic)s 3(h)k 1663(r)s 8(ender)k 2(s)k 2439(the)s 2784(right)s 3313(par)s 3(ameter)k 4372(in)s -4612(tr)s 3(anslated)k 5645(coor)s 8(dinates)k 480 6473(second)m -1211(part)s 220 fnt2 480 6180(g)m 2(restore)k 240 fnt1 -0 5681(where)m 240 fnt6 628 5683(x)m 240 fnt4 733 5675(,)m -240 fnt6 802 5683(y)m 240 fnt1 952 5681(is)m 1149(the)s -1485(position)s 2300(of)s 2558(the)s 2894(lo)s 6(wer)k -3479(left)s 3843(corner)s 4501(of)s 4759(the)s 5095(base.)s -5671(Ha)s 4(ving)k 6412(tw)s 2(o)k 6810(parts)s -7312(permits)s 8066(brack)s 2(eting)k 0 5393(operations,)m 1112(lik)s 2(e)k -220 fnt2 1533 5390(sa)m 4(v)k 5(e)k 240 fnt1 -2049 5393(and)m 220 fnt2 2462 5390(restore)m 240 fnt1 3206 5393(or)m -220 fnt2 3474 5390(begin)m 240 fnt1 4065 5393(and)m 220 fnt2 -4478 5390(end)m 240 fnt1 4832 5393(,)m 4949(to)s 5197(enclose)s -5979(an)s 6271(object.)s 7028(See)s 7438(the)s 7795(source)s -8484(\207le)s 8855(of)s 0 5105(the)m 348(Diag)s 866(package)s -1706(for)s 2044(e)s 3(xamples.)k 240 fnt5 0 4312(3.42.)m -591(@PlainGraphic)s -[ /Dest /LOUTplaingraphic /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_plai_1 /DEST pdfmark -240 fnt1 567 3835(The)m 220 fnt2 1023 3832(@PlainGr)m 2(aphic)k -240 fnt1 2580 3835(symbol)m 3368(is)s 3606(a)s 4(v)k 3(ery)k -4211(rudimentary)s 5461(analogue)s 6408(for)s 6774(plain)s 7337(te)s 3(xt)k -7779(output)s 8479(of)s 8778(the)s 220 fnt2 0 3544(@Gr)m 2(aphic)k -240 fnt1 1037 3547(symbol)m 1789(for)s 2119(PostScript)s 3153(output.)s -3921(Its)s 4202(result)s 4784(is)s 4986(its)s 5254(right)s -5757(parameter)s 6763(printed)s 7490(on)s 7779(a)s 7937(background)s -0 3259(created)m 747(by)s 1041(repeated)s 1908(printings)s 2809(of)s -3080(its)s 3356(left)s 3733(parameter)s 9(,)k 4785(which)s -5427(must)s 5952(be)s 6234(a)s 6400(simple)s 7093(w)s 2(ord.)k -7747(F)s 3(or)k 8136(e)s 3(xample,)k 480 2754("." @PlainGraphic 5s @W)m 9(ide)k -0 2251(w)m 2(ould)k 676(produce)s 1525(\207v)s 3(e)k -1959(dots.)s 220 fnt2 2544 2248(@PlainGr)m 2(aphic)k 240 fnt1 -4096 2251(is)m 4328(used)s 4847(in)s 5112(the)s 220 fnt2 -5482 2248(tb)m 4(l)k 240 fnt1 5777 2251(table-dra)m 3(wing)k -7176(package)s 8038(to)s 8299(produce)s 0 1963(plain-te)m 3(xt)k -972(rules.)s 240 fnt5 0 1170(3.43.)m 591(@IncludeGraphic)s 2491(and)s -2932(@SysIncludeGraphic)s -[ /Dest /LOUTincludegraphic /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_incg_1 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_incg_2 /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_incg_3 /DEST pdfmark -240 fnt1 540 693(These)m 1167(symbols)s 2016(instruct)s -2792(Lout)s 3304(to)s 3543(incorporate)s 4687(a)s 4853(separately)s -5875(created)s 6622(illustration:)s 220 fnt2 480 192(@IncludeGr)m 2(aphic "m)k 3(ypor)k -8(tr)k 2(ait.eps")k - +4612(tr)s 3(anslated)k 5645(coor)s 8(dinates)k 480 840(second)m +1211(part)s 220 fnt2 480 547(g)m 2(restore)k grestore gsave 1417 -15423 translate -240 fnt1 0 0 0 0 240 288 60 LoutGraphic +240 fnt1 +0 0 0 0 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore @@ -16563,6 +16580,7 @@ showpage %%PageResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic +%%+ font Symbol %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Roman @@ -16574,6 +16592,8 @@ showpage %%IncludeResource: font Times-Italic /Times-Italicfnt6 vec2 /Times-Italic LoutRecode /fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Symbol +/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica /Helveticafnt2 vec2 /Helvetica LoutRecode /fnt2 { /Helveticafnt2 LoutFont } def @@ -16592,155 +16612,134 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -0 13205(The)m 457(parameter)s 1500(is)s -1739(implementation-dependent;)s 4443(in)s 4715(Basser)s 5441(Lout)s 5982(it)s -6203(is)s 6442(an)s 6754(object)s 7427(whose)s 8124(v)s 6(alue)k -8721(is)s 8960(a)s 0 12917(simple)m 705(w)s 2(ord)k +0 13205(where)m 240 fnt6 628 13207(x)m +240 fnt4 733 13199(,)m 240 fnt6 802 13207(y)m 240 fnt1 +952 13205(is)m 1149(the)s 1485(position)s 2300(of)s 2558(the)s +2894(lo)s 6(wer)k 3479(left)s 3843(corner)s 4501(of)s +4759(the)s 5095(base.)s 5671(Ha)s 4(ving)k 6412(tw)s 2(o)k +6810(parts)s 7312(permits)s 8066(brack)s 2(eting)k 0 12917(operations,)m +1112(lik)s 2(e)k 220 fnt2 1533 12914(sa)m 4(v)k 5(e)k +240 fnt1 2049 12917(and)m 220 fnt2 2462 12914(restore)m 240 fnt1 +3206 12917(or)m 220 fnt2 3474 12914(begin)m 240 fnt1 4065 12917(and)m +220 fnt2 4478 12914(end)m 240 fnt1 4832 12917(,)m 4949(to)s +5197(enclose)s 5979(an)s 6271(object.)s 7028(See)s 7438(the)s +7795(source)s 8484(\207le)s 8855(of)s 0 12629(the)m 348(Diag)s +866(package)s 1706(for)s 2044(e)s 3(xamples.)k 240 fnt5 +0 11836(3.42.)m 591(@PlainGraphic)s +[ /Dest /LOUTplaingraphic /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_plai_1 /DEST pdfmark +240 fnt1 567 11359(The)m 220 fnt2 +1023 11356(@PlainGr)m 2(aphic)k 240 fnt1 2580 11359(symbol)m 3368(is)s +3606(a)s 4(v)k 3(ery)k 4211(rudimentary)s 5461(analogue)s +6408(for)s 6774(plain)s 7337(te)s 3(xt)k 7779(output)s +8479(of)s 8778(the)s 220 fnt2 0 11068(@Gr)m 2(aphic)k +240 fnt1 1037 11071(symbol)m 1789(for)s 2119(PostScript)s 3153(output.)s +3921(Its)s 4202(result)s 4784(is)s 4986(its)s 5254(right)s +5757(parameter)s 6763(printed)s 7490(on)s 7779(a)s 7937(background)s +0 10783(created)m 747(by)s 1041(repeated)s 1908(printings)s 2809(of)s +3080(its)s 3356(left)s 3733(parameter)s 9(,)k 4785(which)s +5427(must)s 5952(be)s 6234(a)s 6400(simple)s 7093(w)s 2(ord.)k +7747(F)s 3(or)k 8136(e)s 3(xample,)k 480 10278("." @PlainGraphic 5s @W)m 9(ide)k +0 9775(w)m 2(ould)k 676(produce)s 1525(\207v)s 3(e)k +1959(dots.)s 220 fnt2 2544 9772(@PlainGr)m 2(aphic)k 240 fnt1 +4096 9775(is)m 4328(used)s 4847(in)s 5112(the)s 220 fnt2 +5482 9772(tb)m 4(l)k 240 fnt1 5777 9775(table-dra)m 3(wing)k +7176(package)s 8038(to)s 8299(produce)s 0 9487(plain-te)m 3(xt)k +972(rules.)s 240 fnt5 0 8694(3.43.)m 591(@IncludeGraphic)s 2491(and)s +2932(@SysIncludeGraphic)s +[ /Dest /LOUTincludegraphic /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_incg_1 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_incg_2 /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_incg_3 /DEST pdfmark +240 fnt1 540 8217(These)m 1167(symbols)s 2016(instruct)s +2792(Lout)s 3304(to)s 3543(incorporate)s 4687(a)s 4853(separately)s +5875(created)s 6622(illustration:)s 220 fnt2 480 7716(@IncludeGr)m 2(aphic "m)k 3(ypor)k -8(tr)k 2(ait.eps")k +240 fnt1 0 7218(The)m 457(parameter)s 1500(is)s 1739(implementation-dependent;)s +4443(in)s 4715(Basser)s 5441(Lout)s 5982(it)s 6203(is)s +6442(an)s 6754(object)s 7427(whose)s 8124(v)s 6(alue)k +8721(is)s 8960(a)s 0 6930(simple)m 705(w)s 2(ord)k 1265(denoting)s 2168(the)s 2528(name)s 3114(of)s 3397(a)s 3575(\207le.)s 4056(This)s 4544(\207le)s 4917(should)s 5626(ideally)s 6342(be)s 6636(a)s 6814(PostScript)s 7868(EPS)s 8338(V)s 26(ersion)k -0 12629(3.0)m 345(\207le)s 696([)s -[ /Rect [767 12629 862 12791] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTadobe1990ps /ANN pdfmark +0 6642(3.0)m 345(\207le)s 696([)s +[ /Rect [767 6642 862 6804] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTadobe1990ps /ANN pdfmark 767(1)s 862(],)s 1038(since)s 1575(then)s 2034(Lout)s 2536(will)s 2952(k)s 2(eep)k 3445(careful)s 4152(track)s 4680(of)s 4941(what)s 5456(resources)s 6399(are)s 6736(required)s 7580(for)s 7908(printing)s 8708(that)s -0 12341(\207le.)m 473(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +0 6354(\207le.)m 473(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k 1437(an)s 3(y)k 1838(PostScript)s 2885(\207le)s 3250(containing)s -4317(the)s 220 fnt2 4669 12338(%%BoundingBo)m 6(x:)k 240 fnt1 -6464 12341(comment)m 7418(and)s 7826(not)s 8197(requiring)s 0 12053(unusual)m +4317(the)s 220 fnt2 4669 6351(%%BoundingBo)m 6(x:)k 240 fnt1 +6464 6354(comment)m 7418(and)s 7826(not)s 8197(requiring)s 0 6066(unusual)m 800(resources)s 1753(is)s 1963(lik)s 2(ely)k 2559(to)s -2798(w)s 2(ork.)k 480 11679(The)m 924(result)s 1530(of)s -220 fnt2 1817 11676(@IncludeGr)m 2(aphic)k 240 fnt1 3584 11679(is)m +2798(w)s 2(ork.)k 480 5692(The)m 924(result)s 1530(of)s +220 fnt2 1817 5689(@IncludeGr)m 2(aphic)k 240 fnt1 3584 5692(is)m 3811(an)s 4110(ordinary)s 4990(Lout)s 5518(object)s 6179(with)s -6677(marks)s 7328(through)s 8146(its)s 8439(centre.)s 0 11391(It)m +6677(marks)s 7328(through)s 8146(its)s 8439(centre.)s 0 5404(It)m 202(may)s 665(be)s 944(rotated,)s 1711(scaled,)s 2412(and)s 2813(generally)s 3753(treated)s 4456(lik)s 2(e)k 4865(an)s 3(y)k 5259(other)s 5807(object.)s 6552(Basser)s 7246(Lout)s 7755(determines)s -8850(its)s 0 11103(size)m 434(by)s 735(consulting)s 1792(the)s +8850(its)s 0 5116(size)m 434(by)s 735(consulting)s 1792(the)s 2147(bounding)s 3113(box)s 3536(information)s 4728(in)s 4978(the)s 5333(\207le.)s 5809(If)s 6047(this)s 6450(cannot)s 7155(be)s -7444(found,)s 8117(a)s 8291(w)s 2(arning)k 0 10815(message)m +7444(found,)s 8117(a)s 8291(w)s 2(arning)k 0 4828(message)m 866(is)s 1076(printed)s 1811(and)s 2215(the)s 2563(result)s 3153(object)s 3797(has)s 4167(zero)s 4631(size.)s 220 fnt2 -480 10438(@IncludeGr)m 2(aphic)k 240 fnt1 2228 10441(searches)m 3085(the)s -3430(same)s 3974(directories)s 5029(that)s 220 fnt2 5444 10438(@Include)m -240 fnt1 6423 10441(does)m 6910(\(Section)s 7760(3.46\).)s 220 fnt2 -8420 10438(@Sys)m 9002(-)s 0 10150(IncludeGr)m 2(aphic)k 240 fnt1 -1562 10153(is)m 1806(the)s 2188(same)s 2769(as)s 220 fnt2 -3053 10150(@IncludeGr)m 2(aphic)k 240 fnt1 4744 10153(,)m 4885(e)s 3(xcept)k +480 4451(@IncludeGr)m 2(aphic)k 240 fnt1 2228 4454(searches)m 3085(the)s +3430(same)s 3974(directories)s 5029(that)s 220 fnt2 5444 4451(@Include)m +240 fnt1 6423 4454(does)m 6910(\(Section)s 7760(3.46\).)s 220 fnt2 +8420 4451(@Sys)m 9002(-)s 0 4163(IncludeGr)m 2(aphic)k 240 fnt1 +1562 4166(is)m 1806(the)s 2188(same)s 2769(as)s 220 fnt2 +3053 4163(@IncludeGr)m 2(aphic)k 240 fnt1 4744 4166(,)m 4885(e)s 3(xcept)k 5600(that)s 6052(it)s 6278(searches)s 7172(only)s 7686(the)s -8068(directories)s 0 9865(searched)m 894(by)s 220 fnt2 1188 9862(@SysInclude)m -240 fnt1 2476 9865(.)m 480 9491(If)m 720(the)s 1079(\207le)s +8068(directories)s 0 3878(searched)m 894(by)s 220 fnt2 1188 3875(@SysInclude)m +240 fnt1 2476 3878(.)m 480 3504(If)m 720(the)s 1079(\207le)s 1450(name)s 2035(ends)s 2536(in)s 2789(an)s 3(y)k -3197(of)s 220 fnt2 3478 9488(.gz)m 240 fnt1 3765 9491(,)m -220 fnt2 3883 9488(-gz)m 240 fnt1 4182 9491(,)m 220 fnt2 -4300 9488(.z)m 240 fnt1 4465 9491(,)m 220 fnt2 4582 9488(-z)m -240 fnt1 4759 9491(,)m 220 fnt2 4877 9488(_z)m 240 fnt1 -5103 9491(,)m 5220(or)s 220 fnt2 5490 9488(.Z)m 240 fnt1 -5680 9491(,)m 5798(the)s 6156(\207le)s 6528(will)s 6964(\207rst)s -7406(be)s 7699(uncompressed)s 0 9203(using)m 565(the)s 220 fnt2 -906 9200(gunzip)m 240 fnt1 1597 9203(command)m 2592(into)s 3010(a)s -3169(temporary)s 4198(\207le)s 4552(called)s 220 fnt2 5173 9200(lout.eps)m -240 fnt1 5987 9203(in)m 6223(the)s 6564(current)s 7293(directory)s 15(.)k -8297(This)s 8765(\207le)s 0 8915(is)m 210(remo)s 3(v)k 3(ed)k +3197(of)s 220 fnt2 3478 3501(.gz)m 240 fnt1 3765 3504(,)m +220 fnt2 3883 3501(-gz)m 240 fnt1 4182 3504(,)m 220 fnt2 +4300 3501(.z)m 240 fnt1 4465 3504(,)m 220 fnt2 4582 3501(-z)m +240 fnt1 4759 3504(,)m 220 fnt2 4877 3501(_z)m 240 fnt1 +5103 3504(,)m 5220(or)s 220 fnt2 5490 3501(.Z)m 240 fnt1 +5680 3504(,)m 5798(the)s 6156(\207le)s 6528(will)s 6964(\207rst)s +7406(be)s 7699(uncompressed)s 0 3216(using)m 565(the)s 220 fnt2 +906 3213(gunzip)m 240 fnt1 1597 3216(command)m 2592(into)s 3010(a)s +3169(temporary)s 4198(\207le)s 4552(called)s 220 fnt2 5173 3213(lout.eps)m +240 fnt1 5987 3216(in)m 6223(the)s 6564(current)s 7293(directory)s 15(.)k +8297(This)s 8765(\207le)s 0 2928(is)m 210(remo)s 3(v)k 3(ed)k 1099(immediately)s 2347(after)s 2843(it)s 3035(is)s 3245(copied)s 3941(into)s 4366(the)s 4714(output)s 5386(\207le.)s 240 fnt5 -0 8122(3.44.)m 591(@IncludeGraphicRepeated)s 3445(and)s 3886(@SysIncludeGraphicRepeated)s +0 2135(3.44.)m 591(@IncludeGraphicRepeated)s 3445(and)s 3886(@SysIncludeGraphicRepeated)s [ /Dest /LOUTincludegraphicrepeated /DEST pdfmark -[ /Dest /LOUT19_4262_pre_incr_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_incr_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_incr_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_incr_2 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_incr_3 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_incr_3 /DEST pdfmark 240 fnt1 -548 7645(These)m 1183(symbols,)s 2097(which)s 2747(are)s 3103(allo)s 6(wed)k +548 1658(These)m 1183(symbols,)s 2097(which)s 2747(are)s 3103(allo)s 6(wed)k 3920(only)s 4409(at)s 4649(the)s 5006(start)s 5484(of)s 5764(a)s 5938(document,)s 6998(tell)s 7365(Lout)s 7886(that)s -8312(the)s 8669(EPS)s 0 7357(\207le)m 361(named)s 1057(is)s +8312(the)s 8669(EPS)s 0 1370(\207le)m 361(named)s 1057(is)s 1267(lik)s 2(ely)k 1863(to)s 2102(be)s 2384(included)s -3266(repeatedly:)s 220 fnt2 480 6856(@IncludeGr)m 2(aphicRepeated { m)k 3(ypor)k -8(tr)k 2(ait.eps })k -240 fnt1 0 6358(T)m 19(o)k 290(actually)s 1090(see)s +3266(repeatedly:)s 220 fnt2 480 869(@IncludeGr)m 2(aphicRepeated { m)k 3(ypor)k -8(tr)k 2(ait.eps })k +240 fnt1 0 371(T)m 19(o)k 290(actually)s 1090(see)s 1441(the)s 1779(graphic)s 2539(you)s 2944(use)s 220 fnt2 -3308 6355(@IncludeGr)m 2(aphic)k 240 fnt1 5049 6358(as)m 5289(usual.)s -5948(The)s 6366(purpose)s 7170(of)s 220 fnt2 7430 6355(@IncludeGr)m 2(aphi)k -9002(-)s 0 6067(cRepeated)m 240 fnt1 1117 6070(is)m 1335(not)s +3308 368(@IncludeGr)m 2(aphic)k 240 fnt1 5049 371(as)m 5289(usual.)s +5948(The)s 6366(purpose)s 7170(of)s 220 fnt2 7430 368(@IncludeGr)m 2(aphi)k +9002(-)s 0 80(cRepeated)m 240 fnt1 1117 83(is)m 1335(not)s 1710(to)s 1957(display)s 2710(the)s 3067(graphic)s 3845(b)s 4(ut)k 4215(rather)s 4840(to)s 5087(instruct)s 5871(Lout)s 6392(to)s 6639(include)s 7407(its)s 7692(EPS)s 8157(\207le)s 8526(in)s -8778(the)s 0 5782(output)m 678(\207le)s 1045(just)s 1456(once,)s -2021(at)s 2260(the)s 2614(start,)s 3137(rather)s 3759(than)s -4234(o)s 3(v)k 3(er)k 4720(and)s 5130(o)s 3(v)k 3(er)k -5615(ag)s 1(ain)k 6195(for)s 6539(e)s 6(v)k 3(ery)k -7122(time)s 7608(it)s 7806(appears)s 8593(in)s 8843(an)s -220 fnt2 0 5491(@IncludeGr)m 2(aphic)k 240 fnt1 1691 5494(,)m -1798(as)s 2048(w)s 2(ould)k 2703(otherwise)s 3688(occur)s 13(.)k -480 5120(An)m 3(y)k 943(number)s 1732(of)s 220 fnt2 -2001 5117(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 4695 5120(and)m 220 fnt2 -5097 5117(@SysIncludeGr)m 2(aphicRepeated)k 240 fnt1 8156 5120(directi)m 6(v)k 3(es)k -0 4832(may)m 464(ppear)s 1053(at)s 1283(the)s 1629(start)s -2097(of)s 2366(the)s 2712(document.)s 3817(The)s 4243(\207les)s -4690(in)s 9(v)k 4(olv)k 3(ed)k 5568(may)s -6032(be)s 6312(compressed)s 7497(as)s 7745(for)s 220 fnt2 -8080 4829(@Include)m 9002(-)s 0 4541(Gr)m 2(aphic)k 240 fnt1 -761 4544(.)m 922(The)s 1347(\207le)s 1705(names)s 2364(gi)s 6(v)k 3(en)k -2941(within)s 220 fnt2 3605 4541(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 -6297 4544(must)m 6819(be)s 7098(identical)s 7972(to)s 8208(the)s -8552(name)s 0 4256(used)m 476(within)s 1122(the)s 1449(corresponding)s -220 fnt2 2849 4253(@IncludeGr)m 2(aphic)k 240 fnt1 4579 4256(symbols,)m -5462(or)s 5700(else)s 6105(the)s 220 fnt2 6431 4253(@IncludeGr)m 2(aphicRepeated)k -240 fnt1 0 3968(will)m 439(be)s 734(inef)s 6(fecti)k 6(v)k 3(e.)k -1916(If)s 220 fnt2 2159 3965(@SysIncludeGr)m 2(aphicRepeated)k 240 fnt1 -5233 3968(is)m 5456(used)s 5966(\(as)s 6308(opposed)s 7178(to)s -220 fnt2 7430 3965(@IncludeGr)m 2(aphi)k 9002(-)s 0 3677(cRepeated)m -240 fnt1 1049 3680(\))m 1206(then)s 1705(all)s 2028(corresponding)s -3480(includes)s 4358(must)s 4913(use)s 220 fnt2 5318 3677(@SysIncludeGr)m 2(aphic)k -240 fnt1 7465 3680(rather)m 8111(than)s 220 fnt2 8610 3677(@In)m -9002(-)s 0 3389(cludeGr)m 2(aphic)k 240 fnt1 1285 3392(.)m -480 3018(Use)m 901(of)s 220 fnt2 1165 3015(@IncludeGr)m 2(aphicRepeated)k -240 fnt1 3853 3018(does)m 4336(not)s 4694(change)s 5421(the)s -5762(appearance)s 6886(of)s 7149(the)s 7490(output)s 8155(at)s -8380(all,)s 8717(b)s 4(ut,)k 0 2730(if)m 225(the)s -582(EPS)s 1047(\207le)s 1417(w)s 2(ould)k 2081(otherwise)s -3074(be)s 3365(included)s 4256(man)s 3(y)k 4847(times)s -5424(o)s 3(v)k 3(er)k 9(,)k 5950(the)s -6306(result)s 6905(will)s 7340(be)s 7630(a)s 7805(much)s -8403(shorter)s 0 2442(PostScript)m 1059(\207le)s 1437(which)s 2097(will)s -2540(usually)s 3302(print)s 3831(signi\207cantly)s 5084(f)s 2(aster)k -5689(as)s 5956(well.)s 6548(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -7526(Lout)s 8055(uses)s 8536(Le)s 6(v)k 3(el)k -0 2154(2)m 186(PostScript)s 1240(features)s 2058(to)s 2309(implement)s -220 fnt2 3403 2151(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 6038 2154(,)m -6158(which)s 6812(may)s 7290(not)s 7668(be)s 7962(a)s 4(v)k 6(ailable)k -8883(in)s 0 1866(some)m 565(old)s 934(printers,)s 1775(and)s -2184(the)s 2537(contents)s 3390(of)s 3665(the)s 4018(EPS)s -4480(\207le)s 4846(ha)s 4(v)k 3(e)k 5352(to)s -5596(be)s 5882(stored)s 6529(in)s 6777(the)s 7130(printer)s -7831(for)s 8174(the)s 8527(entire)s 0 1578(duration)m 841(of)s -1099(the)s 1433(print)s 1931(job,)s 2331(so)s 2583(there)s -3103(is)s 3299(a)s 3452(risk)s 3858(that)s 4262(memory)s -5100(will)s 5513(run)s 5875(out)s 6228(if)s 220 fnt2 -6431 1575(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 0 1290(is)m 210(used.)s -480 916(The)m 955(implementation)s 2560(of)s 220 fnt2 2878 913(@IncludeGr)m 2(aphicRepeated)k -240 fnt1 5621 916(uses)m 6132(code)s 6687(gi)s 6(v)k 3(en)k -7315(by)s 7656(the)s 8052(authors)s 8855(of)s 0 628(PostScript)m -1046(which)s 1693(emplo)s 2(ys)k 2558(PostScript)s 3605(forms)s -4218(to)s 4461(sa)s 4(v)k 3(e)k 4940(the)s -5293(EPS)s 5755(\207les)s 6209([adobe1996epsforms].)s 8464(Lout')s 13(s)k -0 340(v)m 3(ersion)k 762(of)s 1037(this)s 1437(code)s -1949(is)s 2163(some)s 6(what)k 3191(modi\207ed,)s 4153(partly)s -4768(for)s 5110(simplicity)s 6123(and)s 6531(partly)s 7146(to)s -7389(correct)s 8115(a)s 8286(possible)s 0 52(b)m 4(ug)k -410(caused)s 1120(by)s 1415(their)s 1913(use)s 2289(of)s -2561(a)s 2728(single)s 3356(\207lter)s 3867(to)s 4107(read)s -4577(all)s 4871(the)s 5220(EPS)s 5678(\207les,)s 6184(rather)s -6801(than)s 7271(a)s 7438(separate)s 8277(\207lter)s 8788(for)s - +8778(the)s grestore gsave 1417 -15423 translate @@ -16796,130 +16795,142 @@ gsave gsave 1 LoutMargSet grestore -0 13205(each)m 495(one.)s -240 fnt5 0 12462(3.45.)m 591(@Pr)s 4(ependGraphic and @SysPr)k 4(ependGraphic)k +0 13205(output)m 678(\207le)s +1045(just)s 1456(once,)s 2021(at)s 2260(the)s 2614(start,)s +3137(rather)s 3759(than)s 4234(o)s 3(v)k 3(er)k +4720(and)s 5130(o)s 3(v)k 3(er)k 5615(ag)s 1(ain)k +6195(for)s 6539(e)s 6(v)k 3(ery)k 7122(time)s +7608(it)s 7806(appears)s 8593(in)s 8843(an)s 220 fnt2 +0 12914(@IncludeGr)m 2(aphic)k 240 fnt1 1691 12917(,)m 1798(as)s +2048(w)s 2(ould)k 2703(otherwise)s 3688(occur)s 13(.)k +480 12543(An)m 3(y)k 943(number)s 1732(of)s 220 fnt2 +2001 12540(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 4695 12543(and)m 220 fnt2 +5097 12540(@SysIncludeGr)m 2(aphicRepeated)k 240 fnt1 8156 12543(directi)m 6(v)k 3(es)k +0 12255(may)m 464(ppear)s 1053(at)s 1283(the)s 1629(start)s +2097(of)s 2366(the)s 2712(document.)s 3817(The)s 4243(\207les)s +4690(in)s 9(v)k 4(olv)k 3(ed)k 5568(may)s +6032(be)s 6312(compressed)s 7497(as)s 7745(for)s 220 fnt2 +8080 12252(@Include)m 9002(-)s 0 11964(Gr)m 2(aphic)k 240 fnt1 +761 11967(.)m 922(The)s 1347(\207le)s 1705(names)s 2364(gi)s 6(v)k 3(en)k +2941(within)s 220 fnt2 3605 11964(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 +6297 11967(must)m 6819(be)s 7098(identical)s 7972(to)s 8208(the)s +8552(name)s 0 11679(used)m 476(within)s 1122(the)s 1449(corresponding)s +220 fnt2 2849 11676(@IncludeGr)m 2(aphic)k 240 fnt1 4579 11679(symbols,)m +5462(or)s 5700(else)s 6105(the)s 220 fnt2 6431 11676(@IncludeGr)m 2(aphicRepeated)k +240 fnt1 0 11391(will)m 439(be)s 734(inef)s 6(fecti)k 6(v)k 3(e.)k +1916(If)s 220 fnt2 2159 11388(@SysIncludeGr)m 2(aphicRepeated)k 240 fnt1 +5233 11391(is)m 5456(used)s 5966(\(as)s 6308(opposed)s 7178(to)s +220 fnt2 7430 11388(@IncludeGr)m 2(aphi)k 9002(-)s 0 11100(cRepeated)m +240 fnt1 1049 11103(\))m 1206(then)s 1705(all)s 2028(corresponding)s +3480(includes)s 4358(must)s 4913(use)s 220 fnt2 5318 11100(@SysIncludeGr)m 2(aphic)k +240 fnt1 7465 11103(rather)m 8111(than)s 220 fnt2 8610 11100(@In)m +9002(-)s 0 10812(cludeGr)m 2(aphic)k 240 fnt1 1285 10815(.)m +480 10441(Use)m 901(of)s 220 fnt2 1165 10438(@IncludeGr)m 2(aphicRepeated)k +240 fnt1 3853 10441(does)m 4336(not)s 4694(change)s 5421(the)s +5762(appearance)s 6886(of)s 7149(the)s 7490(output)s 8155(at)s +8380(all,)s 8717(b)s 4(ut,)k 0 10153(if)m 225(the)s +582(EPS)s 1047(\207le)s 1417(w)s 2(ould)k 2081(otherwise)s +3074(be)s 3365(included)s 4256(man)s 3(y)k 4847(times)s +5424(o)s 3(v)k 3(er)k 9(,)k 5950(the)s +6306(result)s 6905(will)s 7340(be)s 7630(a)s 7805(much)s +8403(shorter)s 0 9865(PostScript)m 1059(\207le)s 1437(which)s 2097(will)s +2540(usually)s 3302(print)s 3831(signi\207cantly)s 5084(f)s 2(aster)k +5689(as)s 5956(well.)s 6548(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +7526(Lout)s 8055(uses)s 8536(Le)s 6(v)k 3(el)k +0 9577(2)m 186(PostScript)s 1240(features)s 2058(to)s 2309(implement)s +220 fnt2 3403 9574(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 6038 9577(,)m +6158(which)s 6812(may)s 7290(not)s 7668(be)s 7962(a)s 4(v)k 6(ailable)k +8883(in)s 0 9289(some)m 565(old)s 934(printers,)s 1775(and)s +2184(the)s 2537(contents)s 3390(of)s 3665(the)s 4018(EPS)s +4480(\207le)s 4846(ha)s 4(v)k 3(e)k 5352(to)s +5596(be)s 5882(stored)s 6529(in)s 6777(the)s 7130(printer)s +7831(for)s 8174(the)s 8527(entire)s 0 9001(duration)m 841(of)s +1099(the)s 1433(print)s 1931(job,)s 2331(so)s 2583(there)s +3103(is)s 3299(a)s 3452(risk)s 3858(that)s 4262(memory)s +5100(will)s 5513(run)s 5875(out)s 6228(if)s 220 fnt2 +6431 8998(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 0 8713(is)m 210(used.)s +480 8339(The)m 955(implementation)s 2560(of)s 220 fnt2 2878 8336(@IncludeGr)m 2(aphicRepeated)k +240 fnt1 5621 8339(uses)m 6132(code)s 6687(gi)s 6(v)k 3(en)k +7315(by)s 7656(the)s 8052(authors)s 8855(of)s 0 8051(PostScript)m +1046(which)s 1693(emplo)s 2(ys)k 2558(PostScript)s 3605(forms)s +4218(to)s 4461(sa)s 4(v)k 3(e)k 4940(the)s +5293(EPS)s 5755(\207les)s 6209([adobe1996epsforms].)s 8464(Lout')s 13(s)k +0 7763(v)m 3(ersion)k 762(of)s 1037(this)s 1437(code)s +1949(is)s 2163(some)s 6(what)k 3191(modi\207ed,)s 4153(partly)s +4768(for)s 5110(simplicity)s 6123(and)s 6531(partly)s 7146(to)s +7389(correct)s 8115(a)s 8286(possible)s 0 7475(b)m 4(ug)k +410(caused)s 1120(by)s 1415(their)s 1913(use)s 2289(of)s +2561(a)s 2728(single)s 3356(\207lter)s 3867(to)s 4107(read)s +4577(all)s 4871(the)s 5220(EPS)s 5678(\207les,)s 6184(rather)s +6801(than)s 7271(a)s 7438(separate)s 8277(\207lter)s 8788(for)s +0 7187(each)m 495(one.)s 240 fnt5 0 6444(3.45.)m 591(@Pr)s 4(ependGraphic and @SysPr)k 4(ependGraphic)k [ /Dest /LOUTprependgraphic /DEST pdfmark -[ /Dest /LOUT19_4262_pre_prep_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_prep_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_prep_2 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_prep_2 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_prep_3 /DEST pdfmark -240 fnt1 582 11985(These)m 1252(symbols,)s 2200(which)s 2885(may)s +[ /Dest /LOUT19_4263_pre_prep_3 /DEST pdfmark +240 fnt1 582 5967(These)m 1252(symbols,)s 2200(which)s 2885(may)s 3394(appear)s 4134(an)s 3(ywhere)k 5160(that)s 5621(a)s -5830(de\207nition)s 6847(or)s 220 fnt2 7149 11982(@Use)m 240 fnt1 -7857 11985(symbol)m 8660(may)s 0 11697(appear)m 9(,)k 738(tell)s +5830(de\207nition)s 6847(or)s 220 fnt2 7149 5964(@Use)m 240 fnt1 +7857 5967(symbol)m 8660(may)s 0 5679(appear)m 9(,)k 738(tell)s 1101(Lout)s 1617(to)s 1860(include)s 2624(the)s 2976(contents)s 3828(of)s 4103(a)s 4273(\207le)s 4637(in)s 4884(the)s 5236(preamble)s 6185(of)s 6460(its)s 6740(output.)s 7520(F)s 3(or)k -7913(Basser)s 8614(Lout)s 0 11409(this)m 418(means)s 1102(that)s +7913(Basser)s 8614(Lout)s 0 5391(this)m 418(means)s 1102(that)s 1542(the)s 1912(\207le)s 2295(must)s 2843(contain)s 3626(PostScript)s 4690(\(and)s 5195(ideally)s 5921(it)s 6136(w)s 2(ould)k 6813(be)s 3(gin)k 7421(and)s 7847(end)s 8273(with)s -8778(the)s 220 fnt2 0 11118(%%BeginResource)m 240 fnt1 1941 11121(and)m -220 fnt2 2345 11118(%%EndResource)m 240 fnt1 4116 11121(comments)m 5150(of)s +8778(the)s 220 fnt2 0 5100(%%BeginResource)m 240 fnt1 1941 5103(and)m +220 fnt2 2345 5100(%%EndResource)m 240 fnt1 4116 5103(comments)m 5150(of)s 5421(DSC)s 5939(3.0\).)s 6482(F)s 3(or)k 6871(e)s 3(xample,)k -220 fnt2 480 10620(@SysPrependGr)m 2(aphic { diagf)k 6(.lpg })k 240 fnt1 -0 10121(appears)m 818(at)s 1088(the)s 1474(start)s 1981(of)s +220 fnt2 480 4602(@SysPrependGr)m 2(aphic { diagf)k 6(.lpg })k 240 fnt1 +0 4103(appears)m 818(at)s 1088(the)s 1474(start)s 1981(of)s 2290(the)s 2676(Diag)s 3231(package;)s 4165(the)s 4551(\207le)s -220 fnt2 4949 10118(diagf)m 6(.lpg)k 240 fnt1 5857 10121(contains)m -6743(a)s 6946(number)s 7775(of)s 8084(PostScript)s 0 9833(de\207nitions)m +220 fnt2 4949 4100(diagf)m 6(.lpg)k 240 fnt1 5857 4103(contains)m +6743(a)s 6946(number)s 7775(of)s 8084(PostScript)s 0 3815(de\207nitions)m 1048(used)s 1532(by)s 1812(Diag)s 2317(for)s 2642(dra)s 3(wing)k 3462(diagrams.)s 4489(It)s 4680(sa)s 4(v)k 3(es)k 5229(a)s 5382(lot)s 5680(of)s 5938(space)s 6511(to)s 6737(include)s 7484(them)s 8008(just)s 8400(once)s 8894(at)s -0 9545(the)m 334(start)s 789(lik)s 2(e)k 1186(this,)s +0 3527(the)m 334(start)s 789(lik)s 2(e)k 1186(this,)s 1624(rather)s 2225(than)s 2679(with)s 3146(e)s 6(v)k 3(ery)k -3708(diagram.)s 220 fnt2 4640 9542(@PrependGr)m 2(aphic)k 240 fnt1 -6498 9545(and)m 220 fnt2 6887 9542(@SysPrependGr)m 2(aphic)k 240 fnt1 -0 9257(search)m 667(for)s 1005(the)s 1353(\207le)s 1714(in)s +3708(diagram.)s 220 fnt2 4640 3524(@PrependGr)m 2(aphic)k 240 fnt1 +6498 3527(and)m 220 fnt2 6887 3524(@SysPrependGr)m 2(aphic)k 240 fnt1 +0 3239(search)m 667(for)s 1005(the)s 1353(\207le)s 1714(in)s 1957(the)s 2305(same)s 2852(places)s 3500(as)s 220 fnt2 -3750 9254(@Include)m 240 fnt1 4732 9257(and)m 220 fnt2 5136 9254(@SysInclude)m -240 fnt1 6484 9257(respecti)m 6(v)k 3(ely)k 15(.)k -480 8883(If)m 699(the)s 1036(same)s 1572(\207le)s 1921(name)s +3750 3236(@Include)m 240 fnt1 4732 3239(and)m 220 fnt2 5136 3236(@SysInclude)m +240 fnt1 6484 3239(respecti)m 6(v)k 3(ely)k 15(.)k +480 2865(If)m 699(the)s 1036(same)s 1572(\207le)s 1921(name)s 2484(appears)s 3254(in)s 3486(tw)s 2(o)k 220 fnt2 -3884 8880(@PrependGr)m 2(aphic)k 240 fnt1 5746 8883(or)m 220 fnt2 -5994 8880(@SysPrependGr)m 2(aphic)k 240 fnt1 8221 8883(symbols,)m 0 8595(the)m +3884 2862(@PrependGr)m 2(aphic)k 240 fnt1 5746 2865(or)m 220 fnt2 +5994 2862(@SysPrependGr)m 2(aphic)k 240 fnt1 8221 2865(symbols,)m 0 2577(the)m 385(second)s 1146(occurrence)s 2288(is)s 2536(silently)s 3330(ignored.)s 4263(This)s 4777(allo)s 6(ws)k 5484(se)s 6(v)k 3(eral)k -6243(packages)s 7209(to)s 7486(share)s 8084(PostScript)s 0 8307(resources:)m +6243(packages)s 7209(to)s 7486(share)s 8084(PostScript)s 0 2289(resources:)m 1059(each)s 1545(includes)s 2384(the)s 2722(appropriate)s 3857(prepend)s 4677(\207le,)s 5079(b)s 4(ut)k 5432(in)s 5666(the)s 6005(end)s 6399(only)s 6870(one)s 7263(cop)s 2(y)k -7771(ot)s 8008(it)s 8191(is)s 8391(printed)s 0 8019(to)m -239(Lout')s 13(s)k 901(output.)s 240 fnt5 0 7226(3.46.)m +7771(ot)s 8008(it)s 8191(is)s 8391(printed)s 0 2001(to)m +239(Lout')s 13(s)k 901(output.)s 240 fnt5 0 1208(3.46.)m 591(@Include and @SysInclude)s [ /Dest /LOUTinclude /DEST pdfmark -[ /Dest /LOUT19_4262_pre_incl_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_incl_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_incl_2 /DEST pdfmark -240 fnt1 562 6749(These)m 1212(symbols)s 2083(instruct)s +[ /Dest /LOUT19_4263_pre_incl_2 /DEST pdfmark +240 fnt1 562 731(These)m 1212(symbols)s 2083(instruct)s 2882(Lout)s 3417(to)s 3678(temporarily)s 4869(switch)s 5572(to)s 5834(reading)s 6627(another)s 7426(\207le,)s 7861(whose)s 8552(name)s -0 6461(appears)m 781(in)s 1024(braces)s 1685(follo)s 6(wing)k +0 443(appears)m 781(in)s 1024(braces)s 1685(follo)s 6(wing)k 2662(the)s 3010(symbol.)s 3879(F)s 3(or)k 4268(e)s 3(xample,)k -220 fnt2 480 5960(@Include { "/usr/lout/langdefs" })m 240 fnt1 0 5461(will)m 455(cause)s -1072(the)s 1450(contents)s 2328(of)s 2629(\207le)s 3020(/usr/lout/langdefs)s -4773(to)s 5042(be)s 5354(read)s 5853(at)s 6115(the)s -6493(point)s 7075(it)s 7297(occurs.)s 8115(After)s 8708(that)s -0 5173(\207le)m 405(is)s 659(read,)s 1221(the)s 1613(current)s -2393(\207le)s 2798(is)s 3052(resumed.)s 4070(The)s 4542(included)s -5468(\207le)s 5873(may)s 6383(contain)s 7188(arbitrary)s 8107(Lout)s -8664(te)s 3(xt,)k 0 4885(including)m 958(other)s 220 fnt2 -1511 4882(@Include)m 240 fnt1 2494 4885(commands.)m 3697(The)s 4127(\207le)s -4489(is)s 4701(searched)s 5597(for)s 5936(\207rst)s 6369(in)s -6614(the)s 6963(current)s 7701(directory)s 15(,)k 8657(then)s -0 4597(in)m 259(a)s 442(sequence)s 1392(of)s 1680(standard)s -2565(places)s 3229(which)s 3888(are)s 4252(not)s 4635(necessarily)s -5767(the)s 6131(same)s 6695(places)s 7360(that)s 7795(databases)s -8779(are)s 0 4309(searched)m 894(for)s 13(.)k 220 fnt2 -1323 4306(@SysInclude)m 240 fnt1 2671 4309(searches)m 3531(the)s 3879(standard)s -4747(places)s 5395(only)s 15(.)k 480 3935(From)m 1084(V)s 26(ersion)k -1899(3.27,)s 2452(a)s 2645(special)s 3389(beha)s 4(viour)k -4429(has)s 4826(been)s 5361(instituted)s 6335(when)s 6937(an)s -7247(attempt)s 8049(is)s 8286(made)s 8887(to)s 220 fnt2 -0 3644(@Include)m 240 fnt1 973 3647(or)m 220 fnt2 1223 3644(@SysInclude)m -240 fnt1 2562 3647(the)m 2901(same)s 3439(\207le)s 3791(twice.)s -4403(If)s 4623(a)s 4780(second)s 5494(or)s 5744(subsequent)s -6859(attempt)s 7626(occurs)s 8292(after)s 8778(the)s 0 3359(end)m -402(of)s 671(de\207nitions,)s 220 fnt2 1785 3356(@Use)m 240 fnt1 -2448 3359(clauses,)m 3242(and)s 220 fnt2 3644 3356(@Database)m 240 fnt1 -4855 3359(clauses)m 5594(\(i.e.)s 6006(if)s 6221(it)s 6410(occurs)s -7083(within)s 7748(the)s 8094(content)s 8855(of)s 0 3071(the)m -342(document\),)s 1465(it)s 1650(will)s 2069(go)s 2355(ahead,)s -3014(thus)s 3457(allo)s 6(wing)k 4334(the)s 4675(repeated)s -5535(inclusion)s 6463(of)s 6727(\207les)s 7169(containing)s 8225(objects)s -8946(\211)s 0 2783(not)m 370(necessarily)s 1490(recommended,)s 2957(b)s 4(ut)k -3324(certainly)s 4217(one)s 4624(w)s 2(ay)k 5080(of)s -5356(repeating)s 6302(information.)s 7599(But)s 8010(if)s 8232(a)s -8403(second)s 0 2495(or)m 270(subsequent)s 1406(attempt)s 2194(occurs)s -2881(within)s 3561(the)s 3921(re)s 3(gion)k 4598(of)s -4881(de\207nitions,)s 220 fnt2 6010 2492(@Use)m 240 fnt1 6687 2495(clauses,)m -7496(and)s 220 fnt2 7912 2492(@Database)m 240 fnt1 0 2207(clauses,)m -797(then)s 1266(that)s 1684(attempt)s 2460(will)s 2886(be)s -3168(silently)s 3925(ignored.)s 480 1833(This)m 955(beha)s 4(viour)k -1967(is)s 2175(useful)s 2813(for)s 3149(situations)s 4115(where)s -4754(tw)s 2(o)k 5162(packages)s 6089(depend)s 6837(on)s -7133(a)s 7298(third,)s 7854(caled,)s 8464(say)s 15(,)k -220 fnt2 8873 1830(C)m 240 fnt1 9022 1833(.)m 0 1545(W)m 19(e)k -369(can)s 758(then)s 1227(place)s 220 fnt2 480 1044(@SysInclude { C })m -240 fnt1 0 546(at)m 222(the)s 559(start)s 1018(of)s -1279(both)s 1751(packages.)s 2781(If)s 3001(neither)s 3713(package)s -4542(is)s 4742(included,)s 5662(then)s 220 fnt2 6120 543(C)m -240 fnt1 6319 546(w)m 2(on')k 4(t)k 6920(be)s -7191(either)s 13(.)k 7875(But)s 8270(if)s 8476(one)s -8867(or)s 0 258(both)m 483(is)s 693(included,)s 1624(then)s -220 fnt2 2093 255(C)m 240 fnt1 2301 258(will)m 2727(be)s -3009(included)s 3891(just)s 4296(once)s 4803(at)s 5035(the)s -5383(start)s 5853(of)s 6124(the)s 6471(\207rst.)s 6946(An)s 3(y)k -7410(pattern)s 8130(of)s 8400(ac)s 3(yclic)k + grestore gsave 1417 -15423 translate -240 fnt1 -0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 1 LoutMargSet grestore @@ -16967,134 +16978,128 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -0 13205(dependencies)m 1342(between)s 2198(packages)s -3129(can)s 3520(be)s 3805(e)s 3(xpressed)k 4805(with)s -5289(this)s 5688(mechanism,)s 6886(just)s 7294(by)s 7590(including)s -8550(e)s 6(v)k 3(ery)k 0 12917(package)m 840(that)s -1259(a)s 1426(gi)s 6(v)k 3(en)k 2007(package)s -2848(depends)s 3684(on)s 3982(at)s 4215(the)s 4564(start)s -5035(of)s 5306(the)s 5655(\207le)s 6017(containing)s 7081(that)s -7500(package.)s 8449(Cyclic)s 0 12629(dependencies)m 1340(are)s 1687(be)s 3(yond)k -2448(Lout')s 13(s)k 3110(one-pass)s 3998(comprehension)s 5517(an)s 3(yw)k 2(ay)k 15(.)k -240 fnt5 0 11836(3.47.)m 591(@BackEnd)s 1814(and)s 2255(the)s +220 fnt2 480 13207(@Include { "/usr/lout/langdefs" })m 240 fnt1 +0 12708(will)m 455(cause)s 1072(the)s 1450(contents)s 2328(of)s +2629(\207le)s 3020(/usr/lout/langdefs)s 4773(to)s 5042(be)s 5354(read)s +5853(at)s 6115(the)s 6493(point)s 7075(it)s 7297(occurs.)s +8115(After)s 8708(that)s 0 12420(\207le)m 405(is)s 659(read,)s +1221(the)s 1613(current)s 2393(\207le)s 2798(is)s 3052(resumed.)s +4070(The)s 4542(included)s 5468(\207le)s 5873(may)s 6383(contain)s +7188(arbitrary)s 8107(Lout)s 8664(te)s 3(xt,)k 0 12132(including)m +958(other)s 220 fnt2 1511 12129(@Include)m 240 fnt1 2494 12132(commands.)m +3697(The)s 4127(\207le)s 4489(is)s 4701(searched)s 5597(for)s +5936(\207rst)s 6369(in)s 6614(the)s 6963(current)s 7701(directory)s 15(,)k +8657(then)s 0 11844(in)m 259(a)s 442(sequence)s 1392(of)s +1680(standard)s 2565(places)s 3229(which)s 3888(are)s 4252(not)s +4635(necessarily)s 5767(the)s 6131(same)s 6695(places)s 7360(that)s +7795(databases)s 8779(are)s 0 11556(searched)m 894(for)s 13(.)k +220 fnt2 1323 11553(@SysInclude)m 240 fnt1 2671 11556(searches)m 3531(the)s +3879(standard)s 4747(places)s 5395(only)s 15(.)k 480 11182(From)m +1084(V)s 26(ersion)k 1899(3.27,)s 2452(a)s 2645(special)s +3389(beha)s 4(viour)k 4429(has)s 4826(been)s 5361(instituted)s +6335(when)s 6937(an)s 7247(attempt)s 8049(is)s 8286(made)s +8887(to)s 220 fnt2 0 10891(@Include)m 240 fnt1 973 10894(or)m +220 fnt2 1223 10891(@SysInclude)m 240 fnt1 2562 10894(the)m 2901(same)s +3439(\207le)s 3791(twice.)s 4403(If)s 4623(a)s 4780(second)s +5494(or)s 5744(subsequent)s 6859(attempt)s 7626(occurs)s 8292(after)s +8778(the)s 0 10606(end)m 402(of)s 671(de\207nitions,)s 220 fnt2 +1785 10603(@Use)m 240 fnt1 2448 10606(clauses,)m 3242(and)s 220 fnt2 +3644 10603(@Database)m 240 fnt1 4855 10606(clauses)m 5594(\(i.e.)s 6006(if)s +6221(it)s 6410(occurs)s 7083(within)s 7748(the)s 8094(content)s +8855(of)s 0 10318(the)m 342(document\),)s 1465(it)s 1650(will)s +2069(go)s 2355(ahead,)s 3014(thus)s 3457(allo)s 6(wing)k +4334(the)s 4675(repeated)s 5535(inclusion)s 6463(of)s 6727(\207les)s +7169(containing)s 8225(objects)s 8946(\211)s 0 10030(not)m 370(necessarily)s +1490(recommended,)s 2957(b)s 4(ut)k 3324(certainly)s 4217(one)s +4624(w)s 2(ay)k 5080(of)s 5356(repeating)s 6302(information.)s +7599(But)s 8010(if)s 8232(a)s 8403(second)s 0 9742(or)m +270(subsequent)s 1406(attempt)s 2194(occurs)s 2881(within)s 3561(the)s +3921(re)s 3(gion)k 4598(of)s 4881(de\207nitions,)s 220 fnt2 +6010 9739(@Use)m 240 fnt1 6687 9742(clauses,)m 7496(and)s 220 fnt2 +7912 9739(@Database)m 240 fnt1 0 9454(clauses,)m 797(then)s 1266(that)s +1684(attempt)s 2460(will)s 2886(be)s 3168(silently)s 3925(ignored.)s +480 9080(This)m 955(beha)s 4(viour)k 1967(is)s 2175(useful)s +2813(for)s 3149(situations)s 4115(where)s 4754(tw)s 2(o)k +5162(packages)s 6089(depend)s 6837(on)s 7133(a)s 7298(third,)s +7854(caled,)s 8464(say)s 15(,)k 220 fnt2 8873 9077(C)m +240 fnt1 9022 9080(.)m 0 8792(W)m 19(e)k 369(can)s +758(then)s 1227(place)s 220 fnt2 480 8291(@SysInclude { C })m 240 fnt1 +0 7793(at)m 222(the)s 559(start)s 1018(of)s 1279(both)s +1751(packages.)s 2781(If)s 3001(neither)s 3713(package)s 4542(is)s +4742(included,)s 5662(then)s 220 fnt2 6120 7790(C)m 240 fnt1 +6319 7793(w)m 2(on')k 4(t)k 6920(be)s 7191(either)s 13(.)k +7875(But)s 8270(if)s 8476(one)s 8867(or)s 0 7505(both)m +483(is)s 693(included,)s 1624(then)s 220 fnt2 2093 7502(C)m +240 fnt1 2301 7505(will)m 2727(be)s 3009(included)s 3891(just)s +4296(once)s 4803(at)s 5035(the)s 5383(start)s 5853(of)s +6124(the)s 6471(\207rst.)s 6946(An)s 3(y)k 7410(pattern)s +8130(of)s 8400(ac)s 3(yclic)k 0 7217(dependencies)m 1342(between)s +2198(packages)s 3129(can)s 3520(be)s 3805(e)s 3(xpressed)k +4805(with)s 5289(this)s 5688(mechanism,)s 6886(just)s 7294(by)s +7590(including)s 8550(e)s 6(v)k 3(ery)k 0 6929(package)m +840(that)s 1259(a)s 1426(gi)s 6(v)k 3(en)k +2007(package)s 2848(depends)s 3684(on)s 3982(at)s 4215(the)s +4564(start)s 5035(of)s 5306(the)s 5655(\207le)s 6017(containing)s +7081(that)s 7500(package.)s 8449(Cyclic)s 0 6641(dependencies)m 1340(are)s +1687(be)s 3(yond)k 2448(Lout')s 13(s)k 3110(one-pass)s +3998(comprehension)s 5517(an)s 3(yw)k 2(ay)k 15(.)k +240 fnt5 0 5848(3.47.)m 591(@BackEnd)s 1814(and)s 2255(the)s 2629(PlainT)s 22(ext)k 3663(and)s 4104(PDF)s 4623(back)s 5172(ends)s [ /Dest /LOUTbackend /DEST pdfmark -[ /Dest /LOUT19_4262_pre_bend_1 /DEST pdfmark -240 fnt1 547 11404(The)m 220 fnt2 983 11401(@Bac)m 4(kEnd)k -240 fnt1 2136 11404(symbol,)m 2955(which)s 3605(tak)s 2(es)k +[ /Dest /LOUT19_4263_pre_bend_1 /DEST pdfmark +240 fnt1 547 5416(The)m 220 fnt2 983 5413(@Bac)m 4(kEnd)k +240 fnt1 2136 5416(symbol,)m 2955(which)s 3605(tak)s 2(es)k 4153(no)s 4454(parameters,)s 5615(has)s 5993(for)s 6339(its)s 6623(result)s 7220(a)s 7394(string)s 7999(naming)s 8778(the)s -0 11116(back)m 523(end)s 938(currently)s 1865(in)s 2119(use.)s +0 5128(back)m 523(end)s 938(currently)s 1865(in)s 2119(use.)s 2613(Three)s 3237(back)s 3761(ends)s 4262(are)s 4620(a)s 4(v)k 6(ailable,)k 5590(PostScript,)s 6690(PDF)s 7198(and)s 7613(PlainT)s 16(e)k 3(xt.)k -8698(The)s 0 10828(symbol)m 760(is)s 970(generally)s 1913(used)s -2410(lik)s 2(e)k 2822(this:)s 220 fnt2 480 10327(@Bac)m 4(kEnd @Case {)k -480 10039( PlainT)m 26(e)k 6(xt @Y)k 4(ield { ...)k 13( })k -480 9751( P)m 11(ostScr)k -3(ipt @Y)k 4(ield { ...)k 13( })k -480 9463( PDF @Y)m 4(ield { ...)k 13( })k 480 9175(})m 240 fnt1 -0 8681(to)m 255(obtain)s 926(dif)s 6(ferent)k 1817(objects)s +8698(The)s 0 4840(symbol)m 760(is)s 970(generally)s 1913(used)s +2410(lik)s 2(e)k 2822(this:)s 220 fnt2 480 4339(@Bac)m 4(kEnd @Case {)k +480 4051( PlainT)m 26(e)k 6(xt @Y)k 4(ield { ...)k 13( })k +480 3763( P)m 11(ostScr)k -3(ipt @Y)k 4(ield { ...)k 13( })k +480 3475( PDF @Y)m 4(ield { ...)k 13( })k 480 3187(})m 240 fnt1 +0 2693(to)m 255(obtain)s 926(dif)s 6(ferent)k 1817(objects)s 2561(depending)s 3628(on)s 3941(the)s 4305(back)s 4834(end.)s -5360(No)s 220 fnt2 5722 8678(else)m 240 fnt1 6192 8681(is)m +5360(No)s 220 fnt2 5722 2690(else)m 240 fnt1 6192 2693(is)m 6418(required)s 7288(since)s 7851(these)s 8414(are)s 8778(the)s -0 8393(only)m 480(possible)s 1320(v)s 6(alues.)k 480 8019(When)m -1101(a)s 220 fnt2 1259 8016(@Case)m 240 fnt1 2037 8019(symbol)m -2789(has)s 220 fnt2 3151 8016(@Bac)m 4(kEnd)k 240 fnt1 -4287 8019(for)m 4617(its)s 4885(left)s 5253(parameter)s 6259(and)s +0 2405(only)m 480(possible)s 1320(v)s 6(alues.)k 480 2031(When)m +1101(a)s 220 fnt2 1259 2028(@Case)m 240 fnt1 2037 2031(symbol)m +2789(has)s 220 fnt2 3151 2028(@Bac)m 4(kEnd)k 240 fnt1 +4287 2031(for)m 4617(its)s 4885(left)s 5253(parameter)s 6259(and)s 6655(the)s 6994(left)s 7363(parameter)s 8369(of)s 8631(each)s -220 fnt2 0 7728(@Y)m 4(ield)k 240 fnt1 768 7731(symbol)m +220 fnt2 0 1740(@Y)m 4(ield)k 240 fnt1 768 1743(symbol)m 1544(within)s 2228(it)s 2435(consists)s 3259(of)s 3546(a)s 3728(sequence)s 4676(of)s 4963(one)s 5381(or)s 5656(more)s 6218(literal)s 6844(w)s 2(ords)k 7494(\(including)s 220 fnt2 -8546 7728(else)m 240 fnt1 8940 7731(\),)m 0 7443(Lout)m 531(will)s +8546 1740(else)m 240 fnt1 8940 1743(\),)m 0 1455(Lout)m 531(will)s 976(optimize)s 1888(by)s 2201(e)s 6(v)k 6(aluating)k -3258(the)s 220 fnt2 3625 7440(@Case)m 240 fnt1 4432 7443(symbol)m +3258(the)s 220 fnt2 3625 1452(@Case)m 240 fnt1 4432 1455(symbol)m 5211(at)s 5463(the)s 5830(time)s 6330(it)s 6541(is)s -6771(read.)s 7365(This)s 7861(optimization)s 0 7155(ensures)m 789(that)s +6771(read.)s 7365(This)s 7861(optimization)s 0 1167(ensures)m 789(that)s 1228(there)s 1782(is)s 2013(only)s 2514(a)s 2701(small)s 3294(once-only)s 4326(performance)s 5610(penalty)s 6389(for)s 6748(multiple)s -7621(back)s 8155(ends,)s 8722(and)s 0 6867(it)m 206(permits)s -987(these)s 220 fnt2 1548 6864(@Case)m 240 fnt1 2350 6867(symbols)m +7621(back)s 8155(ends,)s 8722(and)s 0 879(it)m 206(permits)s +987(these)s 220 fnt2 1548 876(@Case)m 240 fnt1 2350 879(symbols)m 3213(\(b)s 4(ut)k 3668(no)s 3976(other)s 4541(symbols\))s 5481(to)s 5734(appear)s 6446(within)s 7128(the)s 7490(object)s -8149(follo)s 6(wing)k 220 fnt2 0 6576(@Include)m 240 fnt1 -982 6579(and)m 220 fnt2 1386 6576(@PrependGr)m 2(aphic)k 240 fnt1 -3259 6579(symbols.)m 480 6205(The)m 918(PlainT)s 16(e)k 3(xt)k +8149(follo)s 6(wing)k 220 fnt2 0 588(@Include)m 240 fnt1 +982 591(and)m 220 fnt2 1386 588(@PrependGr)m 2(aphic)k 240 fnt1 +3259 591(symbols.)m 480 217(The)m 918(PlainT)s 16(e)k 3(xt)k 1899(back)s 2423(end)s 2837(dif)s 6(fers)k 3515(from)s 4050(the)s 4409(PostScript)s 5461(one)s 5874(in)s 6128(tw)s 2(o)k -6548(main)s 7094(respects.)s 8038(First,)s 8593(there)s 0 5917(is)m -226(ef)s 6(fecti)k 6(v)k 3(ely)k 1302(just)s -1724(one)s 2143(font:)s 2711(although)s 3622(all)s 3932(the)s -4297(font)s 4759(commands)s 5864(w)s 2(ork)k 6431(e)s 3(xactly)k -7189(as)s 7456(usual,)s 8085(the)s 3(y)k 8565(don')s 4(t)k -0 5629(actually)m 817(change)s 1558(an)s 3(ything.)k 2565(Each)s -3107(character)s 4049(in)s 4299(this)s 4702(font)s 5155(is)s -5372(tak)s 2(en)k 5953(to)s 6199(be)s 6488(one)s -6898(tenth)s 7440(of)s 7719(one)s 8128(inch)s 8605(wide)s -0 5341(and)m 404(20)s 699(points)s 1335(high.)s 1925(Second,)s -2737(the)s 3085(output)s 3757(is)s 3967(an)s 4250(ordinary)s -5114(te)s 3(xt)k 5529(\207le,)s 5941(not)s 6307(a)s -6473(PostScript)s 7515(\207le.)s 480 4967(Clearly)m 15(,)k 1306(with)s -1820(ordinary)s 2716(te)s 3(xt)k 3162(output)s 3866(the)s -4246(possibility)s 5327(of)s 5630(adv)s 6(anced)k 6618(graphics)s -7510(features)s 8348(such)s 8876(as)s 0 4679(rotation)m 829(and)s -1262(scaling)s 2022(is)s 2261(curtailed.)s 3290(Ne)s 6(v)k 3(ertheless,)k -4651(all)s 4974(symbols)s 5852(ha)s 4(v)k 3(e)k -6383(well-de\207ned)s 7665(\(possibly)s 8626(null\))s 0 4391(ef)m 6(fects)k -706(in)s 976(the)s 1351(PlainT)s 16(e)k 3(xt)k -2348(back)s 2888(end,)s 3368(so)s 3661(there)s 4221(is)s -4457(no)s 4777(additional)s 5815(danger)s 6553(of)s 6851(crashing)s -7741(the)s 8116(system)s 8867(or)s 0 4103(obtaining)m 957(grossly)s -1702(unreasonable)s 3020(output)s 3692(by)s 3986(a)s 4152(change)s -4886(to)s 5125(PlainT)s 16(e)k 3(xt.)k 480 3729(The)m -905(PlainT)s 16(e)k 3(xt)k 1872(back)s 2382(end)s -2783(is)s 2990(obtained)s 3869(by)s 4160(the)s 220 fnt2 -4505 3726(-p)m 240 fnt1 4749 3729(option)m 5415(to)s 5651(Basser)s -6345(Lout.)s 6958(The)s 7383(character)s 8314(size)s 8737(can)s -0 3441(be)m 282(changed)s 1138(by)s 1432(adding)s 2137(tw)s 2(o)k -2547(lengths)s 3289(to)s 3528(the)s 220 fnt2 3876 3438(-p)m -240 fnt1 4123 3441(option,)m 4842(lik)s 2(e)k 5254(this:)s -220 fnt2 480 2944(lout -p0.1i12p ...)m 240 fnt1 0 2448(which)m 650(in)s 9(v)k 4(ok)k 2(es)k -1439(the)s 1795(PlainT)s 16(e)k 3(xt)k 2773(back)s -3294(end)s 3706(with)s 4196(each)s 4699(character)s 5641(being)s -6234(0.1)s 6577(inches)s 7247(wide)s 7776(and)s 8188(12)s -8490(points)s 0 2160(high.)m 595(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -1561(e)s 3(xperience)k 2655(suggests)s 3523(that)s 3947(the)s -4301(best)s 4752(approach)s 5691(is)s 5907(to)s 6152(de\207ne)s -6799(all)s 7098(horizontal)s 8128(lengths)s 8876(as)s 0 1872(multiples)m -943(of)s 1218(the)s 220 fnt2 1569 1869(s)m 240 fnt1 -1736 1872(unit)m 2171(\(the)s 2602(width)s 3208(of)s 3482(a)s -3652(space,)s 4293(hence)s 4911(the)s 5262(width)s 5868(of)s -6143(all)s 6439(characters\))s 7538(and)s 7945(to)s 8188(de\207ne)s -8833(all)s 0 1584(v)m 3(ertical)k 777(lengths)s 1530(as)s -1791(multiples)s 2742(of)s 3023(the)s 220 fnt2 3382 1581(f)m -240 fnt1 3511 1584(unit)m 3954(\(the)s 4391(font)s 4847(size,)s -5336(equal)s 5920(to)s 6169(the)s 6528(height)s 7197(of)s -7479(e)s 6(v)k 3(ery)k 8066(character\),)s 0 1296(and)m -404(not)s 770(to)s 1009(change)s 1743(the)s 2091(character)s -3025(size)s 3452(in)s 3695(the)s 4043(command)s 5045(line.)s -480 922(There)m 1098(is)s 1314(a)s 220 fnt2 1486 919(-P)m -240 fnt1 1762 922(option)m 2437(which)s 3085(is)s 3301(identical)s -4184(with)s 4671(the)s 220 fnt2 5025 919(-p)m 240 fnt1 -5278 922(option)m 5953(e)s 3(xcept)k 6640(that)s 7064(it)s -7262(inserts)s 7942(a)s 8114(form-feed)s 0 634(character)m 934(between)s -1788(each)s 2283(tw)s 2(o)k 2693(components)s 3901(of)s -4172(the)s 4520(output,)s 5239(b)s 4(ut)k 5601(not)s -5967(before)s 6633(the)s 6981(\207rst)s 7412(or)s 7671(after)s -8167(the)s 8515(last.)s 480 260(The)m 911(PDF)s 1412(back)s -1928(end)s 2336(is)s 2549(obtained)s 3435(by)s 3732(typing)s -220 fnt2 4401 257(lout -Z)m 240 fnt1 5017 260(.)m 5185(It)s -5393(is)s 5607(similar)s 6332(to)s 6575(PostScript)s 7620(b)s 4(ut)k -7986(much)s 8579(more)s +6548(main)s 7094(respects.)s 8038(First,)s 8593(there)s grestore gsave 1417 -15423 translate -240 fnt1 0 0 0 0 240 288 60 LoutGraphic +240 fnt1 +0 0 0 0 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore @@ -17147,93 +17152,112 @@ gsave gsave 1 LoutMargSet grestore -0 13250(limited)m 755(in)s -1019(functionality)s 15(.)k 2411(Consult)s 3237(a)s 3425(separate)s -4284(document)s 5309(distrib)s 4(uted)k 6407(with)s 6910(Lout)s -7444(for)s 7803(further)s 8534(infor)s 8998(-)s 0 12962(mation.)m -240 fnt5 0 12219(3.48.)m 591(@V)s 24(erbatim and @RawV)k 24(erbatim)k +0 13250(is)m 226(ef)s 6(fecti)k 6(v)k 3(ely)k +1302(just)s 1724(one)s 2143(font:)s 2711(although)s 3622(all)s +3932(the)s 4297(font)s 4759(commands)s 5864(w)s 2(ork)k +6431(e)s 3(xactly)k 7189(as)s 7456(usual,)s 8085(the)s 3(y)k +8565(don')s 4(t)k 0 12962(actually)m 817(change)s 1558(an)s 3(ything.)k +2565(Each)s 3107(character)s 4049(in)s 4299(this)s 4702(font)s +5155(is)s 5372(tak)s 2(en)k 5953(to)s 6199(be)s +6488(one)s 6898(tenth)s 7440(of)s 7719(one)s 8128(inch)s +8605(wide)s 0 12674(and)m 404(20)s 699(points)s 1335(high.)s +1925(Second,)s 2737(the)s 3085(output)s 3757(is)s 3967(an)s +4250(ordinary)s 5114(te)s 3(xt)k 5529(\207le,)s 5941(not)s +6307(a)s 6473(PostScript)s 7515(\207le.)s 480 12300(Clearly)m 15(,)k +1306(with)s 1820(ordinary)s 2716(te)s 3(xt)k 3162(output)s +3866(the)s 4246(possibility)s 5327(of)s 5630(adv)s 6(anced)k +6618(graphics)s 7510(features)s 8348(such)s 8876(as)s 0 12012(rotation)m +829(and)s 1262(scaling)s 2022(is)s 2261(curtailed.)s 3290(Ne)s 6(v)k 3(ertheless,)k +4651(all)s 4974(symbols)s 5852(ha)s 4(v)k 3(e)k +6383(well-de\207ned)s 7665(\(possibly)s 8626(null\))s 0 11724(ef)m 6(fects)k +706(in)s 976(the)s 1351(PlainT)s 16(e)k 3(xt)k +2348(back)s 2888(end,)s 3368(so)s 3661(there)s 4221(is)s +4457(no)s 4777(additional)s 5815(danger)s 6553(of)s 6851(crashing)s +7741(the)s 8116(system)s 8867(or)s 0 11436(obtaining)m 957(grossly)s +1702(unreasonable)s 3020(output)s 3692(by)s 3986(a)s 4152(change)s +4886(to)s 5125(PlainT)s 16(e)k 3(xt.)k 480 11062(The)m +905(PlainT)s 16(e)k 3(xt)k 1872(back)s 2382(end)s +2783(is)s 2990(obtained)s 3869(by)s 4160(the)s 220 fnt2 +4505 11059(-p)m 240 fnt1 4749 11062(option)m 5415(to)s 5651(Basser)s +6345(Lout.)s 6958(The)s 7383(character)s 8314(size)s 8737(can)s +0 10774(be)m 282(changed)s 1138(by)s 1432(adding)s 2137(tw)s 2(o)k +2547(lengths)s 3289(to)s 3528(the)s 220 fnt2 3876 10771(-p)m +240 fnt1 4123 10774(option,)m 4842(lik)s 2(e)k 5254(this:)s +220 fnt2 480 10277(lout -p0.1i12p ...)m 240 fnt1 0 9781(which)m 650(in)s 9(v)k 4(ok)k 2(es)k +1439(the)s 1795(PlainT)s 16(e)k 3(xt)k 2773(back)s +3294(end)s 3706(with)s 4196(each)s 4699(character)s 5641(being)s +6234(0.1)s 6577(inches)s 7247(wide)s 7776(and)s 8188(12)s +8490(points)s 0 9493(high.)m 595(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +1561(e)s 3(xperience)k 2655(suggests)s 3523(that)s 3947(the)s +4301(best)s 4752(approach)s 5691(is)s 5907(to)s 6152(de\207ne)s +6799(all)s 7098(horizontal)s 8128(lengths)s 8876(as)s 0 9205(multiples)m +943(of)s 1218(the)s 220 fnt2 1569 9202(s)m 240 fnt1 +1736 9205(unit)m 2171(\(the)s 2602(width)s 3208(of)s 3482(a)s +3652(space,)s 4293(hence)s 4911(the)s 5262(width)s 5868(of)s +6143(all)s 6439(characters\))s 7538(and)s 7945(to)s 8188(de\207ne)s +8833(all)s 0 8917(v)m 3(ertical)k 777(lengths)s 1530(as)s +1791(multiples)s 2742(of)s 3023(the)s 220 fnt2 3382 8914(f)m +240 fnt1 3511 8917(unit)m 3954(\(the)s 4391(font)s 4847(size,)s +5336(equal)s 5920(to)s 6169(the)s 6528(height)s 7197(of)s +7479(e)s 6(v)k 3(ery)k 8066(character\),)s 0 8629(and)m +404(not)s 770(to)s 1009(change)s 1743(the)s 2091(character)s +3025(size)s 3452(in)s 3695(the)s 4043(command)s 5045(line.)s +480 8255(There)m 1098(is)s 1314(a)s 220 fnt2 1486 8252(-P)m +240 fnt1 1762 8255(option)m 2437(which)s 3085(is)s 3301(identical)s +4184(with)s 4671(the)s 220 fnt2 5025 8252(-p)m 240 fnt1 +5278 8255(option)m 5953(e)s 3(xcept)k 6640(that)s 7064(it)s +7262(inserts)s 7942(a)s 8114(form-feed)s 0 7967(character)m 934(between)s +1788(each)s 2283(tw)s 2(o)k 2693(components)s 3901(of)s +4172(the)s 4520(output,)s 5239(b)s 4(ut)k 5601(not)s +5967(before)s 6633(the)s 6981(\207rst)s 7412(or)s 7671(after)s +8167(the)s 8515(last.)s 480 7593(The)m 911(PDF)s 1412(back)s +1928(end)s 2336(is)s 2549(obtained)s 3435(by)s 3732(typing)s +220 fnt2 4401 7590(lout -Z)m 240 fnt1 5017 7593(.)m 5185(It)s +5393(is)s 5607(similar)s 6332(to)s 6575(PostScript)s 7620(b)s 4(ut)k +7986(much)s 8579(more)s 0 7305(limited)m 755(in)s 1019(functionality)s 15(.)k +2411(Consult)s 3237(a)s 3425(separate)s 4284(document)s 5309(distrib)s 4(uted)k +6407(with)s 6910(Lout)s 7444(for)s 7803(further)s 8534(infor)s +8998(-)s 0 7017(mation.)m 240 fnt5 0 6274(3.48.)m 591(@V)s 24(erbatim and @RawV)k 24(erbatim)k [ /Dest /LOUTverbatim /DEST pdfmark -[ /Dest /LOUT19_4262_pre_verb_1 /DEST pdfmark +[ /Dest /LOUT19_4263_pre_verb_1 /DEST pdfmark -[ /Dest /LOUT19_4262_pre_verb_2 /DEST pdfmark -240 fnt1 543 11787(These)m 1173(symbols)s 2026(instruct)s 2805(Lout)s +[ /Dest /LOUT19_4263_pre_verb_2 /DEST pdfmark +240 fnt1 543 5842(These)m 1173(symbols)s 2026(instruct)s 2805(Lout)s 3321(to)s 3563(read)s 4036(the)s 4387(follo)s 6(wing)k 5367(te)s 3(xt)k 5786(\(enclosed)s 6763(in)s 7010(braces\))s -7751(v)s 3(erbatim,)k 8708(that)s 0 11499(is,)m 266(turning)s +7751(v)s 3(erbatim,)k 8708(that)s 0 5554(is,)m 266(turning)s 1010(of)s 6(f)k 1354(all)s 1647(special)s 2365(character)s 3299(meanings.)s 4380(F)s 3(or)k 4769(e)s 3(xample,)k -220 fnt2 480 10998(@V)m 17(erbatim { "hello" })k 240 fnt1 0 10504(produces)m -480 10001("hello")m 220 fnt2 0 9545(@V)m 17(erbatim)k 240 fnt1 -1178 9548(ignores)m 1983(all)s 2325(characters)s 3393(after)s 3938(the)s +220 fnt2 480 5053(@V)m 17(erbatim { "hello" })k 240 fnt1 0 4559(produces)m +480 4056("hello")m 220 fnt2 0 3600(@V)m 17(erbatim)k 240 fnt1 +1178 3603(ignores)m 1983(all)s 2325(characters)s 3393(after)s 3938(the)s 4336(opening)s 5210(brace)s 5833(up)s 6175(to)s 6464(b)s 4(ut)k -6875(not)s 7291(including)s 8297(the)s 8695(\207rst)s 0 9260(non-white-space)m -1654(character)s 13(.)k 220 fnt2 2697 9257(@Ra)m 4(wV)k 17(erbatim)k -240 fnt1 4278 9260(dif)m 6(fers)k 4964(from)s 220 fnt2 -5506 9257(@V)m 17(erbatim)k 240 fnt1 6653 9260(only)m 7151(in)s -7413(that)s 7849(it)s 8059(ignores)s 8833(all)s 0 8972(characters)m +6875(not)s 7291(including)s 8297(the)s 8695(\207rst)s 0 3315(non-white-space)m +1654(character)s 13(.)k 220 fnt2 2697 3312(@Ra)m 4(wV)k 17(erbatim)k +240 fnt1 4278 3315(dif)m 6(fers)k 4964(from)s 220 fnt2 +5506 3312(@V)m 17(erbatim)k 240 fnt1 6653 3315(only)m 7151(in)s +7413(that)s 7849(it)s 8059(ignores)s 8833(all)s 0 3027(characters)m 1018(after)s 1514(the)s 1862(opening)s 2687(brace)s 3261(up)s 3554(to)s 3793(b)s 4(ut)k 4155(not)s 4521(including)s 5479(the)s 5827(\207rst)s 6258(non-white-space)s 7894(character)s 9(,)k -8867(or)s 0 8684(up)m 302(to)s 551(and)s 965(including)s +8867(or)s 0 2739(up)m 302(to)s 551(and)s 965(including)s 1931(the)s 2289(\207rst)s 2730(ne)s 6(wline)k 3547(character)s 9(,)k 4528(whiche)s 6(v)k 3(er)k 5585(comes)s 6257(\207rst.)s 6802(This)s 7287(v)s 6(ariant)k 8014(is)s 8234(useful)s -8883(in)s 0 8396(cases)m 555(such)s 1051(as)s 220 fnt2 -480 7945(@Ra)m 4(wV)k 17(erbatim {)k 480 7657( v)m 5(ar x:)k 11( Real)k -480 7369(begin)m 480 7081(})m 240 fnt1 0 6587(where)m 662(the)s +8883(in)s 0 2451(cases)m 555(such)s 1051(as)s 220 fnt2 +480 2000(@Ra)m 4(wV)k 17(erbatim {)k 480 1712( v)m 5(ar x:)k 11( Real)k +480 1424(begin)m 480 1136(})m 240 fnt1 0 642(where)m 662(the)s 1033(\207rst)s 1486(line)s 1923(of)s 2217(the)s 2587(v)s 3(erbatim)k 3516(te)s 3(xt)k 3954(be)s 3(gins)k 4649(with)s 5154(white)s 5763(space)s 6373(which)s 7038(w)s 2(ould)k -7715(be)s 8020(ignored)s 8832(by)s 220 fnt2 0 6296(@V)m 17(erbatim)k -240 fnt1 1069 6299(.)m 1232(Both)s 1754(symbols)s 2602(ignore)s +7715(be)s 8020(ignored)s 8832(by)s 220 fnt2 0 351(@V)m 17(erbatim)k +240 fnt1 1069 354(.)m 1232(Both)s 1754(symbols)s 2602(ignore)s 3268(all)s 3560(white)s 4146(spaces)s 4820(at)s 5051(the)s 5398(end)s 5801(of)s 6071(the)s 6418(v)s 3(erbatim)k -7323(te)s 3(xt,)k 7784(preceding)s 8778(the)s 0 6011(closing)m -744(brace.)s 240 fnt5 0 5218(3.49.)m 591(@Underline)s -[ /Dest /LOUTunderline /DEST pdfmark - -[ /Dest /LOUT19_4262_pre_unde_1 /DEST pdfmark -240 fnt1 -533 4786(The)m 220 fnt2 953 4783(@Under)m -3(line)k 240 fnt1 -2160 4786(symbol)m 2912(underlines)s 3951(its)s 4219(right)s 4722(parameter)s 9(,)k -5767(b)s 4(ut)k 6121(only)s 6593(if)s 6802(that)s -7212(parameter)s 8218(is)s 8420(a)s 8578(w)s 2(ord)k -0 4498(or)m 259(a)s 425(paragraph:)s 220 fnt2 480 3997(W)m 6(e @Under)k -3(line { really do } mean this)k 3(.)k -240 fnt1 0 3499(produces)m 480 2996(W)m 19(e)k 849(really)s -849 1679 2972 12 ul -1446(do)s 1739(mean)s 2314(this.)s 0 2493(It)m 204(is)s -412(not)s 776(possible)s 1614(to)s 1851(underline)s 2808(an)s -3089(arbitrary)s 3962(object)s 4604(using)s 5174(this)s 5568(symbol;)s -6383(the)s 220 fnt2 6729 2490(@Under)m -3(line)k 240 fnt1 -7942 2493(symbol)m 8700(will)s 0 2205(be)m 282(ignored)s 1071(if)s -1288(this)s 1684(is)s 1894(attempted.)s 480 1831(It)m 731(is)s -987(v)s 3(ery)k 1509(easy)s 2034(to)s 240 fnt6 -2319 1833(de\207ne)m 240 fnt1 2990 1831(a)m 3202(symbol)s 4008(which)s -4696(will)s 5168(underline)s 6173(an)s 6502(arbitrary)s 7423(object,)s -8160(using)s 8778(the)s 220 fnt2 0 1540(@Gr)m 2(aphic)k -240 fnt1 1045 1543(symbol.)m 1915(This)s 2393(raises)s 2988(the)s -3337(question)s 4207(of)s 4479(wh)s 1(y)k 220 fnt2 -4946 1540(@Under)m -3(line)k 240 fnt1 6163 1543(is)m 6374(needed)s -7111(at)s 7345(all.)s 7748(The)s 8177(answer)s 8916(is)s -0 1255(that)m 220 fnt2 418 1252(@Under)m -3(line)k 240 fnt1 -1633 1255(has)m 2003(tw)s 2(o)k 2413(properties)s 3419(that)s -3837(distinguish)s 4944(it)s 5136(from)s 5660(symbols)s 6509(based)s -7112(on)s 220 fnt2 7409 1252(@Gr)m 2(aphic)k 240 fnt1 -8393 1255(.)m 480 881(First,)m 1021(when)s 220 fnt2 1594 878(@Under)m -3(line)k -240 fnt1 2806 881(both)m 3286(contains)s 4130(a)s 4293(paragraph)s -5303(and)s 5704(is)s 5911(used)s 6404(within)s 7069(a)s -7232(paragraph,)s 8292(as)s 8539(in)s 8778(the)s 0 593(e)m 3(xample)k -875(abo)s 3(v)k 3(e,)k 1561(the)s 1921(inner)s -2485(and)s 2901(outer)s 3465(paragraphs)s 4577(are)s 4937(mer)s 4(ged)k -5720(into)s 6158(one,)s 6623(permitting)s 7684(the)s 8045(underlined)s -0 305(te)m 3(xt)k 412(to)s 647(break)s 1236(o)s 3(v)k 3(er)k -1711(se)s 6(v)k 3(eral)k 2430(lines.)s 3041(This)s -3513(is)s 3720(ho)s 6(w)k 4177(the)s 220 fnt2 -4522 302(@F)m 6(ont)k 240 fnt1 5230 305(symbol)m 5986(w)s 2(orks)k -6617(too,)s 7026(b)s 4(ut)k 7385(symbols)s 8230(based)s -8829(on)s +7323(te)s 3(xt,)k 7784(preceding)s 8778(the)s 0 66(closing)m +744(brace.)s grestore gsave 1417 -15423 translate @@ -17285,56 +17309,99 @@ gsave 240 fnt6 7498 -1580(Chapter)m 8348(3.)s 8622(Pr)s 8(ede\207ned)k 9717(symbols)s gsave 1417 -15423 translate -240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic gsave 0 LoutMargSet grestore -220 fnt2 0 13202(@Gr)m 2(aphic)k -240 fnt1 1044 13205(do)m 1337(not)s 1703(permit)s 2386(this)s -2782(mer)s 4(ging.)k 480 12831(Second,)m 1292(Adobe)s 1987(font)s -2432(\207les)s 2881(specify)s 3625(the)s 3973(correct)s 4694(position)s -5522(and)s 5926(thickness)s 6867(of)s 7138(underlining)s 8294(for)s -8631(each)s 0 12543(font,)m 501(and)s 914(the)s 220 fnt2 -1272 12540(@Under)m -3(line)k 240 fnt1 2496 12543(symbol)m 3266(follo)s 6(ws)k -4037(these)s 4593(speci\207cations.)s 6068(The)s 6505(font)s 6960(used)s -7466(is)s 7685(the)s 8043(font)s 8497(of)s 8778(the)s -0 12255(\207rst)m 431(object)s 1075(underlined,)s 2205(if)s 2422(it)s -2614(is)s 2824(a)s 2990(simple)s 3683(w)s 2(ord,)k -4280(or)s 4539(else)s 4966(the)s 5314(font)s 5759(of)s -6030(the)s 6378(enclosing)s 7348(paragraph.)s 240 fnt5 0 11462(3.50.)m -591(@P)s 2(ageLabel)k +240 fnt5 0 13203(3.49.)m 591(@Underline)s + +[ /Dest /LOUTunderline /DEST pdfmark + +[ /Dest /LOUT19_4263_pre_unde_1 /DEST pdfmark +240 fnt1 533 12771(The)m 220 fnt2 953 12768(@Under)m -3(line)k +240 fnt1 2160 12771(symbol)m 2912(underlines)s 3951(its)s 4219(right)s +4722(parameter)s 9(,)k 5767(b)s 4(ut)k 6121(only)s +6593(if)s 6802(that)s 7212(parameter)s 8218(is)s 8420(a)s +8578(w)s 2(ord)k 0 12483(or)m 259(a)s 425(paragraph:)s +220 fnt2 480 11982(W)m 6(e @Under)k -3(line { really do } mean this)k 3(.)k +240 fnt1 0 11484(produces)m 480 10981(W)m 19(e)k 849(really)s +849 1679 10957 12 ul +1446(do)s 1739(mean)s 2314(this.)s 0 10478(It)m 204(is)s +412(not)s 776(possible)s 1614(to)s 1851(underline)s 2808(an)s +3089(arbitrary)s 3962(object)s 4604(using)s 5174(this)s 5568(symbol;)s +6383(the)s 220 fnt2 6729 10475(@Under)m -3(line)k 240 fnt1 +7942 10478(symbol)m 8700(will)s 0 10190(be)m 282(ignored)s 1071(if)s +1288(this)s 1684(is)s 1894(attempted.)s 480 9816(It)m 731(is)s +987(v)s 3(ery)k 1509(easy)s 2034(to)s 240 fnt6 +2319 9818(de\207ne)m 240 fnt1 2990 9816(a)m 3202(symbol)s 4008(which)s +4696(will)s 5168(underline)s 6173(an)s 6502(arbitrary)s 7423(object,)s +8160(using)s 8778(the)s 220 fnt2 0 9525(@Gr)m 2(aphic)k +240 fnt1 1045 9528(symbol.)m 1915(This)s 2393(raises)s 2988(the)s +3337(question)s 4207(of)s 4479(wh)s 1(y)k 220 fnt2 +4946 9525(@Under)m -3(line)k 240 fnt1 6163 9528(is)m 6374(needed)s +7111(at)s 7345(all.)s 7748(The)s 8177(answer)s 8916(is)s +0 9240(that)m 220 fnt2 418 9237(@Under)m -3(line)k 240 fnt1 +1633 9240(has)m 2003(tw)s 2(o)k 2413(properties)s 3419(that)s +3837(distinguish)s 4944(it)s 5136(from)s 5660(symbols)s 6509(based)s +7112(on)s 220 fnt2 7409 9237(@Gr)m 2(aphic)k 240 fnt1 +8393 9240(.)m 480 8866(First,)m 1021(when)s 220 fnt2 1594 8863(@Under)m -3(line)k +240 fnt1 2806 8866(both)m 3286(contains)s 4130(a)s 4293(paragraph)s +5303(and)s 5704(is)s 5911(used)s 6404(within)s 7069(a)s +7232(paragraph,)s 8292(as)s 8539(in)s 8778(the)s 0 8578(e)m 3(xample)k +875(abo)s 3(v)k 3(e,)k 1561(the)s 1921(inner)s +2485(and)s 2901(outer)s 3465(paragraphs)s 4577(are)s 4937(mer)s 4(ged)k +5720(into)s 6158(one,)s 6623(permitting)s 7684(the)s 8045(underlined)s +0 8290(te)m 3(xt)k 412(to)s 647(break)s 1236(o)s 3(v)k 3(er)k +1711(se)s 6(v)k 3(eral)k 2430(lines.)s 3041(This)s +3513(is)s 3720(ho)s 6(w)k 4177(the)s 220 fnt2 +4522 8287(@F)m 6(ont)k 240 fnt1 5230 8290(symbol)m 5986(w)s 2(orks)k +6617(too,)s 7026(b)s 4(ut)k 7385(symbols)s 8230(based)s +8829(on)s 220 fnt2 0 7999(@Gr)m 2(aphic)k 240 fnt1 +1044 8002(do)m 1337(not)s 1703(permit)s 2386(this)s 2782(mer)s 4(ging.)k +480 7628(Second,)m 1292(Adobe)s 1987(font)s 2432(\207les)s 2881(specify)s +3625(the)s 3973(correct)s 4694(position)s 5522(and)s 5926(thickness)s +6867(of)s 7138(underlining)s 8294(for)s 8631(each)s 0 7340(font,)m +501(and)s 914(the)s 220 fnt2 1272 7337(@Under)m -3(line)k +240 fnt1 2496 7340(symbol)m 3266(follo)s 6(ws)k 4037(these)s +4593(speci\207cations.)s 6068(The)s 6505(font)s 6960(used)s 7466(is)s +7685(the)s 8043(font)s 8497(of)s 8778(the)s 0 7052(\207rst)m +431(object)s 1075(underlined,)s 2205(if)s 2422(it)s 2614(is)s +2824(a)s 2990(simple)s 3683(w)s 2(ord,)k 4280(or)s +4539(else)s 4966(the)s 5314(font)s 5759(of)s 6030(the)s +6378(enclosing)s 7348(paragraph.)s 240 fnt5 0 6259(3.50.)m 591(@P)s 2(ageLabel)k + [ /Dest /LOUTpagelabel /DEST pdfmark -[ /Dest /LOUT19_4262_pre_page_1 /DEST pdfmark -240 fnt1 533 10985(The)m 220 fnt2 -953 10982(@P)m 8(ageLabel)k 240 fnt1 2255 10985(symbol)m 3007(associates)s -4005(a)s 4164(page)s 4664(label)s 5176(in)s 5411(the)s -5751(PostScript)s 6786(output)s 7450(\207le)s 7804(with)s 8278(the)s -8618(page)s 0 10697(within)m 688(which)s 1350(\(or)s 1708(just)s -2133(before)s 2819(which\))s 3552(the)s 3920(symbol)s 4700(occurs,)s -5451(so)s 5737(that)s 6175(PostScript)s 7237(vie)s 6(wers)k -8045(are)s 8412(able)s 8887(to)s 0 10409(inde)m 3(x)k -587(the)s 939(page)s 1450(by)s 1748(this)s 2148(label.)s -2779(\(The)s 3290(label)s 3813(is)s 4026(printed)s 4765(in)s -5011(the)s 220 fnt2 5363 10406(%%P)m 8(age)k 240 fnt1 -6313 10409(comment)m 7266(preceding)s 8266(the)s 8618(page)s 0 10121(in)m -243(the)s 591(PostScript)s 1633(output)s 2305(\207le.\))s 2858(F)s 3(or)k -3247(e)s 3(xample,)k 220 fnt2 480 9620(@P)m 8(ageLabel iv)k -240 fnt1 0 9121(associates)m 1018(the)s 1379(label)s 220 fnt2 -1910 9118(iv)m 240 fnt1 2140 9121(with)m 2634(the)s 2995(page.)s -3623(The)s 4064(label)s 4595(may)s 5074(be)s 5368(an)s -5664(arbitrary)s 6551(object;)s 7260(if)s 7489(its)s 7778(v)s 6(alue)k -8358(is)s 8581(not)s 8960(a)s 0 8833(simple)m 693(w)s 2(ord,)k +[ /Dest /LOUT19_4263_pre_page_1 /DEST pdfmark +240 fnt1 533 5782(The)m 220 fnt2 953 5779(@P)m 8(ageLabel)k +240 fnt1 2255 5782(symbol)m 3007(associates)s 4005(a)s 4164(page)s +4664(label)s 5176(in)s 5411(the)s 5751(PostScript)s 6786(output)s +7450(\207le)s 7804(with)s 8278(the)s 8618(page)s 0 5494(within)m +688(which)s 1350(\(or)s 1708(just)s 2133(before)s 2819(which\))s +3552(the)s 3920(symbol)s 4700(occurs,)s 5451(so)s 5737(that)s +6175(PostScript)s 7237(vie)s 6(wers)k 8045(are)s 8412(able)s +8887(to)s 0 5206(inde)m 3(x)k 587(the)s 939(page)s +1450(by)s 1748(this)s 2148(label.)s 2779(\(The)s 3290(label)s +3813(is)s 4026(printed)s 4765(in)s 5011(the)s 220 fnt2 +5363 5203(%%P)m 8(age)k 240 fnt1 6313 5206(comment)m 7266(preceding)s +8266(the)s 8618(page)s 0 4918(in)m 243(the)s 591(PostScript)s +1633(output)s 2305(\207le.\))s 2858(F)s 3(or)k 3247(e)s 3(xample,)k +220 fnt2 480 4417(@P)m 8(ageLabel iv)k 240 fnt1 0 3918(associates)m +1018(the)s 1379(label)s 220 fnt2 1910 3915(iv)m 240 fnt1 +2140 3918(with)m 2634(the)s 2995(page.)s 3623(The)s 4064(label)s +4595(may)s 5074(be)s 5368(an)s 5664(arbitrary)s 6551(object;)s +7260(if)s 7489(its)s 7778(v)s 6(alue)k 8358(is)s +8581(not)s 8960(a)s 0 3630(simple)m 693(w)s 2(ord,)k 1290(it)s 1482(will)s 1908(be)s 2190(replaced)s 3057(by)s -220 fnt2 3351 8830(?)m 240 fnt1 3459 8833(.)m 220 fnt2 -480 8456(@P)m 8(ageLabel)k 240 fnt1 1799 8459(is)m 2019(unrelated)s +220 fnt2 3351 3627(?)m 240 fnt1 3459 3630(.)m 220 fnt2 +480 3253(@P)m 8(ageLabel)k 240 fnt1 1799 3256(is)m 2019(unrelated)s 2977(to)s 3226(Lout')s 13(s)k 3899(cross)s 4451(referencing)s 5602(mechanism;)s 6813(it)s 7016(is)s 7236(for)s 7585(communicating)s -0 8171(a)m 176(label)s 706(to)s 956(the)s 1315(PostScript)s +0 2968(a)m 176(label)s 706(to)s 956(the)s 1315(PostScript)s 2368(output)s 3051(\207le,)s 3474(not)s 3851(to)s 4101(other)s 4662(parts)s 5188(of)s 5470(Lout.)s 6097(The)s 6536(result)s -7137(of)s 220 fnt2 7419 8168(@P)m 8(ageLabel)k 240 fnt1 -8739 8171(is)m 8960(a)s 0 7883(null)m 427(object.)s +7137(of)s 220 fnt2 7419 2965(@P)m 8(ageLabel)k 240 fnt1 +8739 2968(is)m 8960(a)s 0 2680(null)m 427(object.)s grestore gsave 1417 -15423 translate @@ -17416,7 +17483,7 @@ grestore 240 fnt1 480 8650(In)m 751(this)s 1162(section)s 1911(we)s 2261(describe)s 3128(the)s 3491(design)s 4189(and)s 4608(implementation)s 6180(of)s 6466(the)s 6829(Eq)s -[ /Dest /LOUT19_4262_exa_equa_1 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_equa_1 /DEST pdfmark 7168(equation)s 8065(formatting)s 0 8362(package.)m 976(Equation)s 1925(formatting)s 3014(mak)s 2(es)k 3702(a)s 3896(natural)s 4642(\207rst)s 5101(e)s 3(xample,)k @@ -17450,9 +17517,9 @@ grestore [ /Rect [5571 5886 5685 6048] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTkernighan1975eqn /ANN pdfmark 5571(2)s 5685(]:)s -[ /Dest /LOUT19_4262_exa_equa_2 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_equa_2 /DEST pdfmark -[ /Dest /LOUT19_4262_exa_equa_3 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_equa_3 /DEST pdfmark 220 fnt2 480 5385(@Eq { { x sup 2 + y sup 2 } o)m 3(v)k 5(er 2 })k 240 fnt1 0 4887(The)m 428(result)s 1018(is)s 167 fnt4 586 4484(2)m 240 fnt6 480 4424(x)m 240 fnt4 737 4416(+)m 167 fnt4 @@ -17465,7 +17532,7 @@ grestore 240 fnt1 0 3587(In)m 256(outline,)s 1027(the)s 1375(de\207nition)s 2349(of)s 2620(the)s 220 fnt2 2968 3584(@Eq)m 240 fnt1 3506 3587(symbol)m 4266(is)s -[ /Dest /LOUT19_4262_exa_equa_4 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_equa_4 /DEST pdfmark 220 fnt2 480 3090(e)m 6(xpor)k -8(t sup o)k 3(v)k 5(er "+" "2" "<=")k 480 2802(def @Eq)m 480 2514( body @Body)m 480 2226({)m 480 1938( def sup precedence 60 left x r)m -3(ight y { ...)k 13( })k 480 1650( def o)m 3(v)k 5(er precedence 54 left x r)k -3(ight y { ...)k 13( })k @@ -17564,7 +17631,7 @@ grestore 6428(e)s 3(xample,)k 7356(the)s 7719(superscripting)s 0 9085(symbol)m 760(is)s 970(de\207ned)s 1733(as)s 1983(follo)s 6(ws:)k -[ /Dest /LOUT19_4262_exa_equa_5 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_equa_5 /DEST pdfmark 220 fnt2 480 8586(def sup)m 480 8298( precedence 60)m 480 8010( associativity left)m 480 7722( left x)m 480 7434( named gap { @SupGap })m 480 7146( r)m -3(ight y)k 480 6858({)m 480 6570( @HContr)m 2(act @VContr)k 2(act {)k 480 6282( | @Smaller y)m 480 5994( ^/gap x)m 480 5706( })m 480 5418(})m 240 fnt1 @@ -17591,7 +17658,7 @@ grestore 6457(and)s 6865(assists)s 7529(when)s 8109(tuning)s 8778(the)s 0 3484(v)m 6(alues.)k 769(Here)s 1289(is)s 1499(another)s 2276(characteristic)s 3600(de\207nition:)s -[ /Dest /LOUT19_4262_exa_equa_6 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_equa_6 /DEST pdfmark 220 fnt2 480 3034(def o)m 3(v)k 5(er)k 480 2746( precedence 54)m 480 2458( associativity left)m 480 2170( left x)m 480 1882( named gap { 0.2f })m 480 1594( r)m -3(ight y)k 480 1306({)m 480 1018( @HContr)m 2(act @VContr)k 2(act {)k 480 730( |0.5r)m -8(t @OneCol x)k @@ -17672,7 +17739,7 @@ grestore 240 fnt1 3690 11564(is)m 3900(a)s 4066(horizontal)s 5090(line)s 5504(of)s 5775(the)s 6123(width)s 6725(of)s 6996(the)s 7344(column:)s -[ /Dest /LOUT19_4262_exa_equa_7 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_equa_7 /DEST pdfmark 220 fnt2 480 11063(def @HLine)m 480 10775( named line { "0.05 ft setline)m 4(width" })k 480 10487({ )m 480 10199( { "0 0 mo)m 3(v)k 5(eto xsiz)k 3(e 0 lineto" line "strok)k 4(e" } @Gr)k 2(aphic {})k 480 9911(})m 240 fnt1 0 9417(Here)m 520(we)s 855(are)s @@ -17687,7 +17754,7 @@ grestore [ /Rect [7208 8752 7314 8920] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTknuth1984tex /ANN pdfmark 7208(5)s 7314(].)s -[ /Dest /LOUT19_4262_exa_equa_8 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_equa_8 /DEST pdfmark 480 8381(Some)m 1090(symbols,)s 2004(such)s 2509(as)s 240 fnt4 2768 8375(\243)m 240 fnt1 2963 8381(and)m 240 fnt4 3376 8375(\271)m 240 fnt1 3505 8381(,)m 3621(should)s 4327(ha)s 4(v)k 3(e)k @@ -17742,7 +17809,7 @@ grestore 5364(is)s 5566(described)s 6533(from)s 7050(the)s 7391(user')s 13(s)k 7991(perspecti)s 6(v)k 3(e)k 0 1126(in)m 250(the)s -[ /Dest /LOUT19_4262_exa_para_1 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_para_1 /DEST pdfmark 605(User')s 13(s)k 1274(Guide)s 1922([)s [ /Rect [1993 1126 2107 1288] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUTkingston1995lout_user /ANN pdfmark 1993(4)s @@ -17815,7 +17882,7 @@ grestore 480 13205(The)m 939(symbols)s 1819(used)s 2347(for)s 2716(separating)s 3782(paragraphs)s 4913(and)s 5348(producing)s 6403(displays)s 7269(and)s -[ /Dest /LOUT19_4262_exa_para_2 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_para_2 /DEST pdfmark 7704(lists)s 8170(may)s 8667(lack)s 0 12917(the)m 351(e)s 3(xcitement)k 1459(of)s 1733(more)s 2284(e)s 3(xotic)k 2921(features,)s 3786(b)s 4(ut)k 4152(the)s 3(y)k 4618(can)s @@ -17857,7 +17924,7 @@ grestore 7592(better)s 8195(placed)s 8876(as)s 0 8870(symbols,)m 905(possibly)s 1757(parameters)s 2855(of)s 3126(the)s 3474(enclosing)s 4444(package:)s 220 fnt2 480 8369(def @DocumentLa)m 6(y)k 4(out)k -[ /Dest /LOUT19_4262_exa_para_3 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_para_3 /DEST pdfmark 480 8081( named @P)m 8(ar)k 2(aGap { 1.3vx })k 480 7793( named @P)m 8(ar)k 2(aIndent { 2f })k 480 7505( ...)m 480 7217(@Begin)m 480 6641( macro @PP { //@P)m 8(ar)k 2(aGap @P)k 8(ar)k 2(aIndent @Wide &0i })k @@ -17869,7 +17936,7 @@ grestore 6170(DocumentLayout)s 7905(package.)s 480 4905(A)m 710(display)s 1455(is)s 1665(a)s 1831(table)s 2351(in)s 2594(which)s 3236(the)s 3584(\207rst)s 4015(column)s 4790(is)s 5000(blank:)s -[ /Dest /LOUT19_4262_exa_para_4 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_para_4 /DEST pdfmark 240 fnt6 480 4402(pr)m 8(eceding)k 1483(te)s 4(xt)k 220 fnt2 480 4109(//@DispGap |@DispIndent)m 240 fnt6 3183 4114(display)m 220 fnt2 480 3821(//@DispGap)m @@ -17887,7 +17954,7 @@ grestore 5617(Lout)s 6179(source)s 6908(sho)s 6(wn)k 7635(abo)s 3(v)k 3(e;)k 8363(a)s 8579(more)s 0 1799(appropriate)m 1144(syntax)s 1824(is)s -[ /Dest /LOUT19_4262_exa_para_5 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_para_5 /DEST pdfmark 240 fnt6 480 1296(pr)m 8(eceding)k 1483(te)s 4(xt)k 220 fnt2 480 1003(@IndentedDispla)m 6(y {)k 240 fnt6 2514 1008(display)m 220 fnt2 3321 1003(})m 240 fnt6 480 720(following)m 1438(te)s 4(xt)k @@ -17986,9 +18053,9 @@ grestore 7519 6022(when)m 8094(there)s 8625(is)s 8833(no)s 0 5734(follo)m 6(wing)k 977(te)s 3(xt.)k 480 5360(An)m 858(automatically)s 2240(numbered)s 3283(list)s -[ /Dest /LOUT19_4262_exa_para_6 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_para_6 /DEST pdfmark -[ /Dest /LOUT19_4262_exa_para_7 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_para_7 /DEST pdfmark 3662(could)s 4280(ha)s 4(v)k 3(e)k 4809(an)s 5121(arbitrarily)s 6156(lar)s 4(ge)k 6713(number)s 7532(of)s 7831(items,)s 8483(so,)s 8832(by)s 0 5072(analogy)m @@ -18087,19 +18154,19 @@ grestore 7571 12629(.)m 7735(This)s 8212(brings)s 8862(us)s 0 12341(to)m 239(the)s 587(de\207nitions)s 1648(as)s 1898(the)s 3(y)k 2361(appear)s 3058(in)s 3301(DocumentLayout:)s -[ /Dest /LOUT19_4262_exa_para_8 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_para_8 /DEST pdfmark 220 fnt2 480 11840(def @ItemPlace { @Galle)m 4(y })k 480 11552(def @ListItem into { @ItemPlace&&preceding })m 480 11264( r)m -3(ight x)k 480 10976({ x })m -[ /Dest /LOUT16_1527_exa_para_1 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_para_1 /DEST pdfmark 480 10484(def @EndListPlace { @Galle)m 4(y })k 480 10196(def @EndList f)m 6(orce into { @EndListPlace&&preceding })k 480 9908({})m -[ /Dest /LOUT16_1527_exa_para_2 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_para_2 /DEST pdfmark 480 9416(def @Ra)m 4(wIndentedList)k 480 9128( named style r)m -3(ight tag {})k 480 8840( named indent { @DispIndent })m 480 8552( named gap { @DispGap })m 480 8264( named star)m -8(t { 1 })k 480 7976({)m 480 7688( def @IList r)m -3(ight n)k 2(um)k 480 7400( {)m 480 7112( indent @Wide {style n)m 2(um} | @ItemPlace)k 480 6824( //gap @IList @Ne)m 6(xt n)k 2(um)k 480 6536( })m 480 5960( @IList star)m -8(t // @EndListPlace)k 480 5672(})m -[ /Dest /LOUT16_1527_exa_para_3 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_para_3 /DEST pdfmark 240 fnt1 0 5178(No)m 6(w)k 514(gi)s 6(v)k 3(en)k 1094(the)s 1442(input)s 220 fnt2 480 4677(@Ra)m 4(wIndentedList)k @@ -18205,7 +18272,7 @@ grestore 480 11466(macro @P)m 8(arenNumberedList { //@DispGap @Ra)k 4(wP)k 8(arenNumberedList //@DispGap })k 240 fnt1 0 10970(and)m 404(so)s 670(on.)s 480 10596(Lists)m 994(numbered)s 2007(by)s 2300(Roman)s 3047(numerals)s -[ /Dest /LOUT19_4262_exa_para_9 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_para_9 /DEST pdfmark 3973(present)s 4721(a)s 4886(problem,)s 5788(because)s 220 fnt2 6600 10593(@Ne)m 6(xt)k 240 fnt1 7322 10596(will)m 7747(not)s 8111(increment)s 0 10308(Roman)m @@ -18240,9 +18307,9 @@ grestore [ /Dest /LOUTpagelayout /DEST pdfmark 240 fnt1 480 2608(The)m 921(page)s 1443(layout)s -[ /Dest /LOUT19_4262_exa_page_1 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_1 /DEST pdfmark -[ /Dest /LOUT19_4262_exa_page_2 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_2 /DEST pdfmark 2115(de\207nitions)s 3190(gi)s 6(v)k 3(en)k 3783(in)s 4040(Section)s 4828(1.2,)s 5249(although)s 6158(correct,)s 6940(are)s 7301(v)s 3(ery)k @@ -18269,7 +18336,7 @@ grestore 6017(and)s 6420(refers)s 7012(to)s 7250(the)s 7597(mark)s 2(ed)k 8369(page)s 8876(as)s 220 fnt2 0 503(@P)m 8(ageOf intro)k 240 fnt1 1499 506(else)m 6(where:)k -[ /Dest /LOUT19_4262_exa_page_3 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_3 /DEST pdfmark grestore gsave @@ -18329,15 +18396,15 @@ grestore 220 fnt2 480 13207(e)m 6(xpor)k -8(t @T)k 26(ag)k 480 12919(def @P)m 8(ageMar)k -3(k)k 4(er r)k -3(ight @T)k 26(ag { @Null })k -[ /Dest /LOUT16_1527_exa_page_1 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_page_1 /DEST pdfmark 480 12422(def @P)m 8(ageMar)k -3(k r)k -3(ight x)k 480 12134({)m 480 11846( @P)m 8(ageMar)k -3(k)k 4(er&&preceding @T)k 26(agged x)k 480 11558(})m -[ /Dest /LOUT16_1527_exa_page_2 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_page_2 /DEST pdfmark 480 11066(def @P)m 8(ageOf r)k -3(ight x)k 480 10778({)m 480 10490( @P)m 8(ageMar)k -3(k)k 4(er&&x @Open { @T)k 26(ag })k 480 10202(})m -[ /Dest /LOUT16_1527_exa_page_3 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_page_3 /DEST pdfmark 240 fnt1 0 9708(W)m 19(e)k 385(will)s 828(see)s 1206(belo)s 6(w)k 1856(that)s 2291(an)s 2591(in)s 9(v)k 4(ocation)k 3662(of)s 220 fnt2 @@ -18396,7 +18463,7 @@ grestore 4793(at)s 5015(the)s 5354(foot)s 5790(of)s 6052(the)s 6390(page)s 6889(for)s 7218(footnotes,)s 8205(preceded)s 0 597(by)m 294(a)s 460(short)s 998(horizontal)s 2022(line:)s -[ /Dest /LOUT19_4262_exa_page_4 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_4 /DEST pdfmark 220 fnt2 480 96(e)m 6(xpor)k -8(t @T)k 26(ag)k grestore @@ -18458,11 +18525,11 @@ grestore 220 fnt2 480 13207(def @F)m 6(ootList r)k -3(ight @T)k 26(ag)k 480 12919({)m 480 12631( @Galle)m 4(y)k 480 12343( //@F)m 6(ootGap @F)k 6(ootList @Ne)k 6(xt @T)k 26(ag)k 480 12055(})m -[ /Dest /LOUT16_1527_exa_page_4 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_page_4 /DEST pdfmark 480 11563(def @F)m 6(ootSect)k 480 11275({)m 480 10987( @F)m 6(ootLen @Wide @HLine)k 480 10699( //@F)m 6(ootGap @F)k 6(ootList 1 ||@F)k 6(ootLen)k 480 10411(})m -[ /Dest /LOUT16_1527_exa_page_5 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_page_5 /DEST pdfmark 240 fnt1 0 9917(Similarly)m 15(,)k 220 fnt2 988 9914(@ColF)m 6(ootList)k 240 fnt1 2378 9917(and)m 220 fnt2 2791 9914(@ColF)m 6(ootSect)k 240 fnt1 4279 9917(pro)m 3(vide)k 5072(a)s 5247(sequence)s @@ -18476,7 +18543,7 @@ grestore 1871(pro)s 3(vides)k 2743(a)s 2909(horizontal)s 3933(sequence)s 4866(of)s 5137(one)s 5539(or)s 5798(more)s 6345(columns:)s -[ /Dest /LOUT19_4262_exa_page_5 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_5 /DEST pdfmark 220 fnt2 480 5015(def @ColList r)m -3(ight col)k 480 4727({)m 480 4439( def @Column)m 480 4151( { @VExpand { @ColPlace //1r)m -8(t @OneRo)k 3(w { //@MidGap @ColF)k 6(ootSect } } })k 480 3575( col @Case {)m 480 3287( Single @Y)m 4(ield @Column)k 480 2999( Doub)m 4(le @Y)k 4(ield { @Doub)k 4(leColWidth @Wide @Column ||@ColGap @ColList col })k @@ -18501,7 +18568,7 @@ grestore 4385(in)s 4628(a)s 4794(page)s 5302(of)s 5573(\207x)s 3(ed)k 6107(width,)s 6759(height,)s 7464(and)s 7868(mar)s 4(gins:)k -[ /Dest /LOUT19_4262_exa_page_6 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_6 /DEST pdfmark grestore gsave @@ -18577,7 +18644,7 @@ grestore 3079(de\207ning)s 3917(a)s 4083(typical)s 4788(page)s 5296(of)s 5567(a)s 5733(book)s 6274(or)s 6533(other)s 7084(document:)s -[ /Dest /LOUT19_4262_exa_page_7 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_7 /DEST pdfmark 220 fnt2 480 9246(def @OneP)m 8(age)k 480 8958( named @Columns {})m 480 8670( named @P)m 8(ageT)k 26(op {})k 480 8382( named @P)m 8(ageF)k 6(oot {})k 480 8094({)m 480 7806( @P)m 8(age {)k 480 7518( @P)m 8(ageT)k 26(op)k 480 7230( //@MidGap @T)m 26(opList)k @@ -18611,7 +18678,7 @@ grestore 7085(produced.)s 8146(These)s 8779(are)s 0 3194(based)m 603(on)s 900(the)s 220 fnt2 1248 3191(@Runner)m 240 fnt1 2250 3194(symbol:)m -[ /Dest /LOUT19_4262_exa_page_8 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_8 /DEST pdfmark 220 fnt2 480 2693(e)m 6(xpor)k -8(t @T)k 26(opOdd @T)k 26(opEv)k 5(en @F)k 6(ootOdd @F)k 6(ootEv)k 5(en)k 480 2405(def @Runner)m 480 2117( named @T)m 26(opOdd r)k -3(ight @P)k 8(ageNum { @Null })k 480 1829( named @T)m 26(opEv)k 5(en r)k -3(ight @P)k 8(ageNum { @Null })k @@ -18699,7 +18766,7 @@ grestore 3872 10391(,)m 3973(whose)s 4635(result)s 5219(is)s 5423(a)s 5583(sequence)s 6510(of)s 6775(pages)s 7365(be)s 3(ginning)k 8367(with)s 8843(an)s 0 10103(odd-numbered)m 1454(page:)s -[ /Dest /LOUT19_4262_exa_page_9 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_9 /DEST pdfmark 220 fnt2 480 9602(def @OddP)m 8(ageList)k 480 9314( named @Columns {})m 480 9026( r)m -3(ight @P)k 8(ageNum)k 480 8738({)m 480 8450( def @Ev)m 5(enP)k 8(ageList ...)k 480 7874( @P)m 8(ageMar)k -3(k)k 4(er @P)k 8(ageNum)k @@ -18738,7 +18805,7 @@ grestore 220 fnt2 4428 2683(@OddP)m 8(ageList)k 240 fnt1 5967 2686(in)m 9(v)k 4(ok)k 2(es)k 220 fnt2 6748 2683(@Ev)m 5(enP)k 8(ageList)k 240 fnt1 8307 2686(:)m -[ /Dest /LOUT19_4262_exa_page_10 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_page_10 /DEST pdfmark 220 fnt2 480 2185(def @Ev)m 5(enP)k 8(ageList)k 480 1897( named @Columns {})m 480 1609( r)m -3(ight @P)k 8(ageNum)k 480 1321({)m 480 1033( @P)m 8(ageMar)k -3(k)k 4(er @P)k 8(ageNum)k @@ -18830,7 +18897,7 @@ grestore 240 fnt1 480 8189(The)m 905(de\207nitions)s 1962(of)s 2229(chapters)s 3073(and)s 3473(sections)s 4290(from)s 4811(the)s 5155(DocumentSetup)s 6746(package)s -[ /Dest /LOUT19_4262_exa_chap_1 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_chap_1 /DEST pdfmark 7583(of)s 7850(V)s 26(ersion)k 8634(2)s 8804(\(in)s 0 7901(V)m 26(ersion)k 793(3,)s 1026(the)s 1379(BookSetup)s 2503(e)s 3(xtension)k 3480(of)s @@ -18838,7 +18905,7 @@ grestore 7334(this)s 7736(section.)s 8583(The)s 3(y)k 0 7613(allo)m 6(w)k 579(a)s 745(chapter)s 1508(to)s 1747(be)s 2029(entered)s 2790(lik)s 2(e)k 3202(this:)s -[ /Dest /LOUT19_4262_exa_chap_2 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_chap_2 /DEST pdfmark 220 fnt2 480 7112(@Chapter)m 480 6824( @Title { ...)m 13( })k 480 6536( @T)m 26(ag { ...)k 13( })k 480 6248(@Begin)m 480 5960( ...)m 480 5672(@End @Chapter)m 240 fnt1 0 5176(W)m 9(ithin)k @@ -18858,7 +18925,7 @@ grestore 5050(in)s 5304(the)s 5662(document.)s 6780(This)s 7267(feature)s 7995(is)s 8215(based)s 8829(on)s 0 2118(the)m 348(follo)s 6(wing)k 1325(de\207nitions:)s -[ /Dest /LOUT19_4262_exa_chap_3 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_chap_3 /DEST pdfmark 220 fnt2 480 1617(e)m 6(xpor)k -8(t @T)k 26(ag)k 480 1329(def @NumberMar)m -3(k)k 4(er r)k -3(ight @T)k 26(ag { @Null })k 480 753(def @NumberOf r)m -3(ight x)k 480 465({ @NumberMar)m -3(k)k 4(er&&x @Open { @T)k 26(ag } })k @@ -18935,18 +19002,18 @@ grestore 220 fnt2 0 9817(@Chapter)m 240 fnt1 1063 9820(g)m 1(alle)k 3(y)k 1697(itself)s 2245(is)s 2455(de\207ned)s 3218(as)s 3468(follo)s 6(ws:)k -[ /Dest /LOUT19_4262_exa_chap_4 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_chap_4 /DEST pdfmark 220 fnt2 480 9319(e)m 6(xpor)k -8(t @F)k 6(ootNote @BeginSections @EndSections @Section)k 480 9031(def @Chapter f)m 6(orce into { @ChapterList&&preceding })k 480 8743( named @T)m 26(ag {})k 480 8455( named @Title {})m 480 8167( named @RunningTitle { dft })m 480 7879( body @Body)m 480 7591({)m 480 7303( def @F)m 6(ootNote r)k -3(ight x { @ColF)k 6(ootNote x })k 480 6727( def @BeginSections ...)m 480 6439( def @EndSections ...)m 480 6151( def @Section ...)m -[ /Dest /LOUT16_1527_exa_chap_1 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_chap_1 /DEST pdfmark 480 5698( def @ChapterTitle)m 480 5410( {)m 480 5122( @ChapterNumbers @Case {)m 480 4834( {Y)m 30(es y)k 4(es} @Y)k 4(ield { Chapter {@NumberOf @T)k 26(ag}.)k 13( |2s @Title })k 480 4546( else @Y)m 4(ield @Title)k 480 4258( })m 480 3970( })m 480 3394( def @ChapterNum)m 480 3106( {)m 480 2818( @ChapterNumbers @Case {)m 480 2530( {Y)m 30(es y)k 4(es} @Y)k 4(ield { Chapter {@NumberOf @T)k 26(ag} })k 480 2242( else @Y)m 4(ield @Null)k 480 1954( })m 480 1666( })m -[ /Dest /LOUT16_1527_exa_chap_2 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_chap_2 /DEST pdfmark 480 1174( r)m 2(agged @Break @BookTitleF)k 6(or)k -5(mat @ChapterTitle)k 480 886( // @NumberMar)m -3(k)k 4(er {)k 480 598( @ChapterList&&@T)m 26(ag @Open { @T)k 26(ag })k 480 310( })m @@ -19013,7 +19080,7 @@ grestore 480 11191( // @Body)m 480 10903( //@SectionGap @ChapRefSection)m 480 10615( // @Runner)m 480 10327( @T)m 26(opEv)k 5(en { @B @P)k 8(ageNum |1r)k -8(t @I @ChapterNum })k 480 10039( @T)m 26(opOdd { @I {@RunningTitle @OrElse @Title} |1r)k -8(t @B @P)k 8(ageNum })k 480 9751(})m -[ /Dest /LOUT16_1527_exa_chap_3 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_chap_3 /DEST pdfmark 240 fnt1 0 9257(W)m 19(e)k 371(will)s 800(see)s 1164(the)s 1515(symbols)s 2366(for)s 2707(sections)s 3531(shortly)s 15(.)k 4347(Notice)s 5042(ho)s 6(w)k 5506(their)s 6006(use)s @@ -19233,7 +19300,7 @@ grestore 8558(v)s 6(alue)k 220 fnt2 0 5515(dft)m 240 fnt1 240 5518(,)m 347(or)s 220 fnt2 606 5515(@Title)m 240 fnt1 1294 5518(otherwise:)m -[ /Dest /LOUT19_4262_exa_chap_5 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_chap_5 /DEST pdfmark 220 fnt2 480 5036(def @OrElse)m 480 4748( left x)m 480 4460( r)m -3(ight y)k 480 4172({)m 480 3884( x @Case {)m 480 3596( dft @Y)m 4(ield y)k 480 3308( else @Y)m 4(ield x)k 480 3020( })m 480 2732(})m 240 fnt1 0 2238(This)m 476(produces)s @@ -19246,7 +19313,7 @@ grestore 240 fnt1 3004 950(.)m 480 576(Finally)m 15(,)k 1249(the)s 1597(de\207nitions)s 2658(for)s 2996(sections)s 3817(omitted)s 4605(earlier)s 5273(are)s 5620(as)s 5870(follo)s 6(ws:)k -[ /Dest /LOUT19_4262_exa_chap_6 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_chap_6 /DEST pdfmark 220 fnt2 480 75(def @EndSectionsPlace { @Galle)m 4(y })k grestore @@ -19305,7 +19372,7 @@ gsave 0 LoutMargSet grestore 220 fnt2 480 13207(def @EndSections f)m 6(orce into { @EndSectionsPlace&&preceding } {})k 480 12919(macro @BeginSections { //@SectionGap @SectionList 1 // @EndSectionsPlace // })m -[ /Dest /LOUT16_1527_exa_chap_4 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_chap_4 /DEST pdfmark 480 12422(def @Section f)m 6(orce into { @SectionList&&preceding })k 480 12134( named @T)m 26(ag {})k 480 11846( named @Title {})m 480 11558( named @RunningTitle { dft })m 480 11270( body @Body)m 480 10982({)m 480 10694( def @SectionTitle)m 480 10406( {)m 480 10118( @SectionNumbers @Case {)m 480 9830( {Y)m 30(es y)k 4(es} @Y)k 4(ield { {@NumberOf @T)k 26(ag}.)k 13( |2s @Title })k @@ -19316,7 +19383,7 @@ grestore 480 6086( // @P)m 8(ageMar)k -3(k)k 4(er&&preceding @T)k 26(agged @T)k 26(ag)k 480 5798( // { &3f @SectionTitle } @ContentsEntr)m -6(y {@P)k 8(ageOf @T)k 26(ag})k 480 5510( //0io @Body)m 480 5222(})m -[ /Dest /LOUT16_1527_exa_chap_5 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_chap_5 /DEST pdfmark 240 fnt1 0 4728(The)m 220 fnt2 409 4725(@BeginSections)m 240 fnt1 2066 4728(macro)m 2696(in)s 9(v)k 4(ok)k 2(es)k 220 fnt2 3457 4725(@SectionList)m 240 fnt1 4748 4728(,)m 4835(preceded)s @@ -19428,14 +19495,14 @@ grestore 240 fnt5 0 12412(4.5.)m 471(Bibliographies)s [ /Dest /LOUTbiblio /DEST pdfmark -[ /Dest /LOUT19_4262_exa_bibl_1 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_bibl_1 /DEST pdfmark 240 fnt1 533 11935(The)m 953(\207rst)s 1376(step)s 1806(in)s 2041(the)s 2382(production)s 3468(of)s 3731(a)s 3889(bibliograph)s 1(y)k 5157(is)s 5359(to)s 5591(create)s 6208(a)s 6366(database)s 7237(of)s 7500(references)s 8523(based)s 0 11647(on)m 297(the)s 645(de\207nition)s -[ /Dest /LOUT19_4262_exa_bibl_2 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_bibl_2 /DEST pdfmark 220 fnt2 480 11196(e)m 6(xpor)k -8(t @T)k 26(ype @A)k 6(uthor @Title @Institution @Number @Pub)k 4(lisher)k 480 10908( @Y)m 30(ear @Proceedings @Jour)k -5(nal @V)k 17(olume @P)k 8(ages @Comment)k 480 10332(def @Ref)m 6(erence)k 480 10044( named @T)m 26(ag)k 3270({ )s 11(T)k 26(A)k 6(G? })k @@ -19452,13 +19519,13 @@ grestore 480 4729( @T)m 26(ype { Book })k 480 4441( @A)m 6(uthor { Str)k -3(unk, )k 8(William and )k 8(White)k 3(, E.)k 13( B)k 4(.)k 13( })k 480 4153( @Title { )m 11(The Elements of Style })k 480 3865( @Pub)m 4(lisher { MacMillan, third edition })k 480 3577( @Y)m 30(ear { 1979 })k 480 3289(})m -[ /Dest /LOUT16_1527_exa_bibl_1 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_bibl_1 /DEST pdfmark 480 2797({ @Ref)m 6(erence)k 480 2509( @T)m 26(ag { kingston92 })k 480 2221( @T)m 26(ype { )k 11(T)k 26(echRepor)k -8(t })k 480 1933( @A)m 6(uthor { Kingston, Jeffre)k 4(y H.)k 13( })k 480 1645( @Title { Document F)m 6(or)k -5(matting with Lout \(Second Edition\) })k 480 1357( @Number { 449 })m 480 1069( @Institution { Basser Depar)m -8(tment of Computer)k 480 781(Science F09, Univ)m 5(ersity of Sydne)k 4(y 2006, A)k 6(ustr)k 2(alia })k 480 493( @Y)m 30(ear { 1992 })k 480 205(})m -[ /Dest /LOUT16_1527_exa_bibl_2 /DEST pdfmark +[ /Dest /LOUT16_1579_exa_bibl_2 /DEST pdfmark grestore gsave @@ -19667,7 +19734,7 @@ grestore 7285(a)s 7463(numbered)s 8491(list)s 8855(of)s 0 7265(places)m 648(that)s 1066(g)s 1(alle)k 3(ys)k 1790(containing)s 2853(references)s 3884(may)s 4350(attach)s 4977(to:)s -[ /Dest /LOUT19_4262_exa_bibl_3 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_bibl_3 /DEST pdfmark 220 fnt2 480 6764(def @Ref)m 6(erenceSection)k 480 6476( named @T)m 26(ag {})k 480 6188( named @Title { Ref)m 6(erences })k 480 5900( named @RunningTitle { dft })m 480 5612( named style r)m -3(ight tag { tag.)k 13( })k 480 5324( named headstyle r)m -3(ight @Title { @Heading @Title })k @@ -19755,7 +19822,7 @@ grestore 0 9454(Section)m 240 fnt1 777 9457(at)m 1009(each)s 1504(point.)s 480 9083(Our)m 912(task)s 1358(is)s 1568(completed)s 2622(by)s 2916(the)s 3264(follo)s 6(wing)k 4241(de\207nition:)s -[ /Dest /LOUT19_4262_exa_bibl_4 /DEST pdfmark +[ /Dest /LOUT19_4263_exa_bibl_4 /DEST pdfmark 220 fnt2 480 8582(def @Ref r)m -3(ight x)k 480 8294({)m 480 8006( def sendref into { @RefPlace&&f)m 6(ollo)k 3(wing })k 480 7718( r)m -3(ight @K)k 8(e)k 4(y)k 480 7430( {)m @@ -20520,7 +20587,7 @@ grestore 8329 3219(,)m 220 fnt2 8525 3216(/De)m 8858(-)s 3059 2928(viceRGB)m 240 fnt1 3916 2931(,)m 4023(or)s 220 fnt2 4282 2928(/De)m 6(viceCMYK)k -[ /Dest /LOUT16_1527_tex_1 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_1 /DEST pdfmark 240 fnt1 0 2447(\213)m 480(A)s 708(color)s 9(,)k 1294(denoted)s 2107(c,)s 2318(is)s 2525(an)s 2805(array)s 3346(containing)s 4407(a)s 4570(PostScript)s 5609(non-pattern)s 6765(color)s @@ -20540,7 +20607,7 @@ grestore 1633(be)s 1915(unpack)s 2(ed)k 2889(with)s 220 fnt2 3371 149(aload)m 240 fnt1 3955 152(before)m 4621(calling)s 220 fnt2 5324 149(setcolor)m 240 fnt1 6092 152(.)m -[ /Dest /LOUT16_1527_tex_2 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_2 /DEST pdfmark grestore 0 0 0 0 240 288 60 1417 -14865 LoutGr2 @@ -20628,7 +20695,7 @@ grestore 8566(share)s 480 10439(pattern)m 1200(dictionaries)s 2365(among)s 3070(graphics)s 3931(states.)s 4625(W)s 19(e)k 4994(must)s 5519(cop)s 2(y)k 6037(them.)s -[ /Dest /LOUT16_1527_tex_3 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_3 /DEST pdfmark 0 9936(This)m 476(representation)s 1886(obe)s 3(ys)k 2493(the)s 2841(follo)s 6(wing)k 3818(in)s 9(v)k 6(ariant:)k 0 9433(\213)m 480(All)s 853(components)s 2075(of)s 2360(the)s @@ -20639,7 +20706,7 @@ grestore 3096(situation)s 3976(where)s 4616(we)s 4951(set)s 5276(color)s 5827(space)s 6414(b)s 4(ut)k 6776(not)s 7142(color\).)s -[ /Dest /LOUT16_1527_tex_4 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_4 /DEST pdfmark 0 8642(\213)m 480(If)s 709(the)s 1056(PostScript)s 2097(graphics)s 2956(state)s 3448(contains)s 4295(a)s 220 fnt2 4460 8639(/P)m 8(atter)k -5(n)k 240 fnt1 5269 8642(colorspace,)m 6397(the)s 6744(pattern)s 7463(dictionary)s @@ -20649,7 +20716,7 @@ grestore 7027(of)s 7298(types)s 220 fnt2 7854 8351(cs)m 240 fnt1 8127 8354(and)m 220 fnt2 8531 8351(c)m 240 fnt1 8636 8354(.)m -[ /Dest /LOUT16_1527_tex_5 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_5 /DEST pdfmark 0 7851(\213)m 480(If)s 733(the)s 1105(graphics)s 1990(state)s 2507(contains)s 3379(an)s 3685(uncolored)s 220 fnt2 4724 7848(/P)m 8(atter)k -5(n)k 240 fnt1 5559 7851(colorspace,)m 6712(then)s 7205(the)s 220 fnt2 @@ -20660,7 +20727,7 @@ grestore 8644(with)s 480 7275(the)m 828(underlying)s 1918(color)s 2469(space)s 3056(and)s 3460(color)s 4011(stored)s 4653(in)s 4896(the)s 5244(graphics)s 6105(state.)s -[ /Dest /LOUT16_1527_tex_6 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_6 /DEST pdfmark 0 6772(And)m 471(it)s 663(has)s 1033(the)s 1381(follo)s 6(wing)k 2358(abstraction)s 3463(function:)s 0 6269(\213)m 480(If)s 725(the)s 1089(graphics)s 1965(state)s @@ -20674,7 +20741,7 @@ grestore 240 fnt1 9019 5981(,)m 480 5693(then)m 949(the)s 1297(abstract)s 2099(current)s 2835(te)s 3(xture)k 3551(is)s 220 fnt2 3761 5690(n)m 2(ull)k 240 fnt1 4085 5693(.)m -[ /Dest /LOUT16_1527_tex_7 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_7 /DEST pdfmark 0 5236(\213)m 480(If)s 725(the)s 1089(graphics)s 1966(state)s 2475(colorspace)s 3568(is)s 220 fnt2 3794 5233(/P)m 8(atter)k -5(n)k @@ -20691,14 +20758,14 @@ grestore 2294(and)s 2698(color)s 3249(are)s 3596(as)s 3846(returned)s 4700(by)s 220 fnt2 4994 4369(currentcolorspace)m 240 fnt1 6790 4372(and)m 220 fnt2 7194 4369([ currentcolor ])m 240 fnt1 8583 4372(.)m -[ /Dest /LOUT16_1527_tex_8 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_8 /DEST pdfmark 0 3869(The)m 428(follo)s 6(wing)k 1405(functions)s 2346(are)s 2693(pri)s 6(v)k 6(ate)k 3400(helpers)s 4141(for)s 4479(the)s 4827(public)s 5478(functions:)s 220 fnt9 480 3392(% Current pattern \(may be null\): - LoutCurrentP p)m 480 3144(/LoutCurrentP)m 480 2896({ %% -)m 480 2648( currentcolorspace %% [ /name etc ])m 480 2400( 0 get /Pattern eq %% bool)m 480 2152( { %% - \(have pattern\))m 480 1904( [ currentcolor ] %% [ comp0 ... compn p ])m 480 1656( dup length 1 sub get %% p)m 480 1408( })m 480 1160( { %% - \(no pattern\))m 480 912( null %% null)m 480 664( } ifelse %% p)m 480 416(} def)m -[ /Dest /LOUT16_1527_tex_9 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_9 /DEST pdfmark grestore gsave @@ -20759,7 +20826,7 @@ grestore 480 12533( LoutCurrentP dup null eq %% p bool)m 480 12285( { %% null)m 480 12037( pop [ currentcolor ] %% c)m 480 11789( currentcolorspace %% c cs)m 480 11541( })m 480 11293( { %% p)m 480 11045( dup %% p p)m 480 10797( /UnderlyingColor get exch %% c p)m 480 10549( /UnderlyingColorSpace get %% c cs)m 480 10301( } ifelse %% c cs)m 480 10053(} def)m -[ /Dest /LOUT16_1527_tex_10 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_10 /DEST pdfmark 480 9604(% Make c, cs, and p current: c cs p LoutSetCCSP -)m 480 9356(/LoutSetCCSP)m 480 9108({ %% c cs p)m 480 8860( dup null eq %% c cs p bool)m 480 8612( { %% c cs p \(null pattern\))m 480 8364( pop setcolorspace %% c)m 480 8116( aload pop setcolor %% -)m 480 7868( })m 480 7620( { %% c cs p \(non-null pattern\))m 480 7372( % copy pattern dictionary)m 480 7124( 12 dict copy %% c cs p)m 480 6628( % record cs and c in p)m 480 6380( dup /UnderlyingColorSpace %% c cs p p /UCS)m 480 6132( 3 index put %% c cs p)m @@ -20767,7 +20834,7 @@ grestore 480 4396( [/Pattern] setcolorspace %% c cs p)m 480 4148( setcolor %% c cs)m 480 3900( pop pop %% -)m 480 3652( })m 480 3404( { %% c cs p \(uncolored pattern\))m 480 3156( [ /Pattern %% c cs p [ /Pattern)m 480 2908( 4 -1 roll %% c p [ /Pattern cs)m 480 2660( ] setcolorspace %% c p)m 480 2412( exch aload length 1 add %% p comp1 ... compm m+1)m 480 2164( -1 roll %% comp1 ... compm p)m 480 1916( setcolor %% -)m 480 1668( } ifelse %% -)m 480 1420( } ifelse %% -)m 480 1172(} def)m -[ /Dest /LOUT16_1527_tex_11 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_11 /DEST pdfmark 240 fnt1 0 697(W)m 9(ith)k 536(the)s 894(helper)s 1561(functions)s 2513(it')s 13(s)k 2865(no)s 6(w)k 3336(easy)s @@ -20848,21 +20915,21 @@ grestore 4226(of)s 220 fnt2 4497 13202(rgb)m 240 fnt1 4806 13205(.)m 220 fnt9 480 12731(% num LoutSetGray -)m 480 12483(/LoutSetGray)m 480 12235({)m 480 11987( [ 2 1 roll ] %% c)m 480 11739( [ /DeviceGray ] %% c cs)m 480 11491( LoutCurrentP %% c cs p)m 480 11243( LoutSetCCSP %% -)m 480 10995(} def)m -[ /Dest /LOUT16_1527_tex_12 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_12 /DEST pdfmark 480 10546(% r g b LoutSetRGBColor -)m 480 10298(/LoutSetRGBColor)m 480 10050({ %% r g b)m 480 9802( [ 4 1 roll ] %% c)m 480 9554( [ /DeviceRGB ] %% c cs)m 480 9306( LoutCurrentP %% c cs p)m 480 9058( LoutSetCCSP %% -)m 480 8810(} def)m -[ /Dest /LOUT16_1527_tex_13 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_13 /DEST pdfmark 480 8361(% h s b LoutSetHSBColor -)m 480 8113(/LoutSetHSBColor)m 480 7865({ %% h s b)m 480 7617( gsave sethsbcolor %% -)m 480 7369( currentrgbcolor grestore %% r g b)m 480 7121( LoutSetRGBColor %% -)m 480 6873(} def)m -[ /Dest /LOUT16_1527_tex_14 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_14 /DEST pdfmark 480 6424(% c m y k LoutSetRGBColor -)m 480 6176(/LoutSetCMYKColor)m 480 5928({)m 480 5680( [ 5 1 roll ] %% c)m 480 5432( [ /DeviceCMYK ] %% c cs)m 480 5184( LoutCurrentP %% c cs p)m 480 4936( LoutSetCCSP %% -)m 480 4688(} def)m -[ /Dest /LOUT16_1527_tex_15 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_15 /DEST pdfmark 480 4241(% p LoutSetTexture -)m 480 3993(/LoutSetTexture)m 480 3745({)m 480 3497( LoutCurrentCCS %% p c cs)m 480 3249( 3 -1 roll %% c cs p)m 480 3001( LoutSetCCSP %% -)m 480 2753(} def)m -[ /Dest /LOUT16_1527_tex_16 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_16 /DEST pdfmark 240 fnt1 0 2278(All)m 369(we)s 713(need)s 1232(no)s 6(w)k 1702(is)s 1921(some)s 2491(sample)s 3233(te)s 3(xtures.)k @@ -20943,7 +21010,7 @@ grestore 480 8807( matrix scale %% p mat1 mat2 s mat3)m 480 8559( exch dup matrix scale %% p mat1 mat2 mat3 mat4)m 480 8311( matrix concatmatrix %% p mat1 mat2 mat34)m 480 8063( matrix concatmatrix %% p mat1 mat234)m 480 7815( matrix concatmatrix %% p mat1234)m 480 7567( /makepattern where)m 480 7319( { %% p mat123 dict)m 480 7071( pop makepattern %% p)m 480 6823( })m 480 6575( { %% p mat123)m 480 6327( pop pop null %% null)m 480 6079( } ifelse %% p \(may be null\))m 480 5831(} def)m -[ /Dest /LOUT16_1527_tex_17 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_17 /DEST pdfmark 240 fnt1 0 5356(F)m 3(or)k 384(e)s 3(xamples)k 1330(of)s 1596(te)s 3(xtures)k 2395(using)s 220 fnt2 2962 5353(LoutMak)m 4(eT)k 26(e)k 6(xture)k @@ -20954,7 +21021,7 @@ grestore 220 fnt2 2615 5065(LoutT)m 26(e)k 6(xtureSolid)k 240 fnt1 4228 5068(:)m 220 fnt9 480 4585(/LoutTextureSolid)m 480 4337({)m 480 4089( null)m 480 3841( LoutSetTexture)m 480 3593(} def)m -[ /Dest /LOUT16_1527_tex_18 /DEST pdfmark +[ /Dest /LOUT16_1579_tex_18 /DEST pdfmark grestore gsave @@ -21004,7 +21071,7 @@ gsave grestore 480 fnt5 0 12397(Refer)m 8(ences)k -[ /Dest /LOUT20_498_all_1 /DEST pdfmark +[ /Dest /LOUT20_497_all_1 /DEST pdfmark [ /Dest /LOUTadobe1990ps /DEST pdfmark 240 fnt1 0 11800([1])m 480(Adobe)s 1182(Systems,)s 2094(Inc..)s @@ -21123,238 +21190,238 @@ gsave grestore 480 fnt5 0 12404(Index)m -[ /Dest /LOUT20_555_all_1 /DEST pdfmark +[ /Dest /LOUT20_554_all_1 /DEST pdfmark 220 fnt2 0 11807(adjust)m 641(@Break)s 240 fnt1 1444 11810(,)m -[ /Rect [1551 11810 1785 11972] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_1 /ANN pdfmark +[ /Rect [1551 11810 1785 11972] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_1 /ANN pdfmark 1551(44)s 0 11522(Adjustment)m 1176(of)s 1447(object)s 2038(,)s -[ /Rect [2145 11519 2369 11687] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hadj_4 /ANN pdfmark +[ /Rect [2145 11519 2369 11687] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hadj_4 /ANN pdfmark 2145(53)s 0 11234(Adobe)m 695(Systems,)s 1599(Inc.)s 1955(,)s -[ /Rect [2062 11231 2286 11396] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_8 /ANN pdfmark +[ /Rect [2062 11231 2286 11396] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_8 /ANN pdfmark 2062(43)s 0 10946(Alignment)m 240 fnt6 1083 10948(see)m 240 fnt1 1441 10946(mark)m 1993(alignment)s 0 10658(Associati)m 6(vity)k 1256(,)s -[ /Rect [1363 10655 1587 10820] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_prec_2 /ANN pdfmark +[ /Rect [1363 10655 1587 10820] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_prec_2 /ANN pdfmark 1363(23)s 220 fnt2 0 10079(@Bac)m 4(kEnd)k 240 fnt1 1145 10082(symbol)m 1852(,)s -[ /Rect [1959 10079 2192 10246] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_bend_1 /ANN pdfmark +[ /Rect [1959 10079 2192 10246] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_bend_1 /ANN pdfmark 1959(76)s 220 fnt2 0 9791(@Bac)m 4(kg)k 2(round)k 240 fnt1 1436 9794(symbol)m 2143(,)s -[ /Rect [2250 9791 2478 9959] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_back_1 /ANN pdfmark -2250(57)s 220 fnt2 +[ /Rect [2250 9791 2477 9959] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_back_1 /ANN pdfmark +2250(58)s 220 fnt2 0 9503(@Begin)m 240 fnt1 829 9506(symbol)m 1536(,)s -[ /Rect [1643 9503 1871 9668] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_begi_1 /ANN pdfmark +[ /Rect [1643 9503 1871 9668] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_begi_1 /ANN pdfmark 1643(37)s 220 fnt2 0 9215(@BeginHeaderComponent)m 240 fnt1 2692 9218(symbol)m 3399(,)s -[ /Rect [3506 9215 3740 9382] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_head_2 /ANN pdfmark +[ /Rect [3506 9215 3740 9382] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_head_2 /ANN pdfmark 3506(64)s 0 8930(Bibliographies)m 1406(,)s -[ /Rect [1513 8925 1739 9095] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_bibl_1 /ANN pdfmark +[ /Rect [1513 8925 1739 9095] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_bibl_1 /ANN pdfmark 1513(95)s 0 8642(Body)m 574(of)s 845(a)s 1011(de\207nition)s 1932(,)s -[ /Rect [2039 8642 2153 8804] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_defi_3 /ANN pdfmark +[ /Rect [2039 8642 2153 8804] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_defi_3 /ANN pdfmark 2039(4)s 220 fnt2 0 8351(body)m 240 fnt1 534 8354(parameter)m 1495(,)s -[ /Rect [1602 8351 1829 8516] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_visi_3 /ANN pdfmark +[ /Rect [1602 8351 1829 8516] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_visi_3 /ANN pdfmark 1602(18)s 0 8066(Braces)m 648(,)s -[ /Rect [755 8063 859 8228] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_obje_6 /ANN pdfmark +[ /Rect [755 8063 859 8228] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_obje_6 /ANN pdfmark 755(3)s 220 fnt2 0 7775(b)m 240 fnt1 174 7778(unit)m 553(,)s -[ /Rect [660 7775 887 7940] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_15 /ANN pdfmark +[ /Rect [660 7775 887 7940] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_15 /ANN pdfmark 660(38)s 240 7490(use)m 615(in)s 220 fnt2 858 7487(//1.1b)m 240 fnt1 1406 7490(,)m -[ /Rect [1513 7487 1740 7652] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_4 /ANN pdfmark +[ /Rect [1513 7487 1740 7652] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_4 /ANN pdfmark 1513(28)s 220 fnt2 0 6911(@Case)m 240 fnt1 787 6914(symbol)m 1494(,)s -[ /Rect [1601 6911 1816 7078] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_case_1 /ANN pdfmark +[ /Rect [1601 6911 1816 7078] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_case_1 /ANN pdfmark 1601(61)s 0 6626(Centring)m 837(,)s -[ /Rect [944 6623 1171 6788] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_31 /ANN pdfmark +[ /Rect [944 6623 1171 6788] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_31 /ANN pdfmark 944(38)s 220 fnt2 0 6335(@Chapter)m 240 fnt1 1063 6338(e)m 3(xample)k 1873(,)s -[ /Rect [1980 6333 2195 6500] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_chap_4 /ANN pdfmark +[ /Rect [1980 6333 2195 6500] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_chap_4 /ANN pdfmark 1980(91)s 0 6050(Chapters)m 901(and)s 1305(sections)s 2073(,)s -[ /Rect [2180 6045 2415 6212] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_chap_1 /ANN pdfmark +[ /Rect [2180 6045 2415 6212] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_chap_1 /ANN pdfmark 2180(90)s 220 fnt2 0 5759(@Char)m 240 fnt1 758 5762(symbol)m 1465(,)s -[ /Rect [1572 5759 1796 5924] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_10 /ANN pdfmark +[ /Rect [1572 5759 1796 5924] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_10 /ANN pdfmark 1572(43)s 0 5474(Cherry)m 15(,)k 756(L.)s 953(,)s -[ /Rect [1060 5469 1291 5636] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_equa_3 /ANN pdfmark +[ /Rect [1060 5469 1291 5636] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_equa_3 /ANN pdfmark 1060(79)s 220 fnt2 0 5183(@ClearHeaderComponent)m 240 fnt1 2655 5186(symbol)m 3362(,)s -[ /Rect [3469 5183 3695 5351] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_head_5 /ANN pdfmark +[ /Rect [3469 5183 3695 5351] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_head_5 /ANN pdfmark 3469(65)s 220 fnt2 0 4895(clines)m 613(@Break)s 240 fnt1 1416 4898(,)m -[ /Rect [1523 4898 1757 5060] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_8 /ANN pdfmark +[ /Rect [1523 4898 1757 5060] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_8 /ANN pdfmark 1523(44)s 220 fnt2 0 4607(@ColList)m 240 fnt1 948 4610(e)m 3(xample)k 1758(,)s -[ /Rect [1865 4607 2093 4772] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_5 /ANN pdfmark +[ /Rect [1865 4607 2093 4772] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_5 /ANN pdfmark 1865(87)s 0 4322(Column)m 829(mark)s 1328(,)s -[ /Rect [1435 4322 1530 4484] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_obje_2 /ANN pdfmark +[ /Rect [1435 4322 1530 4484] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_obje_2 /ANN pdfmark 1435(1)s 0 4034(Comment)m 951(,)s -[ /Rect [1058 4031 1291 4198] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_21 /ANN pdfmark +[ /Rect [1058 4031 1291 4198] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_21 /ANN pdfmark 1058(16)s 0 3746(Comment)m 1004(character)s 1885(,)s -[ /Rect [1992 3746 2226 3908] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_6 /ANN pdfmark +[ /Rect [1992 3746 2226 3908] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_6 /ANN pdfmark 1992(14)s 220 fnt2 0 3455(@Common)m 240 fnt1 1159 3458(symbol)m 1866(,)s -[ /Rect [1973 3455 2200 3623] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_rump_1 /ANN pdfmark +[ /Rect [1973 3455 2200 3623] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_rump_1 /ANN pdfmark 1973(58)s 0 3170(Components)m 1262(of)s 1533(a)s 1699(g)s 1(alle)k 3(y)k 2280(,)s -[ /Rect [2387 3169 2615 3332] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_3 /ANN pdfmark +[ /Rect [2387 3169 2615 3332] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_3 /ANN pdfmark 2387(27)s 240 2882(promotion)m 1294(of)s 1512(,)s -[ /Rect [1619 2879 1854 3044] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_8 /ANN pdfmark +[ /Rect [1619 2879 1854 3044] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_8 /ANN pdfmark 1619(30)s 0 2594(Concatenation)m 1439(symbols)s 2235(,)s -[ /Rect [2342 2591 2570 2756] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_1 /ANN pdfmark +[ /Rect [2342 2591 2570 2756] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_1 /ANN pdfmark 2342(37)s 0 2306(Contraction)m 1186(of)s 1457(object)s 2048(,)s -[ /Rect [2155 2303 2389 2471] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hcon_3 /ANN pdfmark -2155(52)s +[ /Rect [2155 2303 2379 2471] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hcon_3 /ANN pdfmark +2155(53)s 220 fnt2 0 2015(cr)m 2(agged)k 839(@Break)s 240 fnt1 1642 2018(,)m -[ /Rect [1749 2018 1983 2180] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_4 /ANN pdfmark +[ /Rect [1749 2018 1983 2180] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_4 /ANN pdfmark 1749(44)s 0 1730(Cross)m 596(reference)s 1486(,)s -[ /Rect [1593 1727 1700 1892] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_cros_1 /ANN pdfmark +[ /Rect [1593 1727 1700 1892] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_cros_1 /ANN pdfmark 1593(8)s 220 fnt2 0 1439(c)m 240 fnt1 165 1442(unit)m 544(,)s -[ /Rect [651 1439 878 1604] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_8 /ANN pdfmark +[ /Rect [651 1439 878 1604] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_8 /ANN pdfmark 651(38)s 220 fnt2 0 1151(@CurrLang)m 240 fnt1 1185 1154(symbol)m 1892(,)s -[ /Rect [1999 1151 2234 1319] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_lang_3 /ANN pdfmark +[ /Rect [1999 1151 2234 1319] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_lang_3 /ANN pdfmark 1999(50)s 220 fnt2 0 575(@Database)m 240 fnt1 1214 578(symbol)m 1921(,)s -[ /Rect [2028 573 2259 742] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_data_1 /ANN pdfmark +[ /Rect [2028 573 2259 742] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_data_1 /ANN pdfmark 2028(69)s 0 290(Date,)m 558(printing)s 1368(of)s 1639(current)s 2322(,)s -[ /Rect [2429 287 2653 454] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_mome_2 /ANN pdfmark +[ /Rect [2429 287 2653 454] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_mome_2 /ANN pdfmark 2429(63)s 4816 11808(Def)m 2(ault)k 5590(v)s 6(alue)k 6158(of)s 6429(parameter)s 7390(,)s -[ /Rect [7497 11805 7730 11972] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_name_3 /ANN pdfmark +[ /Rect [7497 11805 7730 11972] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_name_3 /ANN pdfmark 7497(16)s 4816 11520(De\207nitions)m 5877(,)s -[ /Rect [5984 11520 6098 11682] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_defi_1 /ANN pdfmark +[ /Rect [5984 11520 6098 11682] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_defi_1 /ANN pdfmark 5984(4)s 4816 11232(Delimiter)m 5737(,)s -[ /Rect [5844 11232 6078 11394] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_11 /ANN pdfmark +[ /Rect [5844 11232 6078 11394] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_11 /ANN pdfmark 5844(14)s 4816 10944(Diag)m 5334(diagram-dra)s 3(wing)k 7030(package)s 7817(,)s -[ /Rect [7924 10941 8148 11106] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_grap_4 /ANN pdfmark +[ /Rect [7924 10941 8148 11106] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_grap_4 /ANN pdfmark 7924(73)s 4816 10656(Diagrams)m 5743(,)s -[ /Rect [5850 10651 6081 10820] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_grap_2 /ANN pdfmark -5850(69)s 4816 10368(DocumentLayout)m 6551(package)s +[ /Rect [5850 10653 6085 10818] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_grap_2 /ANN pdfmark +5850(70)s 4816 10368(DocumentLayout)m 6551(package)s 7338(,)s -[ /Rect [7445 10365 7660 10530] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_para_1 /ANN pdfmark +[ /Rect [7445 10365 7660 10530] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_para_1 /ANN pdfmark 7445(81)s 5056 10080(chapters)m 5903(and)s 6307(sections)s 7075(,)s -[ /Rect [7182 10075 7417 10242] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_chap_2 /ANN pdfmark +[ /Rect [7182 10075 7417 10242] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_chap_2 /ANN pdfmark 7182(90)s 5056 9792(displays)m 5838(,)s -[ /Rect [5945 9789 6179 9954] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_para_4 /ANN pdfmark +[ /Rect [5945 9789 6179 9954] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_para_4 /ANN pdfmark 5945(82)s 5056 9504(lists)m 5438(,)s -[ /Rect [5545 9501 5769 9666] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_para_6 /ANN pdfmark +[ /Rect [5545 9501 5769 9666] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_para_6 /ANN pdfmark 5545(83)s 5056 9216(page)m 5564(layout)s 6169(,)s -[ /Rect [6276 9213 6502 9381] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_2 /ANN pdfmark +[ /Rect [6276 9213 6502 9381] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_2 /ANN pdfmark 6276(85)s 5056 8928(paragraphs)m 6103(,)s -[ /Rect [6210 8925 6444 9090] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_para_2 /ANN pdfmark +[ /Rect [6210 8925 6444 9090] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_para_2 /ANN pdfmark 6210(82)s 220 fnt2 4816 8637(d)m 240 fnt1 4986 8640(unit)m 5365(,)s -[ /Rect [5472 8637 5699 8802] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_17 /ANN pdfmark +[ /Rect [5472 8637 5699 8802] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_17 /ANN pdfmark 5472(38)s 4816 8064(Edge-to-edge)m 6160(g)s 1(ap)k 6558(mode)s 7093(,)s -[ /Rect [7200 8061 7427 8226] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_19 /ANN pdfmark +[ /Rect [7200 8061 7427 8226] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_19 /ANN pdfmark 7200(38)s 220 fnt2 4816 7773(e)m 240 fnt1 4990 7776(g)m 1(ap)k 5388(mode)s 5923(,)s -[ /Rect [6030 7773 6257 7938] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_20 /ANN pdfmark +[ /Rect [6030 7773 6257 7938] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_20 /ANN pdfmark 6030(38)s 220 fnt2 4816 7485(@Enclose)m 240 fnt1 5818 7488(,)m -[ /Rect [5925 7485 6159 7650] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_12 /ANN pdfmark +[ /Rect [5925 7485 6159 7650] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_12 /ANN pdfmark 5925(32)s 220 fnt2 4816 7197(@End)m 240 fnt1 5477 7200(symbol)m 6184(,)s -[ /Rect [6291 7197 6519 7362] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_begi_2 /ANN pdfmark +[ /Rect [6291 7197 6519 7362] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_begi_2 /ANN pdfmark 6291(37)s 220 fnt2 4816 6909(@EndHeaderComponent)m 240 fnt1 7338 6912(symbol)m 8045(,)s -[ /Rect [8152 6909 8386 7076] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_head_3 /ANN pdfmark -8152(64)s 4816 6624(Eq)m 5140(equation)s 6021(formatting)s +[ /Rect [8152 6909 8378 7077] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_head_3 /ANN pdfmark +8152(65)s 4816 6624(Eq)m 5140(equation)s 6021(formatting)s 7082(package)s 7869(,)s -[ /Rect [7976 6619 8207 6786] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_equa_1 /ANN pdfmark +[ /Rect [7976 6619 8207 6786] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_equa_1 /ANN pdfmark 7976(79)s 220 fnt2 4816 6333(@Eq)m 240 fnt1 5354 6336(e)m 3(xample)k 6164(,)s -[ /Rect [6271 6331 6502 6498] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_equa_4 /ANN pdfmark +[ /Rect [6271 6331 6502 6498] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_equa_4 /ANN pdfmark 6271(79)s 4816 6048(Escape)m 5549(character)s 6430(,)s -[ /Rect [6537 6048 6771 6210] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_5 /ANN pdfmark +[ /Rect [6537 6048 6771 6210] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_5 /ANN pdfmark 6537(14)s 220 fnt2 4816 5757(@Ev)m 5(enP)k 8(ageList)k 240 fnt1 6435 5760(e)m 3(xample)k 7245(,)s -[ /Rect [7352 5755 7583 5922] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_10 /ANN pdfmark +[ /Rect [7352 5755 7583 5922] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_10 /ANN pdfmark 7352(89)s 4816 5472(Expansion)m 5884(of)s 6155(object)s 6746(,)s -[ /Rect [6853 5469 7087 5637] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hexp_3 /ANN pdfmark +[ /Rect [6853 5469 7087 5637] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hexp_3 /ANN pdfmark 6853(52)s 220 fnt2 4816 5181(e)m 6(xpor)k -8(t)k 240 fnt1 5484 5184(clause)m 6084(,)s -[ /Rect [6191 5179 6422 5346] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_visi_4 /ANN pdfmark +[ /Rect [6191 5179 6422 5346] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_visi_4 /ANN pdfmark 6191(19)s 4816 4608(F)m 3(ace)k 5320(of)s 5591(a)s 5757(font)s 6149(,)s -[ /Rect [6256 4608 6471 4770] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_3 /ANN pdfmark +[ /Rect [6256 4608 6471 4770] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_3 /ANN pdfmark 6256(41)s 4816 4320(F)m 3(amily)k 5544(of)s 5815(a)s 5981(font)s 6373(,)s -[ /Rect [6480 4320 6695 4482] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_2 /ANN pdfmark +[ /Rect [6480 4320 6695 4482] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_2 /ANN pdfmark 6480(41)s 220 fnt2 4816 4029(f)m 6(ollo)k 3(wing)k 240 fnt1 5653 4032(,)m -[ /Rect [5760 4027 5871 4194] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_cros_7 /ANN pdfmark +[ /Rect [5760 4027 5871 4194] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_cros_7 /ANN pdfmark 5760(9)s 220 fnt2 4816 3741(f)m 6(ollo)k 3(wing)k 240 fnt1 5653 3744(,)m -[ /Rect [5760 3739 5871 3906] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_cros_6 /ANN pdfmark +[ /Rect [5760 3739 5871 3906] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_cros_6 /ANN pdfmark 5760(9)s 4816 3456(F)m 3(onts)k 5343(,)s -[ /Rect [5450 3456 5665 3618] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_1 /ANN pdfmark +[ /Rect [5450 3456 5665 3618] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_1 /ANN pdfmark 5450(41)s 220 fnt2 4816 3165(@F)m 6(ont)k 240 fnt1 5528 3168(symbol)m 6235(,)s -[ /Rect [6342 3168 6557 3330] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_6 /ANN pdfmark +[ /Rect [6342 3168 6557 3330] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_6 /ANN pdfmark 6342(41)s 220 fnt2 4816 2877(@F)m 6(ootSect)k 240 fnt1 5967 2880(e)m 3(xample)k 6777(,)s -[ /Rect [6884 2877 7117 3044] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_4 /ANN pdfmark +[ /Rect [6884 2877 7117 3044] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_4 /ANN pdfmark 6884(86)s 220 fnt2 4816 2589(@F)m 6(orceGalle)k 4(y)k 240 fnt1 6269 2592(symbol)m 6976(,)s -[ /Rect [7083 2589 7307 2756] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_gall_2 /ANN pdfmark +[ /Rect [7083 2589 7307 2756] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_gall_2 /ANN pdfmark 7083(63)s 4816 2304(F)m 3(orcing)k 5610(g)s 1(alle)k 3(y)k 6191(,)s -[ /Rect [6298 2301 6533 2466] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_10 /ANN pdfmark +[ /Rect [6298 2301 6533 2466] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_10 /ANN pdfmark 6298(30)s 4816 2016(F)m 3(ormfeed)k 5747(,)s -[ /Rect [5854 2016 6088 2178] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_9 /ANN pdfmark +[ /Rect [5854 2016 6088 2178] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_9 /ANN pdfmark 5854(14)s 220 fnt2 4816 1725(f)m 240 fnt1 4934 1728(unit)m 5313(,)s -[ /Rect [5420 1725 5647 1890] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_11 /ANN pdfmark +[ /Rect [5420 1725 5647 1890] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_11 /ANN pdfmark 5420(38)s 4816 1152(Galle)m 3(ys)k 5541(,)s -[ /Rect [5648 1149 5883 1314] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_gall_1 /ANN pdfmark +[ /Rect [5648 1149 5883 1314] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_gall_1 /ANN pdfmark 5648(10)s 5056 864(in)m 5299(detail)s 5831(,)s -[ /Rect [5938 863 6166 1026] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_1 /ANN pdfmark +[ /Rect [5938 863 6166 1026] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_1 /ANN pdfmark 5938(27)s 220 fnt2 4816 573(@Galle)m 4(y)k 240 fnt1 5714 576(symbol)m 6421(,)s -[ /Rect [6528 573 6752 740] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_gall_1 /ANN pdfmark +[ /Rect [6528 573 6752 740] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_gall_1 /ANN pdfmark 6528(63)s 4816 288(Gap)m 5215(,)s -[ /Rect [5322 285 5549 450] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_6 /ANN pdfmark +[ /Rect [5322 285 5549 450] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_6 /ANN pdfmark 5322(38)s grestore 0 0 0 0 240 288 60 1417 -14865 LoutGr2 @@ -21409,272 +21476,272 @@ gsave grestore 0 13249(Gap)m 452(mode)s 987(,)s -[ /Rect [1094 13246 1321 13411] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_18 /ANN pdfmark +[ /Rect [1094 13246 1321 13411] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_18 /ANN pdfmark 1094(38)s 220 fnt2 0 12958(@Gr)m 2(aphic)k 240 fnt1 1044 12961(symbol)m 1751(,)s -[ /Rect [1858 12956 2089 13125] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_grap_1 /ANN pdfmark -1858(69)s 220 fnt2 +[ /Rect [1858 12958 2093 13123] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_grap_1 /ANN pdfmark +1858(70)s 220 fnt2 0 12382(@HAdjust)m 240 fnt1 1046 12385(symbol)m 1753(,)s -[ /Rect [1860 12382 2084 12550] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hadj_2 /ANN pdfmark +[ /Rect [1860 12382 2084 12550] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hadj_2 /ANN pdfmark 1860(53)s 220 fnt2 0 12094(@HContr)m 2(act)k 240 fnt1 1264 12097(symbol)m 1971(,)s -[ /Rect [2078 12094 2312 12262] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hcon_1 /ANN pdfmark -2078(52)s 220 fnt2 0 11806(@HCo)m 3(v)k 5(er)k +[ /Rect [2078 12094 2302 12262] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hcon_1 /ANN pdfmark +2078(53)s 220 fnt2 0 11806(@HCo)m 3(v)k 5(er)k 240 fnt1 1018 11809(symbol)m 1725(,)s -[ /Rect [1832 11806 2066 11974] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_cove_1 /ANN pdfmark -1832(54)s 0 11521(Header)m +[ /Rect [1832 11806 2058 11974] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_cove_1 /ANN pdfmark +1832(55)s 0 11521(Header)m 750(component)s 1874(of)s 2145(g)s 1(alle)k 3(y)k 2726(,)s -[ /Rect [2833 11518 3057 11685] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_head_1 /ANN pdfmark -2833(63)s 0 11233(Height)m 711(of)s 982(an)s +[ /Rect [2833 11518 3067 11685] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_head_1 /ANN pdfmark +2833(64)s 0 11233(Height)m 711(of)s 982(an)s 1265(object)s 1856(,)s -[ /Rect [1963 11230 2189 11398] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_size_3 /ANN pdfmark +[ /Rect [1963 11230 2189 11398] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_size_3 /ANN pdfmark 1963(25)s 220 fnt2 0 10942(@HExpand)m 240 fnt1 1173 10945(symbol)m 1880(,)s -[ /Rect [1987 10942 2221 11110] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hexp_1 /ANN pdfmark +[ /Rect [1987 10942 2221 11110] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hexp_1 /ANN pdfmark 1987(52)s 220 fnt2 0 10654(h)m 240 fnt1 168 10657(g)m 1(ap)k 566(mode)s 1101(,)s -[ /Rect [1208 10654 1435 10819] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_22 /ANN pdfmark +[ /Rect [1208 10654 1435 10819] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_22 /ANN pdfmark 1208(38)s 220 fnt2 0 10366(@High)m 240 fnt1 719 10369(symbol)m 1426(,)s -[ /Rect [1533 10366 1748 10534] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_wide_2 /ANN pdfmark -1533(51)s 220 fnt2 0 10078(@HLimited)m +[ /Rect [1533 10366 1767 10534] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_wide_2 /ANN pdfmark +1533(52)s 220 fnt2 0 10078(@HLimited)m 240 fnt1 1135 10081(symbol)m 1842(,)s -[ /Rect [1949 10078 2173 10246] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hlim_1 /ANN pdfmark +[ /Rect [1949 10078 2173 10246] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hlim_1 /ANN pdfmark 1949(53)s 220 fnt2 0 9790(@Hline)m 240 fnt1 773 9793(e)m 3(xample)k 1583(,)s -[ /Rect [1690 9790 1905 9955] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_equa_7 /ANN pdfmark +[ /Rect [1690 9790 1905 9955] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_equa_7 /ANN pdfmark 1690(81)s 220 fnt2 0 9502(@HMirror)m 240 fnt1 1013 9505(symbol)m 1720(,)s -[ /Rect [1827 9502 2061 9670] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hmir_1 /ANN pdfmark +[ /Rect [1827 9502 2061 9670] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hmir_1 /ANN pdfmark 1827(54)s 0 9217(Horizontal)m 1077(concatenation)s 2409(,)s -[ /Rect [2516 9214 2744 9379] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_3 /ANN pdfmark +[ /Rect [2516 9214 2744 9379] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_3 /ANN pdfmark 2516(37)s 220 fnt2 0 8926(@HScale)m 240 fnt1 981 8929(symbol)m 1688(,)s -[ /Rect [1795 8926 2019 9094] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hsca_1 /ANN pdfmark -1795(53)s 220 fnt2 0 8638(@HShift)m 240 fnt1 +[ /Rect [1795 8926 2029 9094] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hsca_1 /ANN pdfmark +1795(54)s 220 fnt2 0 8638(@HShift)m 240 fnt1 875 8641(symbol)m 1582(,)s -[ /Rect [1689 8638 1904 8806] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hshi_1 /ANN pdfmark -1689(51)s 220 fnt2 0 8350(@HSpan)m +[ /Rect [1689 8638 1923 8806] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hshi_1 /ANN pdfmark +1689(52)s 220 fnt2 0 8350(@HSpan)m 240 fnt1 939 8353(symbol)m 1646(,)s -[ /Rect [1753 8350 1979 8518] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_span_4 /ANN pdfmark +[ /Rect [1753 8350 1979 8518] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_span_4 /ANN pdfmark 1753(55)s 0 8065(Hyphenation)m 1294(g)s 1(ap)k 1692(mode)s 2227(,)s -[ /Rect [2334 8062 2569 8227] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_37 /ANN pdfmark +[ /Rect [2334 8062 2569 8227] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_37 /ANN pdfmark 2334(40)s 0 7777(Hyphenation)m 1294(g)s 1(ap)k 1692(mode)s 2227(,)s -[ /Rect [2334 7774 2561 7939] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_21 /ANN pdfmark +[ /Rect [2334 7774 2561 7939] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_21 /ANN pdfmark 2334(38)s 220 fnt2 0 7486(h)m 6(yphen)k 760(@Break)s 240 fnt1 1563 7489(,)m -[ /Rect [1670 7486 1896 7654] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_11 /ANN pdfmark +[ /Rect [1670 7486 1896 7654] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_11 /ANN pdfmark 1670(45)s 0 6913(Identi\207er)m 882(,)s -[ /Rect [989 6913 1223 7075] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_12 /ANN pdfmark +[ /Rect [989 6913 1223 7075] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_12 /ANN pdfmark 989(14)s 220 fnt2 0 6622(impor)m -8(t)k 240 fnt1 673 6625(clause)m 1273(,)s -[ /Rect [1380 6620 1611 6787] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_visi_5 /ANN pdfmark +[ /Rect [1380 6620 1611 6787] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_visi_5 /ANN pdfmark 1380(19)s 220 fnt2 0 6334(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 2695 6337(symbol)m 3402(,)s -[ /Rect [3509 6336 3743 6499] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_incr_1 /ANN pdfmark +[ /Rect [3509 6336 3743 6499] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_incr_1 /ANN pdfmark 3509(74)s 220 fnt2 0 6046(@IncludeGr)m 2(aphic)k 240 fnt1 1751 6049(symbol)m 2458(,)s -[ /Rect [2565 6046 2789 6211] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_incg_1 /ANN pdfmark -2565(73)s 220 fnt2 0 5758(@Include)m 240 fnt1 982 5761(symbol)m +[ /Rect [2565 6048 2799 6211] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_incg_1 /ANN pdfmark +2565(74)s 220 fnt2 0 5758(@Include)m 240 fnt1 982 5761(symbol)m 1689(,)s -[ /Rect [1796 5758 2022 5926] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_incl_1 /ANN pdfmark +[ /Rect [1796 5758 2022 5926] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_incl_1 /ANN pdfmark 1796(75)s 220 fnt2 0 5470(@IndentedDispla)m 6(y)k 240 fnt1 1847 5473(e)m 3(xample)k 2657(,)s -[ /Rect [2764 5470 2998 5635] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_para_5 /ANN pdfmark +[ /Rect [2764 5470 2998 5635] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_para_5 /ANN pdfmark 2764(82)s 220 fnt2 0 5182(@IndentedList)m 240 fnt1 1474 5185(e)m 3(xample)k 2284(,)s -[ /Rect [2391 5182 2625 5347] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_para_8 /ANN pdfmark +[ /Rect [2391 5182 2625 5347] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_para_8 /ANN pdfmark 2391(84)s 0 4897(Inde)m 3(x)k 597(\207le)s 958(\(for)s 1375(databases\))s 2366(,)s -[ /Rect [2473 4892 2704 5061] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_data_2 /ANN pdfmark +[ /Rect [2473 4892 2704 5061] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_data_2 /ANN pdfmark 2473(69)s 0 4609(In-paragraph)m 1291(concatenation)s 2623(,)s -[ /Rect [2730 4606 2957 4771] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_4 /ANN pdfmark +[ /Rect [2730 4606 2957 4771] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_4 /ANN pdfmark 2730(38)s 220 fnt2 0 4318(@Inser)m -8(t)k 240 fnt1 836 4321(symbol)m 1543(,)s -[ /Rect [1650 4316 1881 4486] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_inse_1 /ANN pdfmark -1650(59)s 220 fnt2 +[ /Rect [1650 4318 1885 4485] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_inse_1 /ANN pdfmark +1650(60)s 220 fnt2 0 4030(into)m 240 fnt1 406 4033(clause)m 1006(,)s -[ /Rect [1113 4033 1328 4195] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_gall_2 /ANN pdfmark +[ /Rect [1113 4033 1328 4195] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_gall_2 /ANN pdfmark 1113(11)s 0 3745(In)m 9(v)k 4(ocation)k 1067(of)s 1338(a)s 1504(symbol)s 2211(,)s -[ /Rect [2318 3745 2432 3907] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_defi_4 /ANN pdfmark +[ /Rect [2318 3745 2432 3907] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_defi_4 /ANN pdfmark 2318(4)s 0 2881(K)m 6(ernighan,)k 1111(B.)s 1322(,)s -[ /Rect [1429 2876 1660 3043] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_equa_2 /ANN pdfmark +[ /Rect [1429 2876 1660 3043] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_equa_2 /ANN pdfmark 1429(79)s 0 2593(K)m 6(erning)k 778(,)s -[ /Rect [885 2593 1100 2755] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_5 /ANN pdfmark +[ /Rect [885 2593 1100 2755] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_5 /ANN pdfmark 885(41)s 0 2305(K)m 6(erning)k 831(g)s 1(ap)k 1229(mode)s 1764(,)s -[ /Rect [1871 2302 2098 2467] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_27 /ANN pdfmark +[ /Rect [1871 2302 2098 2467] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_27 /ANN pdfmark 1871(38)s 220 fnt2 0 2014(@K)m 8(er)k -5(nShr)k -3(ink)k 240 fnt1 1367 2017(symbol)m 2074(,)s -[ /Rect [2181 2014 2409 2182] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_kshr_1 /ANN pdfmark -2181(57)s 220 fnt2 +[ /Rect [2181 2014 2408 2182] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_kshr_1 /ANN pdfmark +2181(58)s 220 fnt2 0 1726(@K)m 8(e)k 4(y)k 240 fnt1 647 1729(parameter)m 1608(,)s -[ /Rect [1715 1726 1939 1891] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_sort_2 /ANN pdfmark +[ /Rect [1715 1726 1939 1891] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_sort_2 /ANN pdfmark 1715(33)s 220 fnt2 0 1438(k)m 240 fnt1 170 1441(g)m 1(ap)k 568(mode)s 1103(,)s -[ /Rect [1210 1438 1437 1603] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_28 /ANN pdfmark +[ /Rect [1210 1438 1437 1603] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_28 /ANN pdfmark 1210(38)s 0 1153(Knuth,)m 706(D.)s 930(,)s -[ /Rect [1037 1150 1252 1315] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_equa_8 /ANN pdfmark +[ /Rect [1037 1150 1252 1315] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_equa_8 /ANN pdfmark 1037(81)s 220 fnt2 0 574(langdef)m 240 fnt1 776 577(language)m 1696(de\207nition)s 2617(,)s -[ /Rect [2724 574 2959 742] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_lang_2 /ANN pdfmark +[ /Rect [2724 574 2959 742] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_lang_2 /ANN pdfmark 2724(50)s 220 fnt2 0 286(@Language)m 240 fnt1 1251 289(symbol)m 1958(,)s -[ /Rect [2065 286 2300 454] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_lang_1 /ANN pdfmark +[ /Rect [2065 286 2300 454] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_lang_1 /ANN pdfmark 2065(50)s 220 fnt2 4816 13244(@LClos)m 240 fnt1 5652 13247(symbol)m 6359(,)s -[ /Rect [6466 13244 6692 13412] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_13 /ANN pdfmark +[ /Rect [6466 13244 6692 13412] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_13 /ANN pdfmark 6466(15)s 4816 12959(LCM)m 5389(\207le)s 5697(,)s -[ /Rect [5804 12956 6028 13121] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_9 /ANN pdfmark +[ /Rect [5804 12956 6028 13121] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_9 /ANN pdfmark 5804(43)s 4816 12671(Length)m 5498(,)s -[ /Rect [5605 12668 5832 12833] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_7 /ANN pdfmark +[ /Rect [5605 12668 5832 12833] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_7 /ANN pdfmark 5605(38)s 220 fnt2 4816 12380(@LEn)m 4(v)k 240 fnt1 5594 12383(symbol)m 6301(,)s -[ /Rect [6408 12380 6634 12548] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_14 /ANN pdfmark +[ /Rect [6408 12380 6634 12548] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_14 /ANN pdfmark 6408(15)s 4816 12095(Letter)m 5445(character)s 6326(,)s -[ /Rect [6433 12095 6667 12257] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_2 /ANN pdfmark +[ /Rect [6433 12095 6667 12257] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_2 /ANN pdfmark 6433(14)s 4816 11807(Lig)m 1(atures)k 5715(,)s -[ /Rect [5822 11807 6037 11969] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_4 /ANN pdfmark +[ /Rect [5822 11807 6037 11969] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_4 /ANN pdfmark 5822(41)s 220 fnt2 4816 11516(lines)m 5319(@Break)s 240 fnt1 6122 11519(,)m -[ /Rect [6229 11519 6463 11681] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_7 /ANN pdfmark +[ /Rect [6229 11519 6463 11681] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_7 /ANN pdfmark 6229(44)s 220 fnt2 4816 11228(@LinkDest)m 240 fnt1 5948 11231(symbol)m 6655(,)s -[ /Rect [6762 11228 6990 11395] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_link_2 /ANN pdfmark -6762(67)s 220 fnt2 4816 10940(@LinkSource)m 240 fnt1 +[ /Rect [6762 11228 6989 11395] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_link_2 /ANN pdfmark +6762(68)s 220 fnt2 4816 10940(@LinkSource)m 240 fnt1 6188 10943(symbol)m 6895(,)s -[ /Rect [7002 10940 7230 11107] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_link_1 /ANN pdfmark -7002(67)s 220 fnt2 4816 10652(@LInput)m +[ /Rect [7002 10940 7229 11107] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_link_1 /ANN pdfmark +7002(68)s 220 fnt2 4816 10652(@LInput)m 240 fnt1 5705 10655(symbol)m 6412(,)s -[ /Rect [6519 10652 6745 10820] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_15 /ANN pdfmark +[ /Rect [6519 10652 6745 10820] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_15 /ANN pdfmark 6519(15)s 4816 10367(Literal)m 5506(w)s 2(ord)k 6001(,)s -[ /Rect [6108 10364 6334 10532] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_19 /ANN pdfmark +[ /Rect [6108 10364 6334 10532] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_19 /ANN pdfmark 6108(15)s 220 fnt2 4816 10076(@LUse)m 240 fnt1 5603 10079(symbol)m 6310(,)s -[ /Rect [6417 10076 6643 10244] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_17 /ANN pdfmark +[ /Rect [6417 10076 6643 10244] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_17 /ANN pdfmark 6417(15)s 220 fnt2 4816 9788(@L)m 24(Vis)k 240 fnt1 5494 9791(symbol)m 6201(,)s -[ /Rect [6308 9788 6534 9956] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_16 /ANN pdfmark +[ /Rect [6308 9788 6534 9956] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_16 /ANN pdfmark 6308(15)s 4816 9215(Macro)m 5440(,)s -[ /Rect [5547 9212 5780 9379] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_22 /ANN pdfmark +[ /Rect [5547 9212 5780 9379] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_22 /ANN pdfmark 5547(16)s 4816 8927(Mark)m 5395(alignment)s 6358(,)s -[ /Rect [6465 8927 6560 9089] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_obje_3 /ANN pdfmark +[ /Rect [6465 8927 6560 9089] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_obje_3 /ANN pdfmark 6465(1)s 5056 8639(in)m 5299(detail)s 5831(,)s -[ /Rect [5938 8634 6169 8801] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_5 /ANN pdfmark +[ /Rect [5938 8634 6169 8801] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_5 /ANN pdfmark 5938(29)s 4816 8351(Mark-to-mark)m 6230(g)s 1(ap)k 6628(mode)s 7163(,)s -[ /Rect [7270 8348 7497 8513] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_23 /ANN pdfmark +[ /Rect [7270 8348 7497 8513] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_23 /ANN pdfmark 7270(38)s 220 fnt2 4816 8060(@Meld)m 240 fnt1 5562 8063(symbol)m 6269(,)s -[ /Rect [6376 8060 6603 8228] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_rump_3 /ANN pdfmark +[ /Rect [6376 8060 6603 8228] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_rump_3 /ANN pdfmark 6376(58)s 220 fnt2 4816 7772(@Merge)m 240 fnt1 5713 7775(symbol)m 6420(,)s -[ /Rect [6527 7772 6761 7937] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_sort_3 /ANN pdfmark +[ /Rect [6527 7772 6761 7937] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_sort_3 /ANN pdfmark 6527(34)s 4816 7487(Mirroring)m 5811(an)s 6094(object)s 6685(,)s -[ /Rect [6792 7484 7026 7652] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hmir_3 /ANN pdfmark +[ /Rect [6792 7484 7026 7652] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hmir_3 /ANN pdfmark 6792(54)s 220 fnt2 4816 7196(@Moment)m 240 fnt1 5888 7199(symbol)m 6595(,)s -[ /Rect [6702 7196 6936 7363] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_mome_1 /ANN pdfmark +[ /Rect [6702 7196 6936 7363] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_mome_1 /ANN pdfmark 6702(62)s 220 fnt2 4816 6908(m)m 240 fnt1 5045 6911(unit)m 5424(,)s -[ /Rect [5531 6908 5758 7073] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_10 /ANN pdfmark +[ /Rect [5531 6908 5758 7073] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_10 /ANN pdfmark 5531(38)s 220 fnt2 4816 6332(named)m 240 fnt1 5535 6335(parameter)m 6496(,)s -[ /Rect [6603 6332 6836 6499] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_name_2 /ANN pdfmark +[ /Rect [6603 6332 6836 6499] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_name_2 /ANN pdfmark 6603(16)s 4816 6047(Nested)m 5538(de\207nitions)s 6546(,)s -[ /Rect [6653 6044 6880 6209] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_visi_1 /ANN pdfmark +[ /Rect [6653 6044 6880 6209] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_visi_1 /ANN pdfmark 6653(18)s 220 fnt2 4816 5756(@Ne)m 6(xt)k 240 fnt1 5540 5759(symbol)m 6247(,)s -[ /Rect [6354 5756 6569 5923] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_next_1 /ANN pdfmark +[ /Rect [6354 5756 6569 5923] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_next_1 /ANN pdfmark 6354(61)s 220 fnt2 4816 5468(noh)m 6(yphen)k 5820(@Break)s 240 fnt1 6623 5471(,)m -[ /Rect [6730 5468 6956 5636] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_12 /ANN pdfmark +[ /Rect [6730 5468 6956 5636] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_12 /ANN pdfmark 6730(45)s 220 fnt2 4816 5180(@NotRe)m 6(v)k 5(ealed)k 240 fnt1 6343 5183(symbol)m 7050(,)s -[ /Rect [7157 5180 7383 5348] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_notr_1 /ANN pdfmark +[ /Rect [7157 5180 7383 5348] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_notr_1 /ANN pdfmark 7157(65)s 220 fnt2 4816 4892(@Null)m 240 fnt1 5461 4895(symbol)m 6168(,)s -[ /Rect [6275 4892 6499 5059] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_null_1 /ANN pdfmark +[ /Rect [6275 4892 6499 5059] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_null_1 /ANN pdfmark 6275(63)s 4816 4607(Numbered)m 5884(list)s 6182(,)s -[ /Rect [6289 4604 6513 4769] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_para_7 /ANN pdfmark +[ /Rect [6289 4604 6513 4769] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_para_7 /ANN pdfmark 6289(83)s 220 fnt2 4816 4316(@NumberOf)m 240 fnt1 6108 4319(e)m 3(xample)k 6918(,)s -[ /Rect [7025 4314 7260 4481] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_chap_3 /ANN pdfmark +[ /Rect [7025 4314 7260 4481] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_chap_3 /ANN pdfmark 7025(90)s 4816 3743(Object)m 5460(,)s -[ /Rect [5567 3743 5662 3905] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_obje_1 /ANN pdfmark +[ /Rect [5567 3743 5662 3905] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_obje_1 /ANN pdfmark 5567(1)s 220 fnt2 4816 3452(@OddP)m 8(ageList)k 240 fnt1 6355 3455(e)m 3(xample)k 7165(,)s -[ /Rect [7272 3450 7503 3617] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_9 /ANN pdfmark +[ /Rect [7272 3450 7503 3617] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_9 /ANN pdfmark 7272(89)s 220 fnt2 4816 3164(o)m 240 fnt1 4991 3167(g)m 1(ap)k 5389(mode)s 5924(,)s -[ /Rect [6031 3164 6258 3329] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_26 /ANN pdfmark +[ /Rect [6031 3164 6258 3329] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_26 /ANN pdfmark 6031(38)s 220 fnt2 4816 2876(@OneCol)m 240 fnt1 5828 2879(symbol)m 6535(,)s -[ /Rect [6642 2876 6857 3044] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_oner_3 /ANN pdfmark +[ /Rect [6642 2876 6857 3044] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_oner_3 /ANN pdfmark 6642(51)s 220 fnt2 4816 2588(@OneOf)m 240 fnt1 5743 2591(symbol)m 6450(,)s -[ /Rect [6557 2588 6792 2755] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_oneo_1 /ANN pdfmark +[ /Rect [6557 2588 6792 2755] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_oneo_1 /ANN pdfmark 6557(60)s 220 fnt2 4816 2300(@OneP)m 8(age)k 240 fnt1 6010 2303(e)m 3(xample)k 6820(,)s -[ /Rect [6927 2300 7154 2465] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_7 /ANN pdfmark +[ /Rect [6927 2300 7154 2465] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_7 /ANN pdfmark 6927(88)s 220 fnt2 4816 2012(@OneRo)m 3(w)k 240 fnt1 5947 2015(symbol)m 6654(,)s -[ /Rect [6761 2012 6976 2180] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_oner_1 /ANN pdfmark +[ /Rect [6761 2012 6976 2180] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_oner_1 /ANN pdfmark 6761(51)s 220 fnt2 4816 1724(@Open)m 240 fnt1 5622 1727(symbol)m 6329(,)s -[ /Rect [6436 1724 6664 1891] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_open_1 /ANN pdfmark +[ /Rect [6436 1724 6664 1891] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_open_1 /ANN pdfmark 6436(67)s 4816 1439(Optimal)m 5654(g)s 1(alle)k 3(y)k 6288(breaking)s 7125(,)s -[ /Rect [7232 1436 7465 1603] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_opti_1 /ANN pdfmark +[ /Rect [7232 1436 7465 1603] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_opti_1 /ANN pdfmark 7232(36)s 220 fnt2 4816 1148(@Optimiz)m 3(e)k 240 fnt1 5953 1151(symbol)m 6660(,)s -[ /Rect [6767 1148 7000 1315] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_opti_2 /ANN pdfmark +[ /Rect [6767 1148 7000 1315] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_opti_2 /ANN pdfmark 6767(36)s 220 fnt2 4816 860(or)m 2(agged)k 5667(@Break)s 240 fnt1 6470 863(,)m -[ /Rect [6577 863 6811 1025] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_6 /ANN pdfmark +[ /Rect [6577 863 6811 1025] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_6 /ANN pdfmark 6577(44)s 220 fnt2 4816 572(@OrElse)m 240 fnt1 5761 575(e)m 3(xample)k 6571(,)s -[ /Rect [6678 570 6902 737] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_chap_5 /ANN pdfmark +[ /Rect [6678 570 6902 737] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_chap_5 /ANN pdfmark 6678(93)s 4816 287(Other)m 5420(character)s 6301(,)s -[ /Rect [6408 287 6642 449] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_3 /ANN pdfmark +[ /Rect [6408 287 6642 449] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_3 /ANN pdfmark 6408(14)s grestore gsave @@ -21732,278 +21799,278 @@ gsave grestore 220 fnt2 0 13250(outdent)m 788(@Break)s 240 fnt1 1591 13253(,)m -[ /Rect [1698 13253 1932 13415] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_2 /ANN pdfmark +[ /Rect [1698 13253 1932 13415] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_2 /ANN pdfmark 1698(44)s 220 fnt2 0 12962(@Outline)m 240 fnt1 969 12965(symbol)m 1676(,)s -[ /Rect [1783 12960 2014 13127] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_outl_1 /ANN pdfmark -1783(49)s +[ /Rect [1783 12962 2018 13130] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_outl_1 /ANN pdfmark +1783(50)s 220 fnt2 0 12674(o)m 3(v)k 5(er)k 240 fnt1 479 12677(e)m 3(xample)k 1289(,)s -[ /Rect [1396 12674 1631 12839] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_equa_6 /ANN pdfmark +[ /Rect [1396 12674 1631 12839] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_equa_6 /ANN pdfmark 1396(80)s 0 12389(Ov)m 3(erstrik)k 2(e)k 1059(g)s 1(ap)k 1457(mode)s 1992(,)s -[ /Rect [2099 12386 2326 12551] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_25 /ANN pdfmark +[ /Rect [2099 12386 2326 12551] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_25 /ANN pdfmark 2099(38)s 220 fnt2 0 11810(@P)m 26(Adjust)k 240 fnt1 1008 11813(symbol)m 1715(,)s -[ /Rect [1822 11810 2046 11978] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hadj_1 /ANN pdfmark +[ /Rect [1822 11810 2046 11978] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hadj_1 /ANN pdfmark 1822(53)s 220 fnt2 0 11522(@P)m 8(age)k 240 fnt1 779 11525(e)m 3(xample)k 1589(,)s -[ /Rect [1696 11522 1924 11687] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_6 /ANN pdfmark +[ /Rect [1696 11522 1924 11687] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_6 /ANN pdfmark 1696(87)s 220 fnt2 0 11234(@P)m 8(ageLabel)k 240 fnt1 1309 11237(symbol)m 2016(,)s -[ /Rect [2123 11234 2350 11399] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_page_1 /ANN pdfmark +[ /Rect [2123 11234 2350 11399] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_page_1 /ANN pdfmark 2123(78)s 0 10949(P)m 3(age)k 518(layout)s 240 10661(principles)m 1233(of)s 1451(,)s -[ /Rect [1558 10658 1664 10826] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_defi_7 /ANN pdfmark +[ /Rect [1558 10658 1664 10826] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_defi_7 /ANN pdfmark 1558(5)s 240 10373(in)m 483(practice)s 1241(,)s -[ /Rect [1348 10370 1574 10538] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_1 /ANN pdfmark +[ /Rect [1348 10370 1574 10538] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_1 /ANN pdfmark 1348(85)s 220 fnt2 0 10082(@P)m 8(ageOf)k 240 fnt1 1016 10085(e)m 3(xample)k 1826(,)s -[ /Rect [1933 10082 2159 10250] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_3 /ANN pdfmark +[ /Rect [1933 10082 2159 10250] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_3 /ANN pdfmark 1933(85)s 0 9797(P)m 3(aragraph)k 1023(breaking)s 1860(,)s -[ /Rect [1967 9794 2071 9959] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_obje_7 /ANN pdfmark +[ /Rect [1967 9794 2071 9959] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_obje_7 /ANN pdfmark 1967(3)s 240 9509(in)m 483(detail)s 1015(,)s -[ /Rect [1122 9506 1357 9671] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_35 /ANN pdfmark +[ /Rect [1122 9506 1357 9671] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_35 /ANN pdfmark 1122(40)s 0 9221(P)m 3(arameter)k 971(,)s -[ /Rect [1078 9221 1192 9383] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_defi_5 /ANN pdfmark +[ /Rect [1078 9221 1192 9383] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_defi_5 /ANN pdfmark 1078(4)s 220 fnt2 240 8930(body)m 240 fnt1 774 8933(parameter)m 1735(,)s -[ /Rect [1842 8930 2069 9095] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_visi_2 /ANN pdfmark +[ /Rect [1842 8930 2069 9095] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_visi_2 /ANN pdfmark 1842(18)s 220 fnt2 240 8642(named)m 240 fnt1 959 8645(parameter)m 1920(,)s -[ /Rect [2027 8642 2260 8809] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_name_1 /ANN pdfmark +[ /Rect [2027 8642 2260 8809] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_name_1 /ANN pdfmark 2027(16)s 220 fnt2 0 8354(@PlainGr)m 2(aphic)k 240 fnt1 1530 8357(symbol)m 2237(,)s -[ /Rect [2344 8354 2568 8519] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_plai_1 /ANN pdfmark -2344(73)s 0 8069(PostScript)m 989(,)s -[ /Rect [1096 8069 1222 8232] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_preface_1 /ANN pdfmark +[ /Rect [2344 8356 2578 8519] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_plai_1 /ANN pdfmark +2344(74)s 0 8069(PostScript)m 989(,)s +[ /Rect [1096 8069 1222 8232] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_preface_1 /ANN pdfmark 1096(ii)s 240 7781(used)m 737(by)s 220 fnt2 1031 7778(@Gr)m 2(aphic)k 240 fnt1 2022 7781(,)m -[ /Rect [2129 7776 2360 7945] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_grap_3 /ANN pdfmark -2129(69)s 240 7493(used)m 737(by)s 220 fnt2 +[ /Rect [2129 7778 2364 7943] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_grap_3 /ANN pdfmark +2129(70)s 240 7493(used)m 737(by)s 220 fnt2 1031 7490(@IncludeGr)m 2(aphic)k 240 fnt1 2729 7493(,)m -[ /Rect [2836 7490 3060 7655] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_incg_3 /ANN pdfmark -2836(73)s +[ /Rect [2836 7492 3070 7655] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_incg_3 /ANN pdfmark +2836(74)s 240 7205(used)m 737(by)s 220 fnt2 1031 7202(@IncludeGr)m 2(aphicRepeated)k 240 fnt1 3673 7205(,)m -[ /Rect [3780 7204 4014 7367] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_incr_3 /ANN pdfmark +[ /Rect [3780 7204 4014 7367] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_incr_3 /ANN pdfmark 3780(74)s 240 6917(used)m 737(by)s 220 fnt2 1031 6914(@PrependGr)m 2(aphic)k 240 fnt1 2851 6917(,)m -[ /Rect [2958 6914 3184 7082] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_prep_3 /ANN pdfmark +[ /Rect [2958 6914 3184 7082] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_prep_3 /ANN pdfmark 2958(75)s 220 fnt2 0 6626(@PP)m 240 fnt1 566 6629(e)m 3(xample)k 1376(,)s -[ /Rect [1483 6626 1717 6791] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_para_3 /ANN pdfmark +[ /Rect [1483 6626 1717 6791] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_para_3 /ANN pdfmark 1483(82)s 0 6341(Precedence)m 1091(,)s -[ /Rect [1198 6338 1422 6503] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_prec_1 /ANN pdfmark +[ /Rect [1198 6338 1422 6503] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_prec_1 /ANN pdfmark 1198(23)s 220 fnt2 0 6050(preceding)m 240 fnt1 958 6053(,)m -[ /Rect [1065 6048 1176 6215] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_cros_5 /ANN pdfmark +[ /Rect [1065 6048 1176 6215] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_cros_5 /ANN pdfmark 1065(9)s 220 fnt2 0 5762(@PrependGr)m 2(aphic)k 240 fnt1 1873 5765(symbol)m 2580(,)s -[ /Rect [2687 5762 2913 5930] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_prep_1 /ANN pdfmark +[ /Rect [2687 5762 2913 5930] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_prep_1 /ANN pdfmark 2687(75)s 0 5477(Principal)m 917(mark)s 1416(,)s -[ /Rect [1523 5474 1750 5639] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_5 /ANN pdfmark +[ /Rect [1523 5474 1750 5639] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_5 /ANN pdfmark 1523(38)s 240 5189(ef)m 6(fect)k 836(on)s 220 fnt2 1133 5186(@OneCol)m 240 fnt1 2145 5189(and)m 220 fnt2 2549 5186(@OneRo)m 3(w)k 240 fnt1 3627 5189(,)m -[ /Rect [3734 5186 3949 5354] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_oner_2 /ANN pdfmark +[ /Rect [3734 5186 3949 5354] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_oner_2 /ANN pdfmark 3734(51)s 0 4901(Promotion)m 1067(of)s 1338(components)s 2493(,)s -[ /Rect [2600 4898 2835 5063] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_9 /ANN pdfmark +[ /Rect [2600 4898 2835 5063] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_9 /ANN pdfmark 2600(30)s 220 fnt2 0 4610(p)m 240 fnt1 174 4613(unit)m 553(,)s -[ /Rect [660 4610 887 4775] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_9 /ANN pdfmark +[ /Rect [660 4610 887 4775] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_9 /ANN pdfmark 660(38)s 0 4037(Quote)m 641(character)s 1522(,)s -[ /Rect [1629 4037 1863 4199] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_4 /ANN pdfmark +[ /Rect [1629 4037 1863 4199] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_4 /ANN pdfmark 1629(14)s 0 3749(Quoted)m 763(w)s 2(ord)k 1258(,)s -[ /Rect [1365 3746 1591 3914] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_20 /ANN pdfmark +[ /Rect [1365 3746 1591 3914] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_20 /ANN pdfmark 1365(15)s 220 fnt2 0 3170(r)m 2(agged)k 729(@Break)s 240 fnt1 1532 3173(,)m -[ /Rect [1639 3173 1873 3335] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_3 /ANN pdfmark +[ /Rect [1639 3173 1873 3335] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_3 /ANN pdfmark 1639(44)s 220 fnt2 0 2882(@Ra)m 4(wV)k 17(erbatim)k 240 fnt1 1563 2885(symbol)m 2270(,)s -[ /Rect [2377 2884 2605 3043] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_verb_2 /ANN pdfmark +[ /Rect [2377 2884 2605 3043] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_verb_2 /ANN pdfmark 2377(77)s 0 2597(Recepti)m 6(v)k 3(e)k 1003(symbol)s 1710(,)s -[ /Rect [1817 2597 2051 2759] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_gall_4 /ANN pdfmark +[ /Rect [1817 2597 2051 2759] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_gall_4 /ANN pdfmark 1817(12)s 0 2309(Recursion)m 974(,)s -[ /Rect [1081 2306 1187 2474] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_defi_6 /ANN pdfmark +[ /Rect [1081 2306 1187 2474] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_defi_6 /ANN pdfmark 1081(5)s 220 fnt2 0 2018(@Ref)m 6(erence)k 240 fnt1 1281 2021(e)m 3(xample)k 2091(,)s -[ /Rect [2198 2016 2424 2186] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_bibl_2 /ANN pdfmark +[ /Rect [2198 2016 2424 2186] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_bibl_2 /ANN pdfmark 2198(95)s 220 fnt2 0 1730(@Ref)m 6(erenceSection)k 240 fnt1 2006 1733(e)m 3(xample)k 2816(,)s -[ /Rect [2923 1728 3151 1895] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_bibl_3 /ANN pdfmark +[ /Rect [2923 1728 3151 1895] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_bibl_3 /ANN pdfmark 2923(97)s 220 fnt2 0 1442(@Ref)m 240 fnt1 621 1445(e)m 3(xample)k 1431(,)s -[ /Rect [1538 1440 1765 1607] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_bibl_4 /ANN pdfmark +[ /Rect [1538 1440 1765 1607] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_bibl_4 /ANN pdfmark 1538(98)s 0 1157(Re\210ecting)m 1036(an)s 1319(object)s 1910(,)s -[ /Rect [2017 1154 2251 1322] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hmir_4 /ANN pdfmark +[ /Rect [2017 1154 2251 1322] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hmir_4 /ANN pdfmark 2017(54)s 0 869(Reid,)m 559(Brian)s 1147(K.)s 1371(,)s -[ /Rect [1478 866 1585 1031] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_cros_3 /ANN pdfmark +[ /Rect [1478 866 1585 1031] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_cros_3 /ANN pdfmark 1478(8)s 0 581(Right)m 592(justi\207cation)s 1724(,)s -[ /Rect [1831 578 2058 743] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_32 /ANN pdfmark +[ /Rect [1831 578 2058 743] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_32 /ANN pdfmark 1831(38)s 220 fnt2 0 290(r)m -3(lines)k 579(@Break)s 240 fnt1 1382 293(,)m -[ /Rect [1489 293 1723 455] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_9 /ANN pdfmark +[ /Rect [1489 293 1723 455] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_9 /ANN pdfmark 1489(44)s 4816 13250(Roman)m 5565(numerals)s 6439(,)s -[ /Rect [6546 13247 6772 13415] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_para_9 /ANN pdfmark +[ /Rect [6546 13247 6772 13415] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_para_9 /ANN pdfmark 6546(85)s 4816 12962(Root)m 5342(g)s 1(alle)k 3(y)k 5923(,)s -[ /Rect [6030 12962 6264 13124] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_gall_5 /ANN pdfmark +[ /Rect [6030 12962 6264 13124] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_gall_5 /ANN pdfmark 6030(12)s 5056 12674(in)m 5299(detail)s 5831(,)s -[ /Rect [5938 12669 6169 12836] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_6 /ANN pdfmark +[ /Rect [5938 12669 6169 12836] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_6 /ANN pdfmark 5938(29)s 5056 12386(printing)m 5866(of)s 6084(,)s -[ /Rect [6191 12383 6426 12548] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_7 /ANN pdfmark +[ /Rect [6191 12383 6426 12548] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_7 /ANN pdfmark 6191(30)s 5056 12098(size)m 5483(of)s 5754(components)s 6962(of)s 7180(,)s -[ /Rect [7287 12095 7520 12262] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_size_5 /ANN pdfmark +[ /Rect [7287 12095 7520 12262] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_size_5 /ANN pdfmark 7287(26)s 220 fnt2 4816 11807(@Rotate)m 240 fnt1 5737 11810(symbol)m 6444(,)s -[ /Rect [6551 11807 6784 11975] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_rota_1 /ANN pdfmark -6551(56)s 4816 11522(Rotation)m 5697(of)s 5968(object)s +[ /Rect [6551 11807 6779 11975] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_rota_1 /ANN pdfmark +6551(57)s 4816 11522(Rotation)m 5697(of)s 5968(object)s 6559(,)s -[ /Rect [6666 11519 6899 11687] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_rota_2 /ANN pdfmark -6666(56)s 4816 11234(Ro)m 6(w)k 5317(mark)s +[ /Rect [6666 11519 6894 11687] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_rota_2 /ANN pdfmark +6666(57)s 4816 11234(Ro)m 6(w)k 5317(mark)s 5816(,)s -[ /Rect [5923 11234 6037 11396] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_obje_4 /ANN pdfmark +[ /Rect [5923 11234 6037 11396] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_obje_4 /ANN pdfmark 5923(2)s 220 fnt2 4816 10943(rr)m 2(agged)k 5618(@Break)s 240 fnt1 6421 10946(,)m -[ /Rect [6528 10946 6762 11108] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_5 /ANN pdfmark +[ /Rect [6528 10946 6762 11108] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_5 /ANN pdfmark 6528(44)s 220 fnt2 4816 10655(@Rump)m 240 fnt1 5676 10658(symbol)m 6383(,)s -[ /Rect [6490 10655 6717 10823] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_rump_2 /ANN pdfmark +[ /Rect [6490 10655 6717 10823] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_rump_2 /ANN pdfmark 6490(58)s 220 fnt2 4816 10367(r)m 240 fnt1 4949 10370(unit)m 5328(,)s -[ /Rect [5435 10367 5662 10532] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_16 /ANN pdfmark +[ /Rect [5435 10367 5662 10532] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_16 /ANN pdfmark 5435(38)s 220 fnt2 4816 10079(@Runner)m 240 fnt1 5818 10082(e)m 3(xample)k 6628(,)s -[ /Rect [6735 10079 6962 10244] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_page_8 /ANN pdfmark +[ /Rect [6735 10079 6962 10244] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_page_8 /ANN pdfmark 6735(88)s 220 fnt2 4816 9503(@Scale)m 240 fnt1 5639 9506(symbol)m 6346(,)s -[ /Rect [6453 9503 6686 9671] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_scal_1 /ANN pdfmark +[ /Rect [6453 9503 6686 9671] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_scal_1 /ANN pdfmark 6453(56)s 4816 9218(Scaling)m 5586(of)s 5857(object)s 6448(,)s -[ /Rect [6555 9215 6779 9383] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hsca_3 /ANN pdfmark -6555(53)s 4816 8930(Scribe)m 5429(,)s +[ /Rect [6555 9215 6789 9383] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hsca_3 /ANN pdfmark +6555(54)s 4816 8930(Scribe)m 5429(,)s -[ /Rect [5536 8927 5643 9092] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_cros_2 /ANN pdfmark +[ /Rect [5536 8927 5643 9092] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_cros_2 /ANN pdfmark 5536(8)s 220 fnt2 4816 8639(@Section)m 240 fnt1 5816 8642(e)m 3(xample)k 6626(,)s -[ /Rect [6733 8637 6957 8804] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_chap_6 /ANN pdfmark +[ /Rect [6733 8637 6957 8804] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_chap_6 /ANN pdfmark 6733(93)s 220 fnt2 4816 8351(@SetColor)m 240 fnt1 5951 8354(symbol)m 6658(,)s -[ /Rect [6765 8353 6993 8516] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_colo_2 /ANN pdfmark +[ /Rect [6765 8353 6993 8516] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_colo_2 /ANN pdfmark 6765(47)s 220 fnt2 4816 8063(@SetColour)m 240 fnt1 6073 8066(symbol)m 6780(,)s -[ /Rect [6887 8065 7115 8228] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_colo_1 /ANN pdfmark +[ /Rect [6887 8065 7115 8228] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_colo_1 /ANN pdfmark 6887(47)s 220 fnt2 4816 7775(@SetHeaderComponent)m 240 fnt1 7277 7778(symbol)m 7984(,)s -[ /Rect [8091 7775 8317 7943] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_head_4 /ANN pdfmark +[ /Rect [8091 7775 8317 7943] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_head_4 /ANN pdfmark 8091(65)s 220 fnt2 4816 7487(@SetT)m 26(e)k 6(xture)k 240 fnt1 6132 7490(symbol)m 6839(,)s -[ /Rect [6946 7487 7173 7652] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_text_1 /ANN pdfmark +[ /Rect [6946 7487 7173 7652] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_text_1 /ANN pdfmark 6946(48)s 4816 7202(Size)m 5283(of)s 5554(an)s 5837(object)s 6428(,)s -[ /Rect [6535 7199 6761 7367] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_size_4 /ANN pdfmark +[ /Rect [6535 7199 6761 7367] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_size_4 /ANN pdfmark 6535(25)s 4816 6914(small)m 5388(capitals)s 6115(,)s -[ /Rect [6222 6914 6456 7076] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_font_7 /ANN pdfmark +[ /Rect [6222 6914 6456 7076] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_font_7 /ANN pdfmark 6222(42)s 4816 6626(Sorted)m 5498(g)s 1(alle)k 3(ys)k 6169(,)s -[ /Rect [6276 6623 6500 6788] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_sort_1 /ANN pdfmark +[ /Rect [6276 6623 6500 6788] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_sort_1 /ANN pdfmark 6276(33)s 4816 6338(Space)m 5390(,)s -[ /Rect [5497 6338 5731 6500] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_10 /ANN pdfmark +[ /Rect [5497 6338 5731 6500] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_10 /ANN pdfmark 5497(14)s 5056 6050(when)m 5632(signi\207cant)s 6635(,)s -[ /Rect [6742 6045 6973 6212] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_34 /ANN pdfmark +[ /Rect [6742 6045 6973 6212] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_34 /ANN pdfmark 6742(39)s 220 fnt2 4816 5759(@Space)m 240 fnt1 5713 5762(symbol)m 6420(,)s -[ /Rect [6527 5759 6753 5927] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_spac_1 /ANN pdfmark -6527(45)s +[ /Rect [6527 5759 6760 5926] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_spac_1 /ANN pdfmark +6527(46)s 220 fnt2 4816 5471(@Star)m -8(tHSpan)k 240 fnt1 6226 5474(symbol)m 6933(,)s -[ /Rect [7040 5471 7266 5639] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_span_1 /ANN pdfmark +[ /Rect [7040 5471 7266 5639] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_span_1 /ANN pdfmark 7040(55)s 220 fnt2 4816 5183(@Star)m -8(tHVSpan)k 240 fnt1 6372 5186(symbol)m 7079(,)s -[ /Rect [7186 5183 7412 5351] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_span_3 /ANN pdfmark +[ /Rect [7186 5183 7412 5351] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_span_3 /ANN pdfmark 7186(55)s 220 fnt2 4816 4895(@Star)m -8(tVSpan)k 240 fnt1 6214 4898(symbol)m 6921(,)s -[ /Rect [7028 4895 7254 5063] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_span_2 /ANN pdfmark +[ /Rect [7028 4895 7254 5063] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_span_2 /ANN pdfmark 7028(55)s 4816 4610(Style)m 5363(of)s 5634(an)s 5917(object)s 6508(,)s -[ /Rect [6615 4610 6849 4772] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_size_1 /ANN pdfmark +[ /Rect [6615 4610 6849 4772] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_size_1 /ANN pdfmark 6615(24)s 220 fnt2 4816 4319(s)m 240 fnt1 4979 4322(unit)m 5358(,)s -[ /Rect [5465 4319 5692 4484] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_12 /ANN pdfmark +[ /Rect [5465 4319 5692 4484] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_12 /ANN pdfmark 5465(38)s 5056 4034(and)m 220 fnt2 5460 4031(@Space)m 240 fnt1 6357 4034(symbol)m 7064(,)s -[ /Rect [7171 4031 7397 4199] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_spac_2 /ANN pdfmark -7171(45)s +[ /Rect [7171 4031 7404 4198] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_spac_2 /ANN pdfmark +7171(46)s 220 fnt2 4816 3743(sup)m 240 fnt1 5222 3746(e)m 3(xample)k 6032(,)s -[ /Rect [6139 3743 6374 3908] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_exa_equa_5 /ANN pdfmark +[ /Rect [6139 3743 6374 3908] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_exa_equa_5 /ANN pdfmark 6139(80)s 4816 3458(Symbol)m 5563(,)s -[ /Rect [5670 3458 5784 3620] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_defi_2 /ANN pdfmark +[ /Rect [5670 3458 5784 3620] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_defi_2 /ANN pdfmark 5670(4)s 220 fnt2 4816 3167(@SysDatabase)m 240 fnt1 6396 3170(symbol)m 7103(,)s -[ /Rect [7210 3165 7441 3334] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_data_3 /ANN pdfmark -7210(69)s 220 fnt2 4816 2879(@SysIncludeGr)m 2(aphicRepeated)k 240 fnt1 +[ /Rect [7210 3167 7445 3332] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_data_3 /ANN pdfmark +7210(70)s 220 fnt2 4816 2879(@SysIncludeGr)m 2(aphicRepeated)k 240 fnt1 7877 2882(symbol)m 8584(,)s -[ /Rect [8691 2881 8925 3044] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_incr_2 /ANN pdfmark +[ /Rect [8691 2881 8925 3044] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_incr_2 /ANN pdfmark 8691(74)s 220 fnt2 4816 2591(@SysIncludeGr)m 2(aphic)k 240 fnt1 6933 2594(symbol)m 7640(,)s -[ /Rect [7747 2591 7971 2756] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_incg_2 /ANN pdfmark -7747(73)s 220 fnt2 +[ /Rect [7747 2593 7981 2756] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_incg_2 /ANN pdfmark +7747(74)s 220 fnt2 4816 2303(@SysInclude)m 240 fnt1 6164 2306(symbol)m 6871(,)s -[ /Rect [6978 2303 7204 2471] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_incl_2 /ANN pdfmark +[ /Rect [6978 2303 7204 2471] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_incl_2 /ANN pdfmark 6978(75)s 220 fnt2 4816 2015(@SysPrependGr)m 2(aphic)k 240 fnt1 7055 2018(symbol)m 7762(,)s -[ /Rect [7869 2015 8095 2183] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_prep_2 /ANN pdfmark +[ /Rect [7869 2015 8095 2183] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_prep_2 /ANN pdfmark 7869(75)s 4816 1442(T)m 19(ables)k 5432(,)s -[ /Rect [5539 1442 5653 1604] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_obje_5 /ANN pdfmark +[ /Rect [5539 1442 5653 1604] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_obje_5 /ANN pdfmark 5539(2)s 4816 1154(T)m 19(ab)k 4(ulation)k 5886(g)s 1(ap)k 6284(mode)s 6819(,)s -[ /Rect [6926 1151 7153 1316] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_29 /ANN pdfmark +[ /Rect [6926 1151 7153 1316] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_29 /ANN pdfmark 6926(38)s 220 fnt2 4816 863(@T)m 26(agged)k 240 fnt1 5805 866(symbol)m 6512(,)s -[ /Rect [6619 863 6847 1030] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_tagg_1 /ANN pdfmark +[ /Rect [6619 863 6847 1030] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_tagg_1 /ANN pdfmark 6619(67)s 220 fnt2 4816 575(@T)m 26(ag)k 240 fnt1 5439 578(parameter)m 9(,)k 6491(def)s 2(ault)k 7212(v)s 6(alue)k 7780(of)s 7998(,)s -[ /Rect [8105 577 8333 740] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_name_4 /ANN pdfmark +[ /Rect [8105 577 8333 740] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_name_4 /ANN pdfmark 8105(17)s 4816 290(T)m 19(ar)k 4(get)k 5476(of)s 5747(cross)s 6289(reference)s 7179(,)s -[ /Rect [7286 285 7397 452] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_cros_4 /ANN pdfmark +[ /Rect [7286 285 7397 452] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_cros_4 /ANN pdfmark 7286(9)s grestore @@ -22063,109 +22130,109 @@ grestore 0 13252(T)m 19(ar)k 4(get)k 660(of)s 931(a)s 1097(g)s 1(alle)k 3(y)k 1678(,)s -[ /Rect [1785 13252 2000 13414] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pri_gall_3 /ANN pdfmark +[ /Rect [1785 13252 2000 13414] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pri_gall_3 /ANN pdfmark 1785(11)s 240 12964(in)m 483(detail)s 1015(,)s -[ /Rect [1122 12963 1350 13126] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_2 /ANN pdfmark +[ /Rect [1122 12963 1350 13126] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_2 /ANN pdfmark 1122(27)s 220 fnt2 0 12673(@T)m 26(arget)k 240 fnt1 887 12676(symbol)m 1594(,)s -[ /Rect [1701 12673 1916 12838] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_gall_11 /ANN pdfmark +[ /Rect [1701 12673 1916 12838] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_gall_11 /ANN pdfmark 1701(31)s 0 12388(T)m 96 12340(E)m 203 12388(X)m 240 12100(h)m 1(yphenation)k 1427(,)s -[ /Rect [1534 12097 1769 12262] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_38 /ANN pdfmark +[ /Rect [1534 12097 1769 12262] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_38 /ANN pdfmark 1534(40)s 240 11812(optimal)m 1025(paragraph)s 2038(breaking)s 2875(,)s -[ /Rect [2982 11809 3217 11974] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_36 /ANN pdfmark +[ /Rect [2982 11809 3217 11974] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_36 /ANN pdfmark 2982(40)s 0 11524(T)m 16(e)k 3(xtual)k 766(unit)s 1145(,)s -[ /Rect [1252 11524 1486 11686] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_1 /ANN pdfmark +[ /Rect [1252 11524 1486 11686] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_1 /ANN pdfmark 1252(14)s 220 fnt2 0 11233(t)m 240 fnt1 117 11236(g)m 1(ap)k 515(mode)s 1050(,)s -[ /Rect [1157 11233 1384 11398] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_30 /ANN pdfmark +[ /Rect [1157 11233 1384 11398] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_30 /ANN pdfmark 1157(38)s 220 fnt2 0 10657(@Under)m -3(line)k 240 fnt1 1215 10660(symbol)m 1922(,)s -[ /Rect [2029 10659 2257 10818] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_unde_1 /ANN pdfmark -2029(77)s 0 10372(Underscore)m +[ /Rect [2029 10657 2256 10822] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_unde_1 /ANN pdfmark +2029(78)s 0 10372(Underscore)m 1158(character)s 2039(,)s -[ /Rect [2146 10372 2380 10534] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_7 /ANN pdfmark +[ /Rect [2146 10372 2380 10534] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_7 /ANN pdfmark 2146(14)s 220 fnt2 0 10081(@Use)m 240 fnt1 665 10084(symbol)m 1372(,)s -[ /Rect [1479 10081 1707 10248] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_open_2 /ANN pdfmark +[ /Rect [1479 10081 1707 10248] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_open_2 /ANN pdfmark 1479(67)s 220 fnt2 0 9505(@V)m 17(Adjust)k 240 fnt1 1017 9508(symbol)m 1724(,)s -[ /Rect [1831 9505 2055 9673] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hadj_3 /ANN pdfmark +[ /Rect [1831 9505 2055 9673] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hadj_3 /ANN pdfmark 1831(53)s 220 fnt2 0 9217(@VContr)m 2(act)k 240 fnt1 1252 9220(symbol)m 1959(,)s -[ /Rect [2066 9217 2300 9385] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hcon_2 /ANN pdfmark -2066(52)s 220 fnt2 0 8929(@VCo)m 3(v)k 5(er)k +[ /Rect [2066 9217 2290 9385] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hcon_2 /ANN pdfmark +2066(53)s 220 fnt2 0 8929(@VCo)m 3(v)k 5(er)k 240 fnt1 1006 8932(symbol)m 1713(,)s -[ /Rect [1820 8929 2054 9097] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_cove_2 /ANN pdfmark -1820(54)s 220 fnt2 +[ /Rect [1820 8929 2046 9097] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_cove_2 /ANN pdfmark +1820(55)s 220 fnt2 0 8641(@V)m 17(erbatim)k 240 fnt1 1129 8644(symbol)m 1836(,)s -[ /Rect [1943 8643 2171 8802] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_verb_1 /ANN pdfmark +[ /Rect [1943 8643 2171 8802] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_verb_1 /ANN pdfmark 1943(77)s 0 8356(V)m 26(ertical)k 797(concatenation)s 2129(,)s -[ /Rect [2236 8353 2464 8518] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_2 /ANN pdfmark +[ /Rect [2236 8353 2464 8518] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_2 /ANN pdfmark 2236(37)s 220 fnt2 0 8065(@VExpand)m 240 fnt1 1161 8068(symbol)m 1868(,)s -[ /Rect [1975 8065 2209 8233] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hexp_2 /ANN pdfmark +[ /Rect [1975 8065 2209 8233] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hexp_2 /ANN pdfmark 1975(52)s 220 fnt2 0 7777(@VLimited)m 240 fnt1 1123 7780(symbol)m 1830(,)s -[ /Rect [1937 7777 2161 7945] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hlim_2 /ANN pdfmark +[ /Rect [1937 7777 2161 7945] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hlim_2 /ANN pdfmark 1937(53)s 220 fnt2 0 7489(@VMirror)m 240 fnt1 1001 7492(symbol)m 1708(,)s -[ /Rect [1815 7489 2049 7657] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hmir_2 /ANN pdfmark +[ /Rect [1815 7489 2049 7657] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hmir_2 /ANN pdfmark 1815(54)s 220 fnt2 0 7201(@VScale)m 240 fnt1 969 7204(symbol)m 1676(,)s -[ /Rect [1783 7201 2007 7369] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hsca_2 /ANN pdfmark -1783(53)s +[ /Rect [1783 7201 2017 7369] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hsca_2 /ANN pdfmark +1783(54)s 220 fnt2 0 6913(@VShift)m 240 fnt1 863 6916(symbol)m 1570(,)s -[ /Rect [1677 6913 1911 7081] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_hshi_2 /ANN pdfmark +[ /Rect [1677 6913 1911 7081] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_hshi_2 /ANN pdfmark 1677(52)s 220 fnt2 0 6625(@VSpan)m 240 fnt1 927 6628(symbol)m 1634(,)s -[ /Rect [1741 6625 1967 6793] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_span_5 /ANN pdfmark +[ /Rect [1741 6625 1967 6793] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_span_5 /ANN pdfmark 1741(55)s 220 fnt2 0 6337(v)m 240 fnt1 169 6340(unit)m 548(,)s -[ /Rect [655 6337 882 6502] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_13 /ANN pdfmark +[ /Rect [655 6337 882 6502] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_13 /ANN pdfmark 655(38)s 240 6052(ef)m 6(fect)k 836(on)s 1133(paragraph)s 2146(breaking)s 2983(,)s -[ /Rect [3090 6052 3324 6214] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_brea_10 /ANN pdfmark +[ /Rect [3090 6052 3324 6214] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_brea_10 /ANN pdfmark 3090(44)s 0 5476(White)m 640(space)s 1174(,)s -[ /Rect [1281 5476 1515 5638] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_8 /ANN pdfmark +[ /Rect [1281 5476 1515 5638] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_8 /ANN pdfmark 1281(14)s 240 5188(when)m 816(signi\207cant)s 1819(,)s -[ /Rect [1926 5183 2157 5350] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_33 /ANN pdfmark +[ /Rect [1926 5183 2157 5350] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_33 /ANN pdfmark 1926(39)s 220 fnt2 0 4897(@Wide)m 240 fnt1 774 4900(symbol)m 1481(,)s -[ /Rect [1588 4897 1803 5065] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_wide_1 /ANN pdfmark -1588(51)s 0 4612(W)m 9(idth)k +[ /Rect [1588 4897 1822 5065] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_wide_1 /ANN pdfmark +1588(52)s 0 4612(W)m 9(idth)k 646(of)s 917(an)s 1200(object)s 1791(,)s -[ /Rect [1898 4609 2124 4777] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_size_2 /ANN pdfmark +[ /Rect [1898 4609 2124 4777] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_size_2 /ANN pdfmark 1898(25)s 0 4324(W)m 19(ord)k 531(,)s -[ /Rect [638 4321 864 4489] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_det_lexi_18 /ANN pdfmark +[ /Rect [638 4321 864 4489] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_det_lexi_18 /ANN pdfmark 638(15)s 220 fnt2 0 4033(w)m 240 fnt1 216 4036(unit)m 595(,)s -[ /Rect [702 4033 929 4198] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_14 /ANN pdfmark +[ /Rect [702 4033 929 4198] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_14 /ANN pdfmark 702(38)s 220 fnt2 0 3457(x)m 240 fnt1 168 3460(g)m 1(ap)k 566(mode)s 1101(,)s -[ /Rect [1208 3457 1435 3622] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_conc_24 /ANN pdfmark +[ /Rect [1208 3457 1435 3622] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_conc_24 /ANN pdfmark 1208(38)s 220 fnt2 0 2881(@Y)m 4(ield)k 240 fnt1 753 2884(symbol)m 1460(,)s -[ /Rect [1567 2881 1782 3048] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_case_2 /ANN pdfmark +[ /Rect [1567 2881 1782 3048] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_case_2 /ANN pdfmark 1567(61)s 220 fnt2 0 2593(@YUnit)m 240 fnt1 814 2596(symbol)m 1521(,)s -[ /Rect [1628 2593 1861 2760] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_yuni_1 /ANN pdfmark +[ /Rect [1628 2593 1861 2760] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_yuni_1 /ANN pdfmark 1628(46)s 220 fnt2 0 2017(@ZUnit)m 240 fnt1 802 2020(symbol)m 1509(,)s -[ /Rect [1616 2017 1849 2184] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4262_pre_yuni_2 /ANN pdfmark +[ /Rect [1616 2017 1849 2184] /Border [0 0 0] /View [ /XYZ null null null ] /Subtype /Link /Dest /LOUT19_4263_pre_yuni_2 /ANN pdfmark 1616(46)s grestore gsave diff --git a/doc/expert/pre_brea b/doc/expert/pre_brea index e4db184..d69a80c 100644 --- a/doc/expert/pre_brea +++ b/doc/expert/pre_brea @@ -80,7 +80,9 @@ its lines be; otherwise the lines are enclosed in a {@Code "@OneRow"} symbol after breaking. @PP The length of the gap used to separate the lines produced by paragraph -breaking is always {@Code 1v}. However, the @Code v unit itself and the +breaking is always {@Code 1v}, except when {@Code lines}, {@Code clines}, +or {@Code rlines} encounter a completely blank line, for which see below. +However, the @Code v unit itself and the v.unit.effect @SubIndex { effect on paragraph breaking } gap mode may be changed: @IL @@ -106,6 +108,23 @@ smaller by the length of @I gap than it would otherwise have been. @EL In each case, the mode of @I gap is adopted within {@I object}. @PP +When {@Code lines}, {@Code clines}, or {@Code rlines} encounter one or more +completely blank lines, a single vertical concatenation operator is inserted +to implement these, ensuring that the entire set of lines will disappear if +they happen to fall on a page or column break. The gap width of the +concatenation operator is {@Code 1v} for the first newline as usual, plus +{@Code 1v} multiplied by the @I { blank line scale factor }, an arbitrary +decimal number with no units, for the remaining newlines. This scale factor +is settable by +@ID { +@Code "{ blanklinescale" @I num @Code "} @Break" @I object +} +The default value is {@Code 1.0}, which gives blank lines their full +height. However it often looks better if they are reduced somewhat. +A value as small as {@Code 0.6} looks good; it gives width {@Code 1.6v} +to the concatenation symbol inserted at a single blank line. The +usual gap mode is of course appended. +@PP The @@Break symbol also controls hyphenation: @IL diff --git a/doc/expert/preface b/doc/expert/preface index 8681172..1e44806 100644 --- a/doc/expert/preface +++ b/doc/expert/preface @@ -21,7 +21,7 @@ This manual presents Version 3 of Basser Lout, publicly released in September 1994 @Cite { $kingston1995lout.program } and developed continuously since then. This manual was rendered into PostScript postscript @Index { PostScript } -by Version 3.31 of the Basser Lout interpreter, using the symbols +by Version 3.32 of the Basser Lout interpreter, using the symbols described in the User's Guide @Cite { $kingston1995lout.user }. @DP @Heading { Acknowledgment. } Version 3 has benefited from hundreds of diff --git a/doc/slides/README b/doc/slides/README index fbcb1ee..d552557 100644 --- a/doc/slides/README +++ b/doc/slides/README @@ -6,13 +6,13 @@ a set of overhead transparencies entitled Document Formatting System.' To format the transparencies, type - lout all > outfile.ps + lout -r2 all > outfile.ps -in this directory. This needs to be done -twice to resolve all cross references. -There should be no error messages at all -after the second run. A copy of the final -outfile.ps is included. +in this directory. The -r2 flag causes Lout +to run twice over the document, which is needed +to resolve all cross references. There should +be no error messages at all after the second run. +A copy of the final outfile.ps is included. Jeff Kingston -24 August 2005 +25 October 2006 diff --git a/doc/slides/outfile.ps b/doc/slides/outfile.ps index d501830..3cea49a 100644 --- a/doc/slides/outfile.ps +++ b/doc/slides/outfile.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 -%%Creator: Basser Lout Version 3.31 (August 2005) -%%CreationDate: Wed Aug 24 10:27:34 2005 +%%Creator: Basser Lout Version 3.32 (October 2006) +%%CreationDate: Wed Oct 25 14:30:47 2006 %%DocumentData: Binary %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) @@ -12,8 +12,17 @@ %%EndComments %%BeginProlog %%BeginResource: procset LoutStartUp -/save_cp { currentpoint /cp_y exch def /cp_x exch def } def -/restore_cp { cp_x cp_y moveto } def +/cp_x 0 def +/cp_y 0 def +/louts 0 def +/loutv 0 def +/loutf 0 def +/ymark 0 def +/xmark 0 def +/ysize 0 def +/xsize 0 def +/save_cp { currentpoint /cp_y exch def /cp_x exch def } bind def +/restore_cp { cp_x cp_y moveto } bind def /outline { gsave 1 1 1 setrgbcolor dup show save_cp grestore true charpath stroke restore_cp } bind def /m { 3 1 roll moveto show } bind def @@ -28,10 +37,10 @@ /co { gsave 3 1 roll rmoveto outline grestore } bind def /ul { gsave setlinewidth dup 3 1 roll moveto lineto stroke grestore } bind def -/in { 1440 mul } def -/cm { 567 mul } def -/pt { 20 mul } def -/em { 120 mul } def +/in { 1440 mul } bind def +/cm { 567 mul } bind def +/pt { 20 mul } bind def +/em { 120 mul } bind def /sp { louts mul } def /vs { loutv mul } def /ft { loutf mul } def @@ -62,28 +71,30 @@ stopped pop } bind def +/PreEPSF_state 0 def +/dict_stack 0 def +/ops_count 0 def /LoutStartEPSF { % prepare for EPSF inclusion + /PreEPSF_state save def + /dict_stack countdictstack def + /ops_count count 1 sub def userdict begin - /PreEPSF_state save def - /dict_stack countdictstack def - /ops_count count 1 sub def - /showpage {} def - 0 setgray 0 setlinecap - 1 setlinewidth 0 setlinejoin - 10 setmiterlimit [] 0 setdash newpath - /languagelevel where - { pop languagelevel - 1 ne - { false setstrokeadjust false setoverprint - } if + /showpage {} def + 0 setgray 0 setlinecap + 1 setlinewidth 0 setlinejoin + 10 setmiterlimit [] 0 setdash newpath + /languagelevel where + { pop languagelevel + 1 ne + { false setstrokeadjust false setoverprint } if + } if } bind def /LoutEPSFCleanUp { % clean up after EPSF inclusion - count ops_count sub { pop } repeat - countdictstack dict_stack sub { end } repeat - PreEPSF_state restore - end % userdict + count ops_count sub { pop } repeat + countdictstack dict_stack sub { end } repeat + PreEPSF_state restore } bind def % Find current texture (may be null) @@ -152,7 +163,7 @@ setcolor } ifelse } ifelse -} def +} bind def % num LoutSetGray - /LoutSetGray @@ -161,7 +172,7 @@ [ /DeviceGray ] LoutCurrentP LoutSetCCSP -} def +} bind def % r g b LoutSetRGBColor - /LoutSetRGBColor @@ -170,7 +181,7 @@ [ /DeviceRGB ] LoutCurrentP LoutSetCCSP -} def +} bind def % h s b LoutSetHSBColor - /LoutSetHSBColor @@ -178,7 +189,7 @@ gsave sethsbcolor currentrgbcolor grestore LoutSetRGBColor -} def +} bind def % c m y k LoutSetRGBColor - /LoutSetCMYKColor @@ -187,7 +198,7 @@ [ /DeviceCMYK ] LoutCurrentP LoutSetCCSP -} def +} bind def % p LoutSetTexture - /LoutSetTexture @@ -195,7 +206,7 @@ LoutCurrentCCS 3 -1 roll LoutSetCCSP -} def +} bind def % % LoutMakeTexture p @@ -227,13 +238,13 @@ { pop pop null } ifelse -} def +} bind def /LoutTextureSolid { null LoutSetTexture -} def +} bind def %%EndResource %%BeginResource: procset LoutTabPrependGraphic @@ -2507,16 +2518,16 @@ grestore 160 fnt1 1417 -1526(lout)m 10419(1)s gsave 1417 -14005 translate -400 fnt1 9066 12053 0 11779 400 480 100 LoutGraphic +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic gsave 1 LoutMargSet grestore -600 fnt2 691 11623(A)m 1250(Pr)s 6(actical)k -3667(Introduction)s 6922(to)s 7566(the)s 3956 10183(Lout)m 616 8743(Document)m +600 fnt2 691 10903(A)m 1250(Pr)s 6(actical)k +3667(Introduction)s 6922(to)s 7566(the)s 3956 9463(Lout)m 616 8023(Document)m 3500(F)s 18(or)k -15(matting)k 6490(System)s 400 fnt2 -2882 6881(Jeffre)m 8(y)k 4180(H.)s 4656(Kingston)s 400 fnt3 -1395 5779(Basser)m 2794(Dept.)s 3834(of)s 4333(Computer)s 6242(Science)s -2251 5299(The)m 3058(Univ)s 10(ersity)k 4951(of)s 5450(Sydne)s 8(y)k +2882 6161(Jeffre)m 8(y)k 4180(H.)s 4656(Kingston)s 400 fnt3 +1395 5059(Basser)m 2794(Dept.)s 3834(of)s 4333(Computer)s 6242(Science)s +2251 4579(The)m 3058(Univ)s 10(ersity)k 4951(of)s 5450(Sydne)s 8(y)k grestore gsave @@ -2570,7 +2581,7 @@ gsave grestore 400 fnt4 2988 11377(A)m 3363(simple)s 4565(input)s 5575(\207le)s -[ /Dest /LOUT26_229_all_1 /DEST pdfmark +[ /Dest /LOUT26_233_all_1 /DEST pdfmark 360 fnt2 800 9646(@SysInclude { doc })m 800 9166(@Doc @T)m 43(e)k 10(xt @Begin)k 800 8686(Hello)m 14(, w)k 3(or)k -5(ld)k 800 8206(@End @T)m 43(e)k 10(xt)k 400 fnt4 0 6381(Ho)m 4(w)k 889(to)s 1313(f)s 10(ormat)k @@ -2619,7 +2630,7 @@ gsave 1 LoutMargSet grestore -[ /Dest /LOUT26_229_all_2 /DEST pdfmark +[ /Dest /LOUT26_233_all_2 /DEST pdfmark 8640 10080 1440 8457 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -2679,7 +2690,7 @@ gsave grestore 400 fnt4 2339 11377(Headings)m 4026(and)s 4762(paragraphs)s -[ /Dest /LOUT26_229_all_3 /DEST pdfmark +[ /Dest /LOUT26_233_all_3 /DEST pdfmark 360 fnt2 800 9646(@SysInclude { doc })m 800 9166(@Doc @T)m 43(e)k 10(xt @Begin)k 800 8686(@Heading { Introduction })m 800 8206(@PP)m 800 7726(The design of the Lout f)m 10(or)k -9(matting)k 800 7246(system w)m 5(as under)k -14(tak)k 7(en with the)k 800 6766(needs of the @I { ordinar)m -10(y user })k @@ -2736,7 +2747,7 @@ gsave 1 LoutMargSet grestore -[ /Dest /LOUT26_229_all_4 /DEST pdfmark +[ /Dest /LOUT26_233_all_4 /DEST pdfmark 8640 10080 1440 8456 400 480 100 0 666 LoutGr2 LoutBox stroke grestore @@ -2800,7 +2811,7 @@ gsave 0 LoutMargSet grestore 400 fnt4 3817 11376(Displays)m -[ /Dest /LOUT26_229_all_5 /DEST pdfmark +[ /Dest /LOUT26_233_all_5 /DEST pdfmark 360 fnt2 800 9652(Y)m 50(ou cer)k -14(tainly don't w)k 5(ant to retur)k -9(n to)k 800 9172(his of\207ce and repor)m -14(t:)k 800 8692(@IndentedDispla)m 10(y @I {)k 800 8212(`I can't \207nd an ef\207cient algor)m -5(ithm, I)k @@ -2854,7 +2865,7 @@ gsave 1 LoutMargSet grestore -[ /Dest /LOUT26_229_all_6 /DEST pdfmark +[ /Dest /LOUT26_233_all_6 /DEST pdfmark 8640 10080 1440 8457 400 480 100 0 668 LoutGr2 LoutBox stroke grestore @@ -2923,7 +2934,7 @@ gsave grestore 400 fnt4 2299 11376(P)m 4(aragraph)k 4229(br)s 7(eaking)k 5847(styles)s -[ /Dest /LOUT26_229_all_7 /DEST pdfmark +[ /Dest /LOUT26_233_all_7 /DEST pdfmark 360 fnt2 800 9652(Y)m 50(ou cer)k -14(tainly don't w)k 5(ant to retur)k -9(n to)k 800 9172(his of\207ce and repor)m -14(t:)k 800 8692(@ID { r)m 3(agged noh)k 10(yphen } @Break @I {)k 800 8212(`I can't \207nd an ef\207cient algor)m -5(ithm, I)k 800 7732(guess I'm just too dumb)m 14(.)k 36(')k @@ -2977,7 +2988,7 @@ gsave 1 LoutMargSet grestore -[ /Dest /LOUT26_229_all_8 /DEST pdfmark +[ /Dest /LOUT26_233_all_8 /DEST pdfmark 8640 10080 1440 8457 400 480 100 0 666 LoutGr2 LoutBox stroke grestore @@ -3045,7 +3056,7 @@ gsave 0 LoutMargSet grestore 400 fnt4 4128 11376(Lists)m -[ /Dest /LOUT26_229_all_9 /DEST pdfmark +[ /Dest /LOUT26_233_all_9 /DEST pdfmark 360 fnt2 800 9722(@Heading { Oper)m 3(ating Instr)k -5(uctions })k 800 9242(@NumberedList)m 800 8762(@ListItem { Press small g)m 3(reen le)k 10(v)k 9(er)k 18(.)k 21( })k 800 8282(@ListItem { )m 14(W)k 14(ait appro)k 10(ximately 10 seconds)k 800 7802(until red light \210ashes)m 5(.)k 21( })k @@ -3098,23 +3109,23 @@ gsave 1 LoutMargSet grestore -[ /Dest /LOUT26_229_all_10 /DEST pdfmark +[ /Dest /LOUT26_233_all_10 /DEST pdfmark 8640 10080 1440 8456 400 480 100 0 668 LoutGr2 LoutBox stroke grestore 400 fnt4 1440 8364(Operating)m 3287(Instructions)s 400 fnt1 1440 7529(1.)m 2240(Press)s 3166(small)s 4123(green)s 5104(le)s 10(v)k 6(er)k 22(.)k -[ /Dest /LOUT22_1527_all_1 /DEST pdfmark +[ /Dest /LOUT22_1579_all_1 /DEST pdfmark 1440 6689(2.)m 2240(W)s 32(ait)k 3077(approximately)s 5468(10)s 5952(seconds)s 2240 6209(until)m 3065(red)s 3672(light)s 4505(\210ashes.)s -[ /Dest /LOUT22_1527_all_2 /DEST pdfmark +[ /Dest /LOUT22_1579_all_2 /DEST pdfmark 1440 5369(3.)m 2240(If)s 2626(smok)s 4(e)k 3757(emer)s 7(ges)k 5164(from)s 6040(rear)s 6760(of)s 2240 4889(unit,)m 3040(call)s 3708(Service)s 4997(Department.)s -[ /Dest /LOUT22_1527_all_3 /DEST pdfmark +[ /Dest /LOUT22_1579_all_3 /DEST pdfmark grestore @@ -3170,7 +3181,7 @@ gsave grestore 400 fnt4 3062 11377(T)m 36(echnical)k 4780(r)s 7(eports)k -[ /Dest /LOUT26_229_all_11 /DEST pdfmark +[ /Dest /LOUT26_233_all_11 /DEST pdfmark 360 fnt2 800 9646(@SysInclude { repor)m -14(t })k 800 9166(@Repor)m -14(t)k 800 8686( @Title { ...)m 21( })k 800 8206( @A)m 10(uthor { ...)k 21( })k 800 7726( @Institution { ...)m 21( })k 800 7246( @DateLine { ...)m 21( })k 800 6766(//)m @@ -3228,7 +3239,7 @@ gsave 1 LoutMargSet grestore 400 fnt4 3840 11376(Sections)m -[ /Dest /LOUT26_229_all_12 /DEST pdfmark +[ /Dest /LOUT26_233_all_12 /DEST pdfmark 360 fnt2 800 9720(@Section)m 800 9240( @T)m 43(ag { dfs })k 800 8760( @Title { Depth-\207rst search })m 800 8280(@Begin)m 800 7800(@PP)m 800 7320(W)m 10(e tur)k -9(n no)k 5(w to our \207rst algor)k -5(ithm)k @@ -3281,7 +3292,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_13 /DEST pdfmark +[ /Dest /LOUT26_233_all_13 /DEST pdfmark 8640 10080 1440 8456 400 480 100 0 668 LoutGr2 LoutBox stroke grestore @@ -3344,7 +3355,7 @@ gsave grestore 400 fnt4 3142 11375(Cr)m 7(oss)k 4199(r)s 7(efer)k 7(ences)k -[ /Dest /LOUT26_229_all_14 /DEST pdfmark +[ /Dest /LOUT26_233_all_14 /DEST pdfmark 360 fnt2 800 9722(F)m 10(or fur)k -14(ther inf)k 10(or)k -9(mation, consult)k 800 9242(Section @NumberOf dfs on page)m 800 8762(@P)m 14(ageOf { dfs }.)k grestore @@ -3390,7 +3401,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_15 /DEST pdfmark +[ /Dest /LOUT26_233_all_15 /DEST pdfmark 8640 10080 1440 8457 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -3451,7 +3462,7 @@ gsave grestore 400 fnt4 3612 11377(Refer)m 7(ences)k -[ /Dest /LOUT26_229_all_16 /DEST pdfmark +[ /Dest /LOUT26_233_all_16 /DEST pdfmark 360 fnt2 800 9723(@Database @Ref)m 10(erence { m)k 5(yrefs })k 800 9243(...)m 800 8763(F)m 10(or the details)k 5(, consult the User')k 18(s)k 800 8283(Guide @Cite { $kingston1995lout.user }.)m @@ -3506,7 +3517,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_17 /DEST pdfmark +[ /Dest /LOUT26_233_all_17 /DEST pdfmark 8640 10080 1440 8457 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -3521,9 +3532,9 @@ grestore 5977(of)s 2240 3961(Computer)m 3938(Science)s 5171(,)s 5349(Uni)s 10(v)k 6(ersity)k 2240 3481(of)m 2693(Sydne)s 6(y)k 3876(,)s 4054(1995)s 4830(.)s -[ /Dest /LOUT22_1527_all_4 /DEST pdfmark +[ /Dest /LOUT22_1579_all_4 /DEST pdfmark 1440 2644(2.)m 2240(\202)s -[ /Dest /LOUT22_1527_all_5 /DEST pdfmark +[ /Dest /LOUT22_1579_all_5 /DEST pdfmark grestore @@ -3579,7 +3590,7 @@ gsave grestore 400 fnt4 2601 11375(Database)m 4269(\207le)s 4872(myr)s 7(efs.ld)k -[ /Dest /LOUT26_229_all_18 /DEST pdfmark +[ /Dest /LOUT26_233_all_18 /DEST pdfmark 360 fnt2 800 9644({ @Ref)m 10(erence)k 800 9164( @T)m 43(ag { kingston1995lout.user })k 800 8684( @T)m 43(ype { Book })k 800 8204( @A)m 10(uthor { Jeffre)k 7(y H.)k 21( Kingston })k 800 7724( @Title { A User')m 18(s Guide to the Lout)k 800 7244(Document F)m 10(or)k -9(matting System \(V)k 28(ersion 3\) })k @@ -3634,32 +3645,32 @@ gsave grestore 400 fnt4 2965 11375(Books)m 4097(\(and)s 4966(theses\))s -[ /Dest /LOUT26_229_all_19 /DEST pdfmark +[ /Dest /LOUT26_233_all_19 /DEST pdfmark 400 fnt1 0 9650(\213)m 800(T)s 14(itle)k 1632(page,)s 2564(pref)s 4(ace,)k 3912(introduction)s -[ /Dest /LOUT22_1527_all_6 /DEST pdfmark +[ /Dest /LOUT22_1579_all_6 /DEST pdfmark 0 8810(\213)m 800(Automatic)s 2574(table)s 3442(of)s 3895(contents)s -[ /Dest /LOUT22_1527_all_7 /DEST pdfmark +[ /Dest /LOUT22_1579_all_7 /DEST pdfmark 0 8053(\213)m 800(Pref)s 4(atory)k 2372(pages)s 3365(numbered)s 5060(in)s 5465(Roman)s 6713(numerals)s -[ /Dest /LOUT22_1527_all_8 /DEST pdfmark +[ /Dest /LOUT22_1579_all_8 /DEST pdfmark 0 7213(\213)m 800(Chapters,)s 2397(sections,)s 3861(subsections,)s 5880(appendices)s -[ /Dest /LOUT22_1527_all_9 /DEST pdfmark +[ /Dest /LOUT22_1579_all_9 /DEST pdfmark 0 6374(\213)m 800(References)s 2656(at)s 3044(end)s 3718(of)s 4171(chapters)s 5585(or)s 6018(book)s -[ /Dest /LOUT22_1527_all_10 /DEST pdfmark +[ /Dest /LOUT22_1579_all_10 /DEST pdfmark 0 5535(\213)m 800(Running)s 2265(page)s 3111(headers)s -[ /Dest /LOUT22_1527_all_11 /DEST pdfmark +[ /Dest /LOUT22_1579_all_11 /DEST pdfmark 0 4695(\213)m 800(Odd-e)s 10(v)k 6(en)k 2453(page)s 3299(formats)s -[ /Dest /LOUT22_1527_all_12 /DEST pdfmark +[ /Dest /LOUT22_1579_all_12 /DEST pdfmark 0 3855(\213)m 800(Sorted)s 1940(inde)s 6(x)k -[ /Dest /LOUT22_1527_all_13 /DEST pdfmark +[ /Dest /LOUT22_1579_all_13 /DEST pdfmark grestore gsave @@ -3714,7 +3725,7 @@ gsave grestore 400 fnt4 2631 11377(Making)m 4057(a)s 4353(sorted)s 5509(index)s -[ /Dest /LOUT26_229_all_20 /DEST pdfmark +[ /Dest /LOUT26_233_all_20 /DEST pdfmark 360 fnt2 800 9646(@PP)m 800 9166(There are se)m 10(v)k 9(er)k 3(al possib)k 7(le w)k 5(a)k 10(ys to implement the)k 800 8686(@I P)m 14(ar)k -14(tition procedure)k 5(,)k 800 8206(par)m -14(tition @Inde)k 10(x { @I P)k 14(ar)k -14(tition \(in {@I Quic)k 7(ksor)k -14(t}\) })k 800 7726(b)m 7(ut the f)k 10(ollo)k 5(wing seems to be the best.)k 21( Star)k -14(ting ...)k @@ -3770,7 +3781,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_21 /DEST pdfmark +[ /Dest /LOUT26_233_all_21 /DEST pdfmark 8640 10080 1440 8462 400 480 100 0 668 LoutGr2 LoutBox stroke grestore @@ -3835,7 +3846,7 @@ gsave grestore 400 fnt4 2785 11376(Equation)m 4455(f)s 10(ormatting)k -[ /Dest /LOUT26_229_all_22 /DEST pdfmark +[ /Dest /LOUT26_233_all_22 /DEST pdfmark 360 fnt2 800 9645(@SysInclude { eq })m 800 9165(...)m 800 8685(Since @Eq { )m 18(T\(n-i\) = )k 18(T\(0\) = 0 } w)k 3(e ha)k 7(v)k 9(e)k 800 8205(@IndentedDispla)m 10(y @Eq {)k 800 7725(T\(n\) = big sum from i=0 to n-1 2 sup i = 2 sup n - 1)m 800 7245(})m 800 6765(f)m 10(or the n)k 3(umber of disk mo)k 5(v)k 9(es made b)k 7(y the )k 18(T)k 43(o)k 5(w)k 3(ers)k 800 6285(of Hanoi algor)m -5(ithm, giv)k 9(en @Eq { n } disks)k 5(.)k @@ -3890,7 +3901,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_23 /DEST pdfmark +[ /Dest /LOUT26_233_all_23 /DEST pdfmark 8640 10080 1440 8457 400 480 100 0 668 LoutGr2 LoutBox stroke grestore @@ -3966,7 +3977,7 @@ gsave grestore 400 fnt4 3035 11375(Another)m 4550(equation)s -[ /Dest /LOUT26_229_all_24 /DEST pdfmark +[ /Dest /LOUT26_233_all_24 /DEST pdfmark 360 fnt2 800 9644(@CenteredDispla)m 10(y @Eq {)k 800 9164(big int supp 1 on 0 )m 21(`)k 800 8684(dx o)m 5(v)k 9(er sqr)k -14(t { 1 - x sup 2 })k 800 8204(= pi o)m 5(v)k 9(er 2)k 800 7724(})m @@ -4020,7 +4031,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_25 /DEST pdfmark +[ /Dest /LOUT26_233_all_25 /DEST pdfmark 8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -4106,7 +4117,7 @@ gsave grestore 400 fnt4 3991 11383(T)m 36(ables)k -[ /Dest /LOUT26_229_all_26 /DEST pdfmark +[ /Dest /LOUT26_233_all_26 /DEST pdfmark 360 fnt2 800 9729(@SysInclude { tab })m 800 9249(...)m 800 8769(@T)m 43(ab)k 800 8289( @Fmta { @Col @I A ! @Col B })m 800 7809({)m 800 7329(@Ro)m 5(w)k 5(a)k 800 6849( A { F)m 10(or)k -14(tr)k 3(an })k 800 6369( B { )m 18(The \207rst ...)k 21( language })k @@ -4161,7 +4172,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_27 /DEST pdfmark +[ /Dest /LOUT26_233_all_27 /DEST pdfmark 8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -4227,7 +4238,7 @@ gsave grestore 400 fnt4 3357 11375(Another)m 4872(table)s -[ /Dest /LOUT26_229_all_28 /DEST pdfmark +[ /Dest /LOUT26_233_all_28 /DEST pdfmark 360 fnt2 800 10201(@T)m 43(ab)k 800 9721( hmargin { 0.4c })m 800 9241( vmargin { 0.3v })m 800 8761( side { single })m 800 8281( @Fmta { @Col @B @CC X @Ov)m 9(er A,B)k 7(,C })k 800 7801( @Fmtb { @Col @I A ! @Col B !! @Col C })m 800 7321({)m 800 6361(@Ro)m 5(w)k 5(a abo)k 5(v)k 9(e { single })k @@ -4290,7 +4301,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_29 /DEST pdfmark +[ /Dest /LOUT26_233_all_29 /DEST pdfmark 8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -4711,7 +4722,7 @@ gsave grestore 400 fnt4 3123 11382(P)m 4(ascal)k 4297(pr)s 7(ograms)k -[ /Dest /LOUT26_229_all_30 /DEST pdfmark +[ /Dest /LOUT26_233_all_30 /DEST pdfmark 360 fnt2 800 9651(@SysInclude { pas })m 800 9171(...)m 800 8691(@ID @P)m 14(as {)k 800 8211(procedure DoPr)m -5(iAbstr)k 3(act\(root:)k 18( Pr)k -5(iEntr)k -10(y\);)k 800 7731(begin)m 800 7251( if root^.leftchild <> nil then begin)m 800 6771( DoPr)m -5(iAbstr)k 3(act\(root^.leftchild\);)k @@ -4773,7 +4784,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_31 /DEST pdfmark +[ /Dest /LOUT26_233_all_31 /DEST pdfmark 8640 10080 1440 8455 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -4861,7 +4872,7 @@ gsave grestore 400 fnt4 3304 11376(Basic)m 4308(graphics)s -[ /Dest /LOUT26_229_all_32 /DEST pdfmark +[ /Dest /LOUT26_233_all_32 /DEST pdfmark 360 fnt2 800 9645(45d @Rotate 1.5 @Scale @Bo)m 10(x {)k 800 9165( Hello)m 14(, w)k 3(or)k -5(ld)k 800 8685(})m grestore @@ -4911,7 +4922,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_33 /DEST pdfmark +[ /Dest /LOUT26_233_all_33 /DEST pdfmark 8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -4989,7 +5000,7 @@ gsave grestore 400 fnt4 2908 11375(Adv)m 4(anced)k 4704(graphics)s -[ /Dest /LOUT26_229_all_34 /DEST pdfmark +[ /Dest /LOUT26_233_all_34 /DEST pdfmark 360 fnt2 800 9644(@SysInclude { \207g })m 800 9164(...)m 800 8684(@Fig {)m 800 8204(@Bo)m 10(x)k 800 7724( margin { 0c })m 800 7244( paint { b)m 7(lac)k 7(k })k 800 6764(@Ellipse)m 800 6284( linestyle { noline })m 800 5804( paint { white })m 800 5324({ Hello)m 14(, w)k 3(or)k -5(ld })k @@ -5037,7 +5048,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_35 /DEST pdfmark +[ /Dest /LOUT26_233_all_35 /DEST pdfmark 8640 10080 1440 8231 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -5118,7 +5129,7 @@ gsave grestore 400 fnt4 3302 11376(P)m 8(oint)k 4304(labelling)s -[ /Dest /LOUT26_229_all_36 /DEST pdfmark +[ /Dest /LOUT26_233_all_36 /DEST pdfmark 360 fnt2 800 9645(@Fig {)m 800 9165(A::)m 800 8685({)m 800 8205( 1::)m 18( @Ellipse { 3c @Wide 2c @High })k 800 7725( //3c)m 800 7245( 2::)m 18( @Bo)k 10(x { 3c @Wide 2c @High })k 800 6765(})m 800 6285(@Sho)m 5(wLabels)k 800 5805(})m @@ -5166,7 +5177,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_37 /DEST pdfmark +[ /Dest /LOUT26_233_all_37 /DEST pdfmark 8640 10080 1440 8414 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -5265,7 +5276,7 @@ gsave 1 LoutMargSet grestore 400 fnt4 3895 11375(Graphs)m -[ /Dest /LOUT26_229_all_38 /DEST pdfmark +[ /Dest /LOUT26_233_all_38 /DEST pdfmark 340 fnt2 800 9036(@Gr)m 3(aph)k 800 8556( abo)m 5(v)k 8(ecaption { Ne)k 6(w South )k 13(W)k 13(ales road deaths)k 800 8076(\(per 100 million v)m 8(ehicle km\) })k 800 7596({)m 800 7116( @Data points { plus } pairs { dashed })m 800 6636( { 1963 5.6 1971 4.3 1976 3.7 1979 3.4)m @@ -5313,7 +5324,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_39 /DEST pdfmark +[ /Dest /LOUT26_233_all_39 /DEST pdfmark 8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore @@ -5393,7 +5404,7 @@ gsave 1 LoutMargSet grestore -[ /Dest /LOUT26_229_all_40 /DEST pdfmark +[ /Dest /LOUT26_233_all_40 /DEST pdfmark 360 fnt2 800 10484(-2p @F)m 10(ont @Gr)k 3(aph)k 800 10004( style { ax)m 10(es })k 800 9524( xor)m -5(igin { 0 } y)k 7(or)k -5(igin { 0 })k 800 9044( xtic)m 7(ks { 10@ 50@ 100@ 200@ 500@ })k 800 8564( objects { @NE at { 300 2 } @I { Exponential })m 800 8084( @SE at { ...)m 21( } @I { Unif)k 10(or)k -9(m } })k @@ -5448,7 +5459,7 @@ gsave 0 LoutMargSet grestore -[ /Dest /LOUT26_229_all_41 /DEST pdfmark +[ /Dest /LOUT26_233_all_41 /DEST pdfmark 8640 10080 1440 8640 400 480 100 0 668 LoutGr2 LoutBox stroke grestore diff --git a/doc/user/README b/doc/user/README index e65b183..2147e56 100644 --- a/doc/user/README +++ b/doc/user/README @@ -4,21 +4,25 @@ This directory contains the Lout source files for the User's Guide to the Lout Document Formatting System. To produce the Guide, type the command - lout all > op + lout -r6 all > user.ps -in this directory. Owing to some unfortunate page breaks in the -early runs, this must be done six times to completely resolve -all cross references, although the PostScript file op is printable -after the first run. Auxiliary files with .li and .ld suffixes -will be created in this directory. +in this directory. The -r6 flag causes Lout to run over the +document six times. This is needed to completely resolve all +cross references, although a readable PostScript file would be +produced after one run if -r was omitted. Auxiliary files with +.li and .ld suffixes will be created in this directory. Six runs +is an unusually large number; it is owing to some unfortunate page +breaks in the early runs that so many runs are needed. The first run will produce a large number of error messages, nearly all beginning with "unresolved cross reference". These should gradually go away on later runs. The following shows the -error message output on the later runs for A4 size printing: +error message output on the last run for A4 size printing: - lout file "str_foot" (from "str" line 8, from "all" line 38): - 11,13: 1.0c object too high for 0.6c space; will try elsewhere + lout: + : lout -r beginning run 6: + lout file "str_glos" (from "str" line 15, from "all" line 38): + 8,1: 1.0c object too high for 1.0c space; will try elsewhere lout file "str_indx" (from "str" line 16, from "all" line 38): 54,1: 0.3c object too high for 0.2c space; will try elsewhere lout file "gra_summ" (from "gra" line 44, from "all" line 46): @@ -27,20 +31,19 @@ error message output on the later runs for A4 size printing: 66,23: prg2lout 2,1: program text ended within comment 68,35: prg2lout 2,1: program text ended within comment -The first two warnings are about footnotes that did not fit onto -the first available page. The next is about a large table that had -to be scaled down slightly to fit on the page. The last two warnings -point to two places where a C program text ended inside a comment, -which in these cases was deliberate. If you set the document in -Letter size paper, you will get a somewhat different set of warning -messages. +The first two warnings are about footnotes that did not fit onto the +first available page. The next is about a large table that had to be +scaled down slightly to fit on the page. The last two warnings point +to two places where a C program text ended inside a comment, which in +these cases was deliberate. If you set the document in Letter size +paper, you will get a somewhat different set of warning messages. Optimal page breaking has been turned off for this document owing to repeated failure to converge, caused by footnotes and floating figures close to large unbreakable displays. A copy of the final PostScript output file (A4 paper size) is -stored at "ftp://ftp.it.su.edu.au/jeff/lout/lout-3.31.user.ps.gz". +stored at "ftp://ftp.it.su.edu.au/jeff/lout/lout-3.32.user.ps.gz". Jeffrey H. Kingston -August 2005 +25 October 2006 diff --git a/doc/user/all b/doc/user/all index 76a8366..37fc0d3 100644 --- a/doc/user/all +++ b/doc/user/all @@ -22,10 +22,10 @@ Lout Document Formatting System } @Author { Jeffrey H. Kingston } - @Edition { Version 3.31 -August, 2005 } + @Edition { Version 3.32 +October, 2006 } @Publisher { -Copyright @CopyRight 1991, 2005 Jeffrey H. Kingston, +Copyright @CopyRight 1991, 2006 Jeffrey H. Kingston, School of Information Technologies, The University of Sydney 2006, Australia. ISBN 0 86758 951 5. } diff --git a/doc/user/bas_conv b/doc/user/bas_conv index cd971b0..492f306 100644 --- a/doc/user/bas_conv +++ b/doc/user/bas_conv @@ -28,7 +28,7 @@ initialspace. @Index { @Code "@InitialSpace" option } @Code "@InitialFont" option described at the end of Section {@NumberOf fonts}, in that you can set it at the beginning of your document, like this: -@ID @Code { +@ID @OneRow @Code { "@SysInclude { doc }" "@Document" " @InitialSpace { lout }" diff --git a/doc/user/bas_par2 b/doc/user/bas_par2 index b836648..2de99e9 100644 --- a/doc/user/bas_par2 +++ b/doc/user/bas_par2 @@ -196,10 +196,9 @@ Serves to'advance an honest minde. } This style is the only one for which it is useful to indent individual lines in the input; as the result shows, such indents will be -respected, as will blank lines. However, Lout's rule that only white -space separating objects affects the result (Section {@NumberOf spaces}) -still holds, which means that indenting the first line is not -effective: +respected. However, Lout's rule that only white space separating objects +affects the result (Section {@NumberOf spaces}) still holds, which means +that indenting the first line is not effective: @ID @OneRow @Code { "@IndentedDisplay lines @Break @I {" " And finde" @@ -232,7 +231,72 @@ The result is What winde Serves to'advance an honest minde. } -as desired. To set the entire document in a paragraph breaking style other +as desired. +@PP +When using {@Code lines}, {@Code clines}, and {@Code "rlines @Break"}, +blank lines are respected and ordinarily appear at their full height. +However, it often looks better to give somewhat +blanklinescale. @Index { @Code blanklinescale } +less than this to blank lines. For this there is the {@Code blanklinescale} +option to {@Code "@Break"}: +@ID @OneRow @Code @Verbatim { +@IndentedDisplay { lines blanklinescale 0.6 } @Break @I { +Go, and catch a falling star, + Get with child a mandrake root, +Tell me, where all past years are, + Or who cleft the Devil's foot, +Teach me to hear Mermaides singing, +Or to keep off envies stinging, + And finde + What winde +Serves to'advance an honest minde. + +If thou be'st born to strange sights, + Things invisible to see, +Ride ten thousand days and nights, + Till age snow white hairs on thee, +Thou, when thou return'st, wilt tell me +All strange wonders that befell thee, + And swear + No where +Lives a woman true, and fair. +} +} +As shown, @Code "blanklinescale" may appear at any point in the +object to the left of {@Code "@Break"}, followed by a number +indicating how much to scale the usual height of a blank line by. The +object to the left of @Code "@Break" has to be enclosed in braces as +shown, to ensure that its extent is clear. The result is +@IndentedDisplay { lines blanklinescale 0.6 } @Break @I { +Go, and catch a falling star, + Get with child a mandrake root, +Tell me, where all past years are, + Or who cleft the Devil's foot, +Teach me to hear Mermaides singing, +Or to keep off envies stinging, + And finde + What winde +Serves to'advance an honest minde. + +If thou be'st born to strange sights, + Things invisible to see, +Ride ten thousand days and nights, + Till age snow white hairs on thee, +Thou, when thou return'st, wilt tell me +All strange wonders that befell thee, + And swear + No where +Lives a woman true, and fair. +} +in which the verses are separated by considerably less than a full +blank line; instead of a baseline-to-baseline gap of twice the +interline space, as usual, the gap here is only 1.6 times the +interline space. Two blank lines would give 2.2 times the +interline space, and so on. There is no unit of measurement +associated with {@Code "blanklinescale"}, because it is a scale +factor, not a length. +@PP +To set the entire document in a paragraph breaking style other than {@Code "adjust"}, you need to change the @Code "@InitialBreak" option, as explained at the end of Section {@NumberOf linespace}. @PP diff --git a/doc/user/bgr_prec b/doc/user/bgr_prec index 3bd0d57..d26b989 100644 --- a/doc/user/bgr_prec +++ b/doc/user/bgr_prec @@ -3,9 +3,13 @@ @Tag { precise } @Begin @PP -This section offers some tips on placing objects precisely where you -want them. This isn't a subject with any clear boundaries, so the -section is mainly a list of examples, covering the use of the +This section offers some tips on placing objects precisely where you want +them relative to each other. If your problem is to place objects precisely +at some unusual point on the page, you probably need a margin note or the +@Code "@Place" symbol, for which see Section {@NumberOf marginnotes}. +@PP +Precise object placement is not a subject with any clear boundaries, so +this section is mainly a list of examples, covering the use of the @Code {"@OneCol"}, @Code {"@OneRow"}, @Code {"@Wide"}, @Code {"@High"}, @Code {"@HExpand"}, @Code {"@VExpand"}, @Code {"@HShift"}, @Code {"@VShift"}, @Code {"@VStrut"}, @Code {"@OverStrike"}, @Code {"@ZeroHeight"}, @@ -186,5 +190,7 @@ measurement). Some of the symbols described in this section are Lout primitives, described in full detail in the Expert's Guide @Cite { $kingston1995lout.expert }; and that is also the place to look for more information about precise -object placement. +object placement. In particular, the Lout primitives described there +for horizontal and vertical concatenation, @Code "/" and {@Code "|"}, +offer possibilities beyond what has been described here. @End @Section diff --git a/doc/user/gra_erro b/doc/user/gra_erro index 80a30ba..f71a251 100644 --- a/doc/user/gra_erro +++ b/doc/user/gra_erro @@ -35,7 +35,7 @@ graphs. @RawIndex { graphs (statistical) } graphs.save @SubIndex { @Code save option } save. @RawIndex { @Code "save" option } save.in.graphs @SubIndex { in graphs } -@ID @Code @Verbatim { +@ID @OneRow @Code @Verbatim { @Graph save { yes } ... diff --git a/doc/user/preface b/doc/user/preface index a97008b..431dbf8 100644 --- a/doc/user/preface +++ b/doc/user/preface @@ -18,7 +18,7 @@ gnu. @Index { GNU Public License } primary source is directory @ID @Code "ftp://ftp.it.usyd.edu.au/jeff/lout" containing a gzipped tar file of the current version -(currently {@Code "lout-3.31.tar.gz"}), and various other things including +(currently {@Code "lout-3.32.tar.gz"}), and various other things including a PostScript version of this guide. The distribution contains source code, libraries, documentation, license, and installation instructions. @PP diff --git a/doc/user/prg_chan b/doc/user/prg_chan index 35c102f..a561e79 100644 --- a/doc/user/prg_chan +++ b/doc/user/prg_chan @@ -25,17 +25,19 @@ file. Here is part of the @Code "@Use" clause from {@Code cprint}: bformat { @Cell { " #" A } | @Cell { "{" B } | @Cell "}" } { @Rowa A { "@Use { @CPSetup" } -@Rowb A { "pipe" } B { } -@Rowb A { "numbered" } B { No } -@Rowb A { "style" } B { fixed } +@Rowb A { "pipe" } B { } +@Rowb A { "numbered" } B { No } +@Rowb A { "blanknumbered" } B { Yes } +@Rowb A { "style" } B { fixed } @Rowa -@Rowb A { "fixedfont" } B { Courier } -@Rowb A { "fixedsize" } B { -1.0p } -@Rowb A { "fixedline" } B { 1.0vx } -@Rowb A { "fixedspace" } B { lout } -@Rowb A { "fixedtabin" } B { 8 } -@Rowb A { "fixedtabout" } B { 8s } +@Rowb A { "fixedfont" } B { Courier } +@Rowb A { "fixedsize" } B { -1.0p } +@Rowb A { "fixedline" } B { 1.0vx } +@Rowb A { "fixedblanklinescale" } B { 1.0 } +@Rowb A { "fixedspace" } B { lout } +@Rowb A { "fixedtabin" } B { 8 } +@Rowb A { "fixedtabout" } B { 8s } @Rowa @Rowb A { "fixedidentifiers" } B { Base } @@ -55,10 +57,10 @@ file. Here is part of the @Code "@Use" clause from {@Code cprint}: @Rowb A { "fixedcommentsformat" } B { "@Body" } @Rowb A { "fixedlinenumbersformat" } B { "@Body" } -@Rowa -@Rowa A { "..." } - -@Rowa +#@Rowa +#@Rowa A { "..." } +# +#@Rowa @Rowa A { "}" } } The @Code pipe option will be explained in Section {@NumberOf pipes}. The @@ -66,17 +68,17 @@ options whose name begins with @Code "fixed" apply only when @Code style is {@Code fixed}; there are corresponding options, not shown, which apply when @Code style is {@Code varying} and {@Code symbol}. @PP -We can see in this extract that the default value of @Code style is -{@Code fixed}, and of @Code "numbers" is {@Code No}. We can also see the -default font family, font face, font size, line spacing, spacing mode, -and tab settings when the style is {@Code "fixed"}. The font family -name for @Code "fixed" style is {@Code "Courier"}, but for the other -styles (not shown) it is empty. This causes the @Code "fixed" style -to always switch to Courier, and the other styles to use the same font -family as in the surrounding document. +This extract shows that the default value of @Code "numbered" is {@Code No}, +of @Code "blanknumbered" is {@Code Yes}, and of @Code style is {@Code fixed}. +It also shows the default font family, font face, font size, +line spacing, blank line scale factor, spacing mode, and tab settings when +the style is {@Code "fixed"}. The font family name for @Code "fixed" style +is {@Code "Courier"}, but for the other styles (not shown) it is empty. +This causes the @Code "fixed" style to always switch to Courier, and the +other styles to use the same font family as in the surrounding document. @PP -The options from @Code "fixedidentifiers" to @Code "fixedlinenumbers" allow -you to set the font face to use for each of these parts of your +The options from @Code "fixedidentifiers" to @Code "fixedlinenumbers" +allow you to set the font face to use for each of these parts of your program. People who want fixed-width fonts do not usually want very exciting font faces either, so the default values above are all {@Code "Base"}, but for the {@Code varying} and {@Code symbol} styles, @@ -127,7 +129,11 @@ import @CPSetup macro @NCP { @CP numbered { Yes } } } (or the equivalent for your language) in your @Code mydefs file, so that -you can type @Code "@NCP" instead of {@Code "@CP numbered { Yes }"}. +you can type @Code "@NCP" instead of {@Code "@CP numbered { Yes }"}. On +the other hand, it is quite safe to change @Code "blanknumbered" to +{@Code "No"} or {@Code "NoPrint"} in the setup file; this will cause +line numbers to be omitted from blank lines whenever there happen to +be line numbers. @PP The setup files for the other languages are identical to this one, except that the symbol after @Code "@Use" is different, and some of the diff --git a/doc/user/prg_lone b/doc/user/prg_lone index 950fa05..06bc497 100644 --- a/doc/user/prg_lone +++ b/doc/user/prg_lone @@ -34,10 +34,19 @@ Select an inter-line spacing size in Lout units. The default is @Code -v1.1fx meaning 1.1 times the font size measured from baseline to baseline. } +@TI { {@Code -b}{@I number} } { +Select a blank line scale factor, usually a number between 0.5 and 1.0, +indicating the factor by which the usual amount of white space inserted +to represent a blank line is to be reduced. The default is @Code { 1.0 }, +meaning no reduction. +} @TI { {@Code -L}{@I number} } { Add line numbers to the program print, starting with {@I number}, or 1 if {@I number} is omitted. } +@TI { {@Code -N} } { +Do not print line numbers at the start of blank lines. +} @TI { {@Code -S}{@I file} } { Use @I file as the setup file for printing your language. This allows you to change all the options mentioned in subsequent sections, rather diff --git a/doc/user/prg_opti b/doc/user/prg_opti index 292f26a..6ae4e05 100644 --- a/doc/user/prg_opti +++ b/doc/user/prg_opti @@ -80,11 +80,14 @@ which allow a finer control over the style. Here they all are, with their default values: @ID @OneRow @Code @Verbatim { @CP [ or @Eiffel, @Blue, etc. ] - style { fixed } + pipe {} numbered { No } + blanknumbered { Yes } + style { fixed } font { Courier } size { -1.0p } line { 1.0vx } + blanklinescale { 1.0 } space { lout } tabin { 8 } tabout { 8s } @@ -98,15 +101,32 @@ default values: ... } } -We are already familiar with {@Code "style"}. After that comes -{@Code "numbered"}, whose value may be {@Code "No"} (the default), -{@Code "Yes"}, or a number, and which determines whether or not +Apart from {@Code "pipe"}, {@Code "numbered"} and {@Code "blanknumbered"}, +the default values shown are for @Code "style { fixed }" only; the other +styles have other defaults (Section {@NumberOf cpsetup}). For the +{@Code "pipe"} option, see Section {@NumberOf pipes}. +@PP +The value of {@Code "numbered"} may be {@Code "No"} (the default), +{@Code "Yes"}, or a number, and it determines whether or not programs. @RawIndex { programs } programs.numbered @SubIndex { @Code "numbered" option } numbered.programs @Index { @Code "numbered" option (programs) } -line numbers are to be added and if so the value of the first -one. Next we have -{@Code "font"}, which determines the font family to use, {@Code "size"}, +line numbers are to be added, and if so the value of the first one. +If @Code "numbered" is {@Code "Yes"}, then the {@Code "blanknumbered"} +option becomes relevant, and it determines whether blank lines are to +programs. @RawIndex { programs } +programs.blanknumbered @SubIndex { @Code "blanknumbered" option } +blanknumbered.programs @Index { @Code "blanknumbered" option (programs) } +receive line numbers or not. It has three acceptable values: {@Code "Yes"}, +the default value, meaning that blank lines are printed with line numbers, +just like other lines; {@Code No}, meaning that blank lines are not +assigned line numbers; and {@Code NoPrint}, meaning that blank lines +are assigned line numbers but these numbers are not printed, so that +the line numbers printed before and after a single blank line will +differ by 2. +@PP +The {@Code "style"} option is already familiar. Next comes {@Code "font"}, +which determines the font family to use, {@Code "size"}, programs. @RawIndex { programs } programs.font @SubIndex { @Code "font" option } font.option. @RawIndex { @Code "font" option } @@ -117,13 +137,18 @@ size.programs @Index { @Code "size" option (programs) } programs. @RawIndex { programs } programs.line @SubIndex { @Code "line" option } line.programs @Index { @Code "line" option (programs) } -the font size to use, {@Code "line"}, the inter-line spacing, and -{@Code "space"}, the spacing mode (as for the @Code "@Space" symbol -of Section {@NumberOf white}). +the font size to use, {@Code "line"}, the inter-line spacing, +{@Code "blanklinescale"}, a scale factor by which the usual +programs. @RawIndex { programs } +programs.blanklinescale @SubIndex { @Code "blanklinescale" option } +blanklinescale.programs @Index { @Code "blanklinescale" option (programs) } +height of blank lines without printed line numbers is reduced (as in the +option to the @Code "@Break" symbol of the same name), and {@Code "space"}, the +spacing mode (as for the @Code "@Space" symbol of Section {@NumberOf white}). programs. @RawIndex { programs } programs.space @SubIndex { @Code "space" option } space.programs @Index { @Code "space" option (programs) } -The default value for @Code "size" asks for one point smaller than in the +The default value of @Code "size" asks for one point smaller than in the surrounding document; this was done to compensate for Courier's relatively large appearance compared to other fonts of the same nominal size. @PP @@ -150,7 +175,5 @@ programs.comments @SubIndex { @Code "comments" option } comments.programs @Index { @Code "comments" option (programs) } numbers, strings, and comments. {@Code "Base"} means the basic face; other commonly available choices are {@Code "Slope"} and {@Code "Bold"}. These -options may all be set to different faces if desired. The default values -shown are correct for @Code "style { fixed }" only; the other styles -have other defaults (Section {@NumberOf cpsetup}). +options may all be set to different faces if desired. @End @Section diff --git a/doc/user/prg_pipe b/doc/user/prg_pipe index 3867a28..ea45fbd 100644 --- a/doc/user/prg_pipe +++ b/doc/user/prg_pipe @@ -60,4 +60,11 @@ pipe is since it cuts away the unwanted tab characters. Unfortunately, we can't show the result of this on an actual example, since that would prevent this manual from being formatted on a non-Unix system. +@PP +When using @Code "pipe" it is also possible to omit {@Code "@Include"} +and use the pipe to get the file as well as select from it: +@ID @OneRow @Code { +"@Eiffel pipe { \"cat /usr/staff/jeff/Eiffel/hash.e | sed -n /^.insert/,/^..end/p | cut -c2-\" } {}" +} +This pipes nothing into the {@Code cat} command, which does no harm. @End @Section diff --git a/doc/user/str_list b/doc/user/str_list index 7888554..4f65e68 100644 --- a/doc/user/str_list +++ b/doc/user/str_list @@ -3,20 +3,20 @@ @Tag { lists } @Begin @PP -The @Code "@List" symbol introduces a sequence of items to be +The @Code "@IndentedList" symbol introduces a sequence of items to be +indentedlist. @Index @Code "@IndentedList" +il. @Index @Code "@IL" lists. @Index { lists } -list. @Index @Code "@List" -l. @Index @Code "@L" made into a displayed list: @ID @OneRow @Code @Verbatim { preceding text -@List +@IndentedList @ListItem @I Emma @ListItem @I { Mansfield Park } @EndList following text } -After the initial @Code "@List" symbol, each item is introduced by +After the initial @Code "@IndentedList" symbol, each item is introduced by list.item. @Index @Code "@ListItem" li. @Index @Code "@LI" {@Code "@ListItem"}, and the list ends with {@Code "@EndList"}. The @@ -25,7 +25,7 @@ el. @Index @Code "@EL" result here is @ID @OneRow { preceding text -@List +@IndentedList @ListItem @I Emma @ListItem @I { Mansfield Park } @EndList @@ -34,12 +34,10 @@ following text with space inserted automatically before, between, and after the items. @PP -As the example shows, the @Code "@List" symbol causes the items to be -indented. Also available are {@Code "@LeftList"}, {@Code "@IndentedList"}, +As the example shows, the @Code "@IndentedList" symbol causes the items to be +indented. Also available are {@Code "@LeftList"}, leftlist. @Index @Code "@LeftList" ll. @Index @Code "@LL" -indentedlist. @Index @Code "@IndentedList" -il. @Index @Code "@IL" {@Code "@QuotedList"}, {@Code "@CentredList"}, and {@Code "@CenteredList"}, quotedlist. @Index @Code "@QuotedList" ql. @Index @Code "@QL" @@ -309,6 +307,42 @@ behind the scenes prevent this. @Code "@ParagraphItem" has a @Code "style" option that works much like the @Code "style" option of {@Code "@List"} described just below. @PP +Another useful variation is the @I { multi-column list }, in +which the items are spread over several columns within the +current column. Any kind of list may be converted into a +multi-column list. For example, here is how to get a +multi-column bullet list: +@ID @OneRow @Code @Verbatim { +@BulletList + colnum { 3 } + colgap { 1.0c } + colheight { 5.0c } +} +followed by the list items and @Code "@EndList" as usual. This +list will appear spread over three columns, with the items placed +down the first column, then down the second, and so on. The columns +will have equal width, as wide as possible given that they are +separated from each other by the gap given by {@Code "colgap"}. +Ideally, one would want the columns to have equal height, just +enough to hold all the items; but since Lout is not clever enough +to do this, you must specify a fixed height for each column, +using the @Code "colheight" option; and this height must be small +enough to allow the entire list to fit onto one page, since it is +effectively an unbreakable display. +@PP +The value of @Code "colnum" must be either 1, 2, 3, 4, or 5. If +it is 1 (the default value), @Code "colgap" and @Code "colheight" +are not used and the result is an ordinary list. The value of +@Code "colgap" and @Code "colheight" may be any width; the default +values are those shown above. All the features available for +ordinary lists and list items work in the usual way with +multi-column lists: one may keep a list item in one column by +enclosing it in {@Code "@OneRow"}, cause a break to the next +column using {@Code "@ListNewPage"}, and so on. If there is not +enough space in the columns to hold all the items (a real possibility +since their height is fixed), any excess is dropped, sometimes with +and sometimes without a confusing error message. +@PP Every symbol introduced in this section has an abbreviated form consisting of @Code "@" followed by its capital letters only. For example, @Code "@RawNumberedList" abbreviates to {@Code "@RNL"}, @@ -320,16 +354,24 @@ list.symbol.options @Index { list symbol options } Expert users will be interested to learn that all of the list symbols described in this section are derived from the two basic ones, @Code "@List" and {@Code "@RawList"}, merely by setting options. Here +list. @Index @Code "@List" +l. @Index @Code "@L" are all the options, together with their default values: @ID @OneRow @Code @Verbatim { @List type { num } style { num } labelwidth { 2f } + labelright { No } + labelrightgap { 2s } indent { 0c } rightindent { 0c } gap { 1v } start { 1 } + break { } + colnum { 1 } + colgap { 1.0c } + colheight { 5.0c } } These options may be used with all of the list and raw list symbols, except that some combinations don't make sense, for example @Code "indent" @@ -360,9 +402,16 @@ the label supplied by the author. @PP The @Code "labelwidth" option determines the width set aside for the labels; this is where @Code "@WideTaggedList" and @Code "@VeryWideTaggedList" differ -from {@Code "@TaggedList"}. The @Code "indent" and @Code "rightindent" -options determine the space left blank at the left and right margins. The -value given to these three options may be any length, for example +from {@Code "@TaggedList"}. If @Code "labelright" is {@Code "Yes"}, it +means that the label is to appear right-justified in this width, apart from +a width @Code "labelrightgap" to the right of it to separate it from the +content of the list item. The default value of {@Code "labelrightgap"}, +{@Code "2s"}, is the width of two spaces. If @Code "labelright" is +{@Code No}, @Code "labelrightgap" is not used. +@PP +The @Code "indent" and @Code "rightindent" +options determine the space left blank at the left and right margins. +The value given to these options may be any length, for example @Code "0.5i" (half an inch), or @Code "0.5f" (half the current font size). Section {@NumberOf objects} describes lengths in general. There are also three useful symbols denoting lengths: @Code "@DisplayIndent" @@ -391,6 +440,22 @@ item. It must be decimal: looks strange, but it is the correct way to number the first item (xxv). @PP +The @Code "break" option defines a break style (suitable for the +@Code "@Break" symbol) which is to be applied to each item. If +you wanted each item in a ragged style, for example, you could +just write +@ID @OneRow @Code @Verbatim { +@NumberedList + break { ragged } +} +rather than laboriously enclosing each item in @Code "ragged @Break". +@PP +The last three options, {@Code "colnum"}, {@Code "colgap"}, and +{@Code "colheight"} work together to produce multi-column lists, +as explained earlier. When the default value of @Code "colnum" +is used (i.e. 1), {@Code "colgap"} and {@Code "colheight"} are +ignored and the result is an ordinary list. +@PP Here is a larger example of these options in action. Setting both @Code "indent" and @Code "rightindent" to @Code "@DisplayIndent" produces an effect similar to {@Code "@QuotedDisplay"}: @@ -431,12 +496,14 @@ caused by radioactive materials stored adjacent to the facility. following text } You can change the @I default values of the {@Code "labelwidth"}, -{@Code "indent"}, {@Code "rightindent"}, and {@Code "gap"} options, -by setting options called {@Code "@ListTagWidth"}, {@Code "@ListIndent"}, -{@Code "@ListRightIndent"}, and {@Code "@ListGap"} in the setup -file (Section {@NumberOf setup}). These default values will then apply -to every list in the document unless overridden by an option, -just like the usual default values. The setup file also has a -{@Code "@ListOuterGap"} option which determines the gap before -the first and after the last list item in non-raw lists. +{@Code "labelright"}, {@Code "labelrightgap"}, {@Code "indent"}, +{@Code "rightindent"}, {@Code "gap"}, and {@Code "break"} options, by +setting options called {@Code "@ListLabelWidth"}, {@Code "@ListLabelRight"}, +{@Code "@ListLabelRightGap"}, {@Code "@ListIndent"}, +{@Code "@ListRightIndent"}, {@Code "@ListGap"}, and +{@Code "@ListBreak"} options in the setup file (Section {@NumberOf setup}). +These default values will then apply to every list in the document unless +overridden by an option, just like the usual default values. The setup +file also has a {@Code "@ListOuterGap"} option which determines the gap +before the first and after the last list item in non-raw lists. @End @Section diff --git a/doc/user/tbl_cell b/doc/user/tbl_cell index e68fd0b..9d98023 100644 --- a/doc/user/tbl_cell +++ b/doc/user/tbl_cell @@ -128,6 +128,13 @@ Note the difference between a coloured background, obtained with {@Code "paint"}, and a coloured entry, obtained using the @Code "@Colour" symbol. @PP +When an entry in a table consists of several paragraphs, it will usually +be best to enclose it in {@Code "@OneRow"}, since otherwise @Code "@Tbl" +is likely to take each paragraph as a separate row, leading to incorrect +vertical spacing. A convenient way to do this is +@ID @Code "aformat { @Cell @OneRow A | @Cell @OneRow B }" +and so on. +@PP @Code "@Tbl" offers many places where you can set cell options. The meaning of the option is the same wherever you set it; what changes is the extent of its application. Taking the @Code "paint" diff --git a/doc/user/typ_orga b/doc/user/typ_orga index 1e9aa36..ce49851 100644 --- a/doc/user/typ_orga +++ b/doc/user/typ_orga @@ -91,4 +91,18 @@ file. You might also find it useful to construct your book @I { top-down }, as computer scientists call it, laying out all the chapters and sections as empty skeletons and filling their contents in later. +@PP +When some part of your document has to be repeated, one way to avoid +entering it twice is to place that part in a separate file and use +@Code "@Include" in two places to include it twice. This works, but +there are two caveats. First, it may be better to use a definition +(Section {@NumberOf definitions}), since that gives you an object +with a name, which you can use with confidence anywhere at all. +Second, Lout treats @Code "@Include" in a peculiar way when it +appears in the setup part of a document (in definitions, databases, +and the @Code "@Use" clauses that appear within setup files): it +reads the file as usual the first time, and silently skips it the +other times. This is done to simplify the handling of files of +definitions that depend on other files of definitions, as described +in the Expert's Guide @Cite { $kingston1995lout.expert }. @End @Section diff --git a/doc/user/typ_over b/doc/user/typ_over index cf3a189..aced99c 100644 --- a/doc/user/typ_over +++ b/doc/user/typ_over @@ -212,23 +212,27 @@ symbol whose options control the appearance of features specific to overhead.setup. @Index @Code "@OverheadSetup" overheads (in other words, the features described in this section). Here are some of these options and their default values: -@ID @OneRow @Code { -"@Use { @OverheadSetup" -" # @DateLine { No }" -" # @FirstOverheadNumber { 1 }" -" # @FirstLectureNumber { 1 }" -" # @ContentsWord { contents }" -" # @LectureNumbers { Arabic }" -" # @OverheadNumbers { Arabic }" -" # @TitlePageFont { Helvetica Base }" -" # @LectureHeadingFont { Bold 1.20f }" -" # @LectureHeadingFormat { @Centre number @DP @Centre title @DP }" -" # @OverheadHeadingFormat { @Centre title @DP }" -" # @OverheadHeadingFont { Bold }" -" # @LectureInContents { Yes }" -" # @OverheadInContents { No }" -" # @ReferencesInContents { Yes }" -"}" +@ID @OneRow @Code @Verbatim { +@Use { @OverheadSetup + # @DateLine { No } + # @FirstOverheadNumber { 1 } + # @FirstLectureNumber { 1 } + # @ContentsWord { contents } + # @LectureNumbers { Arabic } + # @OverheadNumbers { Arabic } + # @TitlePageFont { Helvetica Base } + # @AboveTitleGap { 0.5i } + # @AboveAuthorGap { 1.0i } + # @AboveInstitutionGap { 0.5i } + # @AboveDateLineGap { 0.5i } + # @LectureHeadingFont { Bold 1.20f } + # @LectureHeadingFormat { @Centre number @DP @Centre title @DP } + # @OverheadHeadingFormat { @Centre title @DP } + # @OverheadHeadingFont { Bold } + # @LectureInContents { Yes } + # @OverheadInContents { No } + # @ReferencesInContents { Yes } +} } For an introduction to setup files and their options, consult Section {@NumberOf setup}. The first four options are as for @@ -238,9 +242,11 @@ produces `Contents' in the current language. @Code "@LectureNumbers" and @Code "@OverheadNumbers" determine the style of numbering of lectures and overheads, and may be {@Code None}, {@Code Arabic}, {@Code Roman}, {@Code UCRoman}, {@Code Alpha}, or {@Code UCAlpha} as usual. Next come -options for setting the font of the overall title page, the -title page of each lecture, and so on, and finally options which -determine which entries are made in any table of contents. +options for setting the font of the overall title page, the gap +above the title, author, institution, and dateline that appear on that +page; then options controlling the appearance of the headings at the +start of each lecture and overhead, and finally options which determine +which entries are made in any table of contents. @PP The @Code "@LectureHeadingFormat" option determines the format of the heading of each lecture. Within it, the symbol @Code "number" diff --git a/doc/user/vprg b/doc/user/vprg index 5922150..81c0abe 100644 --- a/doc/user/vprg +++ b/doc/user/vprg @@ -1,12 +1,2 @@ -gvim prg -gvim prg_lone -gvim prg_embe -gvim prg_opti -gvim prg_chan -gvim prg_tabs -gvim prg_form -gvim prg_comm -gvim prg_prog -gvim prg_pipe -gvim prg_erro -gvim prg_perl +gvt prg prg_lone prg_embe prg_opti prg_chan prg_tabs prg_form \ + prg_comm prg_prog prg_pipe prg_erro prg_perl diff --git a/externs.h b/externs.h index 1c66de4..0f31caf 100644 --- a/externs.h +++ b/externs.h @@ -1,7 +1,7 @@ /*@externs.h:External Declarations:Directories and file conventions@**********/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -95,7 +95,7 @@ extern nl_catd MsgCat; /* */ /*****************************************************************************/ -#define LOUT_VERSION AsciiToFull("Basser Lout Version 3.31 (August 2005)") +#define LOUT_VERSION AsciiToFull("Basser Lout Version 3.32 (October 2006)") #define CROSS_DB AsciiToFull("lout") #define SOURCE_SUFFIX AsciiToFull(".lt") #define INDEX_SUFFIX AsciiToFull(".li") @@ -442,6 +442,7 @@ typedef void *POINTER; #define CH_FLAG_OUTFILE 'o' /* the -o command line flag */ #define CH_FLAG_PLAIN 'p' /* the -p command line flag */ #define CH_FLAG_FFPLAIN 'P' /* the -P command line flag */ +#define CH_FLAG_RUNS 'r' /* the -r command line flag */ #define CH_FLAG_SUPPRESS 's' /* the -s command line flag */ #define CH_FLAG_SAFE 'S' /* the -S command line flag */ #define CH_FLAG_NOTEXTURE 't' /* the -t command line flag */ @@ -569,6 +570,7 @@ typedef void *POINTER; #define STR_BREAK_LINES AsciiToFull("lines") #define STR_BREAK_CLINES AsciiToFull("clines") #define STR_BREAK_RLINES AsciiToFull("rlines") +#define STR_BREAK_SCALE AsciiToFull("blanklinescale") #define STR_BREAK_NOFIRST AsciiToFull("unbreakablefirst") #define STR_BREAK_FIRST AsciiToFull("breakablefirst") #define STR_BREAK_NOLAST AsciiToFull("unbreakablelast") @@ -670,6 +672,7 @@ typedef struct FONT_NUM ofont; /* current font */ COLOUR_NUM ocolour; /* current colour */ TEXTURE_NUM otexture; /* current texture */ + unsigned short oblanklinescale; /* scale factor for blank lines */ LANGUAGE_NUM olanguage : 6; /* current language */ BOOLEAN ooutline : 2; /* TRUE if outlining words */ BOOLEAN onobreakfirst : 1; /* no break after first line of para */ @@ -692,6 +695,7 @@ typedef struct #define font(x) (x).ofont #define colour(x) (x).ocolour #define texture(x) (x).otexture +#define blanklinescale(x)(x).oblanklinescale #define outline(x) (x).ooutline #define language(x) (x).olanguage #define nobreakfirst(x) (x).onobreakfirst @@ -714,6 +718,7 @@ typedef struct font(x) = font(y), \ colour(x) = colour(y), \ texture(x) = texture(y), \ + blanklinescale(x) = blanklinescale(y), \ outline(x) = outline(y), \ language(x) = language(y), \ nobreakfirst(x) = nobreakfirst(y), \ @@ -1995,7 +2000,7 @@ typedef struct back_end_rec { BOOLEAN fractional_spacing_avail; /* TRUE if fractional spacing avail. */ BOOLEAN uses_font_metrics; /* TRUE if actual font metrics used */ BOOLEAN colour_avail; /* TRUE if colour is available */ - void (*PrintInitialize)(FILE *fp); + void (*PrintInitialize)(FILE *fp, BOOLEAN encapsulated); void (*PrintLength)(FULL_CHAR *buff, int length, int length_dim); void (*PrintPageSetupForFont)(OBJECT face, int font_curr_page, FULL_CHAR *font_name, FULL_CHAR *first_size_str); @@ -2011,8 +2016,8 @@ typedef struct back_end_rec { void (*CoordTranslate)(FULL_LENGTH xdist, FULL_LENGTH ydist); void (*CoordRotate)(FULL_LENGTH amount); void (*CoordScale)(float hfactor, float vfactor); - void (*CoordHMirror)(); - void (*CoordVMirror)(); + void (*CoordHMirror)(void); + void (*CoordVMirror)(void); void (*SaveGraphicState)(OBJECT x); void (*RestoreGraphicState)(void); void (*PrintGraphicObject)(OBJECT x); @@ -2025,7 +2030,7 @@ typedef struct back_end_rec { FULL_LENGTH urx, FULL_LENGTH ury); void (*LinkURL)(OBJECT url, FULL_LENGTH llx, FULL_LENGTH lly, FULL_LENGTH urx, FULL_LENGTH ury); - void (*LinkCheck)(); + void (*LinkCheck)(void); } *BACK_END; @@ -2325,6 +2330,7 @@ typedef struct back_end_rec { #define FR 4096 /* virtual unit for frame units */ #define DG 128 /* virtual unit for degrees */ #define SF 128 /* virtual unit for @Scale factors */ + /* including blankline scale */ /* default size of characters for the PLAINTEXT back end */ #define PLAIN_WIDTH 144 /* default char width, 10 per inch */ @@ -2356,7 +2362,8 @@ typedef struct back_end_rec { /* error types */ #define INTERN 0 /* internal error (i.e. bug) */ #define FATAL 1 /* fatal error, abort now */ -#define WARN 2 /* warning, non-fatal */ +#define FATAL_WITH_USAGE 2 /* fatal error, abort now + usage */ +#define WARN 3 /* warning, non-fatal */ /* status values returned by AttachGalley() */ #define ATTACH_KILLED 0 @@ -2598,13 +2605,13 @@ typedef struct back_end_rec { #define GetMem(x, siz, pos) \ { newcount; \ if( (zz_size=(siz)) >= MAX_OBJECT_REC ) \ - Error(1, 1, "word is too long", FATAL, pos); \ + x = NULL, Error(1, 1, "word is too long", FATAL, pos); \ else if( zz_free[zz_size] == nilobj ) \ x = GetMemory(zz_size, pos); \ else \ - { x = zz_hold = zz_free[zz_size]; \ + { x = zz_free[zz_size]; \ freecount; \ - zz_free[zz_size] = pred(zz_hold, CHILD); \ + zz_free[zz_size] = pred(x, CHILD); \ } \ } @@ -2954,7 +2961,7 @@ for( y = pred(link, CHILD); type(y) == LINK; y = pred(y, CHILD) ) if( type(y) == GAP_OBJ ) g = y, jn = jn && join(gap(y)); \ else if( type(y)==SPLIT ? SplitIsDefinite(y):is_definite(type(y)) ) \ { \ - debug2(DFS, D, " NextDefiniteWithGap at %s %s", \ + debug2(DFS, DD, " NextDefiniteWithGap at %s %s", \ Image(type(y)), EchoObject(y)); \ assert( g != nilobj, "NextDefiniteWithGap: g == nilobj!" ); \ break; \ @@ -3018,6 +3025,7 @@ for( y = pred(link, CHILD); type(y) == LINK; y = pred(y, CHILD) ) /*****************************************************************************/ /***** z01.c Supervise **************************************/ +extern void PrintUsage(FILE *fp); extern int main(int argc, char *argv[]); extern POINTER MemCheck; extern OBJECT StartSym; @@ -3116,6 +3124,7 @@ extern BOOLEAN EqualManifested(OBJECT x, OBJECT y); /***** z08.c Object Manifest **************************************/ extern OBJECT ReplaceWithTidy(OBJECT x, int one_word); +extern float GetScaleFactor(OBJECT x); extern OBJECT Manifest(OBJECT x, OBJECT env, STYLE *style, OBJECT bthr[2], OBJECT fthr[2], OBJECT *target, OBJECT *crs, BOOLEAN ok, BOOLEAN need_expand, OBJECT *enclose, BOOLEAN fcr); @@ -3131,6 +3140,7 @@ extern OBJECT ClosureExpand(OBJECT x, OBJECT env, BOOLEAN crs_wanted, extern OBJECT ParameterCheck(OBJECT x, OBJECT env); /***** z10.c Cross References **************************************/ +extern void CrossInitModule(void); extern void CrossInit(OBJECT sym); extern OBJECT CrossMake(OBJECT sym, OBJECT val, int ctype); extern OBJECT GallTargEval(OBJECT sym, FILE_POS *dfpos); @@ -3220,6 +3230,7 @@ extern void SizeGalley(OBJECT hd, OBJECT env, BOOLEAN rows, OBJECT enclose); /*** z22.c Galley Service **************************************/ +extern void PromoteInit(void); extern void ClearHeaders(OBJECT hd); extern void Interpose(OBJECT z, int typ, OBJECT x, OBJECT y); extern void FlushInners(OBJECT inners, OBJECT hd); @@ -3265,7 +3276,8 @@ extern void ProfilePrint(void); #endif /***** z28.c Error Service **************************************/ -extern void ErrorInit(FULL_CHAR *str); +extern void ErrorInit(void); +extern void ErrorSetFile(FULL_CHAR *str); extern BOOLEAN ErrorSeen(void); extern void EnterErrorBlock(BOOLEAN ok_to_print); extern void LeaveErrorBlock(BOOLEAN commit); @@ -3333,6 +3345,7 @@ extern OBJECT Next(OBJECT x, int inc, BOOLEAN *done); /***** z33.c Database Service **************************************/ extern OBJECT OldCrossDb; extern OBJECT NewCrossDb; +extern void DbInit(void); extern OBJECT DbCreate(OBJECT x); extern void DbInsert(OBJECT db, BOOLEAN gall, OBJECT sym, FULL_CHAR *tag, FILE_POS *tagfpos, FULL_CHAR *seq, FILE_NUM dfnum, @@ -3360,6 +3373,7 @@ extern OBJECT MomentSym; extern OBJECT StartMoment(void); /***** z36.c Hyphenation **************************************/ +extern void HyphInit(void); extern BOOLEAN ReadHyphTable(LANGUAGE_NUM lnum); extern OBJECT Hyphenate(OBJECT x); @@ -3389,10 +3403,11 @@ extern FULL_LENGTH FontGlyphWidth(FONT_NUM fnum, FULL_CHAR chr); /***** z38.c Character Mappings **************************************/ extern MAP_VEC MapTable[]; +extern void MapInit(void); extern MAPPING MapLoad(OBJECT filename, BOOLEAN recoded); extern FULL_CHAR MapCharEncoding(FULL_CHAR *str, MAPPING m); extern FULL_CHAR *MapEncodingName(MAPPING m); -extern void MapPrintEncodings(); +extern void MapPrintEncodings(void); extern void MapEnsurePrinted(MAPPING m, int curr_page); extern void MapPrintPSResources(FILE *fp); extern OBJECT MapSmallCaps(OBJECT x, STYLE *style); @@ -3430,6 +3445,7 @@ extern void FilterWrite(OBJECT x, FILE *fp, int *linecount); extern void FilterScavenge(BOOLEAN all); /***** z41.c Object Input-Output **************************************/ +extern void ReadFromFileInit(void); extern OBJECT ReadFromFile(FILE_NUM fnum, long pos, int lnum); extern void AppendToFile(OBJECT x, FILE_NUM fnum, int *pos, int *lnum); extern void CloseFiles(void); @@ -3515,8 +3531,8 @@ extern void PDFText_Close(FILE* in_fp); extern BOOLEAN PDFHasValidTextMatrix(void); /***** z49.c PostScript back end **************************************/ -extern BOOLEAN Encapsulated; extern BACK_END PS_BackEnd; +extern BACK_END PS_NullBackEnd; extern void PS_IncGRepeated(OBJECT x); extern int PS_FindIncGRepeated(OBJECT x, int typ); extern void PS_PrintEPSFile(FILE *fp, FILE_POS *pos); @@ -3528,6 +3544,7 @@ extern BACK_END PDF_BackEnd; /* PDF back end record */ /***** z51.c Plain text back end **************************************/ extern BACK_END Plain_BackEnd; /* Plain Text back end record */ +extern BACK_END Plain_NullBackEnd; /* Plain Text null back end record */ extern FULL_LENGTH PlainCharWidth; /* character width */ extern FULL_LENGTH PlainCharHeight; /* character height */ extern BOOLEAN PlainFormFeed; /* true if using \f */ diff --git a/include/README b/include/README index d4e5a84..a4153b6 100644 --- a/include/README +++ b/include/README @@ -31,6 +31,7 @@ Setup files (containing mainly lists of options settable by the user) blue Blue cprint C and C++ eiffel Eiffel + haskell Haskell java Java modula Modula-2 (quick hack, does not use prg2lout) np Nonpareil @@ -68,6 +69,7 @@ Source files containing Lout and PostScript source code for the packages bluef Blue cprintf C and C++ eiffelf Eiffel + haskellf Haskell javaf Java modulaf Modula-2 npf Nonpareil @@ -100,4 +102,4 @@ Miscellaneous source files Jeffrey H. Kingston -30 October 2002 +20 October 2006 diff --git a/include/blue b/include/blue index 6395b96..245e19d 100644 --- a/include/blue +++ b/include/blue @@ -33,6 +33,7 @@ @Use { @BlueSetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # numberedblanks { Yes } # No or Yes # style { varying @OrIfPlain fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -40,6 +41,7 @@ # fixedfont { Courier } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -65,6 +67,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingspace { lout } # spacing mode # varyingtabin { 8 } # tab interval # varyingtabout { 3f } # tab width @@ -90,6 +93,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/bluef b/include/bluef index c4fdb48..c4d4946 100644 --- a/include/bluef +++ b/include/bluef @@ -18,6 +18,7 @@ export @Blue def @BlueSetup named pipe { } # pipe through this named numbered { No } # numbered lines? + named blanknumbered { Yes } # blanks numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -27,6 +28,7 @@ def @BlueSetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width @@ -51,6 +53,7 @@ def @BlueSetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 8 } # tab interval named varyingtabout { 3f } # tab width @@ -75,6 +78,7 @@ def @BlueSetup named symbolfont { } # font family named symbolsize { 1.0f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 8 } # tab interval named symboltabout { 3f } # tab width @@ -103,23 +107,25 @@ def @BlueSetup @A "$>" def @Blue - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font - body @Body # filtered, see below + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font + body @Body # filtered, see below @Begin def @Test # returns x unless x is dft @@ -181,16 +187,26 @@ def @BlueSetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lBlue" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lBlue" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lBlue" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lBlue" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -223,6 +239,15 @@ def @BlueSetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -396,7 +421,7 @@ def @BlueSetup { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @Blue diff --git a/include/book b/include/book index 74e0a3a..a1285fc 100644 --- a/include/book +++ b/include/book @@ -3,7 +3,6 @@ # Lout setup file for books # # # # Jeffrey H. Kingston # -# 17 September 1999 # # # ############################################################################### @@ -60,6 +59,9 @@ # @ListIndent { 0s } # indent of list items # @ListRightIndent { 0s } # right indent of list items # @ListLabelWidth { 2.00f @OrIfPlain 5s } # width allowed for list tags + # @ListLabelRight { No } # right-adjust list labels + # @ListLabelRightGap { 2s } # gap when right-adjusting + # @ListBreak { } # break style of list items # @NumberSeparator { . } # separates nums like 2.3.7 # @CrossLinkFormat { @Body } # format of cross links # @ExternalLinkFormat { @Body } # format of external links @@ -208,6 +210,7 @@ # @IndexBTypeOrdinary { @PageNum } # Ordinary pagenum format # @IndexBTypeMain { @B @PageNum } # Main pagenum format # @IndexBTypeSpecial { @I @PageNum } # Special pagenum format + # @IndexBRangeFormat { @From--@To } # index page range format # @IndexBColumnNumber { 2 } # index B columns (1 to 10) # @IndexBColumnGap { 1.00c @OrIfPlain 6s } # index B column gap # @IndexBCtd { Yes } # include (ctd.) lines diff --git a/include/bookf b/include/bookf index b62619c..4ae9141 100644 --- a/include/bookf +++ b/include/bookf @@ -4,7 +4,6 @@ # @BookSetup extension to @DocumentSetup. # # # # Jeffrey H. Kingston # -# 17 September 1999 # # # # This package extends DocumentSetup with definitions for books. # # # diff --git a/include/bsf b/include/bsf index be86f21..12b19e6 100644 --- a/include/bsf +++ b/include/bsf @@ -4,10 +4,6 @@ # Lout @BasicSetup package # # # # Jeffrey H. Kingston # -# 5 February 1999 # -# Modified 30 October 2002 - reorganization of colours, textures, lengths # -# # -# Based on the first part of the @DocumentLayout package, version 3.11. # # # # This package contains basic symbols used widely throughout many # # documents, for font changes, particular characters, standard words in # @@ -104,7 +100,8 @@ export @InitialColour @OptimizePages @HeadingFont @ParaGap @ParaIndent @DisplayGap @DisplayIndent @DefaultIndent @DisplayNumStyle @WideIndent @VeryWideIndent - @ListGap @ListIndent @ListRightIndent @ListLabelWidth + @ListGap @ListIndent @ListRightIndent + @ListLabelWidth @ListLabelRight @ListLabelRightGap @ListBreak @NumberSeparator @Word @Roman @UCRoman @Alpha @UCAlpha @FnBullets @FnSymbols @@ -270,6 +267,9 @@ def @BasicSetup named @ListIndent { 0s } # indent of list items named @ListRightIndent{ 0s } # right indent of list items named @ListLabelWidth { 2.0f @OrIfPlain 5s } # width allowed for list tags + named @ListLabelRight { No } # right align label + named @ListLabelRightGap { 2s } # right align gap + named @ListBreak { } # break style of list item named @NumberSeparator{ . } # separates numbers like 2.3.7 import @BasicSetup named @CrossLinkFormat @@ -1468,26 +1468,40 @@ def @BasicSetup named itemindent { 0c } named rightindent { @ListRightIndent } named labelwidth { @ListLabelWidth } + named labelright { @ListLabelRight } + named labelrightgap { @ListLabelRightGap } named start { 1 } + named break { @ListBreak } + named colnum { 1 } + named colgap { 1.0c } + named colheight { 5.0c } { def @MakeList right num { def @NormalItem { + def @Align right x + { + labelright @Case { + { Yes yes } @Yield { labelwidth @Wide { |1rt @OneCol { x |labelrightgap } } } + else @Yield x + } + } + |indent labelwidth @Wide { # @NumberMarker @Value {style num} {style num} &0io # @NumberMarker @Value {num} {style type num} &0io - @NumberMarker @Value {type num} {style type num} &0io + @NumberMarker @Value {type num} {@Align style type num} &0io } - |itemindent @ItemPlace |rightindent + |itemindent break @Break @ItemPlace |rightindent //gap @MakeList @NotRevealed @Next num } def @ParagraphItem { @NumberMarker @Value {num} {style type num} &0io - |indent @ParagraphItemPlace |rightindent + |indent break @Break @ParagraphItemPlace |rightindent //gap @MakeList @NotRevealed @Next num } @@ -1519,7 +1533,45 @@ def @BasicSetup @MakeList start // @EndListPlace } - @ListGalleyPlace + def @ColPieceTwo + { + colheight @High 50c @Wide @ListGalleyPlace ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed + } + + def @ColPieceThree + { + colheight @High 50c @Wide @ListGalleyPlace ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed + } + + def @ColPieceFour + { + colheight @High 50c @Wide @ListGalleyPlace ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed + } + + def @ColPieceFive + { + colheight @High 50c @Wide @ListGalleyPlace ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed ||colgap + colheight @High 50c @Wide @ListGalleyPlace @NotRevealed + } + + colnum @Case + { + 1 @Yield @ListGalleyPlace + 2 @Yield @ColPieceTwo + 3 @Yield @ColPieceThree + 4 @Yield @ColPieceFour + 5 @Yield @ColPieceFive + else @Yield @ListGalleyPlace + } // @ListGalley } diff --git a/include/cprint b/include/cprint index 4974888..c237065 100644 --- a/include/cprint +++ b/include/cprint @@ -33,6 +33,7 @@ @Use { @CPSetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # blanknumbered { Yes } # No, NoPrint, or Yes # style { fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -40,6 +41,7 @@ # fixedfont { Courier } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -65,6 +67,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingspace { lout } # varying mode # varyingtabin { 8 } # tab interval # varyingtabout { 3f } # tab width @@ -90,6 +93,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/cprintf b/include/cprintf index 2d2e680..b31a7b3 100644 --- a/include/cprintf +++ b/include/cprintf @@ -18,6 +18,7 @@ export @CP def @CPSetup named pipe { } # pipe through this named numbered { No } # numbered lines? + named blanknumbered { Yes } # blanks numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -27,6 +28,7 @@ def @CPSetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width @@ -51,6 +53,7 @@ def @CPSetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 8 } # tab interval named varyingtabout { 3f } # tab width @@ -75,6 +78,7 @@ def @CPSetup named symbolfont { } # font family named symbolsize { 1.0f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 8 } # tab interval named symboltabout { 3f } # tab width @@ -103,22 +107,24 @@ def @CPSetup @A "$>" def @CP - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font body @Body # filtered, see below @Begin @@ -181,16 +187,26 @@ def @CPSetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lC" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lC" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lC" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lC" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -223,6 +239,15 @@ def @CPSetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -396,7 +421,7 @@ def @CPSetup { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @CP diff --git a/include/doc b/include/doc index 49ae1d6..4098f9b 100644 --- a/include/doc +++ b/include/doc @@ -3,7 +3,6 @@ # Lout setup file for ordinary documents # # # # Jeffrey H. Kingston # -# 5 February 1999 # # # ############################################################################### @@ -61,6 +60,9 @@ # @ListIndent { 0s } # indent of list items # @ListRightIndent { 0s } # right indent of list items # @ListLabelWidth { 2.00f @OrIfPlain 5s } # width allowed for list tags + # @ListLabelRight { No } # right-adjust list labels + # @ListLabelRightGap { 2s } # gap when right-adjusting + # @ListBreak { } # break style of list items # @NumberSeparator { . } # separates nums like 2.3.7 # @CrossLinkFormat { @Body } # format of cross links # @ExternalLinkFormat { @Body } # format of external links diff --git a/include/docf b/include/docf index 38b562f..bd8e875 100644 --- a/include/docf +++ b/include/docf @@ -4,8 +4,6 @@ # @OrdinarySetup extension to @DocumentSetup. # # # # Jeffrey H. Kingston # -# August 1994 # -# 5 February 1999 # # # # This package extends DocumentSetup for ordinary documents. # # # diff --git a/include/dsf b/include/dsf index 394fd1e..43a5ca1 100644 --- a/include/dsf +++ b/include/dsf @@ -15,6 +15,7 @@ # Version 3.16 by Jeffrey H. Kingston, May 1999. # # Version 3.17 by Jeffrey H. Kingston, September 1999. # # Version 3.21 by Jeffrey H. Kingston, May 2000. # +# Minor changes in later versions undated. # # # # This Lout package contains the general definitions used by all types of # # documents. It needs to be extended (see docf, reportf, bookf, slidesf, # diff --git a/include/eiffel b/include/eiffel index 8ce7973..e7dc0b8 100644 --- a/include/eiffel +++ b/include/eiffel @@ -33,6 +33,7 @@ @Use { @EiffelSetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # numberedblanks { Yes } # No or Yes # style { varying @OrIfPlain fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -40,6 +41,7 @@ # fixedfont { Courier } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -65,6 +67,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingspace { lout } # spacing mode # varyingtabin { 8 } # tab interval # varyingtabout { 3f } # tab width @@ -90,6 +93,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/eiffelf b/include/eiffelf index f456392..f5cfc67 100644 --- a/include/eiffelf +++ b/include/eiffelf @@ -18,6 +18,7 @@ export @Eiffel def @EiffelSetup named pipe { } # pipe through this first named numbered { No } # want lines numbered? + named blanknumbered { Yes } # blank lines numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -27,6 +28,7 @@ def @EiffelSetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width @@ -51,6 +53,7 @@ def @EiffelSetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 8 } # tab interval named varyingtabout { 3f } # tab width @@ -75,6 +78,7 @@ def @EiffelSetup named symbolfont { } # font family named symbolsize { 1.0f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 8 } # tab interval named symboltabout { 3f } # tab width @@ -103,23 +107,25 @@ def @EiffelSetup @A "$>" def @Eiffel - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font - body @Body # filtered, see below + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font + body @Body # filtered, see below @Begin def @Test # returns x unless x is dft @@ -181,16 +187,26 @@ def @EiffelSetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lEiffel" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lEiffel" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lEiffel" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lEiffel" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -223,6 +239,15 @@ def @EiffelSetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -396,7 +421,7 @@ def @EiffelSetup { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @Eiffel diff --git a/include/haskell b/include/haskell index 52d5448..025ab25 100644 --- a/include/haskell +++ b/include/haskell @@ -33,6 +33,7 @@ @Use { @HaskellSetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # numberedblanks { Yes } # No or Yes # style { symbol @OrIfPlain fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -40,6 +41,7 @@ # fixedfont { Courier } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -65,6 +67,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingspace { lout } # spacing mode # varyingtabin { 8 } # tab interval # varyingtabout { 3f } # tab width @@ -90,6 +93,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/haskellf b/include/haskellf index 8a019f2..b1064a1 100644 --- a/include/haskellf +++ b/include/haskellf @@ -18,6 +18,7 @@ export @Haskell def @HaskellSetup named pipe { } # pipe through this first named numbered { No } # want lines numbered? + named blanknumbered { Yes } # blank lines numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -27,6 +28,7 @@ def @HaskellSetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 4 } # tab interval named fixedtabout { 4s } # tab width @@ -54,6 +56,7 @@ def @HaskellSetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 4 } # tab interval named varyingtabout { 1.5f } # tab width @@ -81,6 +84,7 @@ def @HaskellSetup named symbolfont { } # font family named symbolsize { 1f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 4 } # tab interval named symboltabout { 1.7f } # tab width @@ -112,24 +116,26 @@ def @HaskellSetup @A "$>" def @Haskell - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named braces { dft } # braces font - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font - body @Body # filtered, see below + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named braces { dft } # braces font + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font + body @Body # filtered, see below @Begin def @Test # returns x unless x is dft @@ -191,16 +197,26 @@ def @HaskellSetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lHaskell" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lHaskell" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lHaskell" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lHaskell" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -233,6 +249,15 @@ def @HaskellSetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -473,7 +498,7 @@ def @HaskellSetup { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @Haskell diff --git a/include/java b/include/java index 41fd1f7..4d747c0 100644 --- a/include/java +++ b/include/java @@ -33,6 +33,7 @@ @Use { @JavaSetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # numberedblanks { Yes } # No or Yes # style { fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -40,6 +41,7 @@ # fixedfont { Courier } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -65,6 +67,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingspace { lout } # spacing mode # varyingtabin { 8 } # tab interval # varyingtabout { 3f } # tab width @@ -90,6 +93,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/javaf b/include/javaf index fb84541..e0cf8ea 100644 --- a/include/javaf +++ b/include/javaf @@ -18,6 +18,7 @@ export @Java def @JavaSetup named pipe { } # pipe through this first named numbered { No } # want lines numbered? + named blanknumbered { Yes } # blank lines numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -27,6 +28,7 @@ def @JavaSetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width @@ -51,6 +53,7 @@ def @JavaSetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 8 } # tab interval named varyingtabout { 3f } # tab width @@ -75,6 +78,7 @@ def @JavaSetup named symbolfont { } # font family named symbolsize { 1.0f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 8 } # tab interval named symboltabout { 3f } # tab width @@ -103,23 +107,25 @@ def @JavaSetup @A "$>" def @Java - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font - body @Body # filtered, see below + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font + body @Body # filtered, see below @Begin def @Test # returns x unless x is dft @@ -181,16 +187,26 @@ def @JavaSetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lJava" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lJava" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lJava" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lJava" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -223,6 +239,15 @@ def @JavaSetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -396,7 +421,7 @@ def @JavaSetup { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @Java diff --git a/include/np b/include/np index 1ccd4bb..4e9e625 100644 --- a/include/np +++ b/include/np @@ -32,6 +32,7 @@ @Use { @NonpareilSetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # numberedblanks { Yes } # No or Yes # style { symbol @OrIfPlain fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -39,6 +40,7 @@ # fixedfont { Courier } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -64,6 +66,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingspace { lout } # varying mode # varyingtabin { 8 } # tab interval # varyingtabout { 3f } # tab width @@ -89,6 +92,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/npf b/include/npf index 258529d..aa2230f 100644 --- a/include/npf +++ b/include/npf @@ -17,6 +17,7 @@ export @Nonpareil def @NonpareilSetup named pipe { } # pipe through this named numbered { No } # numbered lines? + named blanknumbered { Yes } # blanks numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -26,6 +27,7 @@ def @NonpareilSetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width @@ -50,6 +52,7 @@ def @NonpareilSetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 8 } # tab interval named varyingtabout { 3f } # tab width @@ -74,6 +77,7 @@ def @NonpareilSetup named symbolfont { } # font family named symbolsize { 1.0f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 8 } # tab interval named symboltabout { 3f } # tab width @@ -102,23 +106,25 @@ def @NonpareilSetup @A "$>" def @Nonpareil - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font - body @Body # filtered, see below + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font + body @Body # filtered, see below @Begin def @Test # returns x unless x is dft @@ -180,16 +186,26 @@ def @NonpareilSetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lNonpareil" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lNonpareil" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lNonpareil" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lNonpareil" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -222,6 +238,15 @@ def @NonpareilSetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -395,7 +420,7 @@ def @NonpareilSetup { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @Nonpareil diff --git a/include/perl b/include/perl index 4a886f3..b2ab51f 100644 --- a/include/perl +++ b/include/perl @@ -51,6 +51,7 @@ @Use { @PerlSetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # numberedblanks { Yes } # No or Yes # style { fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -58,6 +59,7 @@ # fixedfont { Courier } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -83,6 +85,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingtabin { 8 } # tab interval # varyingspace { lout } # spacing mode # varyingtabout { 3f } # tab width @@ -108,6 +111,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/perlf b/include/perlf index 8a12ceb..28b699a 100644 --- a/include/perlf +++ b/include/perlf @@ -18,6 +18,7 @@ export @Perl def @PerlSetup named pipe { } # pipe through this named numbered { No } # numbered lines? + named blanknumbered { Yes } # blanks numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -27,6 +28,7 @@ def @PerlSetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width @@ -51,6 +53,7 @@ def @PerlSetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 8 } # tab interval named varyingtabout { 3f } # tab width @@ -75,6 +78,7 @@ def @PerlSetup named symbolfont { } # font family named symbolsize { 1.0f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 8 } # tab interval named symboltabout { 3f } # tab width @@ -103,23 +107,25 @@ def @PerlSetup @A "$>" def @Perl - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font - body @Body # filtered, see below + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font + body @Body # filtered, see below @Begin def @Test # returns x unless x is dft @@ -181,16 +187,26 @@ def @PerlSetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lPerl" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lPerl" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lPerl" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lPerl" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -223,6 +239,15 @@ def @PerlSetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -396,7 +421,7 @@ def @PerlSetup { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @Perl diff --git a/include/picture b/include/picture index ec8efc9..d81dbe5 100644 --- a/include/picture +++ b/include/picture @@ -3,7 +3,6 @@ # Lout setup file for stand-alone illustrations # # # # Jeffrey H. Kingston # -# 5 February 1999 # # # ############################################################################### @@ -61,6 +60,9 @@ # @ListIndent { 0s } # indent of list items # @ListRightIndent { 0s } # right indent of list items # @ListLabelWidth { 2.00f @OrIfPlain 5s } # width allowed for list tags + # @ListLabelRight { No } # right-adjust list labels + # @ListLabelRightGap { 2s } # gap when right-adjusting + # @ListBreak { } # break style of list items # @NumberSeparator { . } # separates nums like 2.3.7 # @CrossLinkFormat { @Body } # format of cross links # @ExternalLinkFormat { @Body } # format of external links diff --git a/include/picturef b/include/picturef index 6987079..75e3140 100644 --- a/include/picturef +++ b/include/picturef @@ -4,7 +4,6 @@ # @IllustrationSetup extension to @DocumentSetup. # # # # Jeffrey H. Kingston # -# August 1994 # # # # This package extends DocumentSetup for illustrations. # # # diff --git a/include/python b/include/python index 9216ca5..7fbac8a 100644 --- a/include/python +++ b/include/python @@ -33,6 +33,7 @@ @Use { @PythonSetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # numberedblanks { Yes } # No or Yes # style { varying @OrIfPlain fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -40,6 +41,7 @@ # fixedfont { Courier } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -65,6 +67,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingspace { lout } # spacing mode # varyingtabin { 8 } # tab interval # varyingtabout { 3f } # tab width @@ -90,6 +93,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/pythonf b/include/pythonf index 712c399..c05e4f4 100644 --- a/include/pythonf +++ b/include/pythonf @@ -18,6 +18,7 @@ export @Python def @PythonSetup named pipe { } # pipe through this first named numbered { No } # want lines numbered? + named blanknumbered { Yes } # blank lines numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -27,6 +28,7 @@ def @PythonSetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width @@ -51,6 +53,7 @@ def @PythonSetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 8 } # tab interval named varyingtabout { 3f } # tab width @@ -75,6 +78,7 @@ def @PythonSetup named symbolfont { } # font family named symbolsize { 1.0f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 8 } # tab interval named symboltabout { 3f } # tab width @@ -103,23 +107,25 @@ def @PythonSetup @A "$>" "''" def @Python - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font - body @Body # filtered, see below + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font + body @Body # filtered, see below @Begin def @Test # returns x unless x is dft @@ -181,16 +187,26 @@ def @PythonSetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lPython" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lPython" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lPython" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lPython" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -223,6 +239,15 @@ def @PythonSetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -400,7 +425,7 @@ def @PythonSetup def "''" { "''" } { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @Python diff --git a/include/report b/include/report index 7f2523d..0d216b8 100644 --- a/include/report +++ b/include/report @@ -3,8 +3,6 @@ # Lout setup file for technical reports # # # # Jeffrey H. Kingston # -# 5 February 1999 # -# 17 September 1999 # # # # Note: this version, released with Lout Version 3.13, is not upwardly # # compatible with previous versions: the @Abstract symbol must now # @@ -66,6 +64,9 @@ # @ListIndent { 0s } # indent of list items # @ListRightIndent { 0s } # right indent of list items # @ListLabelWidth { 2.00f @OrIfPlain 5s } # width allowed for list tags + # @ListLabelRight { No } # right-adjust list labels + # @ListLabelRightGap { 2s } # gap when right-adjusting + # @ListBreak { } # break style of list items # @NumberSeparator { . } # separates nums like 2.3.7 # @CrossLinkFormat { @Body } # format of cross links # @ExternalLinkFormat { @Body } # format of external links diff --git a/include/reportf b/include/reportf index ebef8b5..f8e92a3 100644 --- a/include/reportf +++ b/include/reportf @@ -4,7 +4,6 @@ # @ReportSetup extension to @DocumentSetup. # # # # Jeffrey H. Kingston # -# August 1994 # # # # This package extends DocumentSetup with definitions for reports. # # # diff --git a/include/rsl b/include/rsl index 3411034..a6c7928 100644 --- a/include/rsl +++ b/include/rsl @@ -34,6 +34,7 @@ @Use { @RSLSetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # numberedblanks { Yes } # No or Yes # style { symbol @OrIfPlain fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -41,6 +42,7 @@ # fixedfont { Courier } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -66,6 +68,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingspace { lout } # spacing mode # varyingtabin { 8 } # tab interval # varyingtabout { 3f } # tab width @@ -91,6 +94,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/rslf b/include/rslf index 0680138..a708e3b 100644 --- a/include/rslf +++ b/include/rslf @@ -18,6 +18,7 @@ export @RSL def @RSLSetup named pipe { } # pipe through this first named numbered { No } # want lines numbered? + named blanknumbered { Yes } # blank lines numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -27,6 +28,7 @@ def @RSLSetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width @@ -51,6 +53,7 @@ def @RSLSetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 8 } # tab interval named varyingtabout { 3f } # tab width @@ -75,6 +78,7 @@ def @RSLSetup named symbolfont { } # font family named symbolsize { 1.0f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 8 } # tab interval named symboltabout { 3f } # tab width @@ -103,22 +107,24 @@ def @RSLSetup @FA @A @PartialFn @Map @PartialMap @IntChoice @ExtChoice @InfList @Interlock "$>" def @RSL - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font body @Body # filtered, see below @Begin @@ -181,16 +187,26 @@ def @RSLSetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lRSL" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lRSL" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lRSL" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lRSL" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -223,6 +239,15 @@ def @RSLSetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -454,7 +479,7 @@ def @RSLSetup { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @RSL diff --git a/include/ruby b/include/ruby index 6a82b55..c5895a0 100644 --- a/include/ruby +++ b/include/ruby @@ -33,6 +33,7 @@ @Use { @RubySetup # pipe { } # pipe source through this # numbered { No } # No, Yes, or a line number + # numberedblanks { Yes } # No or Yes style { fixed @OrIfPlain fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -40,6 +41,7 @@ # fixedfont { LetterGothic } # font family # fixedsize { -1.0p } # font size # fixedline { 1.0vx } # line-space + # fixedblanklinescale { 1.0 } # blank-line scale # fixedspace { lout } # spacing mode # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width @@ -65,6 +67,7 @@ # varyingfont { } # font family # varyingsize { 1.0f } # font size # varyingline { 1.0vx } # line-space + # varyingblanklinescale { 1.0 } # blank-line scale # varyingspace { lout } # spacing mode # varyingtabin { 8 } # tab interval # varyingtabout { 3f } # tab width @@ -90,6 +93,7 @@ # symbolfont { } # font family # symbolsize { 1.0f } # font size # symbolline { 1.0vx } # line-space + # symbolblanklinescale { 1.0 } # blank-line scale # symbolspace { lout } # spacing mode # symboltabin { 8 } # tab interval # symboltabout { 3f } # tab width diff --git a/include/rubyf b/include/rubyf index e7f607a..1d30c54 100644 --- a/include/rubyf +++ b/include/rubyf @@ -18,6 +18,7 @@ export @Ruby def @RubySetup named pipe { } # pipe through this first named numbered { No } # want lines numbered? + named blanknumbered { Yes } # blank lines numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -27,6 +28,7 @@ def @RubySetup named fixedfont { Courier }# font family named fixedsize { -1.0p } # font size named fixedline { 1.0vx } # line-space + named fixedblanklinescale { 1.0 } # blank-line scale named fixedspace { lout } # spacing mode named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width @@ -51,6 +53,7 @@ def @RubySetup named varyingfont { } # font family named varyingsize { 1.0f } # font size named varyingline { 1.0vx } # line-space + named varyingblanklinescale { 1.0 } # blank-line scale named varyingspace { lout } # spacing mode named varyingtabin { 8 } # tab interval named varyingtabout { 3f } # tab width @@ -75,6 +78,7 @@ def @RubySetup named symbolfont { } # font family named symbolsize { 1.0f } # font size named symbolline { 1.0vx } # line-space + named symbolblanklinescale { 1.0 } # blank-line scale named symbolspace { lout } # spacing mode named symboltabin { 8 } # tab interval named symboltabout { 3f } # tab width @@ -103,22 +107,24 @@ def @RubySetup @A "$>" def @Ruby - named style { style } # style - named numbered { numbered } # want numbered lines? - named pipe { pipe } # pipe through this first - named font { dft } # font family - named size { dft } # font size - named line { dft } # line-space - named space { dft } # spacing mode - named tabin { dft } # tab interval - named tabout { dft } # tab width - named identifiers { dft } # ident. font - named keywords { dft } # keyword font - named operators { dft } # operator font - named numbers { dft } # number font - named strings { dft } # string font - named comments { dft } # comment font - named linenumbers { dft } # line numbers font + named style { style } # style + named numbered { numbered } # want numbered lines? + named blanknumbered { blanknumbered } # numbered blank lines? + named pipe { pipe } # pipe through this first + named font { dft } # font family + named size { dft } # font size + named line { dft } # line-space + named blanklinescale { dft } # blank-line scale + named space { dft } # spacing mode + named tabin { dft } # tab interval + named tabout { dft } # tab width + named identifiers { dft } # ident. font + named keywords { dft } # keyword font + named operators { dft } # operator font + named numbers { dft } # number font + named strings { dft } # string font + named comments { dft } # comment font + named linenumbers { dft } # line numbers font body @Body # filtered, see below @Begin @@ -181,16 +187,26 @@ def @RubySetup } } + def wantblanknumbered + { + blanknumbered @Case { + { No no } @Yield "-M" + { NoPrint noprint } @Yield "-N" + { Yes yes } @Yield "" + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lRuby" wantnumbered -i{@FilterIn} - -o{@FilterOut} -e{@FilterErr} + "prg2lout -r -lRuby" wantblanknumbered wantnumbered + -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lRuby" wantnumbered -o{@FilterOut} - -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lRuby" wantblanknumbered wantnumbered + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } } } @@ -223,6 +239,15 @@ def @RubySetup } + def @InitBLS + { + blanklinescale @Test + iffixed { fixedblanklinescale } + ifvarying { varyingblanklinescale } + ifsymbol { symbolblanklinescale } + } + + def @InitSpace { space @Test @@ -399,7 +424,7 @@ def @RubySetup { @InitFontFamily Base @InitSize } @Font @InitSpace @Space - { @InitLine lines nohyphen } @Break @Body + { @InitLine lines nohyphen "blanklinescale" @InitBLS } @Break @Body @End @Ruby diff --git a/include/save_graphf b/include/save_graphf deleted file mode 100644 index 8bb9d05..0000000 --- a/include/save_graphf +++ /dev/null @@ -1,891 +0,0 @@ - -############################################################################### -# # -# Lout @Graph package for drawing graphs (Version 1.0) # -# # -# Version 1.0 by Jeffrey H. Kingston, December 1993. # -# # -# This package draws graphs, the statistical kind not the graph-theoretical # -# kind. See the User's Guide (Advanced Graphics) for user info. # -# # -############################################################################### - -@SysInclude { graphf.etc } # @GraphMath -@SysInclude { lengths } # @LoutLengths -@SysInclude { coltex } # @ColourCommand and @TextureCommand -@SysPrependGraphic { graphf.lpg } - - -def @GraphObj - left p - named margin { 0c } - named adj { 0 0 } - right x -{ - @BackEnd @Case { - PostScript @Yield { - @Null & # kills previous white space - @HContract @VContract { - //0io ||0io @HContract @VContract - { p "trpoint translate" adj "translate gsave" // "grestore" } - @Graphic { //margin ||margin x ||margin //margin } - ||0io //0io - } - } -# VT: PDF does nothing - PDF @Yield { - @Null & # kills previous white space - @HContract @VContract { - //0io ||0io @HContract @VContract - { "% @GraphObj UNIMPLEMENTED" } - @Graphic { //margin ||margin x ||margin //margin } - ||0io //0io - } - } - } -} - -def @GraphCross - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - - PostScript @Yield { - @HContract @VContract - { "newpath 0 0 moveto xsize ysize lineto 0 ysize moveto" - "xsize 0 lineto [] 0 setdash stroke" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract - { "n [] 0 d 0 0 m __xsize __ysize l 0 __ysize m __xsize 0 l S"} - # uses S because PostScript version does NOT use closepath - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphPlus - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - - PostScript @Yield { - @HContract @VContract - { "newpath xmark 0 moveto xmark ysize lineto 0 ymark moveto" - "xsize ymark lineto [] 0 setdash stroke" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract - { "n [] 0 d __xmark 0 m __xmark __ysize l 0 __ymark m __xsize __ymark l S"} - # uses S because PostScript version does NOT use closepath - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphSquare - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - - PostScript @Yield { - @HContract @VContract - { "newpath 0 0 moveto xsize 0 lineto xsize ysize lineto" - "0 ysize lineto closepath [] 0 setdash stroke" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract - {"n [] 0 d 0 0 __xsize __ysize re s"} - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphFilledSquare - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - - PostScript @Yield { - @HContract @VContract - { "newpath 0 0 moveto xsize 0 lineto xsize ysize lineto" - "0 ysize lineto closepath gsave [] 0 setdash stroke grestore fill" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract - {"n [] 0 d 0 0 __xsize __ysize re b"} - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphDiamond - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - - PostScript @Yield { - @HContract @VContract - { "newpath 0 ymark moveto xmark 0 lineto xsize ymark lineto" - "xmark ysize lineto closepath [] 0 setdash stroke" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract - {"n [] 0 d 0 __ymark m __xmark 0 l __xsize __ymark l __xmark __ysize l s"} - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphFilledDiamond - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - - PostScript @Yield { - @HContract @VContract - { "newpath 0 ymark moveto xmark 0 lineto xsize ymark lineto" - "xmark ysize lineto closepath gsave [] 0 setdash stroke grestore fill" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract - {"n [] 0 d 0 __ymark m __xmark 0 l __xsize __ymark l __xmark __ysize l b" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphCircle - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - - PostScript @Yield { - @HContract @VContract - { "newpath xmark ymark xmark 0 360 arc" - "[] 0 setdash stroke" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract -# -# draw a circle whose centre is at (xmark, ymark) and whose radius is xmark units; -# -# for curveto to work, we need to calculate the control points of the Bezier curve -# as well as move the pen to the correct initial point. The circle is drawn as two -# arcs of 180 degrees -# -# pt0 = (xmark + xmark, ymark) -# pt1 = (xmark + xmark, ymark + 4/3 * xmark) -# pt2 = (0, ymark + 4/3 * xmark) -# pt3 = (0, ymark) -# -# pt0 = (0, ymark) -# pt1 = (0, ymark - 4/3 * xmark) -# pt2 = (xmark + xmark, ymark - 4/3 * xmark) -# pt3 = (xmark + xmark, ymark) -# - {"n [] 0 d" - "__mul(2, __xmark) __ymark m" - "__mul(2, __xmark) __add(__ymark, __div(__mul(4, __xmark), 3))" # pt1 - "0 __add(__ymark, __div(__mul(4, __xmark), 3))" # pt2 - "0 __ymark c" # pt3 - - "0 __sub(__ymark, __div(__mul(4, __xmark), 3))" # pt1 - "__mul(2, __xmark) __sub(__ymark, __div(__mul(4, __xmark), 3))" # pt2 - "__mul(2, __xmark) __ymark c S" # pt3 - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphFilledCircle - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - PostScript @Yield { - @HContract @VContract - { "newpath xmark ymark xmark 0 360 arc" - "gsave [] 0 setdash stroke grestore fill" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract -# -# draw a filled circle whose centre is at (xmark, ymark) and whose radius is xmark units; -# -# for curveto to work, we need to calculate the control points of the Bezier curve -# as well as move the pen to the correct initial point. The circle is drawn as two -# arcs of 180 degrees -# -# pt0 = (xmark + xmark, ymark) -# pt1 = (xmark + xmark, ymark + 4/3 * xmark) -# pt2 = (0, ymark + 4/3 * xmark) -# pt3 = (0, ymark) -# -# pt0 = (0, ymark) -# pt1 = (0, ymark - 4/3 * xmark) -# pt2 = (xmark + xmark, ymark - 4/3 * xmark) -# pt3 = (xmark + xmark, ymark) -# -# Note: this is not a strict translation because there is a setdash bracketed by -# gsave/grestore in the above PostScript but there is no closepath before it; -# but in PDF, it is not possible to execute a setdash within a path definition. -# - {"n [] 0 d" - "__mul(2, __xmark) __ymark m" - "__mul(2, __xmark) __add(__ymark, __div(__mul(4, __xmark), 3))" # pt1 - "0 __add(__ymark, __div(__mul(4, __xmark), 3))" # pt2 - "0 __ymark c" # pt3 - - "0 __sub(__ymark, __div(__mul(4, __xmark), 3))" # pt1 - "__mul(2, __xmark) __sub(__ymark, __div(__mul(4, __xmark), 3))" # pt2 - "__mul(2, __xmark) __ymark c b" # pt3 - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphTriangle - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - - PostScript @Yield { - @HContract @VContract - { "newpath 0 0 moveto xsize 0 lineto xmark ysize 1.25 mul lineto" - "closepath [] 0 setdash stroke" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract - {"n [] 0 d 0 0 m __xsize 0 l __xmark __mul(__ysize, 1.25) l s"} - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphFilledTriangle - import @LoutLengths named symbolsize { 0.15f } -{ - @BackEnd @Case { - - PostScript @Yield { - @HContract @VContract - { "newpath 0 0 moveto xsize 0 lineto xmark ysize 1.25 mul lineto" - "closepath gsave [] 0 setdash stroke grestore fill" - } - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - PDF @Yield { - @HContract @VContract - {"n [] 0 d 0 0 m __xsize 0 l __xmark __mul(__ysize, 1.25) l h b"} - @Graphic - {symbolsize @High symbolsize @Wide ^| symbolsize @Wide ^/ symbolsize @High} - } - - } -} - -def @GraphNoLine - import @PSLengths named dashlength { 0.2f } - import @PSLengths named linewidth { "currentlinewidth" } - import @LoutLengths named length { 1.0f } -{ - length @Wide {} -} - -def @GraphSolid - import @PSLengths named dashlength { 0.2f } - import @PSLengths named linewidth { "currentlinewidth" } - import @LoutLengths named length { 1.0f } -{ - @BackEnd @Case { - PostScript @Yield { - @HContract @VContract - { "xsize 0 lgraphdict begin newpath 0 0 moveto lineto" - "/linewidth" linewidth "def xsize" dashlength "solid end" - } @Graphic { length @Wide } - } -# VT: PDF does nothing - PDF @Yield { - @HContract @VContract - { "% @GraphSolid UNIMPLEMENTED" } @Graphic { length @Wide } - } - } -} - -def @GraphDashed - import @PSLengths named dashlength { 0.2f } - import @PSLengths named linewidth { "currentlinewidth" } - import @LoutLengths named length { 1.0f } -{ - @BackEnd @Case { - PostScript @Yield { - @HContract @VContract - { "xsize 0 lgraphdict begin newpath 0 0 moveto lineto" - "/linewidth" linewidth "def xsize" dashlength "dashed end" - } @Graphic { length @Wide } - } -# VT: PDF does nothing - PDF @Yield { - @HContract @VContract - { "% @GraphDashed UNIMPLEMENTED" } @Graphic { length @Wide } - } - } -} - -def @GraphDotted - import @PSLengths named dashlength { 0.2f } - import @PSLengths named linewidth { "currentlinewidth" } - import @LoutLengths named length { 1.0f } -{ - @BackEnd @Case { - PostScript @Yield { - @HContract @VContract - { "xsize 0 lgraphdict begin newpath 0 0 moveto lineto" - "/linewidth" linewidth "def xsize" dashlength "dotted end" - } @Graphic { length @Wide } - } -# VT: PDF does nothing - PDF @Yield { - @HContract @VContract - { "% @GraphDotted UNIMPLEMENTED" } @Graphic { length @Wide } - } - } -} - -def @GraphDotDashed - import @PSLengths named dashlength { 0.2f } - import @PSLengths named linewidth { "currentlinewidth" } - import @LoutLengths named length { 1.0f } -{ - @BackEnd @Case { - PostScript @Yield { - @HContract @VContract - { "xsize 0 lgraphdict begin newpath 0 0 moveto lineto" - "/linewidth" linewidth "def xsize" dashlength "dotdashed end" - } @Graphic { length @Wide } - } -# VT: PDF does nothing - PDF @Yield { - @HContract @VContract - { "% @GraphDotDashed UNIMPLEMENTED" } @Graphic { length @Wide } - } - } -} - -def @GraphDotDotDashed - import @PSLengths named dashlength { 0.2f } - import @PSLengths named linewidth { "currentlinewidth" } - import @LoutLengths named length { 1.0f } -{ - @BackEnd @Case { - PostScript @Yield { - @HContract @VContract - { "xsize 0 lgraphdict begin newpath 0 0 moveto lineto" - "/linewidth" linewidth "def xsize" dashlength "dotdotdashed end" - } @Graphic { length @Wide } - } -# VT: PDF does nothing - PDF @Yield { - @HContract @VContract - { "% @GraphDotDotDashed UNIMPLEMENTED" } @Graphic { length @Wide } - } - } -} - -def @GraphDotDotDotDashed - import @PSLengths named dashlength { 0.2f } - import @PSLengths named linewidth { "currentlinewidth" } - import @LoutLengths named length { 1.0f } -{ - @BackEnd @Case { - PostScript @Yield { - @HContract @VContract - { "xsize 0 lgraphdict begin newpath 0 0 moveto lineto" - "/linewidth" linewidth "def xsize" dashlength "dotdotdotdashed end" - } @Graphic { length @Wide } - } -# VT: PDF does nothing - PDF @Yield { - @HContract @VContract - { "% @GraphDotDotDotDashed UNIMPLEMENTED" } @Graphic { length @Wide } - } - } -} - - -export @Data -def @Graph - named save { no } - named style { frame } - import @LoutLengths named width { 6.0c } - import @LoutLengths named height { 4.0c } - import @PSLengths named xextra { "none" } - import @PSLengths named yextra { "none" } - named xdecreasing { no } - named ydecreasing { no } - named leftcaption { } - named rightcaption { } - named abovecaption { } - named belowcaption { } - import @LoutLengths named leftgap { 1.5c } - import @LoutLengths named rightgap { 0.5c } - import @LoutLengths named abovegap { 0.5c } - import @LoutLengths named belowgap { 0.5c } - named hidecaptions { yes } - named objects - named @NW - import @GraphMath named at { 0 0 } - import @LoutLengths named margin { 0.3f } - right x - { at @GraphObj adj { "xsize neg ysize" } margin { margin } x } - named @SW - import @GraphMath named at { 0 0 } - import @LoutLengths named margin { 0.3f } - right x - { at @GraphObj adj { "xsize neg 0" } margin { margin } x } - named @SE - import @GraphMath named at { 0 0 } - import @LoutLengths named margin { 0.3f } - right x - { at @GraphObj adj { "0 0" } margin { margin } x } - named @NE - import @GraphMath named at { 0 0 } - import @LoutLengths named margin { 0.3f } - right x - { at @GraphObj adj { "0 ysize" } margin { margin } x } - named @W - import @GraphMath named at { 0 0 } - import @LoutLengths named margin { 0.3f } - right x - { at @GraphObj adj { "xsize neg ysize 2 div" } margin { margin } x } - named @S - import @GraphMath named at { 0 0 } - import @LoutLengths named margin { 0.3f } - right x - { at @GraphObj adj { "xsize neg 2 div 0" } margin { margin } x } - named @E - import @GraphMath named at { 0 0 } - import @LoutLengths named margin { 0.3f } - right x - { at @GraphObj adj { "0 ysize 2 div" } margin { margin } x } - named @N - import @GraphMath named at { 0 0 } - import @LoutLengths named margin { 0.3f } - right x - { at @GraphObj adj { "xsize neg 2 div ysize" } margin { margin } x } - named @CTR - import @GraphMath named at { 0 0 } - import @LoutLengths named margin { 0.3f } - right x - { at @GraphObj adj { "xsize neg 2 div ysize 2 div" } margin {margin} x } - {} - named xorigin named none { "false" } { none } - named yorigin named none { "false" } { none } - named xlog named none { "0" } { none } - named ylog named none { "0" } { none } - named points named none { "none" } { none } - named pairs named none { "none" } { none } - named colour color named none { "none" } { none } - named paint named none { "none" } { none } - import @TextureImport named texture { solid } - named xmin named none { "false" } { none } - named xmax named none { "false" } { none } - named ymin named none { "false" } { none } - named ymax named none { "false" } { none } - named xticksep named none { "0" } { none } - named yticksep named none { "0" } { none } - named rticksep named none { "0" } { none } - import @GraphMath named xticks - named none { "false" } - named auto { "false" } - named "@" { " lgen" } - named "^" { "^" } - { false } - import @GraphMath named yticks - named none { "false" } - named auto { "false" } - named "@" { " lgen" } - named "^" { "^" } - { false } - import @GraphMath named rticks - named none { "false" } - named auto { "false" } - named "@" { " lgen" } - named "^" { "^" } - { } - import @PSLengths named xticklength { 0.5f } - import @PSLengths named yticklength { 0.5f } - import @PSLengths named rticklength { 0.5f } - named dataformat { xandy } - import @PSLengths named dashlength { 0.2f } - import @PSLengths named linewidth { "currentlinewidth" } - import @PSLengths named symbolsize { 0.15f } - body @Body -@Begin - - def @Above - { - abovecaption @Case { - "" @Yield {} - else @Yield @OneCol { ||0.5rt clines @Break abovecaption || //abovegap } - } - } - - def @Below - { - belowcaption @Case { - "" @Yield {} - else @Yield @OneCol { //belowgap ||0.5rt clines @Break belowcaption || } - } - } - - def @Left - { - leftcaption @Case { - "" @Yield {} - else @Yield @OneCol @OneRow { - { //0.5rt @OneRow clines @Break leftcaption // } ^||leftgap } - } - } - - def @Right - { - rightcaption @Case { - "" @Yield {} - else @Yield @OneCol @OneRow { - ||rightgap { //0.5rt @OneRow lines @Break rightcaption // } } - } - } - - def @ZeroWidth - right x - { - hidecaptions @Case { - { No no } @Yield x - { Yes yes } @Yield @OneCol { ||0io x ||0io } - } - } - - def @AddCaptions right x - { - def belowextra - { - xticks @Case { - "" @Yield { 0i } - else @Yield { 1.7f } - } - } - - @HContract @VContract - { - | @Above | - / @ZeroWidth @Left | &0.5rt x | @ZeroWidth @Right - /belowextra | @Below | - } - } - - export pi e sqrt abs ceiling floor truncate round cos sin atan exp log rand - "*" "/" idiv mod "-" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" - "-9" "-." "+" "=" "!=" "<" "<=" ">" ">=" not and xor or - if xloop yloop zloop - - def @Data - named points named none { "none" } { points } - named pairs named none { "none" } { pairs } - named colour color named none { "none" } { colour } - named paint named none { "none" } { paint } - import @TextureImport named texture { texture } - import @PSLengths named dashlength { dashlength } - import @PSLengths named linewidth { linewidth } - import @PSLengths named symbolsize { symbolsize } - named dataformat { dataformat } - body data - { - def pi { "3.14159" } - def e { "2.71828" } - def sqrt precedence 40 right y { y "sqrt" } - def abs precedence 40 right y { y "abs" } - def ceiling precedence 40 right y { y "ceiling" } - def floor precedence 40 right y { y "floor" } - def truncate precedence 40 right y { y "truncate" } - def round precedence 40 right y { y "round" } - def cos precedence 40 right y { y "cos" } - def sin precedence 40 right y { y "sin" } - def atan precedence 39 left x right y { x y "atan" } - def exp precedence 38 left x right y { x y "exp" } - def log precedence 37 left x right y { x y "dolog" } - def rand precedence 36 left x right y { x y "dorand" } - def "*" precedence 35 left x right y { x y "mul" } - def "/" precedence 34 left x right y { x y "div" } - def idiv precedence 34 left x right y { x y "idiv" } - def mod precedence 34 left x right y { x y "mod" } - def "-" precedence 33 left x right y - { x @Case { "" @Yield {y "neg"} else @Yield { x y "sub" } } } - def "-0" { "-0" } - def "-1" { "-1" } - def "-2" { "-2" } - def "-3" { "-3" } - def "-4" { "-4" } - def "-5" { "-5" } - def "-6" { "-6" } - def "-7" { "-7" } - def "-8" { "-8" } - def "-9" { "-9" } - def "-." { "-." } - def "+" precedence 32 left x right y - { x @Case { "" @Yield { y } else @Yield { x y "add" } } } - def "=" precedence 30 left x right y { x y "eq" } - def "!=" precedence 30 left x right y { x y "ne" } - def "<" precedence 30 left x right y { x y "lt" } - def "<=" precedence 30 left x right y { x y "le" } - def ">" precedence 30 left x right y { x y "gt" } - def ">=" precedence 30 left x right y { x y "ge" } - def not precedence 25 right y { y "not" } - def and precedence 24 left x right y { x y "and" } - def xor precedence 23 left x right y { x y "xor" } - def or precedence 22 left x right y { x y "or" } - def if - named cond { true } - named then {} - named else {} - { cond "{" then "} {" else "} ifelse" } - def xloop - named from { 0 } - named to { 0 } - named by { 1 } - named do named x { "xval" } {} - { from by to "{ /xval exch def" do "} for" } - def yloop - named from { 0 } - named to { 0 } - named by { 1 } - named do named y { "yval" } {} - { from by to "{ /yval exch def" do "} for" } - def zloop - named from { 0 } - named to { 0 } - named by { 1 } - named do named z { "zval" } {} - { from by to "{ /zval exch def" do "} for" } - - def @IfPt - left no - right yes - { - points @Case { - none @Yield no - else @Yield yes - } - } - - def @Points - { - points @Case { - none @Yield "" - plus @Yield "plus" - cross @Yield "cross" - square @Yield "square" - filledsquare @Yield "filledsquare" - diamond @Yield "diamond" - filleddiamond @Yield "filleddiamond" - circle @Yield "circle" - filledcircle @Yield "filledcircle" - triangle @Yield "triangle" - filledtriangle @Yield "filledtriangle" - } - } - - def @Pairs - { - pairs @Case { - none @Yield {} - solid @Yield { "linesetup solid" @IfPt "ilinesetup solid" } - dashed @Yield { "linesetup cdashed" @IfPt "ilinesetup dashed" } - dotted @Yield { "linesetup dotted" @IfPt "ilinesetup dotted" } - dotdashed @Yield { "linesetup dotcdashed" @IfPt - "ilinesetup dotdashed" } - dotdotdashed @Yield { "linesetup dotdotcdashed" @IfPt - "ilinesetup dotdotdashed" } - dotdotdotdashed @Yield { "linesetup dotdotdotcdashed" @IfPt - "ilinesetup dotdotdotdashed" } - surfacexhisto @Yield { "surfacexhisto" } - surfaceyhisto @Yield { "surfaceyhisto" } - xhisto @Yield { "xhisto" } - yhisto @Yield { "yhisto" } - filledxhisto @Yield { "filledxhisto" } - filledyhisto @Yield { "filledyhisto" } - } - } - - def @DataFormat - { - dataformat @Case { - xandy @Yield xandy - swapxandy @Yield swapxandy - yonly @Yield yonly - xonly @Yield xonly - } - } - - def @Paint - { - paint @Case { - { none no No } @Yield "false" - { yes Yes } @Yield "true" - } - } - - "[ [" data "]" dataformat - "{" @Points "}" - "{" @Pairs "}" - "{ /dashlength" dashlength "def" - " /linewidth" linewidth "def" @ColourCommand colour - " /symbolsize" symbolsize "def }" - "{" @Paint "}" - "{" texture "}" - "]" - } - - def @Style - { - style @Case { - frame @Yield { "framestyle" } - none @Yield { "nonestyle" } - axes @Yield { "axesstyle" } - } - } - - def @XExtra - { - xextra @Case { - "none" @Yield { - style @Case { - frame @Yield { "0.5 cm" } - none @Yield { "0" } - axes @Yield { "0" } - } - } - else @Yield xextra - } - } - - def @YExtra - { - yextra @Case { - "none" @Yield { - style @Case { - frame @Yield { "0.5 cm" } - none @Yield { "0" } - axes @Yield { "0" } - } - } - else @Yield yextra - } - } - - def @XDecreasing - { - xdecreasing @Case { - { No no } @Yield "false" - { Yes yes } @Yield "true" - } - } - - def @YDecreasing - { - ydecreasing @Case { - { No no } @Yield "false" - { Yes yes } @Yield "true" - } - } - - @AddCaptions width @Wide height @High - @BackEnd @Case { - PostScript @Yield { - { - "grestore" - save @Case { { Yes yes } @Yield "save" else @Yield {} } - "gsave xsize ysize lgraphdict begin /ysize exch def /xsize exch def" - "/alldata [" @Body "] def" - xticksep "[" xticks "] 0 alldata" xmin xmax xlog - @XExtra @XDecreasing xorigin xticklength "xset" - yticksep "[" yticks "] 1 alldata" ymin ymax ylog - @YExtra @YDecreasing yorigin yticklength "yset" - - rticks @Case { - - "" @Yield "norset" - - else @Yield { - rticksep "[" rticks "] 1 alldata" ymin ymax ylog - @YExtra @YDecreasing yorigin rticklength "rset" - } - } - - "rundata" @Style // "end" - save @Case { { Yes yes } @Yield "restore" else @Yield {} } - } @Graphic { //1rt objects } - } - PDF @Yield { {"% @Graph UNIMPLEMENTED"} @Graphic { //1rt objects } } - } - -@End @Graph diff --git a/include/save_graphf.lpg b/include/save_graphf.lpg deleted file mode 100644 index 5546586..0000000 --- a/include/save_graphf.lpg +++ /dev/null @@ -1,899 +0,0 @@ -%%BeginResource: procset LoutGraphPrependGraphic -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% PostScript @SysPrependGraphic file for @Graph (Version 1.0) % -% % -% Version 1.0 by Jeffrey H. Kingston, December 1993. % -% swapxandy added September 2001 by JHK. % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -errordict begin - /handleerror - { - { /Times-Roman findfont 8 pt scalefont setfont - 0 setgray 4 pt 4 pt moveto - $error /errorname get - dup lgraphdict exch known - { lgraphdict exch get } - { 30 string cvs } ifelse - show - ( Command: ) show - $error /command get 30 string cvs show - } stopped {} if - showpage stop - } def -end - -/lgraphdict 200 dict def -lgraphdict begin - -% error messages -/dictfull (dictfull error) def -/dictstackoverflow (dictstackoverflow error) def -/execstackoverflow (execstackoverflow error: expression too complex?) def -/limitcheck (limitcheck error: graph too complex or too large?) def -/syntaxerror (syntaxerror error: syntax error in text of graph?) def -/typecheck (typecheck error: syntax error in text of graph?) def -/undefined (undefined error: unknown or misspelt symbol?) def -/rangecheck (rangecheck error: undefined expression (e.g. divide by zero)?) def -/VMError (VMError error: run out of memory?) def - -% random number between x and y inclusive: x y dorand num -/dorand { 1 index sub 1 add rand exch mod add } def - -% log to given base: base num dolog num -/dolog { ln exch ln div } def - -% maximum of two numbers: max -/max { 2 copy gt { pop } { exch pop } ifelse } def - -% add two points: padd -/padd { exch 3 1 roll add 3 1 roll add exch } def - -% subtract first point from second: psub -/psub { 3 2 roll sub 3 1 roll exch sub exch } def - -% distance between two points: distance -/distance { psub dup mul exch dup mul add sqrt } def - -% point at angle and distance: atangle -/atangle { 2 copy cos mul 3 1 roll sin mul padd } def - -% angle from one point to another: angle -/angle { psub 2 copy 0 eq exch 0 eq and {pop} {exch atan} ifelse } def - - -% set up for line -% - linesetup -/linesetup -{ newpath - xcurr ycurr trpoint xprev yprev trpoint - 4 copy moveto lineto distance dashlength -} def - -% set up for icon-avoiding line -% - ilinesetup -/ilinesetup -{ newpath - xprev yprev trpoint xcurr ycurr trpoint 4 copy - 4 copy angle symbolsize 1.5 mul exch 4 2 roll pop pop atangle - 6 2 roll 4 2 roll - 4 copy angle symbolsize 1.5 mul exch 4 2 roll pop pop atangle - 4 copy moveto lineto distance dashlength -} def - - -% stroke a solid line: solid - -/solid -{ pop pop [] 0 setdash linewidth setlinewidth stroke -} def - -% stroke a dashed line: dashed - -/dashed -{ 2 copy 2 mul le 1 index 0 le or - { exch pop 1 pt max [ exch dup ] 0 setdash } - { dup [ exch 4 2 roll 2 copy div - 1 sub 2 div ceiling dup 4 1 roll - 1 add mul sub exch div ] 0 setdash - } ifelse linewidth setlinewidth stroke -} def - -% stroke a cdashed line: cdashed - -/cdashed -{ 2 copy le 1 index 0 le or - { exch pop 1 pt max [ exch dup ] dup 0 get 2 div setdash } - { dup [ 4 2 roll exch 2 copy exch div - 2 div ceiling div 1 index sub - ] exch 2 div setdash - } ifelse linewidth setlinewidth stroke -} def - -% stroke a dotted line: dotted - -/dotted -{ 2 copy le 1 index 0 le or - { exch pop 1 pt max [ exch 0 exch ] 0 setdash } - { 1 index exch div ceiling div 0.99999 mul - [ 0 3 2 roll ] 0 setdash - } ifelse gsave 1 setlinecap linewidth setlinewidth stroke grestore newpath -} def - -% stroke a noline line: noline - -/noline -{ pop pop -} def - -% scale array elements by factor: scalearray -/scalearray -{ - [ exch 3 2 roll - { exch dup 3 1 roll mul exch } forall - pop ] -} def - -% sum array elements: sumarray -/sumarray -{ - 0 exch { add } forall -} def - -% begin a more complex line: linebegin - -/linebegin -{ - % (Entering linebegin) 2 debugprint - 20 dict begin - /dashlen exch 1 pt max def - /len exch def - /gap dashlen def - /halfgap dashlen 2 div def - /dash dashlen def - /halfdash dashlen 2 div def - /dot 0 def - % (Leaving linebegin) 0 debugprint -} def -% end a more complex line: lineend - -/lineend -{ - % (Entering lineend) 3 debugprint - /stoppos exch def - /startpos exch def - /cycle exch def - /linecap exch def - /stopposlen stoppos sumarray def - /startposlen startpos sumarray def - /cyclelen cycle sumarray def - /effectivelen len startposlen add stopposlen sub def - effectivelen 0 gt cyclelen 0 gt and - { - /repeats effectivelen cyclelen div ceiling def - /factor len repeats cyclelen mul startposlen sub stopposlen add div def - cycle factor scalearray startposlen factor mul setdash - linecap setlinecap stroke - } if - end - % (Leaving lineend) 0 debugprint -} def - -% stroke a dotdashed line: dotdashed - -/dotdashed -{ - linebegin - 1 [dash gap dot gap] [] [dash] - lineend -} def - -% stroke a dotcdashed line: dotcdashed - -/dotcdashed -{ - linebegin - 1 [dash gap dot gap] [halfdash] [halfdash] - lineend -} def - -% stroke a dotdotdashed line: dotdotdashed - -/dotdotdashed -{ - linebegin - 1 [dash gap dot gap dot gap] [] [dash] - lineend -} def - -% stroke a dotdotcdashed line: dotdotcdashed - -/dotdotcdashed -{ - linebegin - 1 [dash gap dot gap dot gap] [halfdash] [halfdash] - lineend -} def - -% stroke a dotdotdotdashed line: dotdotdotdashed - -/dotdotdotdashed -{ - linebegin - 1 [dash gap dot gap dot gap dot gap] [] [dash] - lineend -} def - -% stroke a dotdotdotcdashed line: dotdotdotcdashed - -/dotdotdotcdashed -{ - linebegin - 1 [dash gap dot gap dot gap dot gap] [halfdash] [halfdash] - lineend -} def - - -% stroke a y histogram: - yhisto - -/yhisto -{ xprev yleft trpoint yextra sub moveto - xprev yprev trpoint lineto - xcurr yprev trpoint lineto - xcurr yleft trpoint yextra sub lineto - linewidth setlinewidth stroke -} def - -% stroke an x histogram: - xhisto - -/xhisto -{ xleft yprev trpoint exch xextra sub exch moveto - xcurr yprev trpoint lineto - xcurr ycurr trpoint lineto - xleft ycurr trpoint exch xextra sub exch lineto - linewidth setlinewidth stroke -} def - -% stroke a surface y histogram: - surfaceyhisto - -/surfaceyhisto -{ firstpair - { xprev yleft trpoint yextra sub moveto - xprev yprev trpoint lineto - } - { xprev yprev trpoint moveto - } ifelse - xcurr yprev trpoint lineto - lastpair - { xcurr yleft trpoint yextra sub lineto - } - { xcurr ycurr trpoint lineto - } ifelse - linewidth setlinewidth stroke -} def - -% stroke a surface x histogram: - surfacexhisto - -/surfacexhisto -{ firstpair - { xleft yprev trpoint exch xextra sub exch moveto - } - { xprev yprev trpoint moveto - } ifelse - xcurr yprev trpoint lineto - xcurr ycurr trpoint lineto - lastpair - { xleft ycurr trpoint exch xextra sub exch lineto - } if - linewidth setlinewidth stroke -} def - -% % pre-texture versions -% % stroke a filled y histogram: - filledyhisto - -% /filledyhisto -% { -% linewidth setlinewidth -% xprev yleft trpoint exch currentlinewidth 2 div add exch yextra sub moveto -% xprev yprev trpoint exch currentlinewidth 2 div add exch lineto -% xcurr yprev trpoint exch currentlinewidth 2 div sub exch lineto -% xcurr yleft trpoint exch currentlinewidth 2 div sub exch yextra sub lineto -% closepath fill -% } def - -% % stroke a filled x histogram: - filledxhisto - -% /filledxhisto -% { -% linewidth setlinewidth -% xleft yprev trpoint currentlinewidth 2 div add exch xextra sub exch moveto -% xcurr yprev trpoint currentlinewidth 2 div add lineto -% xcurr ycurr trpoint currentlinewidth 2 div sub lineto -% xleft ycurr trpoint currentlinewidth 2 div sub exch xextra sub exch lineto -% closepath fill -% } def - -% stroke a filled y histogram: - filledyhisto - -/filledyhisto -{ - linewidth setlinewidth - xprev yleft trpoint exch currentlinewidth 1.3 mul add exch yextra sub moveto - xprev yprev trpoint exch currentlinewidth 1.3 mul add exch lineto - xcurr yprev trpoint exch currentlinewidth 1.3 mul sub exch lineto - xcurr yleft trpoint exch currentlinewidth 1.3 mul sub exch yextra sub lineto - gsave texture fill grestore stroke -} def - -% stroke a filled x histogram: - filledxhisto - -/filledxhisto -{ - linewidth setlinewidth - xleft yprev trpoint currentlinewidth 1.3 mul add exch xextra sub exch moveto - xcurr yprev trpoint currentlinewidth 1.3 mul add lineto - xcurr ycurr trpoint currentlinewidth 1.3 mul sub lineto - xleft ycurr trpoint currentlinewidth 1.3 mul sub exch xextra sub exch lineto - gsave texture fill grestore stroke -} def - - -% cross: show a small cross -/cross -{ newpath - xcurr ycurr trpoint moveto - symbolsize neg symbolsize neg rmoveto - symbolsize 2 mul symbolsize 2 mul rlineto - 0 symbolsize -2 mul rmoveto - symbolsize -2 mul symbolsize 2 mul rlineto - [] 0 setdash stroke -} def - -% plus: show a small plus -/plus -{ newpath - xcurr ycurr trpoint moveto - symbolsize neg 0 rmoveto - symbolsize 2 mul 0 rlineto - symbolsize neg symbolsize neg rmoveto - 0 symbolsize 2 mul rlineto - [] 0 setdash stroke -} def - -% square: show a small square -/square -{ newpath - xcurr ycurr trpoint moveto - symbolsize neg symbolsize neg rmoveto - symbolsize 2 mul 0 rlineto - 0 symbolsize 2 mul rlineto - symbolsize -2 mul 0 rlineto - closepath [] 0 setdash stroke -} def - -% filledsquare: show a small filled square -/filledsquare -{ newpath - xcurr ycurr trpoint moveto - symbolsize neg symbolsize neg rmoveto - symbolsize 2 mul 0 rlineto - 0 symbolsize 2 mul rlineto - symbolsize -2 mul 0 rlineto - closepath gsave [] 0 setdash stroke grestore fill -} def - -% diamond: show a small diamond -/diamond -{ newpath - xcurr ycurr trpoint moveto - symbolsize neg 0 rmoveto - symbolsize symbolsize neg rlineto - symbolsize symbolsize rlineto - symbolsize neg symbolsize rlineto - closepath [] 0 setdash stroke -} def - -% filleddiamond: show a small filled diamond -/filleddiamond -{ newpath - xcurr ycurr trpoint moveto - symbolsize neg 0 rmoveto - symbolsize symbolsize neg rlineto - symbolsize symbolsize rlineto - symbolsize neg symbolsize rlineto - closepath gsave [] 0 setdash stroke grestore fill -} def - -% circle: show a small circle -/circle -{ newpath - xcurr ycurr trpoint symbolsize 0 360 arc [] 0 setdash stroke -} def - -% filledcircle: show a small filled circle -/filledcircle -{ newpath - xcurr ycurr trpoint symbolsize 0 360 arc gsave [] 0 setdash stroke grestore fill -} def - -% triangle: show a small triangle -/triangle -{ newpath - xcurr ycurr trpoint moveto - 0 symbolsize 1.5 mul rmoveto - symbolsize neg symbolsize -2.5 mul rlineto - symbolsize 2 mul 0 rlineto - closepath [] 0 setdash stroke -} def - -% filledtriangle: show a small filled triangle -/filledtriangle -{ newpath - xcurr ycurr trpoint moveto - 0 symbolsize 1.5 mul rmoveto - symbolsize neg symbolsize -2.5 mul rlineto - symbolsize 2 mul 0 rlineto - closepath gsave [] 0 setdash stroke grestore fill -} def - - -%plog: like log only with a base, and protected from failing if <= 0 -% base x plog res -/plog { dup 0 le { pop pop 0 } { ln exch ln div } ifelse } def - -% xtr: transform one x value logarithmically if xlog > 1 -% xtr -/xtr -{ xlog 1 gt - { xlog exch plog - } if -} def - -% ytr: transform one y value logarithmically if ylog > 1 -% ytr -/ytr -{ ylog 1 gt - { ylog exch plog - } if -} def - - -% trpoint: transform (x, y) in graph space into (x', y') in print space -% x y trpoint x' y' -/trpoint -{ exch xtr xdecr { trxmax exch sub } { trxmin sub } ifelse - trxmax trxmin sub div xwidth mul xextra add - - exch ytr ydecr { trymax exch sub } { trymin sub } ifelse - trymax trymin sub div ywidth mul yextra add -} def - - -% yonly: interpolate x values 1, 2, ... into data -% [ data ] yonly [ newdata ] -/yonly -{ dup /tmp exch def - length [ exch 1 exch 1 exch - { dup tmp exch 1 sub get - } for - ] -} def - -% xonly: interpolate y values 1, 2, ... into data -% [ data ] yonly [ newdata ] -/xonly -{ dup /tmp exch def - length [ exch 1 exch 1 exch - { dup tmp exch 1 sub get exch - } for - ] -} def - -% xandy: no interpolation of x or y values -% [ data ] xandy [ data ] -/xandy {} def - -% swapxandy: swap x and y values -% [ data ] swapxandy [ data ] -/swapxandy -{ dup /tmp exch def - length [ exch 2 exch 2 exch - { dup tmp exch 1 sub get exch 2 sub tmp exch get - } for - ] -} def - - -% expstringwidth: calculate width of string containing optional exponent -% expstringwidth -/expstringwidth -{ (^) search - { exch pop stringwidth pop exch stringwidth pop 0.7 mul add } - { stringwidth pop } - ifelse -} def - -% expstringshow: show string containing optional exponent -% expstringshow - -/expstringshow -{ (^) search - { exch pop show 0 0.5 ft rmoveto - gsave currentfont 0.7 scalefont setfont show grestore - } - { show - } - ifelse -} def - -% concatenate two strings: strconcat -/strconcat -{ 2 copy length exch length add string - dup 0 4 index putinterval - dup 3 index length 3 index putinterval - 3 1 roll pop pop -} def - -% lgen: generate one label automatically -% num lgen num string -/lgen { dup 20 string cvs } def - -% loglgen: generate one logarithmic label (with exponent) -% loglgen -/loglgen -{ 20 string cvs exch 20 string cvs - (^) strconcat exch strconcat -} def - - -% printxtick: print one x tick -% xpos printxtick - -/printxtick -{ newpath - yleft trpoint moveto 0 yextra neg rmoveto - 0 xticklength neg rlineto [] 0 setdash stroke -} def - -% printxlabel: print one x label -% (xlabel) xpos printxlabel - -/printxlabel -{ yleft trpoint moveto 0 yextra neg rmoveto - 0 xticklength neg rmoveto 0 0.9 ft neg rmoveto - xlog 1 gt { 0 0.3 ft neg rmoveto } if - dup expstringwidth -2 div 0 rmoveto expstringshow -} def - -% printytick: print one y tick -% ypos printytick - -/printytick -{ newpath - xleft exch trpoint moveto xextra neg 0 rmoveto - yticklength neg 0 rlineto [] 0 setdash stroke -} def - -% printylabel: print one y label -% (ylabel) ypos printylabel - -/printylabel -{ xleft exch trpoint moveto xextra neg 0 rmoveto - yticklength neg 0 rmoveto -0.3 ft -0.3 ft rmoveto - dup expstringwidth neg 0 rmoveto expstringshow -} def - -% printrtick: print one r tick -% ypos printrtick - -/printrtick -{ newpath - xright exch trpoint moveto xextra 0 rmoveto - rticklength 0 rlineto [] 0 setdash stroke -} def - -% printrlabel: print one r label -% (rlabel) ypos printrlabel - -/printrlabel -{ xright exch trpoint moveto xextra 0 rmoveto - rticklength 0 rmoveto 0.3 ft -0.3 ft rmoveto - expstringshow -} def - -% printticks: print ticks and labels -% /tickproc /labelproc [ tickandlabeldata ] min printticks - -/printticks -{ /prev exch def - { dup type dup dup /integertype eq exch /realtype eq or - { pop dup /prev exch def 2 index cvx exec - } - { /stringtype eq - { prev 2 index cvx exec - } - { pop - } ifelse - } ifelse - } forall - pop pop -} def - - -% printxaxistick: print one x axis tick -% xpos printxaxistick - -/printxaxistick -{ newpath - yaxis trpoint moveto 0 xticklength -2 div rmoveto - 0 xticklength rlineto [] 0 setdash stroke -} def - -% printxaxislabel: print one x axis label -% (xlabel) xpos printxaxislabel - -/printxaxislabel -{ yaxis trpoint moveto - 0 xticklength -2 div rmoveto 0 0.9 ft neg rmoveto - xlog 1 gt { 0 0.3 ft neg rmoveto } if - dup expstringwidth -2 div 0 rmoveto expstringshow -} def - -% printyaxistick: print one y axis tick -% ypos printyaxistick - -/printyaxistick -{ newpath - xaxis exch trpoint moveto - yticklength -2 div 0 rmoveto - yticklength 0 rlineto [] 0 setdash stroke -} def - -% printyaxislabel: print one y axis label -% (ylabel) ypos printyaxislabel - -/printyaxislabel -{ xaxis exch trpoint moveto - yticklength -2 div 0 rmoveto -0.3 ft -0.3 ft rmoveto - dup expstringwidth neg 0 rmoveto expstringshow -} def - - -% minmax - -% perform minv := min(minv, val); maxv := max(maxv, val) -% allowing for the possibility of minv, maxv, val being false (undefined) -/minmax -{ dup false eq - { pop } - { minv false eq - { dup /minv exch def /maxv exch def } - { dup minv lt - { /minv exch def } - { dup maxv gt - { /maxv exch def } - { pop } - ifelse - } ifelse - } ifelse - } ifelse -} def - -% ticksundef -% returns true iff the ticks array is undefined (one false entry) -/ticksundef -{ dup length 1 eq - { dup 0 get false eq - } - { false } - ifelse -} def - -% integral -% true if the number has an integral value -/integral { dup round eq } def - -% ticksep ticks xory alldata minval maxval axis base ticksandlimits ticks min max base -% ticksandlimits: sort out value of x or y ticks and limits and log base -/ticksandlimits -{ /base exch def - /minv false def - /maxv false def - - % min and max of user-supplied minval, maxval, and axis - minmax minmax minmax - - % min and max of data points - { 0 get dup dup length 1 sub 3 index exch 2 exch - { get minmax dup - } for pop pop - } forall - pop dup - - % min and max of tick values - { dup type /stringtype eq - { pop } { minmax } ifelse - } forall - - % fix minv and maxv if undefined (false) or equal - minv false eq - { /minv -1 def /maxv 1 def } - { minv maxv eq - { minv 0 lt - { /minv 2 minv mul def /maxv 0 def - } - { minv 0 eq - { /minv -1 def /maxv 1 def - } - { /minv 0 def /maxv 2 maxv mul def - } ifelse - } ifelse - } if - } ifelse - - % invent ticks if undefined - ticksundef - { pop /ticksep exch def - - % if base is reasonable and minv is positive, logarithmic ticks - base 1 gt minv 0 gt and - { - % get integral log of minv and maxv - /logminv base minv plog floor cvi def - /logmaxv base maxv plog ceiling cvi def - - % if minv close to base, make it 1; reset minv and maxv - logminv 1 eq logmaxv 4 ge and { /logminv 0 def } if - /minv base logminv exp def - /maxv base logmaxv exp def - - % ticks := [ base**logminv, ... , base**logmaxv ] - [ logminv 1 logmaxv - { dup base exch exp - exch base exch loglgen - } for - ] - } - { % non-logarithmic ticks - { - % fix tick separation if undefined (0) or too small - /base 0 def - /delta maxv minv sub def - ticksep delta 30 div le - { /ticksep 10 delta log 1 sub ceiling exp def - ticksep delta 2 div ge - { /ticksep ticksep 2 div def } - { ticksep delta 5 div lt - { /ticksep 2 ticksep mul def - } if - } ifelse - } if - - % adjust minv and maxv to be multiples of ticksep - /minv minv ticksep div floor ticksep mul def - /maxv maxv ticksep div ceiling ticksep mul def - /delta maxv minv sub def - - % if minv or maxv near zero, move to zero and redo - minv ticksep eq - { /minv 0 def } - { maxv ticksep neg eq { /maxv 0 def } { exit } ifelse - } ifelse - } loop - - % if minv, maxv, and ticksep are all integral, set "makeint" to true - /makeint minv integral maxv integral ticksep integral and and def - - % ticks := [ minv, minv+ticksep, ... , maxv ] - [ 0 1 delta ticksep div round - { ticksep mul minv add makeint { cvi } if lgen } - for - ] - } ifelse - } - { exch pop - } ifelse - minv maxv base -} def - -% xset: set up all data for x axis, including limits and ticks -% xticksep xticks 0 alldata xmin xmax xlog xextra xdecr xaxis xticklength xset - -/xset -{ /xticklength exch def - /xaxis exch def - /xdecr exch def - /xextra exch def - xaxis exch ticksandlimits - /xlog exch def /xmax exch def /xmin exch def /xticks exch def - /xleft xdecr { xmax } { xmin } ifelse def - /xright xdecr { xmin } { xmax } ifelse def - /xwidth xsize xextra 2 mul sub def - /trxmin xmin xtr def /trxmax xmax xtr def -} def - -% yset: set up all data for y axis, including limits and yticks -% yticksep yticks 0 alldata ymin ymax ylog yextra ydecr yaxis yticklength yset - -/yset -{ /yticklength exch def - /yaxis exch def - /ydecr exch def - /yextra exch def - yaxis exch ticksandlimits - /ylog exch def /ymax exch def /ymin exch def /yticks exch def - /yleft ydecr { ymax } { ymin } ifelse def - /yright ydecr { ymin } { ymax } ifelse def - /ywidth ysize yextra 2 mul sub def - /trymin ymin ytr def /trymax ymax ytr def -} def - -% rset: set up all data for y axis (again), but including limits and rticks -% rticksep rticks 0 alldata ymin ymax ylog yextra ydecr yaxis rticklength rset - -/rset -{ /rticklength exch def - /yaxis exch def - /ydecr exch def - /yextra exch def - yaxis exch ticksandlimits - /ylog exch def /ymax exch def /ymin exch def /rticks exch def - /yleft ydecr { ymax } { ymin } ifelse def - /yright ydecr { ymin } { ymax } ifelse def - /ywidth ysize yextra 2 mul sub def - /trymin ymin ytr def /trymax ymax ytr def -} def - -% norset: set up data for no rticks -% - norset - -/norset -{ /rticklength 0 def - /rticks [] def -} def - -% framestyle: print a frame around the graph -/framestyle -{ 0 0 moveto xsize 0 lineto xsize ysize lineto - 0 ysize lineto closepath stroke - /printxtick /printxlabel xticks xleft printticks - /printytick /printylabel yticks ymin printticks - /printrtick /printrlabel rticks ymin printticks -} def - -% nonestyle: print nothing around the graph -/nonestyle -{ -} def - -% axesstyle: print axes for the graph (unless axis values missing) -/axesstyle -{ - xaxis false eq yaxis false eq or - { framestyle } - { xaxis yaxis trpoint dup 0 exch moveto xsize exch lineto - dup 0 moveto ysize lineto stroke - /printxaxistick /printxaxislabel xticks xleft printticks - /printyaxistick /printyaxislabel yticks ymin printticks - } ifelse -} def - -% rundata: run all data sets -/rundata -{ alldata - { gsave - dup dup dup dup dup - 5 get /texture exch def - 4 get /dopaint exch def - 3 get /initrun exch def - 2 get /pairs exch def - 1 get /points exch def - 0 get /data exch def - dopaint - { data length 4 ge - { - gsave - initrun - newpath - data 0 get ymin trpoint yextra sub moveto - 0 2 data length 2 sub - { dup 1 add - data exch get /ycurr exch def - data exch get /xcurr exch def - xcurr ycurr trpoint lineto - } for - data dup length 2 sub get ymin trpoint yextra sub lineto - closepath texture fill - grestore - } if - } if - initrun - data length 2 ge - { - /xcurr data 0 get def - /ycurr data 1 get def - points - data length 4 ge - { 2 2 data length 2 sub - { /xprev xcurr def - /yprev ycurr def - dup dup 2 eq /firstpair exch def - data length 2 sub eq /lastpair exch def - dup 1 add - data exch get /ycurr exch def - data exch get /xcurr exch def - pairs - points - } for - } if - } if - grestore - } forall -} def - -end -%%EndResource diff --git a/include/slides b/include/slides index b3fb95c..14de206 100644 --- a/include/slides +++ b/include/slides @@ -3,7 +3,6 @@ # Lout setup file for overhead transparencies # # # # Jeffrey H. Kingston # -# 5 February 1999 # # # ############################################################################### @@ -63,6 +62,9 @@ # @ListIndent { 0s } # indent of list items # @ListRightIndent { 0s } # right indent of list items # @ListLabelWidth { 2.00f @OrIfPlain 5s } # width allowed for list tags + # @ListLabelRight { No } # right-adjust list labels + # @ListLabelRightGap { 2s } # gap when right-adjusting + # @ListBreak { } # break style of list items # @NumberSeparator { . } # separates nums like 2.3.7 # @CrossLinkFormat { @Body } # format of cross links # @ExternalLinkFormat { @Body } # format of external links @@ -332,7 +334,11 @@ # @OverheadNumbers { Arabic } # kind of overhead numbers # @FirstOverheadNumber { 1 } # first overhead num # @TitlePageFont { Helvetica Base 1.5f } # title page font - # @LectureHeadingFont { Bold 1.20f } # lecture head font + # @AboveTitleGap { 0.5i } # gap above title + # @AboveAuthorGap { 1.0i } # gap above author + # @AboveInstitutionGap { 0.5i } # gap above inst + # @AboveDateLineGap { 0.5i } # gap above date + # @LectureHeadingFont { Bold 1.2f } # lecture head font # @LectureHeadingBreak { clines 1.2fx nohyphen } # lecture head break # @LectureHeadingFormat { @Centre number @DP @Centre title @DP } # @AboveLectureGap { 3.0f } # gap above lec head diff --git a/include/slidesf b/include/slidesf index 5194ff6..a0d69bd 100644 --- a/include/slidesf +++ b/include/slidesf @@ -4,7 +4,6 @@ # @OverheadSetup extension to @DocumentSetup. # # # # Jeffrey H. Kingston # -# August 1994 # # # # This package extends DocumentSetup with definitions for overheads. # # # @@ -22,7 +21,11 @@ def @OverheadSetup named @OverheadNumbers { Arabic } named @FirstOverheadNumber { 1 } named @TitlePageFont { Helvetica Base } - named @LectureHeadingFont { Bold 1.20f } + named @AboveTitleGap { 0.5i } + named @AboveAuthorGap { 1.0i } + named @AboveInstitutionGap { 0.5i } + named @AboveDateLineGap { 0.5i } + named @LectureHeadingFont { Bold 1.2f } named @LectureHeadingBreak { 1.2fx nohyphen } named @LectureHeadingFormat left number right title { @Centre number @DP @Centre title @DP } @@ -149,11 +152,12 @@ def @OverheadSetup { @TitlePageFont @Font @InitialBreak @Break @InitialSpace @Space clines @Break { - //0.5i |0.5rt 1.5f @Font @InitialBreak @Break - @InitialSpace @Space clines @Break @Title | - //1i |0.5rt clines @Break @Author | - //0.5i |0.5rt clines @Break @I @Institution | - //0.5i @DatePart + //0.5i + //@AboveTitleGap |0.5rt 1.5f @Font @InitialBreak @Break + @InitialSpace @Space clines @Break @Title | + //@AboveAuthorGap |0.5rt clines @Break @Author | + //@AboveInstitutionGap |0.5rt clines @Break @I @Institution | + //@AboveDateLineGap @DatePart } } diff --git a/include/xind b/include/xind deleted file mode 100644 index aeade1e..0000000 --- a/include/xind +++ /dev/null @@ -1 +0,0 @@ - # @IndexRangeFormat { @From--@To } # index page range format diff --git a/include/xinda b/include/xinda deleted file mode 100644 index c27301b..0000000 --- a/include/xinda +++ /dev/null @@ -1 +0,0 @@ - # @IndexARangeFormat { @From--@To } # index page range format diff --git a/include/xindb b/include/xindb deleted file mode 100644 index 32583e8..0000000 --- a/include/xindb +++ /dev/null @@ -1 +0,0 @@ - # @IndexBRangeFormat { @From--@To } # index page range format diff --git a/makefile b/makefile index 55a4ca5..1d3e544 100644 --- a/makefile +++ b/makefile @@ -1,15 +1,19 @@ ############################################################################### # # -# Make file for installing Basser Lout Version 3.31 # +# Make file for installing Basser Lout Version 3.32 # # # # Jeffrey H. Kingston # -# undated # # # # make prg2lout Compile a small auxiliary program called prg2lout # # make lout Compile the Lout source # +# make all Equivalent to "make prg2lout" and "make lout" # +# # # make install Install the Lout and prg2lout binaries and libraries # # make installman Install the Lout and prg2lout manual entries # # make installdoc Install the Lout documentation # +# make allinstall Equivalent to "make install", "make installman", # +# and "make installdoc". # +# # # make installfr Install French error messages (optional) # # make installde Install German error messages (optional) # # make clean Remove compilation temporaries # @@ -63,18 +67,24 @@ # # # (5) Set the following four macros defined below to appropriate values: # # # -# BINDIR Directory where Lout's binary goes. This directory is # -# assumed to exist. # +# BINDIR Directory where Lout's binary goes. This directory is # +# assumed to exist. # +# # +# LOUTLIBDIR Directory where Lout's libraries go. This directory will # +# be created and must not exist already (but its parent # +# must exist already). It will be completely removed by # +# an uninstall. In short, it is the library directory for # +# Lout only, not a general library directory. # # # -# LIBDIR Directory where Lout's libraries go. This directory will # -# be created (but its parent must exist already). # +# LOUTDOCDIR Directory where the documents describing the Lout system # +# (written in Lout) go. This directory will be created # +# (but its parent must exist already). # # # -# DOCDIR Directory where the documents describing the Lout system # -# (written in Lout) go. This directory will be created (but # -# its parent must exist already). # +# MANDIR Directory where the lout and prg2lout manual entries # +# (in nroff -man) go. This directory is assumed to exist. # # # -# MANDIR Directory where the lout and prg2lout online manual entries # -# (in nroff -man) go. This directory is assumed to exist. # +# They are currently defined using a common stem called $(PREFIX), # +# but you don't have to use $(PREFIX) if you don't want to. # # # # (6) Set the following two macros defined below to appropriate values. # # I strongly recommend CHARIN=1 and CHAROUT=0 for all sites (English # @@ -174,27 +184,27 @@ # binary in this directory. No changes are made in other directories. # # # # (12) This makefile assumes that Lout is not installed on your system # -# already. If you do have an earlier version of Lout installed, # -# the simplest way to get rid of it is to type "make uninstall" now. # -# Of course, this is assuming that the old version was installed in the # +# already. If you do have an earlier version of Lout installed, the # +# simplest way to get rid of it is to type "make uninstall" now. Of # +# course, this is assuming that the old version was installed in the # # same directories as where you are about to install the new version. # # # # (13) Execute "make install". This will do the following things: # # # # (a) It will copy the lout and prg2lout binaries into $(BINDIR); # # # -# (b) It will create $(LIBDIR) and copy all the library files into it; # +# (b) It will create $(LOUTLIBDIR) and copy the library files into it; # # # # (c) It will perform an initializing "lout -x" run. This run will # # do the following checks and initializations: # # # # (i) It will read all the hyphenation (.lh) files mentioned # -# in file $(LIBDIR)/include/langdefs, check them, and build # -# the packed (.lp) versions; # +# in file $(LOUTLIBDIR)/include/langdefs, check them, and # +# build the packed (.lp) versions; # # # -# (ii) It will read and check the four standard database # -# (.ld) files in directory $(LIBDIR)/data, and build # -# the corresponding database index (.li) files. # +# (ii) It will read and check the four standard database (.ld) # +# files in directory $(LOUTLIBDIR)/data, and build the # +# corresponding database index (.li) files. # # # # (d) It will change the mode of the files created in (c) to be # # publicly readable, just in case they weren't created that way. # @@ -207,38 +217,38 @@ # These entries are troff files; plain text versions are also available # # in directory ./man if you need them (install them yourself). # # # -# (15) Execute "make installdoc". This creates directory $(DOCDIR) and # +# (15) Execute "make installdoc". This creates directory $(LOUTDOCDIR) and # # copies the Lout documentation into it. # # # # (16) If you want French error messages, execute "make installfr" now. # # If you want German error messages, execute "make installde" now. # # These commands compile the error messages files into packed forms # -# using the gencat command, and store them in $(LIBDIR)/locale. # +# using the gencat command, and store them in $(LOUTLIBDIR)/locale. # # # # (17) Execute "make clean". This cleans up this directory. # # # # (18) If the usual language at your site is not English, you might like to # # now change the default value of the @InitialLanguage option on line # -# 252 of file $(LIBDIR)/include/bsf. This will mean that by default # +# 251 of file $(LOUTLIBDIR)/include/bsf. This will mean that by default # # the date and words like Chapter and July will appear in a different # # language, and hyphenation will be carried out according to patterns # # designed for that language. You can find the list of known languages # -# in the User's Guide, or in file $(LIBDIR)/include/langdefs; if yours # -# is not on the list, let me know and we can work together to add it. # -# This has nothing to do with locales and USELOC. # +# in the User's Guide, or in file $(LOUTLIBDIR)/include/langdefs; if # +# yours is not on the list, let me know and we can work together to # +# add it. This has nothing to do with locales and USELOC. # # # # (19) If the usual size of a piece of paper at your site is not A4, you # # might like to now change the default value of the @PageType option # -# on line 64 of file $(LIBDIR)/include/dsf: # +# on line 65 of file $(LOUTLIBDIR)/include/dsf: # # # # named @PageType { A4 @OrIfPlain Other } # # # # This is saying that the page type is to be A4 by default, unless # # plain text output is in effect (lout -p), in which case the page # # type is Other, which means that the page dimensions come from the # -# @PageWidth and @PageHeight options. Just change the A4, not the # -# rest. You can find the list of known page types, alternative to A4, # -# in the User's Guide, and also at line 721 in $(LIBDIR)/include/dsf. # +# @PageWidth and @PageHeight options. Just change the A4, not the rest. # +# You can find the list of known page types, alternative to A4, in the # +# User's Guide, or at line 738 in $(LOUTLIBDIR)/include/dsf. # # # # Mail jeff@it.usyd.edu.au if you have any problems. # # # @@ -259,10 +269,11 @@ TRACING = # DEBUGGING = 1 # TRACING = -g -BINDIR = /home/jeff/bin -LIBDIR = /home/jeff/lout.lib -DOCDIR = /home/jeff/lout.doc -MANDIR = /home/jeff/lout.man +PREFIX = /home/jeff +BINDIR = $(PREFIX)/bin +LOUTLIBDIR = $(PREFIX)/lout.lib +LOUTDOCDIR = $(PREFIX)/lout.doc +MANDIR = $(PREFIX)/lout.man LIBFONT = font LIBMAPS = maps @@ -297,7 +308,7 @@ CFLAGS = -DOS_UNIX=$(OSUNIX) \ -DUSE_STAT=$(USESTAT) \ -DSAFE_DFT=$(SAFEDFT) \ -DCOLLATE=$(COLLATE) \ - -DLIB_DIR=\"$(LIBDIR)\" \ + -DLIB_DIR=\"$(LOUTLIBDIR)\" \ -DFONT_DIR=\"$(LIBFONT)\" \ -DMAPS_DIR=\"$(LIBMAPS)\" \ -DINCL_DIR=\"$(LIBINCL)\" \ @@ -333,6 +344,8 @@ prg2lout: prg2lout.c $(CC) $(COPTS) -o prg2lout prg2lout.c chmod a+x prg2lout +all: lout prg2lout + install: lout prg2lout @echo "" @echo "(a) Installing lout and prg2lout binaries into BINDIR $(BINDIR)" @@ -341,50 +354,50 @@ install: lout prg2lout cp prg2lout $(BINDIR)/prg2lout chmod 755 $(BINDIR)/prg2lout @echo "" - @echo "(b) Installing library files into LIBDIR $(LIBDIR)" - mkdir $(LIBDIR) - chmod 755 $(LIBDIR) + @echo "(b) Installing library files into LOUTLIBDIR $(LOUTLIBDIR)" + mkdir $(LOUTLIBDIR) + chmod 755 $(LOUTLIBDIR) @echo "" - mkdir $(LIBDIR)/$(LIBINCL) - chmod 755 $(LIBDIR)/$(LIBINCL) - cp include/* $(LIBDIR)/$(LIBINCL) - chmod 644 $(LIBDIR)/$(LIBINCL)/* + mkdir $(LOUTLIBDIR)/$(LIBINCL) + chmod 755 $(LOUTLIBDIR)/$(LIBINCL) + cp include/* $(LOUTLIBDIR)/$(LIBINCL) + chmod 644 $(LOUTLIBDIR)/$(LIBINCL)/* @echo "" - mkdir $(LIBDIR)/$(LIBDATA) - chmod 755 $(LIBDIR)/$(LIBDATA) - cp data/* $(LIBDIR)/$(LIBDATA) - chmod 644 $(LIBDIR)/$(LIBDATA)/* + mkdir $(LOUTLIBDIR)/$(LIBDATA) + chmod 755 $(LOUTLIBDIR)/$(LIBDATA) + cp data/* $(LOUTLIBDIR)/$(LIBDATA) + chmod 644 $(LOUTLIBDIR)/$(LIBDATA)/* @echo "" - mkdir $(LIBDIR)/$(LIBHYPH) - chmod 755 $(LIBDIR)/$(LIBHYPH) - cp hyph/* $(LIBDIR)/$(LIBHYPH) - chmod 644 $(LIBDIR)/$(LIBHYPH)/* + mkdir $(LOUTLIBDIR)/$(LIBHYPH) + chmod 755 $(LOUTLIBDIR)/$(LIBHYPH) + cp hyph/* $(LOUTLIBDIR)/$(LIBHYPH) + chmod 644 $(LOUTLIBDIR)/$(LIBHYPH)/* @echo "" - mkdir $(LIBDIR)/$(LIBFONT) - chmod 755 $(LIBDIR)/$(LIBFONT) - cp font/* $(LIBDIR)/$(LIBFONT) - chmod 644 $(LIBDIR)/$(LIBFONT)/* + mkdir $(LOUTLIBDIR)/$(LIBFONT) + chmod 755 $(LOUTLIBDIR)/$(LIBFONT) + cp font/* $(LOUTLIBDIR)/$(LIBFONT) + chmod 644 $(LOUTLIBDIR)/$(LIBFONT)/* @echo "" - mkdir $(LIBDIR)/$(LIBMAPS) - chmod 755 $(LIBDIR)/$(LIBMAPS) - cp maps/* $(LIBDIR)/$(LIBMAPS) - chmod 644 $(LIBDIR)/$(LIBMAPS)/* + mkdir $(LOUTLIBDIR)/$(LIBMAPS) + chmod 755 $(LOUTLIBDIR)/$(LIBMAPS) + cp maps/* $(LOUTLIBDIR)/$(LIBMAPS) + chmod 644 $(LOUTLIBDIR)/$(LIBMAPS)/* @echo "" - mkdir $(LIBDIR)/$(LIBLOCA) - chmod 755 $(LIBDIR)/$(LIBLOCA) + mkdir $(LOUTLIBDIR)/$(LIBLOCA) + chmod 755 $(LOUTLIBDIR)/$(LIBLOCA) @echo "" @echo "(c) Initializing run (should be silent, no errors expected)" - $(BINDIR)/lout -x -s $(LIBDIR)/$(LIBINCL)/init + $(BINDIR)/lout -x -s $(LOUTLIBDIR)/$(LIBINCL)/init @echo "" @echo "(d) Changing mode of files just created by initializing run" - chmod 644 $(LIBDIR)/$(LIBDATA)/* - chmod 644 $(LIBDIR)/$(LIBHYPH)/* + chmod 644 $(LOUTLIBDIR)/$(LIBDATA)/* + chmod 644 $(LOUTLIBDIR)/$(LIBHYPH)/* installman: @echo "" @echo "Installing manual entries into MANDIR $(MANDIR)" - sed -e "s@@$(BINDIR)@" -e "s@@$(LIBDIR)@" \ - -e "s@@$(DOCDIR)@" -e "s@@$(MANDIR)@" \ + sed -e "s@@$(BINDIR)@" -e "s@@$(LOUTLIBDIR)@" \ + -e "s@@$(LOUTDOCDIR)@" -e "s@@$(MANDIR)@" \ man/lout.1 > $(MANDIR)/lout.1 chmod 644 $(MANDIR)/lout.1 cp man/prg2lout.1 $(MANDIR)/prg2lout.1 @@ -392,40 +405,42 @@ installman: installdoc: @echo "" - @echo "Creating DOCDIR $(DOCDIR) and copying documentation into it" - $(RCOPY) doc $(DOCDIR) - chmod 755 $(DOCDIR) - chmod 755 $(DOCDIR)/* - chmod 644 $(DOCDIR)/*/* + @echo "Creating LOUTDOCDIR $(LOUTDOCDIR) and copying documentation into it" + $(RCOPY) doc $(LOUTDOCDIR) + chmod 755 $(LOUTDOCDIR) + chmod 755 $(LOUTDOCDIR)/* + chmod 644 $(LOUTDOCDIR)/*/* + +allinstall: install installman installdoc installfr: @echo "" - @echo "Putting French error messages into $(LIBDIR)/$(LIBLOCA)/$(LOC_FR)" - mkdir $(LIBDIR)/$(LIBLOCA)/$(LOC_FR) - chmod 755 $(LIBDIR)/$(LIBLOCA)/$(LOC_FR) - mkdir $(LIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES - chmod 755 $(LIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES - cp locale/msgs.fr $(LIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES/msgs.$(LOC_FR) - gencat $(LIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES/errors.$(LOC_FR) \ - $(LIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES/msgs.$(LOC_FR) - chmod 644 $(LIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES/* + @echo "Putting French error messages into $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_FR)" + mkdir $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_FR) + chmod 755 $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_FR) + mkdir $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES + chmod 755 $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES + cp locale/msgs.fr $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES/msgs.$(LOC_FR) + gencat $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES/errors.$(LOC_FR) \ + $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES/msgs.$(LOC_FR) + chmod 644 $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_FR)/LC_MESSAGES/* installde: @echo "" - @echo "Putting German error messages into $(LIBDIR)/$(LIBLOCA)/$(LOC_DE)" - mkdir $(LIBDIR)/$(LIBLOCA)/$(LOC_DE) - chmod 755 $(LIBDIR)/$(LIBLOCA)/$(LOC_DE) - mkdir $(LIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES - chmod 755 $(LIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES - cp locale/msgs.de $(LIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES/msgs.$(LOC_DE) - gencat $(LIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES/errors.$(LOC_DE) \ - $(LIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES/msgs.$(LOC_DE) - chmod 644 $(LIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES/* + @echo "Putting German error messages into $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_DE)" + mkdir $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_DE) + chmod 755 $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_DE) + mkdir $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES + chmod 755 $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES + cp locale/msgs.de $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES/msgs.$(LOC_DE) + gencat $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES/errors.$(LOC_DE) \ + $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES/msgs.$(LOC_DE) + chmod 644 $(LOUTLIBDIR)/$(LIBLOCA)/$(LOC_DE)/LC_MESSAGES/* uninstall: -rm -f $(BINDIR)/lout $(BINDIR)/prg2lout - -rm -fr $(LIBDIR) - -rm -fr $(DOCDIR) + -rm -fr $(LOUTLIBDIR) + -rm -fr $(LOUTDOCDIR) -rm -f $(MANDIR)/lout.1 $(MANDIR)/prg2lout.1 clean: diff --git a/man/lout.1 b/man/lout.1 index 048da8d..3bfc2c9 100644 --- a/man/lout.1 +++ b/man/lout.1 @@ -205,6 +205,10 @@ databases directory (see below). omits the search of the current directory. .SS Miscellaneous options .TP \" \n(oi +.B \-r num +Run Lout num times, producing output only on the last run. Useful for +bringing cross references up to date quickly. +.TP .B \-x Initializing run, not for ordinary use: read and check all font files mentioned in font definitions, read and check all hyphenation files @@ -251,15 +255,6 @@ to an alternative directory name. .BR prg2lout (1), .BR lpr (1), .BR ghostview (1) -.SH MAILING LIST -.LP -A public mailing list for discussion of Lout exists. To subscribe, -mail -.B lout\-request@ptc.spbu.ru -with the word -.B subscribe -in the Subject line. To post an item, mail it to -.BR lout@ptc.spbu.ru . .SH REFERENCES .LP Jeffrey H. Kingston, diff --git a/man/lout.txt b/man/lout.txt index 81d7199..d8d3c7c 100644 --- a/man/lout.txt +++ b/man/lout.txt @@ -141,6 +141,10 @@ OPTIONS current directory. Miscellaneous options + -r num Run Lout num times, producing output only on the + last run. Useful for bringing cross references up + to date quickly. + -x Initializing run, not for ordinary use: read and check all font files mentioned in font definitions, read and check all hyphenation files mentioned in @@ -179,12 +183,6 @@ FILES AND ENVIRONMENT VARIABLE SEE ALSO prg2lout(1), lpr(1), ghostview(1) -MAILING LIST - A public mailing list for discussion of Lout exists. To - subscribe, mail lout-request@ptc.spbu.ru with the word - subscribe in the Subject line. To post an item, mail it - to lout@ptc.spbu.ru. - REFERENCES Jeffrey H. Kingston, "A User's Guide to the Lout Document Formatting System", and "An Expert's Guide to the Lout diff --git a/man/prg2lout.1 b/man/prg2lout.1 index 0f6cc0f..2598cae 100644 --- a/man/prg2lout.1 +++ b/man/prg2lout.1 @@ -72,6 +72,11 @@ Select a Lout vertical inter-line gap. The default is .B -v1.1fx meaning 1.1 times the font size measured from baseline to baseline. .TP +.BI \-b " num" +Select a blank line scale factor. The default is +.B -b1.0 +meaning no scaling. A good alternative is 0.6. +.TP .BI \-t " num" Set the tab interval to .I num @@ -99,6 +104,12 @@ Attach line numbers to the program text, beginning with or 1 if number is not given. You may need to give the 1 anyway to prevent .I prg2lout from taking a following file name as a number. .TP +.BI \-N +Do not print line numbers on blank lines. +.TP +.BI \-M +Like \-N but do not assign line numbers to blank lines. +.TP .BI \-S " filename" Use .I filename diff --git a/man/prg2lout.txt b/man/prg2lout.txt index 67b3e37..0ed3d11 100644 --- a/man/prg2lout.txt +++ b/man/prg2lout.txt @@ -54,6 +54,10 @@ OPTIONS -v1.1fx meaning 1.1 times the font size measured from baseline to baseline. + -b num + Select a blank line scale factor. The default is -b1.0 + meaning no scaling. A good alternative is 0.6. + -t num Set the tab interval to num characters (default is -t8). @@ -74,6 +78,10 @@ OPTIONS give the 1 anyway to prevent prg2lout from taking a following file name as a number. + -N Do not print line numbers on blank lines. + + -M Like -N but do not assign line numbers to blank lines. + -S filename Use filename as the setup file instead of the system default setup file. The setup file determines the diff --git a/prg2lout.c b/prg2lout.c index 2a356d3..d2ad3cf 100644 --- a/prg2lout.c +++ b/prg2lout.c @@ -2,9 +2,9 @@ /*****************************************************************************/ /* */ /* PRG2LOUT: A PROGRAM TO CONVERT PROGRAM SOURCES INTO LOUT */ -/* COPYRIGHT (C) 2000 Jeffrey H. Kingston */ +/* COPYRIGHT (C) 2000, 2006 Jeffrey H. Kingston */ /* */ -/* Version 2.3, November 2002 */ +/* Version 2.4, October 2006 */ /* */ /* Jeffrey H. Kingston (jeff@cs.su.oz.au) */ /* Basser Department of Computer Science */ @@ -3359,7 +3359,7 @@ LANGUAGE PodLanguage = { NO_MATCH_PRINT, { &PodVerbatimLineToken, &PodEmptyLineToken, &PodIgnoreToken, - &PodHeading1Token, &PodHeading2Token, + &PodHeading1Token, &PodHeading2Token, &PodHeading3Token, &PodOverToken, &PodItemToken, &PodBackToken, &PodItemBullet, &PodItem0, &PodItem1, &PodItem2, &PodItem3, &PodItem4, &PodItem5, &PodItem6, &PodItem7, &PodItem8, &PodItem9, @@ -3436,9 +3436,15 @@ LANGUAGE *languages[] = { #define DEBUG_EMIT 0 #define DEBUG_MAIN 0 -#define PRG2LOUT_VERSION "prg2lout Version 2.1 (April 2001)" +#define PRG2LOUT_VERSION "prg2lout Version 2.4 (October 2006)" #define MAX_LINE 1024 +typedef enum { + BLANKNUMBERED_NO, /* blank lines have no line numbers */ + BLANKNUMBERED_NOPRINT, /* blank line numbers not printed */ + BLANKNUMBERED_YES /* blank line numbers printed */ +} BLANKNUMBERED_TYPE; + static char file_name[MAX_LINE]; /* current input file name */ static unsigned char curr_line[MAX_LINE]; /* current input line */ static int line_num; /* current input line number */ @@ -3450,6 +3456,7 @@ static char *style_option; /* value of -p option, else null */ static char *font_option; /* value of -f option, else null */ static char *size_option; /* value of -s option, else null */ static char *line_option; /* value of -v option, else null */ +static char *bls_option; /* value of -b option, else null */ static char *tabin_option; /* value of -t option, else null */ static char *tabout_option; /* value of -T option, else null */ static char *setup_option; /* value of -S option, else null */ @@ -3461,6 +3468,7 @@ static int tab_in; /* tab interval, value of -t option */ static float tab_out; /* tab interval width (-T option) */ static char tab_unit; /* unit of measurement for tab */ static BOOLEAN print_lines; /* TRUE if we are printing line nums */ +BLANKNUMBERED_TYPE blanknumbered; /* blank line numbering */ static int print_num; /* current line num for printing */ static FILE *in_fp; /* where input comes from */ @@ -3843,11 +3851,16 @@ void EmitRaw(unsigned char ch) { char buff[20]; if( out_formfeed ) print_num--; - sprintf(buff, "%d", print_num++); - fprintf(out_fp, "@PL{\"%s\"}", buff); - out_linepos += strlen(buff); - out_linestart = FALSE; - EmitTab(); + if( ch != '\n' || blanknumbered == BLANKNUMBERED_YES ) + { + sprintf(buff, "%d", print_num); + fprintf(out_fp, "@PL{\"%s\"}", buff); + out_linepos += strlen(buff); + out_linestart = FALSE; + EmitTab(); + } + if( ch != '\n' || blanknumbered != BLANKNUMBERED_NO ) + print_num++; } switch( ch ) @@ -3927,11 +3940,12 @@ void StartEmit(LANGUAGE *lang, TOKEN *current_token, { char buff[20]; if( out_formfeed ) print_num--; - sprintf(buff, "%d", print_num++); + sprintf(buff, "%d", print_num); fprintf(out_fp, "@PL{\"%s\"}", buff); out_linepos += strlen(buff); out_linestart = FALSE; EmitTab(); + print_num++; } switch( current_token->print_style ) @@ -5024,9 +5038,10 @@ int main(int argc, char *argv[]) tab_out = 3; tab_unit = 'f'; print_lines = FALSE; + blanknumbered = BLANKNUMBERED_YES; numbered_option = NULL; headers_option = TRUE; - font_option = size_option = line_option = tabin_option = + font_option = size_option = line_option = bls_option = tabin_option = tabout_option = setup_option = language_option = (char *) NULL; if( argc == 1 ) { PrintUsage(); @@ -5159,6 +5174,17 @@ int main(int argc, char *argv[]) break; + case 'b': + + /* read blanklinescale */ + if( raw_seen ) + { fprintf(err_fp, "%s: -b illegal with -r option\n", ErrorHeader()); + exit(1); + } + GetArg(bls_option, "usage: -b", FALSE); + break; + + case 't': /* read tab interval */ @@ -5225,6 +5251,20 @@ int main(int argc, char *argv[]) break; + case 'N': + + /* print numbers on non-blank lines only */ + blanknumbered = BLANKNUMBERED_NOPRINT; + break; + + + case 'M': + + /* like -N but do not assign line numbers to blank lines */ + blanknumbered = BLANKNUMBERED_NO; + break; + + case 'n': if( raw_seen ) @@ -5373,19 +5413,24 @@ int main(int argc, char *argv[]) /* this string has been disguised to avoid recognition by prg2lout */ fprintf(out_fp, "%s\n", lang->lang_sym); if( style_option != NULL ) - fprintf(out_fp, " style { %s }\n", style_option ); + fprintf(out_fp, " style { %s }\n", style_option); if( font_option != NULL ) - fprintf(out_fp, " font { %s }\n", font_option ); + fprintf(out_fp, " font { %s }\n", font_option); if( size_option != NULL ) - fprintf(out_fp, " size { %s }\n", size_option ); + fprintf(out_fp, " size { %s }\n", size_option); if( line_option != NULL ) - fprintf(out_fp, " line { %s }\n", line_option ); + fprintf(out_fp, " line { %s }\n", line_option); + if( bls_option != NULL ) + fprintf(out_fp, " blanklinescale { %s }\n", bls_option); if( tabin_option != NULL ) - fprintf(out_fp, " tabin { %s }\n", tabin_option ); + fprintf(out_fp, " tabin { %s }\n", tabin_option); if( tabout_option != NULL ) - fprintf(out_fp, " tabout { %s }\n", tabout_option ); + fprintf(out_fp, " tabout { %s }\n", tabout_option); if( print_lines ) - fprintf(out_fp, " numbered { %d }\n", print_num ); + fprintf(out_fp, " numbered { %d }\n", print_num); + if( print_lines && blanknumbered != BLANKNUMBERED_YES ) + fprintf(out_fp, " blanknumbered { %s }\n", + blanknumbered == BLANKNUMBERED_NO ? "No" : "NoPrint"); fprintf(out_fp, "%s%s\n", "@Be", "gin"); while( (ch = getc(in_fp)) != EOF ) putc(ch, out_fp); diff --git a/whatsnew b/whatsnew index 9a2968b..ac9b1a9 100644 --- a/whatsnew +++ b/whatsnew @@ -419,5 +419,24 @@ Changes and new features introduced in Version 3.31 [August 2005] "lout @Space" now used throughout program texts by default (can be changed by setup file options) +Changes and new features introduced in Version 3.32 [October 2006] + + Bug fixes: + Uwe's problem of CRLF occurring on file block boundaries fixed, I hope + Ludovic's fix ensuring "rragged @Break" applies to isolated words + EPS files generated by Lout now safe to include in Lout documents + Multi-column lists (see List section of User's Guide for details) + Basic command-line errors print usage as well as error message + "break" option for lists, "@ListBreak" in setup file (Summerfield) + "labelright" list option, "@ListLabelRight" in setup file (Summerfield) + Peculiar behaviour of multi-paragraph table entries now documented + Some changes to the makefile (contributed by Greg Woods) + Options for the title page of overheads (contributed by Ludovic Courtes) + "blanklinescale" option to "@Break" (scales height of blank lines) + "blanklinescale" options in cprint, java etc. + "blanknumbered" option in cprint, java etc. (don't number blank lines) + "=head3" token added to Pod programming language + "-r" command line option, e.g. -r3 runs Lout three times + Jeff Kingston diff --git a/z01.c b/z01.c index 25bb4ca..d778b17 100644 --- a/z01.c +++ b/z01.c @@ -1,7 +1,7 @@ /*@z01.c:Supervise:StartSym, AllowCrossDb, etc.@******************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -125,7 +125,7 @@ BOOLEAN xleft, BOOLEAN xright, BOOLEAN xindef, unsigned char xprec) /*****************************************************************************/ /* */ -/* static void PrintUsage(fp) */ +/* void PrintUsage(fp) */ /* static void PrintVersion(lib, fp) */ /* */ /* Print usage information / version information on file fp. */ @@ -138,37 +138,43 @@ BOOLEAN xleft, BOOLEAN xright, BOOLEAN xindef, unsigned char xprec) #define lput3(fmt, p1, p2, p3) { fprintf(fp,fmt, p1, p2, p3); lputnl; } #define lput4(fmt, p1, p2, p3, p4){ fprintf(fp,fmt, p1, p2, p3, p4); lputnl; } -static void PrintUsage(FILE *fp) +void PrintUsage(FILE *fp) { lputnl; lput0("usage: lout options files" ); lputnl; - lput0(" -s suppress access to cross reference database" ); - lput0(" -EPS EPS (Encapsulated PostScript) output" ); - lput0(" -PDF or -Z PDF (Adobe Portable Document Format) output" ); - lput0(" -p plain text output instead of PostScript" ); - lput0(" -P like -p but with form-feed char between pages" ); - lput0(" -S safe execution (disable calls to system(3))" ); - lput0(" -U unsafe execution (allow calls to system(3))" ); - lput0(" -l ASCII collation order when sorting indexes etc." ); - lput0(" -L locale collation order when sorting indexes etc."); - lput0(" -o file output to file instead of stdout" ); - lput0(" -e file error messages to file instead of stderr" ); lput0(" -a alternative error format: file:line:col ..." ); - lput0(" -w print total number of words in output" ); - lput0(" -i file like @SysInclude { file }; not recommended" ); - lput0(" -I directory add directory to include file search path" ); + lput0(" -c file use file.li instead of lout.li for crossrefs" ); lput0(" -C directory add directory to LCM file search path" ); + lput0(" -d debug the Lout run (if enabled in binary)" ); + lput0(" -D directory add directory to database file search path" ); + lput0(" -e file error messages to file instead of stderr" ); + lput0(" -EPS EPS (Encapsulated PostScript) output" ); lput0(" -F directory add directory to font metrics file search path" ); + lput0(" -h file use hyphenation file" ); lput0(" -H directory add directory to hyphenation file search path" ); - lput0(" -D directory add directory to database file search path" ); - lput0(" --option{value} set option e.g. --'@InitialFont{Times Base 10p}'"); - lput0(" -c file use file.li instead of lout.li for crossrefs" ); + lput0(" -i file like @SysInclude { file }; not recommended" ); + lput0(" -I directory add directory to include file search path" ); + lput0(" -k suppress all kerning" ); + lput0(" -l ASCII collation order when sorting indexes etc." ); + lput0(" -L locale collation order when sorting indexes etc."); + lput0(" -m monitor address during Lout run (for debugging)" ); lput0(" -M save memory (don't read in database indexes)" ); + lput0(" -o file output to file instead of stdout" ); + lput0(" -p plain text output instead of PostScript" ); + lput0(" -P like -p but with form-feed char between pages" ); + lput0(" -PDF or -Z PDF (Adobe Portable Document Format) output" ); + lput0(" -r run Lout times; print on last run only"); + lput0(" -s suppress access to cross reference database" ); + lput0(" -S safe execution (disable calls to system(3))" ); lput0(" -t ignore texture changes, always use solid colour" ); - lput0(" -x initializing run, not for ordinary use" ); lput0(" -u print this usage message on stderr and exit" ); + lput0(" -U unsafe execution (allow calls to system(3))" ); lput0(" -V print version and configuration information" ); + lput0(" -w print total number of words in output" ); + lput0(" -x initializing run, not for ordinary use" ); + lput0(" -Z PDF (Adobe Portable Document Format) output" ); + lput0(" --option{value} set option e.g. --'@InitialFont{Times Base 10p}'"); lput0(" - a file name denoting standard input" ); lputnl; } /* end PrintUsage */ @@ -221,51 +227,37 @@ static FULL_CHAR *GetArg(char *argv[], int argc, int *i) /*****************************************************************************/ /* */ -/* main(argc, argv) */ +/* void run(int argc, char *argv[], int *runs_to_do, FULL_CHAR *lib) */ /* */ -/* Read command line, initialise everything, read definitions, read */ -/* galleys, clean up and exit. */ +/* Carry out one run of Lout. If *runs_to_do is -1, set it. */ /* */ /*****************************************************************************/ -int main(int argc, char *argv[]) +typedef enum { + BE_PLAIN, + BE_PS, + BE_PDF +} BE_TYPE; + +static void run(int argc, char *argv[], int run_num, int *runs_to_do, + FULL_CHAR *lib) { int i, len; FULL_CHAR *arg; OBJECT t, y, res, s; /* current token, parser output */ BOOLEAN stdin_seen; /* TRUE when stdin file seen */ int source_file_count; /* number of source files in command */ FULL_CHAR *cross_db; /* name of cross reference database */ FULL_CHAR *outfile; /* name of output file */ - FULL_CHAR *lib; /* name of library directory */ FILE *out_fp; long MemCheckLong; FULL_CHAR oname[MAX_BUFF], oval[MAX_BUFF], buff[MAX_BUFF], *p; - int bp; OBJECT z; - BOOLEAN seen_wordcount; -#if LOCALE_ON - char catname[MAX_BUFF], *loc; -#endif - - /* find the name of the library directory, from envt or else from -D */ - lib = AsciiToFull(getenv("LOUTLIB")); - if( lib == (FULL_CHAR *) NULL ) - lib = AsciiToFull(LIB_DIR); - - /* set locale if that's what we are doing */ -#if LOCALE_ON - loc = setlocale(LC_MESSAGES, ""); - if( loc == (char *) NULL ) - { Error(1, 6, "unable to initialize locale", WARN, no_fpos); - loc = "C"; - } - sprintf(catname, "%s/%s/%s/LC_MESSAGES/errors.%s", - lib, LOCALE_DIR, loc, loc); - MsgCat = catopen(catname, 0); -#endif + int bp, runcount; OBJECT z; + BOOLEAN seen_wordcount, encapsulated; + BE_TYPE be_type; /* initialise various modules, add current directory to search paths */ TotalWordCount = 0; seen_wordcount = FALSE; - BackEnd = PS_BackEnd; + be_type = BE_PS; PlainCharWidth = PLAIN_WIDTH; PlainCharHeight = PLAIN_HEIGHT; PlainFormFeed = FALSE; @@ -273,9 +265,10 @@ int main(int argc, char *argv[]) UseCollate = COLLATE; AllowCrossDb = TRUE; InMemoryDbIndexes = TRUE; - Encapsulated = FALSE; + encapsulated = FALSE; SafeExecution = SAFE_DFT ? TRUE : FALSE; Kern = TRUE; + ErrorInit(); MemInit(); InitSym(); LexInit(); @@ -299,13 +292,25 @@ int main(int argc, char *argv[]) /* read name of output file */ if( (outfile = GetArg(argv, argc, &i)) == NULL ) - Error(1, 7, "usage: -o ", FATAL, no_fpos); + Error(1, 7, "usage: -o ", FATAL_WITH_USAGE, no_fpos); if( StringEndsWith(outfile, SOURCE_SUFFIX) ) Error(1, 28, "-o: output file name %s ends with %s", FATAL, no_fpos, outfile, SOURCE_SUFFIX); break; + case CH_FLAG_RUNS: + + /* multiple runs */ + if( sscanf(argv[i]+2, "%d", &runcount) != 1 ) + Error(1, 32, "usage: -r", FATAL_WITH_USAGE, no_fpos); + if( runcount <= 0 || runcount > 20 ) + Error(1, 33, "invalid value of -r", FATAL_WITH_USAGE, no_fpos); + assert(*runs_to_do == -1 || *runs_to_do == runcount, "-r"); + *runs_to_do = runcount; + break; + + case CH_FLAG_SUPPRESS: /* suppress references to OldCrossDb and NewCrossDb */ @@ -345,7 +350,7 @@ int main(int argc, char *argv[]) /* read name of cross reference database */ if( (cross_db = GetArg(argv, argc, &i)) == NULL ) - Error(1, 8, "usage: -c ", FATAL, no_fpos); + Error(1, 8, "usage: -c ", FATAL_WITH_USAGE, no_fpos); break; @@ -353,8 +358,8 @@ int main(int argc, char *argv[]) /* read log file name */ if( (arg = GetArg(argv, argc, &i)) == NULL ) - Error(1, 9, "usage: -e ", FATAL, no_fpos); - ErrorInit(arg); + Error(1, 9, "usage: -e ", FATAL_WITH_USAGE, no_fpos); + ErrorSetFile(arg); break; @@ -369,8 +374,8 @@ int main(int argc, char *argv[]) /* -EPS produces encapsulated PostScript output */ if( !StringEqual(AsciiToFull(argv[i]+1), STR_EPS) ) - Error(1, 10, "usage: -EPS", FATAL, no_fpos); - Encapsulated = TRUE; + Error(1, 10, "usage: -EPS", FATAL_WITH_USAGE, no_fpos); + encapsulated = TRUE; break; @@ -378,7 +383,7 @@ int main(int argc, char *argv[]) /* add directory to database and sysdatabase paths */ if( (arg = GetArg(argv, argc, &i)) == NULL ) - Error(1, 11, "usage: -D ", FATAL, no_fpos); + Error(1, 11, "usage: -D ", FATAL_WITH_USAGE, no_fpos); AddToPath(DATABASE_PATH, MakeWord(WORD, arg, no_fpos)); AddToPath(SYSDATABASE_PATH, MakeWord(WORD, arg, no_fpos)); break; @@ -388,7 +393,7 @@ int main(int argc, char *argv[]) /* add directory to character mapping path */ if( (arg = GetArg(argv, argc, &i)) == NULL ) - Error(1, 12, "usage: -C ", FATAL, no_fpos); + Error(1, 12, "usage: -C ", FATAL_WITH_USAGE, no_fpos); AddToPath(MAPPING_PATH, MakeWord(WORD, arg, no_fpos)); break; @@ -397,7 +402,7 @@ int main(int argc, char *argv[]) /* add directory to font path */ if( (arg = GetArg(argv, argc, &i)) == NULL ) - Error(1, 13, "usage: -F ", FATAL, no_fpos); + Error(1, 13, "usage: -F ", FATAL_WITH_USAGE, no_fpos); AddToPath(FONT_PATH, MakeWord(WORD, arg, no_fpos)); break; @@ -406,7 +411,7 @@ int main(int argc, char *argv[]) /* add directory to hyph path */ if( (arg = GetArg(argv, argc, &i)) == NULL ) - Error(1, 14, "usage: -H ", FATAL, no_fpos); + Error(1, 14, "usage: -H ", FATAL_WITH_USAGE, no_fpos); AddToPath(HYPH_PATH, MakeWord(WORD, arg, no_fpos)); break; @@ -415,7 +420,7 @@ int main(int argc, char *argv[]) /* add directory to include and sysinclude paths */ if( (arg = GetArg(argv, argc, &i)) == NULL ) - Error(1, 15, "usage: -I ", FATAL, no_fpos); + Error(1, 15, "usage: -I ", FATAL_WITH_USAGE, no_fpos); AddToPath(INCLUDE_PATH, MakeWord(WORD, arg, no_fpos)); AddToPath(SYSINCLUDE_PATH, MakeWord(WORD, arg, no_fpos)); break; @@ -425,7 +430,7 @@ int main(int argc, char *argv[]) /* read sysinclude file and strip any .lt suffix */ if( (arg = GetArg(argv, argc, &i)) == NULL ) - Error(1, 16, "usage: -i ", FATAL, no_fpos); + Error(1, 16, "usage: -i ", FATAL_WITH_USAGE, no_fpos); len = StringLength(arg) - StringLength(SOURCE_SUFFIX); if( len >= 0 && StringEqual(&arg[len], SOURCE_SUFFIX) ) StringCopy(&arg[len], STR_EMPTY); @@ -438,9 +443,9 @@ int main(int argc, char *argv[]) /* declare hyphenation file */ if( FirstFile(HYPH_FILE) != NO_FILE ) - Error(1, 17, "two -h options illegal", FATAL, no_fpos); + Error(1, 17, "two -h options illegal", FATAL_WITH_USAGE, no_fpos); if( (arg = GetArg(argv, argc, &i)) == NULL ) - Error(1, 18, "usage: -h ", FATAL, no_fpos); + Error(1, 18, "usage: -h ", FATAL_WITH_USAGE, no_fpos); debug0(DFS, D, " calling DefineFile from main (2)"); DefineFile(arg, STR_EMPTY, no_fpos, HYPH_FILE, INCLUDE_PATH); DefineFile(arg, HYPH_SUFFIX, no_fpos, HYPH_PACKED_FILE, INCLUDE_PATH); @@ -468,7 +473,7 @@ int main(int argc, char *argv[]) case CH_FLAG_PDF: - BackEnd = PDF_BackEnd; + be_type = BE_PDF; break; @@ -476,7 +481,7 @@ int main(int argc, char *argv[]) if( StringEqual(AsciiToFull(argv[i]+1), STR_PDF) ) { - BackEnd = PDF_BackEnd; + be_type = BE_PDF; break; } PlainFormFeed = TRUE; @@ -485,7 +490,7 @@ int main(int argc, char *argv[]) case CH_FLAG_PLAIN: - BackEnd = Plain_BackEnd; + be_type = BE_PLAIN; if( *(argv[i]+2) != '\0' ) { float len1, len2; FULL_CHAR units1, units2; if( sscanf(argv[i]+2, "%f%c%f%c",&len1,&units1,&len2,&units2) != 4 ) @@ -633,8 +638,8 @@ int main(int argc, char *argv[]) default: - PrintUsage(stderr); - Error(1, 26, "unknown command line flag %s", FATAL, no_fpos, argv[i]); + Error(1, 26, "unknown command line flag %s", FATAL_WITH_USAGE, + no_fpos, argv[i]); break; } @@ -650,6 +655,8 @@ int main(int argc, char *argv[]) source_file_count++; } } /* for */ + if( *runs_to_do == -1 ) + *runs_to_do = 1; if( UseCollate ) { @@ -660,29 +667,47 @@ int main(int argc, char *argv[]) /* start timing if required */ ifdebug(DPP, D, ProfileOn("main")); - /* open output file, or stdout if none specified, and initialize printer */ - if( StringEqual(outfile, STR_STDOUT) ) + /* sort out output file and back end */ + if( run_num == *runs_to_do ) { + /* last run, so open output file (or stdout if none specified) */ + if( StringEqual(outfile, STR_STDOUT) ) + { #if OS_DOS - /* For DOS/Win32 we need to set binary mode on stdout to prevent - PDF compressed streams and xrefs from being corrupted - Uwe 12/98 */ - if( BackEnd->code != PLAINTEXT && - _setmode(_fileno(stdout), _O_BINARY) == -1 ) - Error(1, 31, "cannot set binary mode on stdout", FATAL, no_fpos); + /* For DOS/Win32 we need to set binary mode on stdout to prevent + PDF compressed streams and xrefs from being corrupted - Uwe 12/98 */ + if( be_type != BE_PLAIN && _setmode(_fileno(stdout), _O_BINARY) == -1 ) + Error(1, 31, "cannot set binary mode on stdout", FATAL, no_fpos); #endif - out_fp = stdout; + out_fp = stdout; + } + else + { out_fp = StringFOpen(outfile, WRITE_FILE); + if( out_fp == null ) + Error(1, 27, "cannot open output file %s", FATAL, no_fpos, outfile); + } + if( be_type == BE_PLAIN ) + BackEnd = Plain_BackEnd; + else if( be_type == BE_PS ) + BackEnd = PS_BackEnd; + else + BackEnd = PDF_BackEnd; + BackEnd->PrintInitialize(out_fp, encapsulated); } else - { out_fp = StringFOpen(outfile, WRITE_FILE); - if( out_fp == null ) - Error(1, 27, "cannot open output file %s", FATAL, no_fpos, outfile); + { + /* not last run, so use a null backend */ + if( be_type == BE_PLAIN ) + BackEnd = Plain_NullBackEnd; + else + BackEnd = PS_NullBackEnd; + BackEnd->PrintInitialize(NULL, encapsulated); } /* initialize miscellaneous modules */ ColourInit(); TextureInit(); LanguageInit(); - BackEnd->PrintInitialize(out_fp); /* append default directories to file search paths */ AddToPath(FONT_PATH, MakeWordThree(lib, STR_DIR, AsciiToFull(FONT_DIR))); @@ -836,8 +861,14 @@ int main(int argc, char *argv[]) /* initialize filter module */ FilterInit(); - /* initialize enviroment table module */ + /* initialize enviroment table module, etc. */ + CrossInitModule(); EnvInit(); + DbInit(); + HyphInit(); + MapInit(); + ReadFromFileInit(); + PromoteInit(); /* initialise scope chain to */ PushScope(StartSym, FALSE, FALSE); @@ -891,6 +922,53 @@ int main(int argc, char *argv[]) ifdebug(DPP, D, ProfilePrint()); ifdebug(DET, D, EnvDebug()); +} /* end run */ + + +/*****************************************************************************/ +/* */ +/* main(argc, argv) */ +/* */ +/* Read command line, initialise everything, read definitions, read */ +/* galleys, clean up and exit. */ +/* */ +/*****************************************************************************/ + +int main(int argc, char *argv[]) +{ + FULL_CHAR *lib; /* name of library directory */ + int run_num, runs_to_do; +#if LOCALE_ON + char catname[MAX_BUFF], *loc; +#endif + + /* find the name of the library directory, from envt or else from -D */ + lib = AsciiToFull(getenv("LOUTLIB")); + if( lib == (FULL_CHAR *) NULL ) + lib = AsciiToFull(LIB_DIR); + + /* set locale if that's what we are doing */ +#if LOCALE_ON + loc = setlocale(LC_MESSAGES, ""); + if( loc == (char *) NULL ) + { Error(1, 6, "unable to initialize locale", WARN, no_fpos); + loc = "C"; + } + sprintf(catname, "%s/%s/%s/LC_MESSAGES/errors.%s", + lib, LOCALE_DIR, loc, loc); + MsgCat = catopen(catname, 0); +#endif + + run_num = 1; runs_to_do = -1; + do + { + if( run_num > 1 ) + Error(1, 34, "lout -r beginning run %d:", WARN, no_fpos, run_num); + run(argc, argv, run_num, &runs_to_do, lib); + run_num++; + } + while( run_num <= runs_to_do ); + #if LOCALE_ON catclose(MsgCat); #endif diff --git a/z02.c b/z02.c index 7f2a276..ddcaa48 100644 --- a/z02.c +++ b/z02.c @@ -1,7 +1,7 @@ /*@z02.c:Lexical Analyser:Declarations@***************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -236,8 +236,8 @@ void LexPush(FILE_NUM x, int offs, int ftyp, int lnum, BOOLEAN same) } stack_free += 1; ifdebug(DMA, D, - DebugRegisterUsage(MEM_LEX,1, (MAX_LINE+BUFFER_SIZE+2)*sizeof(FULL_CHAR))); - mem_block = (FULL_CHAR *) malloc((MAX_LINE+BUFFER_SIZE+2)*sizeof(FULL_CHAR)); + DebugRegisterUsage(MEM_LEX,1, (MAX_LINE+BUFFER_SIZE+3)*sizeof(FULL_CHAR))); + mem_block = (FULL_CHAR *) malloc((MAX_LINE+BUFFER_SIZE+3)*sizeof(FULL_CHAR)); if( mem_block == NULL ) Error(2, 3, "run out of memory when opening file %s", FATAL, PosOfFile(x), FullFileName(x)); @@ -364,6 +364,8 @@ long LexNextTokenPos(void) /* */ /* Move to new line of input file. May need to recharge buffer. */ /* */ +/* Patched JeffK 16/10/06 to fix bug when CRLF falls on block boundary. */ +/* */ /*****************************************************************************/ static void srcnext(void) @@ -383,7 +385,7 @@ static void srcnext(void) /* if buffer is empty, read next block */ /*** changed by JK 9/92 from "if( chpt == limit )" to fix long lines bug */ if( chpt >= limit ) - { if( chpt > limit ) + { if( chpt > limit+1 || (chpt == limit + 1 && chtbl[*limit] != NEWLINE) ) { col_num(file_pos) = 1; Error(2, 5, "line is too long (or final newline missing)", FATAL, &file_pos); @@ -409,7 +411,7 @@ static void srcnext(void) debugcond4(DLA, DD, stack_free <= 1, "srcnext: %d = fread(0x%x, %d, %d, fp)", blksize, buf, sizeof(char), BUFFER_SIZE); - frst = buf; limit = buf + blksize; *limit = CH_LF; + frst = buf; limit = buf + blksize; *limit = CH_LF; *(limit + 1) = CH_CR; } /* if nothing more to read, make this clear */ @@ -683,8 +685,10 @@ OBJECT LexGetToken(void) FileNum(string(fname), SOURCE_SUFFIX) == NO_FILE) ) { /* need to define and read this include file */ - debug1(DFS, D, " calling DefineFile %s from LexGetToken", - string(fname)); + debug4(DFS, D, " calling DefineFile %s from LexGetToken (%s, %d, %d)", + string(fname), bool(InDefinitions), + FileNum(string(fname), STR_EMPTY), + FileNum(string(fname), SOURCE_SUFFIX)); fnum = DefineFile(string(fname), STR_EMPTY, &fpos(fname), INCLUDE_FILE, predefined(res)==INCLUDE ? INCLUDE_PATH : SYSINCLUDE_PATH); diff --git a/z03.c b/z03.c index c670e11..a9ba830 100644 --- a/z03.c +++ b/z03.c @@ -1,7 +1,7 @@ /*@z03.c:File Service:Declarations, no_fpos@******************************** */ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z04.c b/z04.c index ce9409e..b39603e 100644 --- a/z04.c +++ b/z04.c @@ -1,7 +1,7 @@ /*@z04.c:Token Service:NewToken(), CopyTokenList()@***************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z05.c b/z05.c index da25984..1f25fc6 100644 --- a/z05.c +++ b/z05.c @@ -1,7 +1,7 @@ /*@z05.c:Read Definitions:ReadLangDef()@**************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z06.c b/z06.c index d382dc2..18f6e88 100644 --- a/z06.c +++ b/z06.c @@ -1,7 +1,7 @@ /*@z06.c:Parser:PushObj(), PushToken(), etc.@*********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -40,11 +40,11 @@ static OBJECT cross_name; /* name of the cr database */ #define MAX_STACK 200 /* size of parser stacks */ static OBJECT obj_stack[MAX_STACK]; /* stack of objects */ -static int otop = -1; /* top of obj_stack */ +static int otop; /* top of obj_stack */ static OBJECT tok_stack[MAX_STACK]; /* stack of tokens */ -static int ttop = -1; /* top of tok_stack */ -static int unknown_count = 0; /* no. of unknown symbols */ - BOOLEAN InDefinitions = TRUE; /* TRUE when in definitions */ +static int ttop; /* top of tok_stack */ +static int unknown_count; /* no. of unknown symbols */ + BOOLEAN InDefinitions; /* TRUE when in definitions */ #if DEBUG_ON static BOOLEAN debug_now = FALSE; /* TRUE when want to debug */ #endif @@ -707,7 +707,16 @@ void SetScope(OBJECT env, int *count, BOOLEAN vis_only) /*****************************************************************************/ void InitParser(FULL_CHAR *cross_db) -{ if( StringLength(cross_db) >= MAX_WORD ) +{ + otop = -1; + ttop = -1; + unknown_count = 0; + InDefinitions = TRUE; + debug0(DOP, D, "InitParser setting InDefinitions to TRUE"); +#if DEBUG_ON + debug_now = FALSE; +#endif + if( StringLength(cross_db) >= MAX_WORD ) Error(6, 10, "cross reference database file name %s is too long", FATAL, no_fpos, cross_db); cross_name = MakeWord(WORD, cross_db, no_fpos); @@ -808,7 +817,7 @@ BOOLEAN defs_allowed, BOOLEAN transfer_allowed) /* if error in definitions, stop now */ if( ErrorSeen() ) - Error(6, 14, "exiting now", FATAL, &fpos(t)); + Error(6, 14, "exiting now (error in definitions)", FATAL, &fpos(t)); if( encl == StartSym ) { @@ -829,7 +838,7 @@ BOOLEAN defs_allowed, BOOLEAN transfer_allowed) /* if error in definitions, stop now */ if( ErrorSeen() ) - Error(6, 39, "exiting now", FATAL, &fpos(t)); + Error(6, 39, "exiting now (error in definitions)", FATAL, &fpos(t)); } else if( type(t) == USE ) @@ -894,6 +903,7 @@ BOOLEAN defs_allowed, BOOLEAN transfer_allowed) debug_now = TRUE; #endif InDefinitions = FALSE; + debug0(DOP, D, "Parse() setting InDefinitions to FALSE"); debugcond4(DOP, DD, debug_now, "[ Parse (first) (%s, %s, %s, %s)", EchoToken(*token), SymName(encl), bool(defs_allowed), bool(transfer_allowed)); @@ -1416,7 +1426,7 @@ BOOLEAN defs_allowed, BOOLEAN transfer_allowed) } /* end while */ /* report absence of compulsory parameters */ - debug4(DOP, D, "%s %s %d : %d", EchoFilePos(&fpos(x)), + debug4(DOP, DD, "%s %s %d : %d", EchoFilePos(&fpos(x)), SymName(xsym), compulsory_count, has_compulsory(xsym)); if( compulsory_count < has_compulsory(xsym) ) { diff --git a/z07.c b/z07.c index 08aaa31..b739fb8 100644 --- a/z07.c +++ b/z07.c @@ -1,7 +1,7 @@ /*@z07.c:Object Service:SplitIsDefinite(), DisposeObject()@*******************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z08.c b/z08.c index 733e745..e80f135 100644 --- a/z08.c +++ b/z08.c @@ -1,7 +1,7 @@ /*@z08.c:Object Manifest:ReplaceWithSplit()@**********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -247,7 +247,7 @@ OBJECT ReplaceWithTidy(OBJECT x, int spacing) /* */ /*****************************************************************************/ -static float GetScaleFactor(OBJECT x) +float GetScaleFactor(OBJECT x) { float scale_factor; if( !is_word(type(x)) ) { Error(8, 3, "replacing invalid scale factor by 1.0", WARN, &fpos(x)); @@ -1018,7 +1018,9 @@ OBJECT *enclose, BOOLEAN fcr) case WORD: case QWORD: - if( !ok || *crs == nilobj ) + /* *** patched by JeffK 17/10/06 following a suggestion of Ludovic Courtes *** */ + /* if( !ok || *crs == nilobj ) */ + if( !ok ) { word_font(x) = font(*style); word_colour(x) = colour(*style); word_texture(x) = texture(*style); @@ -1029,7 +1031,7 @@ OBJECT *enclose, BOOLEAN fcr) word_hyph(x) = hyph_style(*style) == HYPH_ON; debug3(DOM, DDD, " manfifest/WORD underline() := %s for %s %s", "UNDER_OFF", Image(type(x)), EchoObject(x)); - if( small_caps(*style) && ok ) x = MapSmallCaps(x, style); + if( small_caps(*style) && ok ) x = MapSmallCaps(x, style); /* unreachable */ underline(x) = UNDER_OFF; ReplaceWithSplit(x, bthr, fthr); break; diff --git a/z09.c b/z09.c index 1f77925..d2acbe6 100644 --- a/z09.c +++ b/z09.c @@ -1,7 +1,7 @@ /*@z09.c:Closure Expansion:SearchEnv()@***************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z10.c b/z10.c index 90ca60a..43846b0 100644 --- a/z10.c +++ b/z10.c @@ -1,7 +1,7 @@ /*@z10.c:Cross References:CrossInit(), CrossMake()@***************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -34,7 +34,7 @@ #define WRITTEN_TARGET 2 #define INIT_CROSSREF_NUM 100 -static OBJECT RootCross = nilobj; /* header for all crs */ +static OBJECT RootCross; /* header for all crs */ /*****************************************************************************/ /* */ @@ -157,7 +157,22 @@ static void crtab_debug(CROSSREF_TABLE S) } /* end crtab_debug */ #endif -static CROSSREF_TABLE crossref_tab = NULL; +static CROSSREF_TABLE crossref_tab; + + +/*****************************************************************************/ +/* */ +/* void CrossInitModule(void) */ +/* */ +/* Initialize this module. */ +/* */ +/*****************************************************************************/ + +void CrossInitModule(void) +{ + RootCross = nilobj; + crossref_tab = NULL; +} /*@@**************************************************************************/ @@ -343,10 +358,6 @@ void CrossAddTag(OBJECT x) /* *crs for this purpose. The result replaces x, which is disposed. */ /* */ /*****************************************************************************/ -static OBJECT nbt[2] = { nilobj, nilobj }; -static OBJECT nft[2] = { nilobj, nilobj }; -static OBJECT ntarget = nilobj; -static OBJECT nenclose = nilobj; OBJECT CrossExpand(OBJECT x, OBJECT env, STYLE *style, OBJECT *crs, OBJECT *res_env) @@ -354,6 +365,7 @@ OBJECT *crs, OBJECT *res_env) int ctype, count, i; FULL_CHAR buff[MAX_BUFF], seq[MAX_BUFF], *str; FILE_NUM fnum, dfnum; BOOLEAN tagerror = FALSE; long cont, dfpos; int dlnum; + OBJECT nbt[2], nft[2], ntarget, nenclose; assert( is_cross(type(x)), "CrossExpand: x!" ); debug2(DCR, DD, "[ CrossExpand( %s, env, style, %s, res_env )", EchoObject(x), EchoObject(*crs)); @@ -362,6 +374,8 @@ OBJECT *crs, OBJECT *res_env) /* manifest and tidy the right parameter */ Child(tag, LastDown(x)); debug0(DOM, D, " [ calling Manifest from CrossExpand"); + ntarget = nenclose = nilobj; + nbt[COLM] = nft[COLM] = nbt[ROWM] = nft[ROWM] = nilobj; tag = Manifest(tag, env, style, nbt, nft, &ntarget, crs, FALSE, FALSE, &nenclose, FALSE); debug0(DOM, D, " ] returning from Manifest"); tag = ReplaceWithTidy(tag, WORD_TIDY); /* && */ diff --git a/z11.c b/z11.c index 1dc5796..265f295 100644 --- a/z11.c +++ b/z11.c @@ -1,7 +1,7 @@ /*@z11.c:Style Service:EchoStyle()@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -290,6 +290,23 @@ void BreakChange(STYLE *style, OBJECT x) find_max(outdent_len(*style) - width(res_gap), 0); } } + else if( StringEqual(string(y), STR_BREAK_SCALE) ) + { + debug1(DSS, D, " found %s", STR_BREAK_SCALE); + if( NextDown(link)==x || NextDown(NextDown(link))==x ) + { + Error(11, 12, "scale factor missing after %s in %s", + WARN, &fpos(x), STR_BREAK_SCALE, KW_BREAK); + } + else + { + float val; + link = NextDown(NextDown(link)); + Child(y, link); + val = GetScaleFactor(y); + blanklinescale(*style) = (int) (val * SF); + } + } else { debug1(DSS, D, " not found %s", STR_BREAK_SETOUTDENT); diff --git a/z12.c b/z12.c index 432c269..001afe2 100644 --- a/z12.c +++ b/z12.c @@ -1,7 +1,7 @@ /*@z12.c:Size Finder:MinSize()@***********************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -974,8 +974,12 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) /* append a gap to res (recycle g) */ MoveLink(Up(g), res, PARENT); GapCopy(gap(g), line_gap(save_style(x))); + /* *** old formula before blanklinescale width(gap(g)) *= find_max(1, vspace(g)); - + *** */ + if( vspace(g) > 1 ) + width(gap(g)) += + (width(gap(g))*blanklinescale(save_style(x))*(vspace(g)-1))/SF; } NextDefiniteWithGap(x, link, y, g, jn); } diff --git a/z13.c b/z13.c index 02ddc3c..330712b 100644 --- a/z13.c +++ b/z13.c @@ -1,7 +1,7 @@ /*@z13.c:Object Breaking:BreakJoinedGroup()@**********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z14.c b/z14.c index 7562c1d..a944866 100644 --- a/z14.c +++ b/z14.c @@ -1,7 +1,7 @@ /*@z14.c:Fill Service:Declarations@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z15.c b/z15.c index f9a6836..a97c0c5 100644 --- a/z15.c +++ b/z15.c @@ -1,7 +1,7 @@ /*@z15.c:Size Constraints:MinConstraint(), EnlargeToConstraint()@*************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z16.c b/z16.c index 4dd7759..94343ea 100644 --- a/z16.c +++ b/z16.c @@ -1,7 +1,7 @@ /*@z16.c:Size Adjustment:SetNeighbours(), CatAdjustSize()@********************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z17.c b/z17.c index 9930aec..9a1fd5e 100644 --- a/z17.c +++ b/z17.c @@ -1,7 +1,7 @@ /*@z17.c:Gap Widths:GetGap()@*************************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z18.c b/z18.c index efe5555..4e848f2 100644 --- a/z18.c +++ b/z18.c @@ -1,7 +1,7 @@ /*@z18.c:Galley Transfer:Declarations@****************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -31,7 +31,7 @@ #include "externs.h" #define MAX_DEPTH 30 /* max depth of galleys */ -static OBJECT root_galley = nilobj; /* the root galley */ +static OBJECT root_galley; /* the root galley */ static OBJECT targets[MAX_DEPTH]; /* currently open \Inputs */ static CONSTRAINT constraints[MAX_DEPTH]; /* their COLM constraints */ static int itop; /* stack top */ @@ -81,6 +81,7 @@ void TransferInit(OBJECT InitEnv) font(InitialStyle) = 0; /* i.e. undefined */ colour(InitialStyle) = 0; /* i.e. undefined */ texture(InitialStyle) = 1; /* i.e. "null" */ + blanklinescale(InitialStyle) = SF; /* i.e. 1.0 (scaled) */ outline(InitialStyle) = FALSE; /* i.e. not outlined */ language(InitialStyle) = 0; /* i.e. undefined */ yunit(InitialStyle) = 0; /* i.e. zero */ diff --git a/z19.c b/z19.c index ac2ee9a..105cc17 100644 --- a/z19.c +++ b/z19.c @@ -1,7 +1,7 @@ /*@z19.c:Galley Attaching:DetachGalley()@*************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z20.c b/z20.c index 51749e8..22dc41f 100644 --- a/z20.c +++ b/z20.c @@ -1,7 +1,7 @@ /*@z20.c:Galley Flushing:DebugInnersNames()@**********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z21.c b/z21.c index a7e3ab4..22be627 100644 --- a/z21.c +++ b/z21.c @@ -1,7 +1,7 @@ /*@z21.c:Galley Maker:SizeGalley()@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z22.c b/z22.c index 98fec6f..10d64b7 100644 --- a/z22.c +++ b/z22.c @@ -1,7 +1,7 @@ /*@z22.c:Galley Service:Interpose()@******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -31,6 +31,27 @@ /*****************************************************************************/ #include "externs.h" +/* these three variables refer to the root galley only */ +static BOOLEAN first = TRUE; /* if first component unwritten */ +static OBJECT page_label = nilobj; /* current page label object */ +static OBJECT prev_page_label = nilobj; /* previous page label object */ + + +/*****************************************************************************/ +/* */ +/* void PromoteInit(void) */ +/* */ +/* Initialize this module. */ +/* */ +/*****************************************************************************/ + +void PromoteInit(void) +{ + first = TRUE; + page_label = nilobj; + prev_page_label = nilobj; +} + /*****************************************************************************/ /* */ @@ -551,11 +572,6 @@ void HandleHeader(OBJECT hd, OBJECT header) void Promote(OBJECT hd, OBJECT stop_link, OBJECT dest_index, BOOLEAN join_after) { - /* these three variables refer to the root galley only */ - static BOOLEAN first = TRUE; /* if first component unwritten */ - static OBJECT page_label = nilobj; /* current page label object */ - static OBJECT prev_page_label = nilobj; /* previous page label object */ - OBJECT dest, link, y, z, tmp1, tmp2, why, top_y; FULL_CHAR *label_string, buff[MAX_LINE]; FULL_LENGTH aback, afwd; diff --git a/z23.c b/z23.c index ddfc69e..d8e04ec 100644 --- a/z23.c +++ b/z23.c @@ -1,7 +1,7 @@ /*@z23.c:Galley Printer:ScaleFactor()@****************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -63,7 +63,7 @@ if( type(y) == GAP_OBJ ) g = y, jn = jn && join(gap(y)); \ else if( type(y)==SPLIT ? SplitIsDefinite(y):is_definite(type(y)) ) \ { \ - debug2(DFS, D, " NextDefiniteWithGap at %s %s", \ + debug2(DFS, DD, " NextDefiniteWithGapLDN at %s %s", \ Image(type(y)), EchoObject(y)); \ assert( g != nilobj, "NextDefiniteWithGap: g == nilobj!" ); \ break; \ diff --git a/z24.c b/z24.c index 8a0181b..823ab5a 100644 --- a/z24.c +++ b/z24.c @@ -1,7 +1,7 @@ /*@z24.c:Print Service:PrintInit()@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z25.c b/z25.c index e1e421e..3707d80 100644 --- a/z25.c +++ b/z25.c @@ -1,7 +1,7 @@ /*@z25.c:Object Echo:aprint(), cprint(), printnum()@**************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z26.c b/z26.c index 48feb28..50dfb28 100644 --- a/z26.c +++ b/z26.c @@ -1,7 +1,7 @@ /*@z26.c:Echo Service:BeginString()@******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -41,7 +41,7 @@ static BOOLEAN instring = FALSE; /* TRUE while making a string */ /*****************************************************************************/ /* */ -/* BeginString() */ +/* BeginString(void) */ /* */ /* Locate a clear buffer into which debug output may be accumulated. */ /* */ @@ -84,7 +84,7 @@ void AppendString(FULL_CHAR *str) /*****************************************************************************/ /* */ -/* FULL_CHAR *EndString() */ +/* FULL_CHAR *EndString(void) */ /* */ /* Return the string constructed by previous AppendString operations. */ /* */ diff --git a/z27.c b/z27.c index 4eaa5cd..fbf73c4 100644 --- a/z27.c +++ b/z27.c @@ -1,7 +1,7 @@ /*@z27.c:Debug Service:Debug flags@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z28.c b/z28.c index 6d01133..12c5a3a 100644 --- a/z28.c +++ b/z28.c @@ -1,7 +1,7 @@ /*@z28.c:Error Service:ErrorInit(), ErrorSeen()@******************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -36,27 +36,46 @@ static BOOLEAN print_block[MAX_BLOCKS]; /* TRUE if print this block */ static int start_block[MAX_BLOCKS]; /* first message of block */ static char message[MAX_ERRORS][MAX_BUFF]; /* the error messages */ static int message_fnum[MAX_ERRORS]; /* file number of error mess */ -static FILE *fp = NULL; /* file pointer of log file */ -static BOOLEAN error_seen = FALSE; /* TRUE after first error */ -static int block_top = 0; /* first free error block */ -static int mess_top = 0; /* first free error message */ +static FILE *fp; /* file pointer of log file */ +static BOOLEAN error_seen; /* TRUE after first error */ +static int block_top; /* first free error block */ +static int mess_top; /* first free error message */ +static int CurrentFileNum; /*****************************************************************************/ /* */ -/* ErrorInit(str) */ +/* void ErrorInit() */ +/* */ +/* Initialize this module (must be called before anything else). */ +/* */ +/*****************************************************************************/ + +void ErrorInit() +{ + fp = NULL; + error_seen = FALSE; + block_top = 0; + mess_top = 0; + CurrentFileNum = -1; +} + + +/*****************************************************************************/ +/* */ +/* ErrorSetFile(str) */ /* */ /* Open log file str and initialise this module. */ /* */ /*****************************************************************************/ -void ErrorInit(FULL_CHAR *str) +void ErrorSetFile(FULL_CHAR *str) { if( fp != NULL ) Error(28, 1, "-e argument appears twice in command line", FATAL, no_fpos); fp = StringFOpen(str, WRITE_FILE); if( fp == NULL ) Error(28, 2, "cannot open error file %s", FATAL, no_fpos, str); -} /* end ErrorInit */ +} /* end ErrorSetFile */ /*****************************************************************************/ @@ -82,7 +101,7 @@ BOOLEAN ErrorSeen(void) /*****************************************************************************/ static void PrintFileBanner(int fnum) -{ static int CurrentFileNum = -1; +{ if( fnum != CurrentFileNum ) { fprintf(fp, "lout%s:%s", EchoFileSource(fnum), (char *) STR_NEWLINE); CurrentFileNum = fnum; @@ -198,6 +217,7 @@ POINTER Error(int set_num, int msg_num, char *str, int etype, FILE_POS *pos, ... case FATAL: + case FATAL_WITH_USAGE: while( block_top > 0 ) LeaveErrorBlock(TRUE); if( AltErrorFormat ) @@ -213,6 +233,8 @@ POINTER Error(int set_num, int msg_num, char *str, int etype, FILE_POS *pos, ... } /* for estrip's benefit: Error(28, 5, " %6s: fatal error: %s%s") */ /* for estrip's benefit: Error(28, 8, "%s: fatal error: %s%s") */ + if( etype == FATAL_WITH_USAGE ) + PrintUsage(fp); exit(1); break; diff --git a/z29.c b/z29.c index 818882f..0f479b6 100644 --- a/z29.c +++ b/z29.c @@ -1,7 +1,7 @@ /*@z29.c:Symbol Table:Declarations, hash()@***********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -48,8 +48,8 @@ static BOOLEAN suppress_visible; /* suppress visible */ static int scope_top; /* scope stack top */ static struct { OBJECT f1, f2; } symtab[MAX_TAB]; /* the hash table */ #if DEBUG_ON -static int sym_spread[MAX_TAB] = { 0 }; /* hash table spread */ -static int sym_count = 0; /* symbol count */ +static int sym_spread[MAX_TAB]; /* hash table spread */ +static int sym_count; /* symbol count */ #endif @@ -87,6 +87,11 @@ void InitSym(void) suppress_visible = FALSE; for( i = 0; i < MAX_TAB; i++ ) symtab[i].f1 = symtab[i].f2 = (OBJECT) &symtab[i]; +#if DEBUG_ON + for( i = 0; i < MAX_TAB; i++ ) + sym_spread[i] = 0; + sym_count = 0; +#endif } /* end InitSym */ diff --git a/z30.c b/z30.c index f358009..0251811 100644 --- a/z30.c +++ b/z30.c @@ -1,7 +1,7 @@ /*@z30.c:Symbol uses:InsertUses()@********************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z31.c b/z31.c index 21ba99a..f7f4511 100644 --- a/z31.c +++ b/z31.c @@ -1,7 +1,7 @@ /*@z31.c:Memory Allocator:DebugMemory()@**************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z32.c b/z32.c index a763c31..b4c8e3b 100644 --- a/z32.c +++ b/z32.c @@ -1,7 +1,7 @@ /*@z32.c:Counter Service:Next()@**********************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z33.c b/z33.c index 4e793cc..0bf68e3 100644 --- a/z33.c +++ b/z33.c @@ -1,7 +1,7 @@ /*@z33.c:Database Service:OldCrossDb(), NewCrossDb(), SymToNum()@*************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -154,7 +154,8 @@ static void dtab_debug(DBCHECK_TABLE S, FILE *fp) #endif static DBCHECK_TABLE DbCheckTable; /* the dbcheck table */ -static BOOLEAN DbCheckTableInit = FALSE; /* TRUE if table inited */ +static BOOLEAN DbCheckTableInit; /* TRUE if table inited */ +static int extra_seq; /*****************************************************************************/ @@ -167,6 +168,23 @@ static BOOLEAN DbCheckTableInit = FALSE; /* TRUE if table inited */ OBJECT OldCrossDb, NewCrossDb; +/*****************************************************************************/ +/* */ +/* void DbInit(void) */ +/* */ +/* Initialize this module.. */ +/* */ +/*****************************************************************************/ + +void DbInit(void) +{ + DbCheckTable = NULL; + DbCheckTableInit = FALSE; + OldCrossDb = NewCrossDb = nilobj; + extra_seq = 0; +} + + /*****************************************************************************/ /* */ /* #define SymToNum(db, sym, num, gall) */ @@ -270,7 +288,6 @@ void DbInsert(OBJECT db, BOOLEAN gall, OBJECT sym, FULL_CHAR *tag, FILE_POS *tagfpos, FULL_CHAR *seq, FILE_NUM dfnum, long dfpos, int dlnum, BOOLEAN check) { int symnum; OBJECT chk; - static int extra_seq = 0; FULL_CHAR buff[MAX_BUFF]; assert( is_word(type(db)), "DbInsert: db!" ); assert( tag[0] != '\0', "DbInsert: null tag!" ); diff --git a/z34.c b/z34.c index 1263ae2..53d59ff 100644 --- a/z34.c +++ b/z34.c @@ -1,7 +1,7 @@ /*@z34.c:Rotation Service:Declarations@***************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z35.c b/z35.c index 9d8abbc..fe1318b 100644 --- a/z35.c +++ b/z35.c @@ -1,7 +1,7 @@ /*@z35.c:Time Keeper: MomentSym(), TimeString()@******************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z36.c b/z36.c index 7cb26cd..db7854e 100644 --- a/z36.c +++ b/z36.c @@ -1,7 +1,7 @@ /*@z36.c:Hyphenation: Declarations@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -175,8 +175,27 @@ typedef struct trie_rec int string_first; /* the first (last inserted) string */ } *TRIE; -static TRIE HyphTables[MAX_LANGUAGE] = { NULL }; -static BOOLEAN TriedFile[MAX_LANGUAGE] = { FALSE }; +static TRIE HyphTables[MAX_LANGUAGE]; +static BOOLEAN TriedFile[MAX_LANGUAGE]; + + +/*****************************************************************************/ +/* */ +/* void HyphInit(void) */ +/* */ +/* Initialize this module. */ +/* */ +/*****************************************************************************/ + +void HyphInit(void) +{ + int i; + for( i = 0; i < MAX_LANGUAGE; i++ ) + { + HyphTables[i] = NULL; + TriedFile[i] = FALSE; + } +} /*@::CompressValue(), UncompressValue()@**************************************/ diff --git a/z37.c b/z37.c index 6afefd2..735a388 100644 --- a/z37.c +++ b/z37.c @@ -1,7 +1,7 @@ /*@z37.c:Font Service:Declarations@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z38.c b/z38.c index 01077a5..54c6ce3 100644 --- a/z38.c +++ b/z38.c @@ -1,7 +1,7 @@ /*@z38.c:Character Mappings:Declarations@*************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -58,10 +58,26 @@ MAP_VEC MapTable[MAX_MAP]; /* the mappings */ -static OBJECT notdef_word = nilobj; /* notdef word */ -static int maptop = 1; /* first free slot in MapTable[] */ +static OBJECT notdef_word; /* notdef word */ +static int maptop; /* first free slot in MapTable[] */ /* save 0 for "no mapping" */ + +/*****************************************************************************/ +/* */ +/* void MapInit(void) */ +/* */ +/* Initialize this module. */ +/* */ +/*****************************************************************************/ + +void MapInit(void) +{ + notdef_word = nilobj; + maptop = 1; +} + + /*****************************************************************************/ /* */ /* static int NameInsert(cname) */ diff --git a/z39.c b/z39.c index 853ab7b..66693c2 100644 --- a/z39.c +++ b/z39.c @@ -1,7 +1,7 @@ /*@z39.c:String Handler:AsciiToFull(), StringEqual(), etc.@*******************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z40.c b/z40.c index 50bfc5b..bcde0c4 100644 --- a/z40.c +++ b/z40.c @@ -1,7 +1,7 @@ /*@z40.c:Filter Handler:FilterInit()@*****************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z41.c b/z41.c index e4dcac6..8568dfb 100644 --- a/z41.c +++ b/z41.c @@ -1,7 +1,7 @@ /*@z41.c:Object Input-Output:AppendToFile, ReadFromFile@**********************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -29,8 +29,23 @@ /*****************************************************************************/ #include "externs.h" -static FILE_NUM last_write_fnum = NO_FILE; -static FILE *last_write_fp = null; +static FILE_NUM last_write_fnum; +static FILE *last_write_fp; + + +/*****************************************************************************/ +/* */ +/* void ReadFromFileInit(void) */ +/* */ +/* Initialize this module. */ +/* */ +/*****************************************************************************/ + +void ReadFromFileInit(void) +{ + last_write_fnum = NO_FILE; + last_write_fp = null; +} /*****************************************************************************/ diff --git a/z42.c b/z42.c index 7f594d4..615f672 100644 --- a/z42.c +++ b/z42.c @@ -1,7 +1,7 @@ /*@z42.c:Colour Service:ColourChange, ColourCommand@**************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -162,7 +162,7 @@ static COLOUR_TABLE col_tab; /*****************************************************************************/ /* */ -/* ColourInit() */ +/* ColourInit(void) */ /* */ /* Initialize this module. */ /* */ diff --git a/z43.c b/z43.c index cbd7ea5..3ba5e3f 100644 --- a/z43.c +++ b/z43.c @@ -1,7 +1,7 @@ /*@z43.c:Language Service:LanguageChange, LanguageString@*********************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z44.c b/z44.c index 2a22521..0719947 100644 --- a/z44.c +++ b/z44.c @@ -1,7 +1,7 @@ /*@z44.c:Vertical Hyphenation:VerticalHyphenate()@****************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z45.c b/z45.c index 7219bac..681c98b 100644 --- a/z45.c +++ b/z45.c @@ -1,7 +1,7 @@ /*@z45.c:External Sort:SortFile()@********************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z46.c b/z46.c index 7928f87..d01eb82 100644 --- a/z46.c +++ b/z46.c @@ -1,7 +1,7 @@ /*@z46.c:Optimal Galleys:FindOptimize()@**************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z47.c b/z47.c index a76e5c4..0878e44 100644 --- a/z47.c +++ b/z47.c @@ -1,7 +1,7 @@ /*@z47.c:Environment Table:EnvReadRetrieve()@*********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z48.c b/z48.c index bd7faba..88ecb2a 100644 --- a/z48.c +++ b/z48.c @@ -1,7 +1,7 @@ /*@z48.c:PDF back end@********************************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ diff --git a/z49.c b/z49.c index 6ceffbf..2b0dfe7 100644 --- a/z49.c +++ b/z49.c @@ -1,7 +1,7 @@ /*@z49.c:PostScript Back End:PS_BackEnd@**************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -49,13 +49,13 @@ #define MAX_GS 50 /* maximum depth of graphics states */ #define STRING_SIZE 16000 /* used by forms code */ -BOOLEAN Encapsulated; /* TRUE if EPS file is wanted */ +BOOLEAN encapsulated; /* TRUE if EPS file is wanted */ static int wordcount; /* atoms printed since last newline */ static int pagecount; /* total number of pages printed */ static BOOLEAN prologue_done; /* TRUE after prologue is printed */ static OBJECT needs; /* Resource needs of included EPSFs */ static OBJECT supplied; /* Resources supplied by this file */ -static OBJECT incg_files = nilobj; /* IncludeGraphicRepeated files */ +static OBJECT incg_files; /* IncludeGraphicRepeated files */ static FILE *out_fp; /* file to print PostScript on */ @@ -326,10 +326,11 @@ static OBJECT link_source_list; /* the link source names */ /* */ /*****************************************************************************/ -static void PS_PrintInitialize(FILE *fp) +static void PS_PrintInitialize(FILE *fp, BOOLEAN enc) { debug0(DPO, DD, "PS_PrintInitialize(fp)"); out_fp = fp; + encapsulated = enc; prologue_done = FALSE; gs_stack_top = -1; currentfont = NO_FONT; @@ -340,6 +341,7 @@ static void PS_PrintInitialize(FILE *fp) wordcount = pagecount = 0; New(needs, ACAT); New(supplied, ACAT); + incg_files = NULL; debug0(DPO, DD, "PS_PrintInitialize returning."); link_dest_tab = ltab_new(200); New(link_source_list, ACAT); @@ -501,7 +503,7 @@ static BOOLEAN strip_out(FULL_CHAR *buff) } /* end strip_out */ void PS_PrintEPSFile(FILE *fp, FILE_POS *pos) -{ int state; OBJECT y; +{ int state, x; OBJECT y; FULL_CHAR buff[MAX_LINE]; debug0(DPO, D, "[ PS_PrintEPSFile"); @@ -520,7 +522,10 @@ void PS_PrintEPSFile(FILE *fp, FILE_POS *pos) } else { if( StringBeginsWith(buff, AsciiToFull("%%LanguageLevel:")) ) - Error(49, 10, "ignoring LanguageLevel comment in EPS file", WARN, pos); + { + if( sscanf((char *) buff, "%%%%LanguageLevel: %d", &x) != 1 || x > 2 ) + Error(49,10,"ignoring LanguageLevel comment in EPS file",WARN,pos); + } if( StringBeginsWith(buff, AsciiToFull("%%Extensions:")) ) Error(49, 11, "ignoring Extensions comment in EPS file", WARN, pos); if( !strip_out(buff) ) @@ -646,7 +651,7 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, debug2(DPO, DD, "PrintBeforeFirst(%d, %d)", h, v); /* print header comments for PostScript DSC 3.0 output */ - p0(Encapsulated ? "%!PS-Adobe-3.0 EPSF-3.0" : "%!PS-Adobe-3.0"); + p0(encapsulated ? "%!PS-Adobe-3.0 EPSF-3.0" : "%!PS-Adobe-3.0"); p1("%%%%Creator: %s", LOUT_VERSION); p1("%%%%CreationDate: %s", TimeString()); p0("%%DocumentData: Binary"); @@ -661,9 +666,25 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, /* print procedure definitions part of header */ p0("%%BeginProlog"); + if( encapsulated ) + { + p0("50 dict begin % EPSF defs in own dict"); + pnl; + } + p1("%%%%BeginResource: procset %s", StartUpResource); - p0("/save_cp { currentpoint /cp_y exch def /cp_x exch def } def"); - p0("/restore_cp { cp_x cp_y moveto } def"); + p0("/cp_x 0 def"); + p0("/cp_y 0 def"); + p0("/louts 0 def"); + p0("/loutv 0 def"); + p0("/loutf 0 def"); + p0("/ymark 0 def"); + p0("/xmark 0 def"); + p0("/ysize 0 def"); + p0("/xsize 0 def"); + + p0("/save_cp { currentpoint /cp_y exch def /cp_x exch def } bind def"); + p0("/restore_cp { cp_x cp_y moveto } bind def"); p0("/outline { gsave 1 1 1 setrgbcolor dup show save_cp"); p0(" grestore true charpath stroke restore_cp } bind def"); p0("/m { 3 1 roll moveto show } bind def"); @@ -678,10 +699,10 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, p0("/co { gsave 3 1 roll rmoveto outline grestore } bind def"); p0("/ul { gsave setlinewidth dup 3 1 roll"); p0(" moveto lineto stroke grestore } bind def"); - p1("/in { %d mul } def", IN); - p1("/cm { %d mul } def", CM); - p1("/pt { %d mul } def", PT); - p1("/em { %d mul } def", EM); + p1("/in { %d mul } bind def", IN); + p1("/cm { %d mul } bind def", CM); + p1("/pt { %d mul } bind def", PT); + p1("/em { %d mul } bind def", EM); p0("/sp { louts mul } def"); p0("/vs { loutv mul } def"); p0("/ft { loutf mul } def"); @@ -725,28 +746,31 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, /* copied from PostScript Language Reference Manual (2nd Ed.), p. 726 */ /* but then revised to follow Adobe's Technical Note #5144 */ + p0("/PreEPSF_state 0 def"); + p0("/dict_stack 0 def"); + p0("/ops_count 0 def"); + p0("/LoutStartEPSF { % prepare for EPSF inclusion"); + p0(" /PreEPSF_state save def"); + p0(" /dict_stack countdictstack def"); + p0(" /ops_count count 1 sub def"); p0(" userdict begin"); - p0(" /PreEPSF_state save def"); - p0(" /dict_stack countdictstack def"); - p0(" /ops_count count 1 sub def"); - p0(" /showpage {} def"); - p0(" 0 setgray 0 setlinecap"); - p0(" 1 setlinewidth 0 setlinejoin"); - p0(" 10 setmiterlimit [] 0 setdash newpath"); - p0(" /languagelevel where"); - p0(" { pop languagelevel"); - p0(" 1 ne"); - p0(" { false setstrokeadjust false setoverprint"); - p0(" } if"); + p0(" /showpage {} def"); + p0(" 0 setgray 0 setlinecap"); + p0(" 1 setlinewidth 0 setlinejoin"); + p0(" 10 setmiterlimit [] 0 setdash newpath"); + p0(" /languagelevel where"); + p0(" { pop languagelevel"); + p0(" 1 ne"); + p0(" { false setstrokeadjust false setoverprint"); p0(" } if"); + p0(" } if"); p0("} bind def"); pnl; p0("/LoutEPSFCleanUp { % clean up after EPSF inclusion"); - p0(" count ops_count sub { pop } repeat"); - p0(" countdictstack dict_stack sub { end } repeat"); - p0(" PreEPSF_state restore"); - p0(" end % userdict"); + p0(" count ops_count sub { pop } repeat"); + p0(" countdictstack dict_stack sub { end } repeat"); + p0(" PreEPSF_state restore"); p0("} bind def"); pnl; @@ -821,7 +845,7 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, p0(" setcolor"); p0(" } ifelse"); p0(" } ifelse"); - p0("} def"); + p0("} bind def"); pnl; p0("% num LoutSetGray -"); @@ -831,7 +855,7 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, p0(" [ /DeviceGray ]"); p0(" LoutCurrentP"); p0(" LoutSetCCSP"); - p0("} def"); + p0("} bind def"); pnl; p0("% r g b LoutSetRGBColor -"); @@ -841,7 +865,7 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, p0(" [ /DeviceRGB ]"); p0(" LoutCurrentP"); p0(" LoutSetCCSP"); - p0("} def"); + p0("} bind def"); pnl; p0("% h s b LoutSetHSBColor -"); @@ -850,7 +874,7 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, p0(" gsave sethsbcolor"); p0(" currentrgbcolor grestore"); p0(" LoutSetRGBColor"); - p0("} def"); + p0("} bind def"); pnl; p0("% c m y k LoutSetRGBColor -"); @@ -860,7 +884,7 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, p0(" [ /DeviceCMYK ]"); p0(" LoutCurrentP"); p0(" LoutSetCCSP"); - p0("} def"); + p0("} bind def"); pnl; p0("% p LoutSetTexture -"); @@ -869,7 +893,7 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, p0(" LoutCurrentCCS"); p0(" 3 -1 roll"); p0(" LoutSetCCSP"); - p0("} def"); + p0("} bind def"); pnl; p0("% "); @@ -902,14 +926,14 @@ static void PS_PrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, p0(" {"); p0(" pop pop null"); p0(" } ifelse"); - p0("} def"); + p0("} bind def"); pnl; p0("/LoutTextureSolid"); p0("{"); p0(" null"); p0(" LoutSetTexture"); - p0("} def"); + p0("} bind def"); /* PostScript forms, if needed */ @@ -1069,6 +1093,8 @@ static void PS_PrintAfterLastPage(void) pnl; p0("pgsave restore"); p0("showpage"); + if( encapsulated ) + p0("end % EPSF defs in own dict"); pnl; p0("%%Trailer"); @@ -1111,19 +1137,19 @@ static void PS_PrintBetweenPages(FULL_LENGTH h, FULL_LENGTH v, FULL_CHAR *label) debug2(DPO, DD, "PrintBetweenPages(%d, %d)", h, v); pnl; - p0("pgsave restore"); - p0("showpage"); gs_stack_top = 0; cpexists = FALSE; currentfont = NO_FONT; currentbaselinemark = FALSE; currentcolour = NO_COLOUR; currenttexture = NO_TEXTURE; - if( Encapsulated ) + if( encapsulated ) { PS_PrintAfterLastPage(); Error(49, 6, "truncating -EPS document at end of first page", FATAL, no_fpos); } + p0("pgsave restore"); + p0("showpage"); pnl; fprintf(out_fp, "%%%%Page: "); for( p = label; *p != '\0'; p++ ) @@ -1372,13 +1398,13 @@ static void PS_CoordScale(float hfactor, float vfactor) /*****************************************************************************/ /* */ -/* void PS_CoordHMirror() */ +/* void PS_CoordHMirror(void) */ /* */ /* Reflect coordinate system about y axis. */ /* */ /*****************************************************************************/ -static void PS_CoordHMirror() +static void PS_CoordHMirror(void) { debug0(DPO, D, "CoordHMirror()"); cpexists = FALSE; @@ -1389,13 +1415,13 @@ static void PS_CoordHMirror() /*****************************************************************************/ /* */ -/* void PS_CoordVMirror() */ +/* void PS_CoordVMirror(void) */ /* */ /* Reflect coordinate system about x axis. */ /* */ /*****************************************************************************/ -static void PS_CoordVMirror() +static void PS_CoordVMirror(void) { debug0(DPO, D, "CoordVMirror()"); cpexists = FALSE; @@ -1433,7 +1459,7 @@ static void PS_SaveGraphicState(OBJECT x) /*****************************************************************************/ /* */ -/* PS_RestoreGraphicState() */ +/* PS_RestoreGraphicState(void) */ /* */ /* Restore previously saved coordinate system. NB we normally assume that */ /* no white space is needed before any item of output, but since this */ @@ -1442,7 +1468,7 @@ static void PS_SaveGraphicState(OBJECT x) /* */ /*****************************************************************************/ -void PS_RestoreGraphicState(void) +static void PS_RestoreGraphicState(void) { debug0(DPO, D, "PS_RestoreGraphicState()"); pnl; p0("grestore"); @@ -1557,7 +1583,8 @@ void PS_DefineGraphicNames(OBJECT x) /* */ /*****************************************************************************/ -void PS_SaveTranslateDefineSave(OBJECT x, FULL_LENGTH xdist, FULL_LENGTH ydist) +static void PS_SaveTranslateDefineSave(OBJECT x, FULL_LENGTH xdist, + FULL_LENGTH ydist) { if( gs_stack_top >= MAX_GS - 1 || font(save_style(x)) != currentfont || @@ -1696,7 +1723,8 @@ BOOLEAN PS_FindBoundingBox(FILE *fp, FILE_POS *pos, FULL_LENGTH *llx, /* */ /*****************************************************************************/ -void PS_PrintGraphicInclude(OBJECT x, FULL_LENGTH colmark, FULL_LENGTH rowmark) +static void PS_PrintGraphicInclude(OBJECT x, FULL_LENGTH colmark, + FULL_LENGTH rowmark) { OBJECT y, full_name; FILE *fp; BOOLEAN compressed; int fnum; debug0(DPO, D, "PS_PrintGraphicInclude(x)"); @@ -1878,14 +1906,14 @@ static void PS_LinkURL(OBJECT url, FULL_LENGTH llx, FULL_LENGTH lly, /*****************************************************************************/ /* */ -/* PS_LinkCheck() */ +/* PS_LinkCheck(void) */ /* */ /* Called at end of run; will check that for every link source point there */ /* is a link dest point. */ /* */ /*****************************************************************************/ -static void PS_LinkCheck() +static void PS_LinkCheck(void) { OBJECT y, link; debug0(DPO, D, "PS_LinkCheck()"); @@ -1950,3 +1978,140 @@ static struct back_end_rec ps_back = { }; BACK_END PS_BackEnd = &ps_back; + + +/*****************************************************************************/ +/* */ +/* PS_NullBackEnd */ +/* */ +/* A null (non-printing) version of the PostScript back end. */ +/* */ +/*****************************************************************************/ + +static void PS_NullPrintInitialize(FILE *fp, BOOLEAN enc) +{} + +static void PS_NullPrintPageSetupForFont(OBJECT face, int font_curr_page, + FULL_CHAR *font_name, FULL_CHAR *short_name) +{} + +static void PS_NullPrintPageResourceForFont(FULL_CHAR *font_name, + BOOLEAN first) +{} + +static void PS_NullPrintMapping(MAPPING m) +{} + +static void PS_NullPrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, + FULL_CHAR *label) +{} + +static void PS_NullPrintBetweenPages(FULL_LENGTH h, FULL_LENGTH v, + FULL_CHAR *label) +{} + +static void PS_NullPrintAfterLastPage(void) +{} + +static void PS_NullPrintWord(OBJECT x, int hpos, int vpos) +{} + +static void PS_NullPrintPlainGraphic(OBJECT x, FULL_LENGTH xmk, + FULL_LENGTH ymk, OBJECT z) +{} + +static void PS_NullPrintUnderline(FONT_NUM fnum, COLOUR_NUM col, + TEXTURE_NUM pat, FULL_LENGTH xstart, FULL_LENGTH xstop, FULL_LENGTH ymk) +{} + +static void PS_NullCoordTranslate(FULL_LENGTH xdist, FULL_LENGTH ydist) +{} + +static void PS_NullCoordRotate(FULL_LENGTH amount) +{} + +static void PS_NullCoordScale(float hfactor, float vfactor) +{} + +static void PS_NullCoordHMirror(void) +{} + +static void PS_NullCoordVMirror(void) +{} + +static void PS_NullSaveGraphicState(OBJECT x) +{} + +static void PS_NullRestoreGraphicState(void) +{} + +static void PS_NullPrintGraphicObject(OBJECT x) +{} + +static void PS_NullDefineGraphicNames(OBJECT x) +{} + +static void PS_NullSaveTranslateDefineSave(OBJECT x, FULL_LENGTH xdist, + FULL_LENGTH ydist) +{} + +static void PS_NullPrintGraphicInclude(OBJECT x, FULL_LENGTH colmark, + FULL_LENGTH rowmark) +{} + +static void PS_NullLinkSource(OBJECT name, FULL_LENGTH llx, FULL_LENGTH lly, + FULL_LENGTH urx, FULL_LENGTH ury) +{} + +static void PS_NullLinkDest(OBJECT name, FULL_LENGTH llx, FULL_LENGTH lly, + FULL_LENGTH urx, FULL_LENGTH ury) +{} + +static void PS_NullLinkURL(OBJECT url, FULL_LENGTH llx, FULL_LENGTH lly, + FULL_LENGTH urx, FULL_LENGTH ury) +{} + +static void PS_NullLinkCheck(void) +{} + +static struct back_end_rec ps_null_back = { + POSTSCRIPT, /* the code number of the back end */ + STR_POSTSCRIPT, /* string name of the back end */ + TRUE, /* TRUE if @Scale is available */ + TRUE, /* TRUE if @Rotate is available */ + TRUE, /* TRUE if @HMirror, @VMirror avail */ + TRUE, /* TRUE if @Graphic is available */ + TRUE, /* TRUE if @IncludeGraphic is avail. */ + FALSE, /* TRUE if @PlainGraphic is avail. */ + TRUE, /* TRUE if fractional spacing avail. */ + TRUE, /* TRUE if actual font metrics used */ + TRUE, /* TRUE if colour is available */ + PS_NullPrintInitialize, + PS_PrintLength, + PS_NullPrintPageSetupForFont, + PS_NullPrintPageResourceForFont, + PS_NullPrintMapping, + PS_NullPrintBeforeFirstPage, + PS_NullPrintBetweenPages, + PS_NullPrintAfterLastPage, + PS_NullPrintWord, + PS_NullPrintPlainGraphic, + PS_NullPrintUnderline, + PS_NullCoordTranslate, + PS_NullCoordRotate, + PS_NullCoordScale, + PS_NullCoordHMirror, + PS_NullCoordVMirror, + PS_NullSaveGraphicState, + PS_NullRestoreGraphicState, + PS_NullPrintGraphicObject, + PS_NullDefineGraphicNames, + PS_NullSaveTranslateDefineSave, + PS_NullPrintGraphicInclude, + PS_NullLinkSource, + PS_NullLinkDest, + PS_NullLinkURL, + PS_NullLinkCheck, +}; + +BACK_END PS_NullBackEnd = &ps_null_back; diff --git a/z50.c b/z50.c index 7fe3e6e..d3e0378 100644 --- a/z50.c +++ b/z50.c @@ -1,7 +1,7 @@ /*@z50.c:PDF Back End:PDF_BackEnd@********************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -92,15 +92,16 @@ static OBJECT supplied; /* Resources supplied by this file */ /*****************************************************************************/ /* */ -/* PDF_PrintInitialize(FILE *fp) */ +/* void PDF_PrintInitialize(FILE *fp, BOOLEAN enc) */ /* */ /* Initialize this module; fp is the output file. */ /* */ /*****************************************************************************/ -static void PDF_PrintInitialize(FILE *fp) +static void PDF_PrintInitialize(FILE *fp, BOOLEAN enc) { debug0(DPF, DD, "PDF_PrintInitialize(fp)"); + assert(!enc, "PDF_PrintInitialize"); out_fp = fp; prologue_done = FALSE; gs_stack_top = -1; @@ -847,14 +848,14 @@ static void PDF_LinkURL(OBJECT url, FULL_LENGTH llx, FULL_LENGTH lly, /*****************************************************************************/ /* */ -/* PDF_LinkCheck() */ +/* PDF_LinkCheck(void) */ /* */ /* Called at end of run; will check that for every link source point there */ /* is a link dest point. */ /* */ /*****************************************************************************/ -static void PDF_LinkCheck() +static void PDF_LinkCheck(void) { debug0(DPF, D, "PDF_LinkCheck()"); diff --git a/z51.c b/z51.c index 9bc159c..06cae32 100644 --- a/z51.c +++ b/z51.c @@ -1,7 +1,7 @@ /*@z51.c:Plain Text Back End:Plain_BackEnd@***********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ @@ -57,15 +57,16 @@ static BOOLEAN prologue_done; /* TRUE after prologue is printed */ /*****************************************************************************/ /* */ -/* void Plain_PrintInitialize(fp) */ +/* void Plain_PrintInitialize(FILE *fp, BOOLEAN enc) */ /* */ /* Initialize this module; fp is the output file. */ /* */ /*****************************************************************************/ -void Plain_PrintInitialize(FILE *fp) +void Plain_PrintInitialize(FILE *fp, BOOLEAN enc) { debug0(DPT, DD, "Plain_PrintInitialize(fp)"); + assert(!enc, "Plain_PrintInitialize"); out_fp = fp; prologue_done = FALSE; debug0(DPT, DD, "Plain_PrintInitialize returning."); @@ -602,14 +603,14 @@ static void Plain_LinkURL(OBJECT url, FULL_LENGTH llx, FULL_LENGTH lly, /*****************************************************************************/ /* */ -/* Plain_LinkCheck() */ +/* Plain_LinkCheck(void) */ /* */ /* Called at end of run; will check that for every link source point there */ /* is a link dest point. */ /* */ /*****************************************************************************/ -static void Plain_LinkCheck() +static void Plain_LinkCheck(void) { debug0(DPT, D, "Plain_LinkCheck()"); /* do nothing; no links in plain text output */ @@ -666,3 +667,134 @@ static struct back_end_rec plain_back = { }; BACK_END Plain_BackEnd = &plain_back; + + +/*****************************************************************************/ +/* */ +/* Plain_NullBackEnd */ +/* */ +/* The record into which all of these functions are packaged. */ +/* */ +/*****************************************************************************/ + +static void Plain_NullPrintInitialize(FILE *fp, BOOLEAN enc) +{} + +static void Plain_NullPrintPageSetupForFont(OBJECT face, int font_curr_page, + FULL_CHAR *font_name, FULL_CHAR *short_name) +{} + +static void Plain_NullPrintPageResourceForFont(FULL_CHAR *font_name, + BOOLEAN first) +{} + +static void Plain_NullPrintMapping(MAPPING m) +{} + +static void Plain_NullPrintBeforeFirstPage(FULL_LENGTH h, FULL_LENGTH v, + FULL_CHAR *label) +{} + +static void Plain_NullPrintBetweenPages(FULL_LENGTH h, FULL_LENGTH v, + FULL_CHAR *label) +{} + +static void Plain_NullPrintAfterLastPage(void) +{} + +static void Plain_NullPrintWord(OBJECT x, int hpos, int vpos) +{} + +static void Plain_NullPrintPlainGraphic(OBJECT x, FULL_LENGTH xmk, + FULL_LENGTH ymk, OBJECT z) +{} + +static void Plain_NullPrintUnderline(FONT_NUM fnum, COLOUR_NUM col, + TEXTURE_NUM pat, FULL_LENGTH xstart, FULL_LENGTH xstop, FULL_LENGTH ymk) +{} + +static void Plain_NullCoordTranslate(FULL_LENGTH xdist, FULL_LENGTH ydist) +{} + +static void Plain_NullCoordRotate(FULL_LENGTH amount) +{} + +static void Plain_NullCoordScale(float hfactor, float vfactor) +{} + +static void Plain_NullSaveGraphicState(OBJECT x) +{} + +static void Plain_NullRestoreGraphicState(void) +{} + +static void Plain_NullPrintGraphicObject(OBJECT x) +{} + +static void Plain_NullDefineGraphicNames(OBJECT x) +{} + +static void Plain_NullSaveTranslateDefineSave(OBJECT x, FULL_LENGTH xdist, + FULL_LENGTH ydist) +{} + +static void Plain_NullPrintGraphicInclude(OBJECT x, FULL_LENGTH colmark, + FULL_LENGTH rowmark) +{} + +static void Plain_NullLinkSource(OBJECT name, FULL_LENGTH llx, FULL_LENGTH lly, + FULL_LENGTH urx, FULL_LENGTH ury) +{} + +static void Plain_NullLinkDest(OBJECT name, FULL_LENGTH llx, FULL_LENGTH lly, + FULL_LENGTH urx, FULL_LENGTH ury) +{} + +static void Plain_NullLinkURL(OBJECT url, FULL_LENGTH llx, FULL_LENGTH lly, + FULL_LENGTH urx, FULL_LENGTH ury) +{} + +static void Plain_NullLinkCheck(void) +{} + +static struct back_end_rec plain_null_back = { + PLAINTEXT, /* the code number of the back end */ + STR_PLAINTEXT, /* string name of the back end */ + FALSE, /* TRUE if @Scale is available */ + FALSE, /* TRUE if @Rotate is available */ + FALSE, /* TRUE if @VMirror, @HMirror avail */ + FALSE, /* TRUE if @Graphic is available */ + FALSE, /* TRUE if @IncludeGraphic is avail. */ + TRUE, /* TRUE if @PlainGraphic is avail. */ + FALSE, /* TRUE if fractional spacing avail. */ + FALSE, /* TRUE if actual font metrics used */ + FALSE, /* TRUE if colour is available */ + Plain_NullPrintInitialize, + Plain_PrintLength, + Plain_NullPrintPageSetupForFont, + Plain_NullPrintPageResourceForFont, + Plain_NullPrintMapping, + Plain_NullPrintBeforeFirstPage, + Plain_NullPrintBetweenPages, + Plain_NullPrintAfterLastPage, + Plain_NullPrintWord, + Plain_NullPrintPlainGraphic, + Plain_NullPrintUnderline, + Plain_NullCoordTranslate, + Plain_NullCoordRotate, + Plain_NullCoordScale, + NULL, + NULL, + Plain_NullSaveGraphicState, + Plain_NullRestoreGraphicState, + Plain_NullPrintGraphicObject, + Plain_NullDefineGraphicNames, + Plain_NullSaveTranslateDefineSave, + Plain_NullPrintGraphicInclude, + Plain_NullLinkSource, + Plain_NullLinkDest, + Plain_NullLinkURL, + Plain_NullLinkCheck, +}; + +BACK_END Plain_NullBackEnd = &plain_null_back; diff --git a/z52.c b/z52.c index 5887793..f179572 100644 --- a/z52.c +++ b/z52.c @@ -1,7 +1,7 @@ /*@z52.c:Texture Service:TextureChange, TextureCommand@***********************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.31) */ -/* COPYRIGHT (C) 1991, 2005 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.32) */ +/* COPYRIGHT (C) 1991, 2006 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@it.usyd.edu.au) */ /* School of Information Technologies */ -- cgit